symbian

Reaction to PPK’s “The iPhone obsession”

Posted by Mike Brittain on February 08, 2010
Mobile / Comments Off on Reaction to PPK’s “The iPhone obsession”

PPK wrote a thought provoking post drawing a parallel between iPhone-specific mobile development and IE6-specific development we saw begin a decade ago and is still, somewhat surprisingly, biting us in the ass.  It’s an important warning to heed, but I think he misses some critical points about mobile web usage trends and dwells too much on a snapshot of current statistics about mobile handset market share.

Why are developers obsessed with the iPhone?

Let’s not mince words.  Mobile web browsing has traditionally been a horrible experience.  I’ve had a couple of what seemed like great smartphones (a BlackBerry 8700 and a Palm Treo 550).  They made me feel like I could use the web, and were better than nothing, but they were still a terrible experience when compared with today’s mobile web.  To deal with the fact that these handsets couldn’t consume all of the image formats, plugins, or even standard HTML produced for the web, the browsers either munged their rendering or made use of proxies that would reformat a web site’s HTML content to be more WAP-ready.  Transfer speeds were also doggedly slow.  It made much of the web accessible, but was a rough ride.

It’s not even worth talking about the people who were making mobile-friendly sites three years ago.  It’s not to say they didn’t exist, but the number of sites customized for mobile browsers at that point is negligible.

The iPhone coming to market changed the game.  Why?  Because Mobile Safari allowed users to see real web sites and not dumbed down version of web pages (well, except for Flash).  Additionally, AT&T contracts for iPhones require data plans.  Most smartphones on the market can be purchased with a contract that doesn’t include web data usage.   I just priced out BlackBerry Tour and Droid Eris (HTC) phones on Verizon and their base package includes no data usage.  You pay an additional $1.99/MB for data transfer.  BlackBerry handsets are huge in the U.S., but they’re simply not for web usage, they’re purchase primarily for email and texting.  (I believe this will change, but RIM needs to massively overhaul their browser architecture to catch up to the current state of mobile browsers being released on other phones.)

The graph below demonstrates the effect of the iPhone on mobile web usage (global).  Click for full size.

Source: Quantcast 2009 Mobile Web Trends Report

I am not advocating that we only design for the iPhone.  Newer mobile operating systems are incorporating WebKit into their default offerings.  Even though the versions of WebKit released on iPhone, Android, Symbian, Palm, etc. differ, they are all starting miles ahead of the mobile browsers from two or three years ago.  If PPK is concerned about developers favoring a technology (as they did IE6), should we be concerned about a dominance of WebKit and an ignorance of everything else?

Trends for mobile web usage

Another problem I have with the article is the statistics that were chosen.  There is too much focus on mobile handset/OS market share and not on mobile web usage.  All of the statistics that PPK chose to show are a snapshot of the current market.  If a web developer took this sort of approach to their web development strategy, they may have concluded in April 2009 that “Internet Explorer 8 only has 3.6% market share, let’s not worry too much about it.” (Source: Net Applications)

Mobile handset/OS market share has no correlation to mobile web usage.  Looking at the stats presented in PPK’s post, Symbian commands 45% of the smartphone market share (I’m fairly sure this is global market share, he made a point of not allowing developers to focus on the U.S. alone).  Contrast that with Quantcast’s 2009 Mobile Web Usage Report which shows that Symbian makes up just over 3% of global mobile web usage (all handsets included).

This graph, again from Quantcast’s 2009 report, demonstrates the mobile web market share (global) of the top handset operating systems. Click to enlarge.

Source: Quantcast 2009 Mobile Web Trends Report

Bottom line: The mobile web is tiny

There’s one more point I want to make, also supported by Quantcast’s report.  Statistics on mobile phone usage and mobile web penetration by market can get pretty heady.  It’s exciting to see all of this growth in mobile.  But the fact is that despite all of the people in the world walking around with their mobile phones, they’re not yet consuming very much of the web.  According to Quantcast, by the end of 2009 mobile web usage accounts for just 0.95% of total web usage worldwide.

Much respect

To be clear, my intention is not to bash PPK. His research, code samples, and compatibility tables are invaluable to the web development community.  I know I’ve used them countless times.  Many thanks!

I also agree with his overall rant, which is that building iPhone-specific sites is a dumb approach.  I hope to write more on that soon.

Additional resources and data

I’ve put a lot of emphasis on numbers I found in a Quantcast report.  Their findings are based on a pixel-based measurement of web usage and report only from sites where their instrumentation is deployed. Concerns I have are whether their measurements are effective on all mobile browsers (including those using transcoding proxies), and whether their measurements would be skewed by higher deployment of their pixels on sites in one global region over others.  It seems, however, that most of the best known operating systems are represented.

I didn’t call out any of the numbers from the AdMob report (listed below) because I don’t believe an ad serving network would have solid coverage of the mobile web, especially not on a global scale.

Below are some additional resources worth reviewing which I read while researching these trends.

Mobile Metrics Report, Dec 2009 – AdMob

State of the Mobile Web, Sept 2009 – Opera

The Mobile Internet Report, Dec 2009 – Morgan Stanley

Tags: , , , , , , , , , ,

Browser Testing for Mobile Web Applications

Posted by Mike Brittain on January 31, 2010
Misc / Comments Off on Browser Testing for Mobile Web Applications

Developers working on mobile web apps need to be able to test their apps or sites in all of the major mobile platforms.  Unfortunately, there are not a lot of good resources online for how to go about this.  You could pay for a service from a mobile testing company, like DeviceAnywhere, who provides access to a wide selection of real devices (using a virtual client).  Or you could go the free route by installing a variety of SDKs and mobile phone simulators.

Base Setup

I’m developing on a Mac.  Many of these emulators are Windows-specific.  Additionally, this could end up being a lot of work to setup, so putting all of these tools onto a Windows virtual machine will let me move the VM to another machine in the future and save me from reinstalling from scratch.  On my Mac I’m running Parallels Desktop with a copy of Windows XP.

The only exception is the iPhone SDK which includes a simulator for the iPhone.  The iPhone SDK is only available for installation on the Mac OS and I’ll be leaving it out of the instructions below.  I also haven’t installed or tested the 3.2 (beta) yet which includes an iPad simulator.

Java

Big surprise that Java is used for some of these SDKs and simulators, so we might as well get started by installing the JDK and runtime if you don’t already have it installed.  You should be able to download a copy of the JDK from here:

http://java.sun.com/javase/

I grabbed “JDK 6 Update 18”.

Android

Download the Android SDK from Google’s Android Developer site and run the enclosed SDK Setup program.

Unzip the .zip package you download and put in a location you want to keep the files (perhaps within Program Files) and then run the SDK Setup program.

In the “Installed Packages” section of the setup program, click “Update All…” to download the platforms and APIs that will be run by the SDK.

To create an emulator for a specific version of the Android OS, select the “Virtual Devices” option, then click the “New…” button.  In the dialog box that opens, enter a name for your emulator and select a target OS (e.g. “Android 2.0.1”).  Then click the “Create AVD” button.  Select your new emulator from the list and click the “Start” button.  When the emulator starts you’ll find an icon for “browser” on the main screen.

Symbian

In the past, I have setup Symbian emulators and SDKs to do local testing.  When I returned to their site to download new software I was pleased to find that they now provide a service for accessing virtual devices over the Internet using a Java application.  Visit http://apu.ndhub.net/ to register and access a wide selection of devices.

Easy!

BlackBerry

BlackBerry simulators for various models and OS versions can be downloaded from their developer site.  Each simulator is downloaded as its own installer package.  So download all of the  emulators you want to test (Storm, Bold, Pearl, etc.) and run their installers.

http://na.blackberry.com/eng/developers/resources/simulators.jsp

This seems simple enough, but if you start up one of these simulators and open the web browser you’ll quickly find that you’re missing a critical piece: network access.  To access the web from these emulators you need to also download the MDS Services Simulator package.  Find a link for this download from the resources page:

http://na.blackberry.com/eng/developers/resources/

Also note that BlackBerry makes available some documentation specific to web application development for the BlackBerry platform.  You can find these resources at the address below (registration required):

http://na.blackberry.com/eng/developers/browserdev/

Palm webOS SDK

The Palm SDK includes a web browser within its phone simulator which is useful for testing the browser that runs on the Palm Pre and Palm Pixi.

Go to Palm’s developer site and look for a button or link to download the SDK.

The emulator runs within Sun’s VirtualBox software.  There is a link from the Palm download site for downloading VirtualBox.  Follow the instructions and install VirtualBox first.

Next, download and install the webOS SDK.

Once you’ve completed the installation, you can start up Palm emulator from your Start Menu: Programs > Palm > SDK > Palm Emulator.

When you run VirtualBox, it may prompt you to download an updated version.  The Palm Emulator (as of January 30, 2010) will not run on the latest version of Virtual Box.  Stick to the version that you download from the Palm Developer web site (3.0.10).

Wrap up

This should get your started with a testing environment for a few of the top mobile browsers on the market today.

If you’ve got other tips to share about testing mobile browsers, share them in the comments below.

Tags: , , , , , , , , , , , ,