Robert Wakeling is the Senior Director of Engineering and Cliff Anderson is the Director of Software Engineering at Openwave.
Openwave's acquisition of Magic4 was completed in August 2004. Magic4 was the first third-party software vendor in the world to provide enhanced messaging and was an early market leader for multimedia messaging and instant messaging software in mass-market mobile phones, including the top seven global brands. Magic4 continues to maintain its leadership in seamless mobile messaging technology. Openwave's amalgamated set of manufacturer and operator customers will benefit from both companies' practices, and the continued timely delivery of data handsets with increasingly innovative products.
Motivated by rapid growth in markets around the world and the need to develop a core range of products and customizations for individual mobile handset manufacturers and operator customers, Magic4 set about reviewing its legacy software configuration management system. Through a process of due diligence, Magic4 found that Perforce's SCM system comprehensively met its needs including support for a development style that optimizes cross pollination and parallel development.
Prior to its acquisition, Magic4 was headquartered in the UK and had more than 130 employees around the world in the USA, France, Sweden, Asia and India. In October of 2003, Magic4's rapid growth, combined with a range of different software products and the unique customization requirements of its customers, resulted in the company reviewing the suitability of its legacy software configuration management system.
The Perforce Solution
Robert Wakeling, senior director of engineering at Openwave and formerly Magic4's chief technology officer, was directly involved in the decision. "Magic4's software development revolved around the core development of our products and then customization of these products by the integration team for individual customers," he said. "The SCM system that we were using was based on the promotion model. Ultimately, this meant that parallel development of different customer configurations and cross-pollination between these different developments was difficult. After going through the due diligence process, we settled on Perforce's SCM solution."
"Perforce uses a mainline approach and has an excellent branching model which is much more in line with the way we relate lines of code," Wakeling explained. "With our development centers around the world, Perforce was also attractive because of its low bandwidth requirements for remote access and robust client server architecture. All our development centers can easily work off the Perforce server based in the UK via VPN."
Perforce's Service is 'Second to None'
Wakeling continued, "From a cost and licensing perspective, Perforce also met our requirements. Our legacy tool was much more expensive and less effective than Perforce, wasn't updated regularly with new features or fixes, and wasn't supported very well. On the other hand, Perforce Software is continually developing the Perforce SCM system, and the service from both a technical and licensing perspective is second to none."
"Perforce Software was very helpful with getting us started with their SCM system," Wakeling said. "An independent Perforce consultant spent time on site with us developing scripts to port the data from our legacy system and to enable us to tailor the use of Perforce to Magic4's needs thereby getting most out of the new system. As a company delivering software into the mobile phone space, timely shipping of product is absolutely key, and Perforce is easy to use and made this delivery process smooth and predictable."
The Perforce Branching Model Speeds Development
Cliff Anderson, director of software engineering at Openwave and formerly Magic4's head of software development, added that "the tool we were using didn't support the branching model, which meant that when we wanted to take a new direction, we had to manually replicate code lines. Perforce's branch logic on the other hand, allows us to easily define a branch and what files are included in that branch. Development of a particular release is done on a branch off the mainline, bug fixing on another, testing on another. After the formal testing is complete, the developments from the branch are merged back into the mainline. As well as the suitability of Perforce's branching model, the Perforce SCM system is fast both over LAN and VPN connections."
"The system itself basically requires no maintenance," Anderson said. "We do backups automatically and the system has been 100% robust since we began using it. The only administration really required is adding and deleting users. Our previous SCM tool restricted how we developed software in that we had to be conscious not to create too many branches because of the overheads. Perforce offers branching flexibility in day-to-day activities because it's very cheap from a system and developer time point of view. Because of this, we can have branches for individual developers. Among other things, this speeds up development because there are not the associated management overheads and it frees developers in their work."
"Perforce's branching model also allows us to provide customers with a particular release, for that customer to make modifications, and for us to then bring that code back onto the Perforce server as a separate mainline and then integrate those modifications seamlessly into our development process," said Anderson.
"Perforce is fast and robust and the branching model speeds development and suits our development style and requirements," Anderson concluded.
The Flexibility and Power of Perforce
"As well as replacing our legacy SCM solution, we have also deployed a new bug-tracking tool," Anderson explained. "Perforce's open interface and integration, which was co-developed with the bug tracking software vendor we selected, means that in the next few months we will be able to leverage the power of Perforce even more. By logging a bug in the bug tracker, a job will automatically be created in Perforce. This job can be assigned to a developer via Perforce and its resolution will automatically result in an update of the bug-tracking database. We anticipate that this automation will result in greater efficiency in testing and debugging our core software, as well as customer integrations, which will only increase our return on investment."
"When Openwave acquired Magic4, we were in good company in terms of our decision to use Perforce, as Openwave is also a Perforce user," Anderson said. "Although both companies used Perforce, it was clear that we had significantly different implementations of the technology, but if required, we would be able to easily bring the two systems together. For us, this was just another example of the flexibility and power of Perforce SCM."