My Project Santa: Developing mobile apps for multiple device types described how we were about to develop a mobile timesheet app for both iPhone and Android devices. The app went live in January and we pushed out another release two weeks later in response to feedback from our consultants.
For this blog I have interviewed Brenton O’Callaghan who did most of the actual development asking him about lessons learned during the development and rollout of the app.
But before I do that let me share some screenshots of the app, which should give you an idea of what was actually developed and what it looks like – obviously there are further screens, e.g. to select a project and activity type combination, for multi-day or absence bookings.
Steffen: One of the key objectives of the project was to reach over 80% of our smart phone users with this app. Has this been achieved?
Brenton: Yes, by using jQuery Mobile and PhoneGap we could rapidly build iOS and Android versions of the app which account for about 85% of the smart phones in use by our consultants. The big advantage was being able to build the two native applications from the same codebase. This significantly shortened the development time and meaning we were able to quickly incorporate feedback from our consultants into both versions.
Steffen: jQuery Mobile is still only available as an alpha release. Is the approach and the framework ready for prime time?
Brenton: Clearly a mobile application built on this approach comes with some limitations and will not feel 100% as responsive as a native built application, but this is the trade-off for the faster development cycles we get. jQuery Mobile as a framework proved stable apart from some issues with the page transitions on Android and popup dialogs which we had to find workarounds for. There is lots of potential in this approach so I am keen to see the framework evolve further.
Steffen: What kine of feedback did you get after the first release and what did you improve for the next release?
Brenton: The feedback was very positive and the rapid user uptake showed that we’d clearly addressed a need. There were a couple of comments around usability and suggestions to make it a little bit more intuitive. Seeing and hearing how people interacted with the application early on helped enormously to make the app as easy to use as possible.
Steffen: How did the integration with the SAP backend system go?
Brenton: We used RESTful web services to link the mobile app with the SAP ERP backend system. The key learning probably was that a resource based approach like REST may require several web service calls to the backend if a user interaction spans more than one resource type. This can impact the responsiveness of the mobile application and we had to find ways around that.
Steffen: In summary what do you take away from this project?
Brenton: I think it’s important to remember that mobile application development is not just a standard development ported to a mobile device. The design must be much more centred on the user’s needs and the capabilities of the mobile device. Usability should be top priority and lean communication with the backend will keep the app snappy and fluid. And finally, get the deployment right. If the app is easy to install, update and use you’re on the road to success.
For background on the project as well as the agile approach used I recommend Philippa Holland’s recent blog series on this which takes the view from the business owner.
For further technical details there is good documentation on the jQueryMobile and PhoneGap sites as well as two excellent blogs by John Moy on SDN titled – Extend your SAP jQuery Mobile web app with HTML5 concepts and Native device features – Part 1 and Extend your SAP jQuery Mobile web app with HTML5 concepts and Native device features – Part 2.