Openwave Adopts Helix VCS to Meet Their Development Needs
Through a process of due diligence, Magic4 found that Helix VCS comprehensively met its needs including support for a development style that optimizes cross-pollination and parallel development.
Why Helix VCS Stood Out to Openwave
Excellent branching model
Low bandwidth requirements for remote access
Fast and robust functionality
Flexibility and power capabilities
Optimized parallel development
and the service from both a technical and licensing perspective is second to none.
Customer Profile
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 version control system. Through a process of due diligence, Magic4 found that Helix VCS 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 version control 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 versioning 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 the Perforce Helix Development Platform."
"Helix 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, Helix 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, Helix also met our requirements. Our legacy tool was much more expensive and less effective than Helix, wasn't updated regularly with new features or fixes, and wasn't supported very well. On the other hand, Perforce Software is continually improving the Perforce Helix Development Platform, 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 versioning 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 Helix to Magic4's needs, thereby getting the most out of the new system. As a company delivering software into the mobile phone space, timely shipping of product is absolutely key, and is easy to use and made this delivery process smooth and predictable."
The Helix 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. The branch logic of Helix 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 the branching model of Helix, Helix Core 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 percent 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. Helix 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."
"The branching model of Helix 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 Helix server as a separate mainline, integrating those modifications seamlessly into our development process," said Anderson.
"Helix is fast and robust and the branching model speeds development, which suits our development style and requirements," Anderson concluded.
The Flexibility and Power of Helix VCS
"As well as replacing our legacy version control solution, we have also deployed a new bug-tracking tool," Anderson explained. "The open interface and integration capabilities in Helix, which were 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 Helix even more. By logging a bug in the bug tracker, a job will automatically be created in Helix. This job can be assigned to a developer via Helix 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 Helix, 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 Helix VCS."