-
Wednesday, February 1, 2012 - 12:05
-
Monday, June 6, 2011 - 13:28
-
Wednesday, April 27, 2011 - 13:38
-
Sunday, April 17, 2011 - 21:54
-
Wednesday, March 16, 2011 - 22:00
- 1 of 36
- ››
As he warmed up before unveiling the iPad a few weeks ago, Steve Jobs made the point that if you look at the Macbook range as "mobile devices", then Apple is the largest manufacturer of mobile devices in the world. Which is an impressive feat on it's own– especially considering the premium nature of most of Apple's product line. But potentially a little worrying if you pause to consider the domination that Apple has over the development of the growing mobile platform.
A post I came across via Daring Fireball over on quirksmode by PPK that argues that we're looking at a similar position in the mobile web to where we were with Internet Explorer on the desktop back in 2000.
It's a passionate argument, clearly put together to prompt the debate, and I certainly don't disagree with the principle that it espouses; a single web, independent of devices, operating systems and browsers. (Well, it actually talks of a single "mobile web", but I'm going to assume that's a simple oversight.)
Put simply, I don't believe that there's such a thing as a good mobile web developer. There are simply good web developers.
Web development is a tricky task. Once you've designed the architecture of the information that will go on the website (often without the benefit of actually seeing that information, as it's yet to be written) and the visual design that communicates that architecture to the user and covers the branding issues that will probably take up a lot of the dialogue between designer and clients/stakeholders, you've got to make sure that it works OK across browsers.
The ideal of the web is a single platform for information; one web page can be seen by any user on any computer, so long as it has an Internet connection and a web browser. It doesn't matter if that's a PC, a Mac, a laptop, a mobile phone, a games console, or even some sort of machine that hasn't yet been invented; the open standards of the web mean that any website should be accessible.
But different browsers interpret "web standards" in different ways. Any web developer who has spent hours getting their site to work properly across the major desktop browsers (Internet Explorer 6, 7 and 8, Firefox, Safari, Chrome and Opera) will know that this is a slow, dull and time-consuming task. If you need to worry about mobile devices, there are even more browsers to worry about, and a range of different user interfaces. The multitouch iPhone, the Blackberry Storm, touchscreen Android devices and Windows Mobile all have different ways of interpreting touches in different areas. Then there are keyboard-based devices (both full qwerty devices like the Blackberry and numerical keypads) and different ways of moving a pointer around the screen (cursor buttons, or trackballs.)
Good web developers recognise that different devices have different qualities. They don't use browser-sniffing to force mobile devices with perfectly capable web browsers into using a crippled, stripped-down version of the "real" website. They use technologies like CSS, Javascript and Flash in a way that means their website is still perfectly accessible to users who aren't using a mouse, or are using a touchscreen, or a screen reader, or a tiny mobile handset with a numeric keypad. (This also ties into the debate around Flash on the iPhone and iPad– but that's a big subject for a separate post.)
But once you've dealt with the different desktop browsers and accessibility issues, having to look at mobile users, the range of devices, the patchy support for Javascript, CSS and Flash; all for the sake of about 26% of people who are mobile internet users... On a platform that people are less comfortable with, that they are less likely to use to enter their credit card details and spend money, that they aren't going to see big flashy display ads on (or have the time to click on and explore when they are using them)... It's a lot of work for very little return.
Going back to PPK's argument, I tend to think that anyone who argues so strongly and emotively is usually either inadvertantly missing or deliberately ignoring an important point.
First of all, he casually dismisses the point about how much of the market in mobile traffic the iPhone accounts for, setting it up as a straw man to be dismissed along with the issues of the iPhone having the best UI, great CSS support and a great browser. (I'm not sure why he missed off the iPhone's Javascript support from the list, but I think it's worth a mention too.)
[...] I’m not so sure if it’s true. Mobile browser detection is really hard. None of the reports I’ve read so far show how they detect browsers. Lots of mobile browsers have iPhone in their UA strings to work around browser detects that obsessed web developers have set up. Do all traffic market share reporters work around that problem? Most probably do, but we can’t be sure. Besides, what will happen when the operators abandon the economically untenable flat rate for iPhone data traffic? Will iPhone users maintain their current traffic market share when they have to pay as they go?
First off, I can't see the flat data rate coming to an end. It's not exclusive to the iPhone (at least, not in the UK), and while the volume of data might be causing problems for networks because of a small number of users taking up a large amount of bandwidth, just think for a moment about the inevitable move to 4G; the more people there are used to using data, the easier it will be to sell 4G access. This change in consumer behaviour that's going on is great news in the long term for mobile networks; people are learning behaviours that will help to sell the next generation of products. (It's just a shock to me that it's taken over a decade to get to the stage where internet access is the selling point of 3G, rather than the video calls that were originally being positioned as the USP.)
There's an AdMob report that shows the share of traffic that different mobile devices are accounting for. AdMob is the mobile advertising network that Google recently bought for a huge amount of money (and, given the way mobile advertising is likely to be heading, probably got a great bargain for.) So this shows where mobile advertising is appearing. That makes it a good proxy measurement for actual mobile traffic, but more importantly, it shows where the advertising is going. Which means, as far as free access to mobile websites goes, that it's showing where the money is going. That's an important point that I'll come back to.
The key points from AdMob;
A response by rentsch makes the point that Apple devices are also the ones that developers tend to own for themselves. On the desktop, it's easy enough to have the different major browsers installed on one machine (especially if that one machine is a Mac that can boot into OSX or Windows)– for mobile devices, that's not so easy. I'd say that developers are also more likely to own an Android device, or a Palm Pre, or a Windows Mobile, or a Symbian smartphone– but the important point is that the chances are that they don't own more than one of them. (If they do, then it's unlikely that they actually use them.)
There are devices from Nokia, Samsung, Motorola, HTC, SonyEricsson, LG and RIM that are each big enough to account for more than 3% of worldwide manufacturers in terms of mobile web traffic (again, from the AdMob report.) That's seven manufacturers, each with a range of different interfaces in different combinations– touchscreens, numerical keypads, qwerty keypads, trackballs, directional cursor keys– and probably a few others I've forgotten to mention.
For any single developer, that's not just a problem of too many devices to buy. Even if you were given them all for free, it's too many devices to learn how to use with the proficiency of an owner. Without that proficiency, without understanding the kinds of pitfalls that website and application UIs fall into, it's simply not possible to be able to test them all.
But taking another look at the hypothetical mobile developer. Suppose that they have seen the market that the iPhone is building, bought themselves a Mac, and installed the development software. They will probably have also realised that while it might be a challenge to build an iPhone application (assuming that you're not familiar with Objective-C and the development environment), it's ridiculously easy to build a website or web application for the iPhone.
Going back to the money; if you're building mobile websites and making money from advertising, then the most important platform is Safari on the iPhone (including the iPod Touch.) If you're making money from selling your content (whether that's selling the content, or selling ongoing access), then the most important platform is the Apple Apps Store. (As Charles Arthur points out, it's like bankrobber Willie Sutton said, explaining why he robbed banks. "It's where the money is.".)
So supporting the number two platform means a lot more work with a much smaller return on investment in time and money.
More so than the issues of the philosophy of "one web", or the issues of Apple being the fashionable brand to support, or potential market share, or the issues of free vs paid media (ie. the open web versus the various mobile Apps Stores)– that's the issue that needs to be dealt with for the open standards of the web for mobile devices to continue to grow. The iPhone is going to continue to grow, as long as it remains at the head of the smartphone pack when it comes to usability, as long as iPod owners are migrating to the iPod Touch, and as long as the iPad does what it seems set to do and lead the "portable computer" market between laptops and smartphones. These issues aren't going to simply go away any time in the near future.
Of course, all of this is ignoring the fact that Mobile Safari is a great browser– virtually identical in terms of W3C standards support as the desktop version (if the results of the Acid Tests are anything to go by.) So if you're using web standards, then you're probably doing a good job of supporting the iPhone platform anyway– and as a result, also doing a good job of supporting Android, Palm, Blackberry etc. etc. Which— as a good web developer— is what you should be doing in the first place.