PhoneGap’s Ability to Dynamically Update a Mobile App

I’d like to take some time to talk about how PhoneGap can be used to push app updates to users without having to resubmit your app to each store that it is published in.

All mobile app developers know about the trying task of publishing updates/revisions of your app to the various app stores. Nevertheless, it is important to periodically update your app to ensure that it continues to run smoothly by fixing bugs, or introducing new features.

A typical app update requires developers to upload the compiled binary to the store and then submit an explanation of the update for app store review which can take anywhere from hours to days for an approval. Once approved, users then get an update notification, which informs them that an update available. All in all, it takes a lot of time and effort for both the developer and the apps users. Additionally, users often ignore and app updates, and miss out on new features or critical fixes.

Updating Your App without resubmission

Now imagine this: being able to update your app without resubmission to the app store OR without additional user interactions. IdeaPress, an online tool that transforms WordPress websites into mobile apps, pioneered this dynamic update technology. This technology is made possibly using the PhoneGap Framework – building native apps with HTML5. Let’s take a high level look at how IdeaPress works.


In a nutshell:

  1. IdeaPress uses a build server to prepare the PhoneGap HTML/JS source code. The build server minifies all CSS and Javascript, as well as Base64 encoded all images and fonts into strings.
  2. Next step, it merges all CSS, JS, & HTML into one single unified HTML file before being uploaded to cloud storage.
  3. Then the native app will spin off a separate thread that polls the API server periodically and silently download the latest version of the HTML.

As a result, this amazing process gives app owners the power to push changes to the layout, colours, and content without requiring any input from the end users. The poll & update feature is implemented with native code for each iOS, Android and WinPhone platform. As a result, the process is very secure, resilient and fail-safe. In the rare cases of corrupted downloads, or bad HTML code, the app can refer back to original version and repair itself.

In addition, the IdeaPress API server supports distribution of app updates to a batch of users at a time. This can minimizing the risk of a bad update by allowing you to beta test an update with your users. This allows you to gain feedback from a small section of users before pushing the update to the rest. By coupling with in-app usage tracking, this system something ends up being similar to A/B testing for a website.


By Raymond Tsang

Tagged with: , , ,
Posted in IdeaPress, Technical

Leave a Reply