Case Study
"Perforce is so stable and seamlessly integrated into our development process and tools that we take it for granted."
- Espen Riskedal, Release Manager for Qt, Trolltech
Customer Profile
Founded in 1994, Trolltech is headquartered in Oslo, Norway, with offices in Brisbane, Australia; Palo Alto, California; and Beijing, China. Trolltech provides leading software for cross-platform application development on the desktop and for embedded Linux environments.
Its two product lines are Qt and Qtopia. Qt is a cross-platform C++ application framework developers can use to write single-source applications that run natively on Windows, Linux, Unix, Mac OS X, and embedded Linux. Qtopia is the first comprehensive application platform built for embedded Linux, and is used on numerous Linux-based PDAs and smartphones.
Trolltech customers include more than 4,400 companies across 60 countries worldwide.
Development Challenge
In 1999, Trolltech realized it needed to replace its existing software configuration management system, CVS, because CVS was unable to scale to meet its development needs. The Qt and Qtopia development teams manage distributed development from three sites: Oslo, Norway; Brisbane, Australia; and Palo Alto, California. Developers work across a range of hardware platforms, including Linux, Mac OS X, Windows, and Unix. At any point in time, the teams are working on several versions of Qt and Qtopia, which are all at different stages of development.
The Solution: Perforce Manages Parallel Development
The Perforce Server sits at the core of the development process of its two product lines: Qt and Qtopia, and is used daily to manage access to more than 300,000 versioned files, track the user operations, and record all related activity in a centralized database. The majority of files are C++ source files, binary executables, text, images, fonts, and HTML.
Trolltech propagates changes regularly between branches, and managing this parallel development is important. "Perforce integrates into our development process very well and does everything better than CVS," said Riskedal. "As Perforce is so stable and integrated with our development process and tools, we take it for granted."
Perforce tracks the integration history between branches, allowing Trolltech to maintain each code line far more easily than CVS. "We initially used labels more than branches in Perforce to manage the different releases of Qt," said Riskedal. "Previous experience had made us wary of using too many branches. But this approach did not scale, so we started to use Perforce branching more extensively. We have since found that Perforce has scaled well beyond CVS."
In addition, Perforce enables Trolltech to manage complex release schedules by propagating one change at a time to other branches. Another important feature is Perforce's "atomic changelists," which allow users to submit a collection of files, something that CVS could not.
Stability of Perforce is Key
When Trolltech switched to Perforce, it was able to import its complete CVS repository. This allowed Trolltech to retain 12 years of change history.
Another key benefit Trolltech has found is the stability of Perforce. In particular, the uptime of the server and the reliable behavior of the client software have helped contribute to the success of Trolltech's development team.
Riskedal summarized, "Perforce works, gets on with the job, and does it extremely well. I have found Perforce to be extremely powerful and an excellent fit for our purpose."
All trademarks or registered trademarks are property of their respective owners.
Profile
- Espen Riskedal
- Espen is the Release Manager for Qt. Under his guidance during the last three years, approximately 25 versions of Qt have been released.
Development Environment at a Glance
- Company name
- Trolltech
- Headquarters
- Oslo, Norway
- Industry
- Software
- Perforce customer since
- 1999
- Number of Perforce users
- 109
- Connectivity environment
- Ethernet
- Number of development sites
- 3
- Number of files
- 300,000+
- Number of changes
- 213,000+
- Number of administrators
- None
- Client platforms
- Linux, Mac OS X, Windows (95 to Vista), Unix
- Main server
- Linux
More Case Studies
- ActiveState
- ArenaNet
- Bare Bones
- BEA Systems
- Cardinal Health–Pyxis Products
- Ciena
- Computer Science House, Rochester Institute of Technology
- IXOS Software AG
- National Instruments (featuring Perforce and Network Appliance)
- NVIDIA (featuring Perforce and Network Appliance)
- Openwave
- Sun Professional Services Australia
- Symbian Ltd.
- Trolltech
- Ubisoft
- Zoran (featuring Perforce and Network Appliance)