The Wild West of Mobile Web Dev Frameworks
The introduction of mobile phones and tablets has turned the web industry upside down. Up until just months ago, we were optimising content for the desktop PC with ample screen size, computing power, and internet bandwidth. Now, users also consume content on small, underpowered devices with limited connectivity. On such devices, users can’t enjoy the same multimedia content they grew accustomed to on desktop. The web industry needs to return to a basic, more practical experience; one that was thought to have been left behind in the nineties.
Luckily browser software capabilities are caching up with the new hardware. While web standards are slow to spread, browsers like Mobile Safari are quickly gaining missing features. In order to cope, new web frameworks are abstracting away the underlying messiness and allowing the expedient creation of native-app-like interfaces. These frameworks take different approaches to web app development, and it is yet unclear which ones will persist — if any.
On this topic, I had the pleasure of speaking at two events recently. One was at the first Swiss Fronteers meeting, and the other was for the Swiss graphics association Viscom. In these presentations, I compared the two web frameworks jQuery Mobile and Sencha Touch and analysed what makes them good. To limit the scope of my presentation, I chose the following criteria as an example:
- Community
- Learning curve
- Access to platform
- Performance
- Price
- Ease of use
- Development Tools
These criteria change depending on the project. One point raised during and after my presentation at Swiss Fronteers was that ‘documentation’ was a very important point that I missed. I believed I covered documentation when considering both ‘community’ (what is contributed) and ‘learning curve’ (how easy is it go get started), but the person criticizing, a strong proponent of Documentation Driven Development, maintained that it is a feature that needs to be assessed on its own. The reason being that the developer of a feature needs to write the documentation and not the community. The discussion was hampered by our varying definitions of what a community is in the context of a software project (does it include core members?) and what documentation is (does it include tutorials?). However, yes, I could have been more specific in addressing the quality of documentation as a deciding factor for a web framework.
Another point not in the list of criteria is the branding of the project. Note: I did research in the area in a few years prior, see my paper title Commons Identity. Here, jQuery Mobile surely has an advantage coming from a very established software brand. However, I felt that project should be judged on its own merit, rather than from the established success of the underlying framework. Many businesses promote their framework of choosing as a selling point. For example, the company the Swiss Fronteers presentation was held at, Divio, is strong in promoting Django to its clients. If there is power in promoting the software as a selling point to clients, then yes, the brand should be included as a deciding factor for choosing a framework.
Part of the presentation was showing the creation of prototypes for each framework. I wrote about this in a recent article on choosing a server-side web development framework: in my opinion, learning about a framework is a very important part of the evaluation process. This may seem obvious, but I have seen this task ignored by Developers time and time again.
What became clear to me during my evaluation of these frameworks, is that we aren’t there yet. People are still coping with the new technology (because of missing common practices) and companies are still adding many new features to their mobile browsers (because of advanced hardware and missing web standards). There is still a Wild West spirit amongst developers in this area. There will be some personal gut feeling involved in making a choice. My key recommendation is to write prototypes — and learn!