Embracing Progressive Enhancement
Embracing Progressive Enhancement
Progressive enhancement ( www.alistapart.com/articles/understandingprogressiveenhancement) is a web design strategy in which web designers and coders design web sites and application interfaces for the lowest common denominator (within reason) first and foremost. The application or site is then enhanced if the visitor’s browser is able to support more advanced features. JavaScript libraries such as Modernizr ( www.modernizr.com) are very useful here.
As to why this is important, take a look at Figure 13-2, which shows the breakdown of mobile-browser market share from August 2009 up until August 2010.
CHAPTER 13: The Future of Mobile Computing
Figure 13-2. Mobile browser market share from August 2009 to August 2010 This data (sourced from StatCounter: http://gs.statcounter.com) shows a few things:
Android device usage is on the rise, but is still a small part of the market.
While the most popular mobile platform for browsing the web is iOS (iPhone, iPod Touch, iPad), there are still many browsers out there in active use that do not support HTML5 and CSS3 (e.g., Opera Mini: www.opera.com/mobile).
To assist in showing the current HTML5 vs. non-HTML5 device trending, Figure 13-3 has simplified the data into two categories: HTML5 supported and non-HTML5.
CHAPTER 13: The Future of Mobile Computing
Figure 13-3. HTML5 vs. Non-HTML5 mobile browser market share As shown in Figure 13-3, HTML5 devices have a smaller market share than non-HTML5
devices.
NOTE: These statistics aren’t what we expected them to be. Over time, the graph actually shows less HTML5 compatible devices accessing the Web—and this is extremely suprising, at least at
Download from Wow! eBook <www.wowebook.com>
first. We think there are a number of potential explanations for why this is the case. ONE such explanation could be the recent interest and promotion of the mobile Web. This in turn
raises consumer awareness of the mobile services that are available online, and thus people with existing handsets are accessing mobile web services.
We would be lying if the statistics didn’t make us second-guess our certainty of HTML5 adoption across a large number of mobile devices. However, this is not the only information we have about HTML5 adoption in mobile. Established vendors have provided HTML5 support in their new devices. For instance, RIM recently released the BlackBerry Torch and put an emphasis on HTML5 support and development options. We believe this is evidence validating the claim that HTML5 support in mobile browsers will trend up quickly over the next couple of years.
While it won’t always be possible to build web applications and sites using progressive enhancement, it is worth spending some time at the start of a project evaluating the potential to support less advanced devices. If you can, you will broaden the reach of your application, and, while this book is focused on building Android web apps,
CHAPTER 13: The Future of Mobile Computing
minimizing the amount of work you have to do to cater for another platform is always a good thing.