Home    >    Case Studies    >    PhoneGap Scheduled SMS App

Case Study: PhoneGap Scheduled SMS App

Abstract

A phonegap app that allows the users to create scheduled SMS. The app doesn’t use the built-in SMS feature, there is a server that sends SMS. So the users need to buy credits of the app from APP store(in-app purchase). Our team joined the development from half way, and our main work is to finish contacts and in-app purchase features, also including improve performance.

Core Features of the app:
  • Schedule & send an SMS, no prompts, no reminders
  • Build your own groups to schedule to regularly
  • Set yourself SMS reminders so you never forget

Screenshots

Technologies involved:

  • PhoneGap(Cordova)
  • CakePHP
  • jQuery Mobile
  • iOS/XCode

PhoneGap Features Used:

  • iOS In-App Purchase
  • Contacts

Challenges:

1. Improve Contacts List Performance

There is a page that lists all contacts from the phone. Normally a phone has about 300 contacts. The performance was very bad as the page didn’t respond for 8 seconds every time when the user navigate to this page.

The problem is a big one, but we resolved it quickly. We know jQuery Mobile is one of the causes since the list was built by jQuery Mobile listview. Then we removed using jQM listview and instead made a very simple list. It makes great improvements to the performance by doing this.

But we didn’t stop here. As we know, normally, the contacts in a phone don’t change during the APP, so we load all contacts into memory cache on APP starts, and render the list HTML. So there is only once of loading contacts and render HTML. The performance become better again.

The client is very satisfied with the improvement as his phone has more than 500 contacts and the app still works great.

2. In-App Purchase Test Setup:

Implementation of the in-app purchase feature was quite easy, but setting up the test environment is very hard, even we already have created iOS app and certificate and provisioning profile.

We read many articles and documentations and finally made it. To help the client understand and test this feature, we wrote a detailed documentation and help the client setup the environment step by step via skype. Of course, we succeeded.