The Mobile Web
When I was yammering on during the mobile web panel at Web 2.0, I said something that I hadn't prepared for in advance: the bulk of the content out on the internet is in web format. It was a sort of obvious truth that popped into my head while on stage. Now, when I say "web", you know what I saying right? I'm generally thinking HTML over HTTP and though you could probably say there's a lot of "dark content" out there on the internet - like in email, etc. it's generally not publicly accessible. The web in 2004 is the lingua franca of internet based information, I don't think there's much argument on this...
That may be the last bit where there's no argument actually, because as soon as you start talking about the Mobile Web, you get tons of opinions and theories. The first question is simply: Do people even *want* to get at the entire web with their mobile device? If you talked to the four guys on stage at Web 2.0 they'd all give you different answers. One person would talk about reformatting content, another would talk about creating a whole new type of information stream, another would discount phones all together and point to a device with bigger screens, more memory etc. Before you can even get to the how's of the mobile web, people can't even agree if it's a good idea in the first place.
Personally, I think it's a no brainer: Of course people are going to want to access the web from their mobile phones. Why wouldn't they? They're not going to want to be walled off in some mobile-ghetto, but rather have the full-on, do everything I can do from my desktop on my mobile phone, access to the web. It seems pretty obvious to me, but not everyone agrees with me. Here's their arguments:
- The screen is too small.
- The screen is too small.
- The screen is too small.
- People use their mobile devices "differently" - thus need snippets of data
- Mobile data connectivity - even using 3G networks - has massive latency between pages.
- Mobile phone browsers are too limited (no Javascript, no frames, etc.)
- Other platforms (Flash, Java, Brew) provide more richer experience (with less latency)
- Why use a mobile phone when you're not more than 10 minutes away from a PC ever.
- Prefer laptops and WiFi, rather than struggling with a mobile
I think that's about all of them (tell me if I missed one or two and I'll add them). The general idea is that mobile access to the real web is not needed or wanted so why bother? Okay. Nice thoughts, but they're wrong.
Companies like Opera, NetFront, PalmOne and others are betting quite a bit on providing access to the whole web with quite a bit of success. Opera for example has put a lot of effort into their Small Screen Rendering technology, which allows even a 176x208 sized screen to browse web pages meant for 1024x768. Does it work perfectly and always? No. But it works a good percentage of the time. There are also companies which do similar things, but on the server side. PalmOne's Blazer browser and the ReqWireless Java browser does this sort of screen reformating on the server, delivered to their proprietary clients.
Then there are other companies that are trying to harness RSS and other XML over HTTP formats to display content to the mobile phones instead. Because RSS is generally information-only, this doesn't really apply to any of the web-based applications out there (i.e. Bank Of America Online Banking) but in terms of delivering information, this might be a good answer. As more information sources provide a version of their content in XML format, an version of a mobile aggregator might be a good solution.
The other solution along these lines is the Mobile Markup path. Take the stuff you have now, detect which browser is trying to view it, then convert your content into some mobile-friendly markup. Before that meant horrible and crufty WML, but now it simply means a version of XHTML-Basic, which isn't so bad. But of course this means testing, testing, testing since each mobile phone is different and each mobile browser has it's own quirks.
So what's the answer? To shun the whole idea of markup and do some custom interactive information application in Brew, Java, Palm, Symbian, Flash or whatever other programming language you think is going to be big? Is it to try to figure out how to best reformat web pages as they are now to fit on the phones? Is it to find some alternative information stream like RSS and use that inside some custom app? Do you just create a different version of your website for each platform you expect to have to support? Do you just forgo the whole phone experience? Or do you wait for Web Standards to take hold and hope that XHTML minibrowsers are able to render well-formed XML as well as their desktop counterparts?
Look at the little graphic I made above. I've tried to show how the web is this vast repository of information, and how the mobile phone right now only has access to a small sliver of that information. The big orange blob is the public stuff, the black behind is the private web. The ways to interact with that information on your phone is limited: You can reformat it with Small Screen Rendering, view only the pages meant for mobiles, view the XML in various ways, or somehow see all the information out there in some magic, yet to be determined manner. Or hell, you can just ignore the web as it is now all together and find some alternative way of getting information to the mobile devices (which isn't pictured).
Here's my thoughts: I think people are going to want to view and use the web from their mobile devices just as quickly and easily as they use the web from their PC. And not just for when they're moving around, but when they're on the couch as well. How many people do you know who watch TV with a laptop using WiFi? Can I have a show of hands?
Now, with that in mind, let's take a look at the evolution of the technologies from this point onwards. Right now the sweet spot for mobile markup is GPRS/CDMA 1x speed phones with an XHTML browser and a smallish color screen. This is cool if you compare it to what came before it, but the web is not XHTML is it? It's 99.9% old HTML 4.0. This obviously creates a problem that people are scrambling to address, with Java apps and RSS readers and all that. But these are just stop-gap solutions and shows a lack of faith in the mobile future, rather than providing any real new platform from which to build.
As I've repeated ad-nauseum, there's going to be a point in the not so distant horizon, when most people are accessing the internet from their mobile phones, rather than from PCs. it's a fact. Businesses are realizing this and retooling for this new mobile world already. Manufacturers are making efforts to standardize on open specs (XHTML, SVG, etc.) and improve screen resolution (QVGA 320x240 will probably be the sweet spot) and websites are starting to embrace web standards as well. There's this vanishing point in the horizon when all these parallel lines converge, and I think that's where the mobile web is heading.
Rather than some other form of XML over HTTP or proprietary data format like FlashCast gaining momentum, I think that what will actually happen is that now that everyone has a reason to embrace web standards, they will. Look at what happened virtually overnight to the web design world once the CSS Zen Garden showed us the benefits of using CSS and open standards to design our web pages. Suddenly there was this massive shift away from table-layouts towards using standards as a way to make your website more compelling and easier to maintain. This sort of shift will start happening in the mobile world as well. Websites that are using web standards are already viewable by many mobile browsers, and that trend will continue. There are some sites like OddPost which were highly optimized for Internet Explorer, and there will be some mobile web sites that will choose to highly optimize for one handset over others as well, but I think in general the bulk of sites going forward will embrace standards as a way of being available to multiple clients at a time. That's why the light orange section in the above pic is for Web Standards. Though this won't happen tomorrow, that's how I see things progressing in time, with the entire web's content will be viewable via a mobile.
But what about the *bulk* of the web right now? The stuff that's out there now in HTML 4 and will never be updated. On one hand I see that data becoming less and less relevant, but on the other hand I say, hell, it's just markup right? If it's got tags, it's mungable. That's how Opera is handling that sort of markup on the client right now. I think there's lots of opportunity for companies to help munge that data on the server side to convert into XHTML, either in an automated or site-by-site way. Getting the JavaScript and Forms and all that working will be tricky as well, but if you think about the Power Law, you could go a long way towards providing access to the whole web for mobile phones by providing access to just a small subset of the web. Eventually, one would hope munging would no longer be necessary.
So that's my thoughts on the mobile web - I don't see the future as one where there are different mini-webs per device or proprietary ways of accessing content and services, but a multi-device norm which adds some pressure to the webmasters out there, but forces a shift to web standards to meet the demand of billions of data-connected handsets all sporting standard minibrowsers.
In fact, I'd say the mobile web could be the killer app for web standards. We'll see.
-Russ