Tuesday, May 15, 2007

Proof Mobile AJAX Only Works In A Parallel Reality

Ajit at Open Gardens seems like a nice enough guy - an outrageous name dropper, but generally fairly harmless. However his most recent post - that US Customs people are very nice and they don't always get the kudos they deserve - finally provides proof that he's living in a parallel reality. I'd love to know how many other people (particularly those without US passports) would agree with this summary - from personal experience and anecdotal evidence from others, I'd have to estimate in the long term - we'll get to the criteria for when later - though exactly how mobile and web worlds will collide and what they'll leave behind is open to question.

Anyone can read the future technology roadmap of the GSM Association, see the clear trend for more processing power in phones, and draw the obvious conclusion that some form of mobile web will eventually be available and possibly useful and desirable on a mobile device, some time. This does not take visionary skills, just a bit of common sense extrapolation and a willingness to ignore today's reality and live in the indefinite future.

Ajit's angle, excellent self-publicist that he is, is to spot the inevitable convergence, tack on today's buzzwords, and repackage the whole thing as a visionary dream around which he can sell a lot of 'strategic consulting', books, speaking spots and whatever else - and everytime any web thing happens on mobile, his vision is vindicated. Fair play to him in some ways - I have nothing against Ajit as a person, and he has spotted a niche which the right person can make lots of money shouting from - it's just that I have to disagree with almost everything he says about the near- and medium-term future of mobile. Long-term is too far away to try and call.

I see most mobile commentators split into two camps: technically knowledgable and pragmatic (Guy Kewney, Michael Mace, et al) and tech-lite but buzzword-compliant (Ajit, monkey boy and fellow cult members). The former tend to write insightful articles which understand the limitations of the medium, the latter tend to get very enthusiastic about future technologies which will solve all the problems we have today and assume everyone wants whatever their new idea is. The latter tend to call themselves names like 'visionary', 'pioneer', 'innovator' or 'imagineer' (ugh) as well, terms which tend to rub me up the wrong way when bestowed on oneself. You can argue that the world needs both sets of people, but I'd rather sit closer to the former camp - I have found that exciting future technologies tend to grow organically and unexpectedly, following user demand (the web, SMS) rather than as preplanned visions which appear fully-formed (think WebVan); this makes understanding the present and near future rather important.

So what's wrong with mobile AJAX? I think you need to look at the technical hurdles and the words of those pushing it.

There's a great little scene in one of the Asimov Foundation books (which I read far too long ago to quote in any detail), when a diplomat arrives and signs a giant treaty with the 1st Foundation, a frontier world, guaranteeing safety and blah blah. Everyone thinks it's a great sign of their importance and safety until one of the professors at the university applies some logic to it, cancels out the contradictions, removes the meaningless fluff, and ends up with nothing - a treaty designed to look impressive but saying nothing useful. I often think of this when reading Open Gardens, where you can see a huge enthusiasm for mobile widgets or whatever else is flavour of the day, without any real analysis of why people might want them, what value they provide the user, whether they can even work for the majority of users. There are attempts at analysis and explanations, but they always rely on an implicit assumption that everyone wants new technology and it must be good - this always bothers me. Maybe I need to go to California and take whatever the techno-evangelists and asymptote guys take for a while...

Blue Favour's recent post "10 Things I learnt about Mobile 2.0" covers a lot of what the web 2.0 beta crowd want from the mobile market, and infuses the points with some realism when commenting on the key trends that speakers discussed at the Mobile 2.0 Conference recently.

The key point which springs out of this to me are: there are a lot of people who want to push the Web 2.0 bubble onto mobile, AJAX and all. They don't appear to fully understand the differences in the medium - I really don't think people want to casually browse on a mobile in the same way that they do on a PC, I think they want to accomplish certain tasks quickly and efficiently, and those certain tasks revolve around things you need on the move. In a perfect world, the widget concept does seem to fit in with this requirement and I think this is why it has had a lot of traction recently - though I have always been heavily underimpressed when actually using the things.

The web 2.0 crowd seem completely PDA and smartphone centric, because that's what they carry, and this just hilights the fact that what they eprsonally want is totally independent from what the average person wants (as different as their smartphones are from the average person in the street's handset). The more they see their handsets capable of, the more they assume the market is inexorably moving towards web-browsing fully-programmable smartphones - but it isn't. Smartphones are selling better than last year, but almost all because of Nokia's S60 platform being targetted increasingly at the middle of the market and operators trying to leverage the potential for own-brand products by pushing Windows clones. Most people are picking up phones as fashion statements, not as computers - so don't expect any change in the platforms you can use to develop real world apps on any time soon.

A crucial point - shared by all mobile app platforms - is the impact apps have on battery life. Javascript allegedly drains the battery at 4-5 times its normal rate. Javascript is a high-level programming language and AJAX generates a lot of network traffic, both downloading every single little iteration of the code (and the massive libraries required to make it work cross-device) and when doing all that funky asynchronous stuff. I don't have figures for Java but it doubtless uses quite a bit too, but with a fat client you can minimise network traffic to a single download, intelligently minimise bandwidth and connections and generally offer a streamlined user experience which gets the job done as fast as possible.

When it comes down to it, AJAX is designed for powerful CPUs and low-latency broadband connections charged for by the month. It is not designed for the high-latency slow and flaky wireless connections, particularly not those charged for by the Kb or (if you're lucky) by the Mb. You couldn't design a less appropriate technology. Let's look at each point:
  • Data Quantity
    • XML is a very heavy way to describe data. For passing small amounts of data around you can instantly treble the payload size using it.
    • Fast iterations and rapidly changing code are great in theory, but when you download entire libraries each time you visit a site you are really piling on the pounds. Especially when those libraries have to allow for every runtime environment.
    • "Unlimited" tariffs are coming to mobile, but they tend to be limited in bandwidth and carrying a number of limitations. This may change, but only if the network's backhauls start playing catch-up.
  • Data Speed
    • Current 3G offers pretty slow connections with very high latency, a lot like 56Kbps modems in fact - OK for small WML pages, but pretty awful for big heavy things (see Data Quantity).
    • 3G has just reached 10% penetration in Europe and the US. Do you even want to know how slow a GPRS connection will be with this stuff?
    • HSDPA may fix all this, where it is rolled out, if the backhaul can take it, once users have HSDPA phones. Don't hold your breath.
    • Remember boo.com? Remember why it failed?
  • Programming Model
    • Javascript is a high-level language. It's deceptive - at first you think it's really simple to code, and many non-coders do give it a try. This leads to incredibly inefficient design, code bloat and generally the kind of things that trained developers who have worked in mobile have heart palpitations about.
    • Anyone suggesting that fragmentation will not occur is living in a fantasy world.
      • Java is a very carefully designed language which requires central certification of environments, and it still fragmented for two reasons:
        • Phones are consumer electronic devices developed to tight deadlines, and often they ship before they are ready, with bugs.
        • Even carefully written specs with heavy centralised test suites have gaps.
      • Javascript has no carefully written spec, no centralised test suiute to ensure compatibility - it's an organically grown mess on the desktop, where upgrades are easy and browsers relatively sparse. There are a wide number of mobile browser makers and every one of them has wide differences in markup rendering - their efforts at scripting engines will be less standardised, not more.
    • How many hours of talktime are users willing to give up to fuel that funky sliding effect? How many pence will they pay for it and how many seconds will they wait while it loads? I can suggest an answer, but you can probably guess for yourself.
I have heard from a number of sources that mobile operator's backhauls cannot take many users using heavy data services. They survive off voice revenues, and a bit of SMS - they'd like to see loads of other data revenues but they won't do it if voice call availability or quality would suffer, because that is the cash cow. This is really a post on its own so I'll leave it here, but I do think that all of the Web/Mobile 2.0 crowd who want the operators to get out the way and just become a bit pipe are living on false hope. Just like their faith in mobile AJAX.

Fat clients and simple Wap pages will be here for a long time because they work, and they work in the mobile medium - you can't just do a quick mash up and make something work on a small screen with limited I/O potential. What replaces them, in a truly popular mass market sense, will be many years in the future and I don't think we're in a position to accurately judge that in today's bubble 2.0 market.

10 Comments:

Anonymous Anonymous said...

The backhaul can totally take it. You think U.S. carriers would be pushing streaming multimedia if the network couldn't handle a few KB of AJAX requests?

5:08 pm

 
Anonymous Anonymous said...

Web 2.0 doesn't have any meaningful definition, at least not to allow such discussions as "Mobile Web 2.0" to be useful.

It's mostly a language problem and lazy thinking. When talking about cars, it is fairly easy to separate out the use of the car from the mechanics. One doesn't talk about the social connectivity of a tyre for example. However, a lot of Web 2.0 discussions mix technology with design patterns with business models with applications with paradigms and so on. I've read sentences that link widgets with the long tail as if the connection is obvious, or even meaningful. It's a hodge podge of stuff often made worse by sloppy writing riddled with imprecision and a failure to define terms and a frame of reference.

Hence, Ajit can't reasonably praise an entire agency on the basis of one do-gooder, especially as the widely reported experience is counter to his observation. But, by the same token, it seems a poorly constructed argument to begin with criticising Ajit for his self-grandising approach and other issues of style and then try to round off with a technical appraisal of the mobile internet.

A thing can be identified by its attributes. It would be useful to see a list of "Web 2.0" apps and which attributes make them so. Ditto, "Mobile Web 2.0". Perhaps we need another Cluetrain Manifesto to make it all "clear".

12:41 am

 
Anonymous Anonymous said...

Paul: you are very right, the term is vague, and maybe we do need someone to define everything. Ajit regularly makes the sort of random connections you mention, of the type "widget + long tail = good" as if that was obvious or in any way made sense - I mainly wrote the post to point out that this kind of blogging does everyone actually working in the industry a disservice, except of course Ajit and his speaking fees.
I included some technical details purely to point out why so many of the assumptions that underpin the less technical bloggers are false. The ending lacks coherence and I can tell re-reading it that I was falling asleep at that point, perhaps I should have saved and continued the next day, but really I think you misunderstand the point of the post if you think discussing technical problems with running 2.0 fluff on phones is out of place when criticisizing hyperbolic rubbish from people who don't understand those problems. Feel free to write a post clarifying a taxonomy of 2.0 concepts and technologies and I will happily give my opinions on each in an appropriate way :)

Eli: for some cells, the backhaul can undoubtedly take a few streams; a full discussion really needs a whole extra post, and here I wasn't sure whether I should mention it in such a fleeting way.

9:16 am

 
Anonymous Anonymous said...

Don't get me wrong. I think I got your point, but the issue of Ajit's approach and style can be separated out from the tech, thus allowing us to see the wood for the trees. In any case, if you bring technology into it, he will argue, as he did with me, that AJAX and all that stuff (that O'Reilly Publishing clearly uses to sell Web 2.0 books) isn't what he's talking about, although it frequently figures in his blog.

I don't have a definition or classification of Web 2.0 apps. It's such a widely used term with so many different interpretations that it is a meaningless concept and I don't want to add to the bullshit. Its best use is for buzz and hype, which is mostly why it repeatedly turns up in biz mags.

When talking to operators about new technologies and their potentials, I will make the following points:

1. The increasing potential for mash-ups in today's pool of web apps can be exploited for mobile services, including the very real possibility that operators might want to provide open APIs from their portal services in addition to connecting to other services via their open APIs. One could say that the mash-up idea is often connected to the Web 2.0 theme, but as the concept of a mash-up is clear, we can simply stick to that.

2. The transition to an all-IP core network (i.e. IMS) allows a whole new set of "design patterns" and services to the extent that it seems like is a whole new way of doing things is on the table (contrasted with legacy cores). I wouldn't object to this being thought of as a kind of "Mobile 2.0" and I have used this term, but clearly defined.

3. Agile IP-based development supports the potential of mash-ups extended into IMS, thus allowing a whole new breed of mobile applications that we have not yet seen. The iPhone visual voicemail would be an example.

10:27 am

 
Anonymous Anonymous said...

Eli - The backhaul issue is actually the most significant issue currently facing operators. Finally the bottleneck has shifted upstream from the RF interface to the base station back-haul. Sure it can be upgraded but at what cost?

Paul - But when do you think we're going to actually see operators deploying IMS networks? From the folks I've spoken with this is a fair way off at the moment....

11:45 am

 
Anonymous Anonymous said...

Raddedas, interesting read, thanks.

ceo

5:21 pm

 
Anonymous Anonymous said...

Paul: I'm inclined to say that though your vision of the future is no doubt grounded in much more technical understanding than Ajit's, it is still looking some years into the future (many years, for the laggards in the mass-market who don't upgrade regularly) and so is also less relevant right now. You certainly make a valid point that when these improved networks come along a lot of the performance issues making the bulk of technologies normally classified as Web 2.0 (like AJAX) inappropriate for mobile will become less important. However, I am not certain an IMS network will bring with it devices featuring perfect cross-device implementations of script runtimes, or enough battery power to transparently handle loads of network traffic and extra processing - so a lot of the thrust of the argument will remain.

1:43 pm

 
Anonymous Anonymous said...

Thank you a lot for sharing this with all folks you really know what you are talking approximately!
Bookmarked. Please also talk over with my web site =). We may
have a hyperlink change agreement between us

Also visit my blog: Juvesiio Review (Http://Easyprove.Ii.Uni.Wroc.Pl/Ticket/494)

5:03 pm

 
Blogger yanmaneee said...

supreme clothing
supreme hoodie
jordan shoes
moncler jackets
yeezys
kd 12 shoes
supreme
nike shox for men
goyard
balenciaga trainers

10:01 am

 
Blogger Sony said...

- Nice article thanks this post share

5:41 am

 

Post a Comment

<< Home