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.