Adobe Open Source Spotlight: PhoneGap
There was once a time when, if you wanted to develop a mobile application, you would first have to learn Java to make it compatible with Android, Objective C to make it compatible with Apple, and C# to make it compatible with Windows phones. After you had spent the months (or years!) to master these three native languages, you would then have to develop the same application three times, one for each platform. Talk about a high barrier of entry into the world of mobile app development!
Ever since Adobe acquired Nitobi, the original creator of the PhoneGap framework, in 2011, PhoneGap has also been one of the original open-source projects at Adobe. Let’s take a closer look at what it means to be 100% open-source. We’ll also share some of the ways that PhoneGap has benefited from opening up its code to developers and contributors from around the world.
Go one step further with services like PhoneGap Build, which enables developers from around the globe to get app-store ready apps without the headache of maintaining native SDKs
Both PhoneGap and Apache Cordova, the engine behind PhoneGap, are 100% open-source. This means that 100% of PhoneGap and Cordova code is open for contributors to view, edit, and improve. In fact, you can access both PhoneGap’s and Apache Cordova’s Github repositories and begin contributing right now! Being entirely open since its first days in 2008 was and is one of the main instigators for PhoneGap’s rapid growth and popularity.
Beyond releasing all of the code out into the open, the PhoneGap team constantly engages with the community. Steven Gill, who is a software engineer on the PhoneGap team, highlights some of the ways that PhoneGap connects with its contributors: "We do things like monthly Google hangouts, we created a new repo for proposals and discussions, we have mailing lists. A few times per year, we try to get all of the active contributors together, just to meet face-to-face and to go over issues plaguing the overall community and how we can come to good solutions for them. And that’s been very helpful."
Here are a few of the key benefits of working on a product that is 100% open-source, as cited by the PhoneGap team:
- There is no barrier to entry. Anyone can take the public code and use it for any purpose. Nobody is excluded from the community, which allows more developers to seize the benefits of using PhoneGap and Apache Cordova.
- Open-source developers can be certain that a newly released feature is desired by consumers. One of the biggest challenges in product design is predicting which products or features your consumers will want. PhoneGap’s new features are often requested by contributors, and new feature ideas are discussed with the community before any work on them begins. The community of contributors can then work together to bring these features to life, and anyone can tweak any aspect of a feature that they find undesirable.
- It’s easier to find bugs. Most contributors are actual developers using PhoneGap, which means that they are more likely to catch bugs. Contributors are often the first to report bugs in the framework and sometimes even submit fixes to the bugs that they find.
- Contributors help keep the code secure. With an open source project, anyone can audit the code. Contributors and third party developers using PhoneGap are often the first to identify security issues, making it possible for them to be fixed more promptly than with proprietary software.
- The code is protected from internal turmoil. Even if something goes wrong on the Adobe servers, PhoneGap will still continue running as normal, since all of the code is publically stored on GitHub.
- There are no restrictions on licensing. The PhoneGap team doesn’t need to deal with legal documentation or convoluted licensing agreements. Everything is out in the open and available for public use.
- There is a symbiotic relationship between product and consumer. PhoneGap’s openness encourages more third party developers to download the framework and to contribute, thus increasing PhoneGap’s influence and popularity. At the same time, developers also benefit from PhoneGap, since PhoneGap spotlights applications on its site’s "app showcase", allowing the apps to reach a wider audience.
PhoneGap in action: From booking flights to rating beer
Currently, Apache Cordova has about 30 active contributors and PhoneGap has about 15. But the greatest impact is in the number of people using PhoneGap and Cordova around the world. PhoneGap/Cordova has been downloaded over 6 million times and powers countless apps. Some of the world’s biggest organizations such as Microsoft, Google, and Blackberry have entire teams currently using, contributing, and building products around Apache Cordova.
Simon MacDonald, a senior software scientist for PhoneGap, emphasizes PhoneGap’s global impact: "To be able to help people do things is just a real rush for me. I may be helping the CTO of a company in New York City to build a wonderful application like Untappd, but at the same time I may also be helping an independent software developer in Nigeria or somewhere in India to create an application that really fit that niche. I recently worked with a guy in Ireland who was creating an application to track football teams. So it just comes from all over."
Hundreds of diverse mobile applications created with PhoneGap are available to the public. PhoneGap applications allow users to do everything from connecting with a doctor to keeping all travel logistics in one place to practicing yoga while on the road. The PhoneGap team’s personal favorite application is Untappd, also known as the "Foursquare for beer."
The PhoneGap team is currently collaborating with the Adobe Creative SDK team to bring open-source plugins that connect Adobe Creative Cloud services to PhoneGap apps. Now, PhoneGap users can take advantage of the Creative SDK native components for iOS and Android without writing a single line of Objective-C, Swift, or Java.
The first two of these plugins were released to the public in August. The Image Editor UI plugin, which provides powerful photo editing tools for mobile apps, is already being used and tested by Untappd’s 3,000,000+ users. The PhoneGap and Creative SDK teams are planning to continue this collaboration and release more open-source plugins in the coming months.
This collaboration marks the beginning of a movement to open-source more projects across Adobe. In addition to PhoneGap’s collaboration with the Adobe Creative SDK, the team plans to work in conjunction with other Adobe teams to release open source plugins for mobile apps in the near future. As more Adobe teams are opening up to the possibility of open-sourcing their code, PhoneGap stands out as a trailblazer project that demonstrates the benefits that other teams can reap by opening up their code to the wider community of developers.