Sunday, 4 March 2012

Web browsing on Android

How fast did this page load? Did you notice a delay? Slow page loading is just one of the frustrating aspects of the mobile web experience. Mobile browsing is improving - but slowly, and not for everyone...

The most significant factors determining how fast a page loads when you tap on a link on your Android phone are the site's design, the bandwidth of your current internet connection, the processing power of your phone, and the efficiency of your browser app. A basic understanding of these four issues is helpful if you want to optimise your use of the mobile web.

Mobile site design
Mobile website design is still in its infancy. Even when site owners take the trouble to build special mobile versions, their interfaces are often awkward. In other cases, in an effort to 'simplify' a site for mobile use, the content or functionality that you want has been removed from the mobile version altogether. And many sites have still not got round to adapting themselves for mobile users at all. Despite all of this, mobile browsing is expected to overtake desktop browsing early in 2014. Site owners, take note.

Practically, what difference can this make to your browsing experience? If nothing at all has been done to adapt a website for mobile, it will probably load slowly on your phone. And when it does load it will look very, very small, as the browser attempts to display the full width of a site made for a desktop monitor on your phone's tiny screen (below, left). Complex, multi-column designs make it especially difficult to read a site's content. You can double-tap or pinch to zoom in until the text is large enough to read. But then you may need to scroll left and right to read a block of text (below right). Site navigation can also be difficult. Buttons are often too small for touch control, and nested multi-level menus often don't display correctly.

A website that makes no concession to mobile browsing. Kiss goodbye to extra donations, University of Kent.


And if you want to fill in a complex online form - like the one the University of Kent uses to collect spontaneous donations from the public, for example - then forget it. If you're using a mobile, they obviously don't want your money.

At the other extreme are sites with mobile websites that are completely separate from their main sites. I use the Flickr photo-sharing service and, as you can see below, the mobile site has an entirely different look and feel from the main desktop site, with chunky, finger-sized controls and a single scrollable column of images.

My Flickr photostream - desktop version...
...and, on the left, the mobile version. On the right, the desktop version as it it displays in the Android browser.


The problem with Flickr's mobile website, like many made-for-mobile sites, is that the designers think it's necessary to simplify things (as well as reducing the size of photos and videos, to make loading faster). If the mobile version of Flickr has a way to organise my photos in sets and collections as I can on the desktop, I haven't found it yet.

Most sites that have built a mobile version will detect that you are not using a desktop, and deliver you the mobile site automatically. In the screenshot on the left above, you'll see in the browser's address bar that the URL of the mobile site begins http://m.flickr... This is now a widely used convention for mobile websites. Some sites go further and try to determine your mobile device's operating system, screen size, and browser, and deliver a version specifically optimised for these. Most mobile sites offer a way to override this optimisation and load the main, desktop site. You can often find a link to 'Main website' or 'Desktop version' at the bottom of each page. The screenshot on the right above shows Flickr's main site loaded in my phone's browser. Of course, it's slow, and navigation is awkward (the links are tiny), but at least it's all there.

The browser I use, Dolphin Browser HD - about which I'll say more later - allows you to change the User Agent setting from Android (the default) to Desktop. This fools the sites you visit into delivering their main websites by telling them that you are using a desktop computer. However, as I said at the beginning, mobile browsing is improving. When I started to use an Android phone in early 2010, I found most mobile sites impossibly dumbed-down, and generally set the User Agent to Desktop. Today, many more sites have mobile versions, and the quality of these has greatly improved. For speed and ease of use, I now leave the User Agent set to the default, and load main sites only when I need to.

Bandwidth
One of the early myths about mobile web design was that it should cater, above all, for users on expensive, low-bandwidth connections. Mobile users, it was believed, would never be interested in browsing your content, let alone reading more than short snippets of text. They wanted to get in, grab what they needed, and get out as quick as possible.

There probably are still mobile users like this. But my guess is that the vast majority are more like me. I don't have a mobile data plan and I never turn on a mobile data connection. In part, that's because it's so expensive here in Belgium, where I live. But it's also because I don't really need it. I have 10 Mbps WiFi at home, and 100 Mbps WiFi at work, and there is free WiFi in many bars and restaurants here. If you have a decent ADSL internet connection with a WiFi router in your home, then your WiFi connection there is essentially free, since you are paying for it anyway. So for you, like me, data charges are not an issue. We are happy to browse a site's content at our leisure. And we do read long articles (like this one) on our phones. At least, I do.

As far as I can tell, a decent router on a 10 Mbps internet connection is adequate for normal browsing. Some sites - especially those that are not mobile-optimised - are slow to load. But others load almost immediately. And I haven't noticed any particular improvement in performance when I'm connected to the much faster internet at the office. My guess is that the remaining bottlenecks are elsewhere.

Processing power
What can I tell you? Buy a new phone.

Mobile browsers
Short of spending a large sum of money for a new phone, the best thing you can do to improve your mobile browsing experience is almost certainly to install a decent browser.

The standard Android browser, based on the Open Source WebKit, is actually pretty good. The problem is that, because it is built into the operating system, it is only improved as part of updates to Android itself. Which in my case means never. HTC made a big effort to develop an upgrade to Gingerbread for the Desire, but failed. If I want a newer version of the stock browser, I'll have to get a new phone.

In fact, I have used Dolphin Browser HD since it first appeared in May 2010, soon after I bought my phone. Very full-featured at the time - with pinch to zoom, tabbed browsing, full-screen mode, bookmarks, and a host of add-ons offering specialised functions - this free app has continued to evolve with very regular updates via the Android Market. It now offers an extremely slick, reliable and fast browsing experience.

Some of Dolphin HD's functionality: left, tabbed browsing and the add-on toolbar; right, the New tab speed-dial page


Personally, I don't use either gesture or voice control (introduced in the most recent update), but some will no doubt like them. What is amazing, given the memory limitations of my phone, is that all of Dolphin's rich functionality is packed into an app with a memory footprint of less than 2.5 MB (after moving it to the SD card). HTML5 data cannot currently be cached to the SD card, nor is there a setting to clear the cache on exit from Dolphin, so if like me you are seriously short of memory you'll need to clear the HTML5 cache (from Menu > More > Settings > Data storage settings) regularly. But the app itself is not a memory hog.

One drawback of Dolphin is that there is no simple way to sync bookmarks and open tabs with your desktop browser. Continuous browsing, seamless across different devices, remains an unattainable dream, for the moment at least. I did briefly try the Android version of Firefox, which does offer cross-platform synchronisation. But at the time the app required a huge amount of internal memory, and I found it slow and buggy, with fairly frequent crashes. Now, I am waiting to try Chrome Beta for Android, in order to sync with Chrome on my desktop computers. Unfortunately, it's only available for Android 4.0 (Ice Cream Sandwich) and later. In any case, it will have to be very good indeed to make me give up Dolphin.

Next post: Scarce resources 2 - Battery