Month: June 2013

Android apps vs Mobile Web apps – 2nd part

On March the 9th of 2013, I published my first thoughts regarding the development of Android apps vs Mobile Web apps.

Back then, I had some serious unanswered questions regarding the true benefits of each approach.

Today, I am absolutely certain that implementing an application from scratch using merely HTML5 + CSS3 + JQuery (Javascript et. al) is not enough for a productive and lucrative development. It is useful and important to be aware of what is underneath several mobile frameworks but IMHO it simply is not possible to make money from a development such as the one we made!

I mean, finally, we were able to develop an application (still in beta mode!) that is ready to be used in any mobile device/platform (natively or through the use of a browser), with a very good look & feel, that makes it possible to extend Clockare – Linkare’s time tracking system – interface, but that still has some glitches to fix and that it was not cost free at all!

Current implementation

The current application has the following 5 main screens:

The Login page is where the user configures Clockare’s URL (in case the user is not using Clockare@Linkare) and where the user accesses the system to consult and register her activity. The Dashboard is main screen where the user sees a summary of the hours reported in the current day, in the last week and in the current month, and where she is able to access all other functionalities of the application

login_screen dashboard_screen
Login page Dashboard

The Punch hour page is the most important page because is where the user is able to register her work activity through Ajax calls to Clockare server. The List of timesheet entries is a list of timesheet entries sorted from latest to oldest.

punch_screen timesheet_entries_screen
Punch hour List of timesheet entries

Finally, the Settings page is where, among others, the user changes the password or the number of hours to report in a day (8, by default). The main drawback with the current implementation is that it lacks the ability to work in offline mode, i.e., it is not possible for the user to register her activity in her smartphone and synchronize at a later stage with Clockare’s server (although, to tell you the truth, it has not been much of an issue today, because we are connected to the Internet most of the time even in our smartphones, because access to the Internet through WI-FI is nowadays very common!).

settings_screen
Settings

Time

Time is money and money is what we really spent on this development, being therefore the major drawback of the approach we took for this implementation. I won’t even provide the details of how much we have spent because it really is too much and the indirect benefits of this investment cannot be easily considered in a pros versus con analysis!

On the other hand, we learned a lot from this development, and have now an application that may be run on any platform without any license costs except those that Linkare may charge from the use of Clockare which makes it a good solution for our current and future customers

One solution fits them all

The truth is that with one single application, we target all mobile market. We don’t have to maintain several different applications but just one. We are not constrained commercially or technically on any vendor or specific technology because we took the safe path of staying on the standards: HTML5 + CSS3 + Javascript.

The final conclusion

This post’s intention is not to make other extensive analysis on the benefits and drawbacks of each development approach but to provide the results of the approach we took and the opinion of someone that was closely related to this development.

If I could go back, I don’t think I would implement this application using HTML5 + CSS3 + Javascript in raw because it is not a productive style. Instead, I would search for a framework that could help me doing this. In this regard, and taking into account that we are Java developers, that we are used to implement Web applications using JSF and Primefaces, and that this application does not work in offline mode, I would probably try Primefaces Mobile version.

However, and because it is not possible to go back, and I do not like to throw away an investment, the truth is that the implemented solution presents as a strong factor for our Clockare sales due to the fact that makes it possible for Clockare to be used within more devices, thus targetting more people and more environments.