Multinational Mobile Phone & Mobile Computing Device Company

Perforce is the one stop shop for all our digital assets."

Global Domain Owner

About the Company

  • A multinational mobile phone and mobile computing device manufacturing company with 1,200 developers across five locations in the United States, Europe and China
  • Designs, develops, and manufactures cellular phones, smartphones, tablets, and related mobile devices and accessories

Core Pain Points

“We needed to have everything associated with a release together in one place.”

Before Perforce, the company’s geographically dispersed software developers experienced a variety of challenges including:

  • No single place to store and tie together the code and the binary files. Components were coming in from inside and outside of the company, and the development process became unfeasible
  • Tying Qualcomm’s hardware driver software component update packages with the OS code from the company was a “nightmare”
  • Git’s command line interface was unpopular with developers

Why Perforce?

The company migrated from Git to Perforce in 2012. The company’s application software division and OS software division went with Perforce because:

  • Perforce supports a “version everything” philosophy so all assets related to a label/release are in place
  • Integrates with the company’s environment, which includes Jenkins, Bugzilla, LDAP, and the Accept360 requirements-gathering tool
  • After running a pilot with Perforce, users reported excellent experiences with binary files

“The decision to move from Git came from our users’ complaints. Git can get geeky, but it can’t tie binaries together.”

Perforce in Action

“It took almost no time to install Perforce and get stared.”

Perforce is used in two divisions at the company, one for the application software, and one for the OS.

  • Install of Perforce took “almost no time” – the company now has two Perforce proxies in the US, three proxies in Europe, and two proxies in China
  • The replica proxy architecture supports users, the build system, contractors, and assists with access control and filtered access to content
  • Perforce works within a continuous integration environment, with all builds kicked off by Jenkins
  • Individual binaries generated during a build are checked-in – including third-party binaries – with labels used to tag builds
  • Every check-in triggers a build, with shelving used as a gating methodology
  • Perforce integrates with Bugzilla and Accept360 to help tracks changes, requirements, and code via JobIDs
  • For the application software division, it is now easy to access everything associated with a label in one place, including Office documents, test results, office plans, etc.
  • On the OS side, software is bundled with media that comes with phone for a given geography, with all code, binary data, and OS packages in Perforce, as well as some Microsoft Office® documents

Business Impact

“Our people have been happy with Perforce.”

  • With the binaries and code in one place, releases are easier and faster – there is now no overhead devoted to tracking down binaries to tie to source code
  • Current check-outs, which range from 23 - 25 GB, are “remarkably fast”
  • Virtually maintenance free – Perforce “just works” – compared to previous SCM which required considerable administration
  • Perforce has reduced risk and liability by securing access to code and filtered content for internal and external users