(Not) Obsessing over the iPhone

PPK of Quirksmode-fame it at it again, this time badmouthing iPhone-centric web development. A lot of people seem to take issue with his point of view, but aside from the (typically Dutch?) in-your-face bluntness, I do think he makes some very valid points. The web is about broad accessibility, about allowing as many people as possible to access your information/ application and the same should indeed be the case for mobile web development.
Sexy as a iPhone-UI mimicking webapp (based on e.g. iUI or JQTouch) might seem, it does have a number of important shortcomings:

  • it is sub-optimal for the web, even on iPhones, as the context is very different (e.g. in terms of responsiveness)
  • the iPhone-UI-approach does not make a lot of sense on non-iPhone high-end touch devices
  • it will probably not work on mid- and lower-end phones at all

So yes, web-developers should try to build mobile sites that render on as many devices/ browsers possible, as we do on the non-mobile web. Unless you’re willing to invest in several sites for different handsets, building for one specific device is a bad choice, however good the browser might be (and Safari Mobile indeed is great).
That’s why I decided to switch from the iPhone-centric WPTouch (which I installed only 3 months ago) to “WordPress Mobile Pack” for this blog. WMP offers great mobile functionality out of the box;

It includes a mobile switcher to select themes based on the type of user that is visiting the site, a selection of mobile themes, extra widgets, device adaptation and a mobile administration panel to allow users to edit the site or write new posts when out and about.

When running the MobiReady test to assess how “mobile-ready” my blog is, I get a great score of 4.35/5 (page size being the main remaining issue). So thanks for ranting PPK!

Flash isn’t evil, but …

Last week’s prediction about Flash becoming irrelevant was pretty controversial, and some of you Flashheads had interesting remarks and -rhetorical- questions both in the comments and on Twitter (a big shout-out to Clo Willaerts for sharing). So without further ado, here’s my follow-up.

Flash isn’t evil

Some people seemed all too happy to dismiss my post as being plain old Flash-bashing. Sorry to disappoint you, but I”m not saying Flash is evil or that it will (or should) disappear altogether. Next correction: I do have Flash player installed and in general I do know if a application is made in Flash or not. Heck, the web has been my job for more than 10 years now and Flash has been a point of interest for quite some time already. And yes, there indeed are innovative web applications and games that are build in Flash. That being said, I do think (because of accessibility, SEO and some more philosophical reasons) it’s best to avoid using Flash to develop a site’s core functionality if the same can be achieved with non-propriety, standard web technology.

It’s not about Flash vs HTML5

The comments on last week’s blogpost seemed to focus very much on the individual merits (or lack thereof) of HTML5, CSS3 or Canvas, as if these are islands with no history and no connections to the web mainland. This is, off course, wrong; these “new” technologies just happen to be the most recent evolutions of the core components of the rapidly evolving ecosystem that is the “open web”. Moreover, with HTML, CSS and Javascript being the brick and mortar, libraries such as JQuery, Dojo and YUI are the “prefab” building blocks of open web development, offering plug&play components to efficiently build cross-browser rich web interfaces. So the discussion is not about Flash vs HTML5, but about the choice between Flash and the powerful “open web technology stack”.

about:evolution

“The only constant is change” and that’s all the more valid on the web. Flash has an important role to play in this respect, having pushed the boundaries of  web-based UI’s for many years. But as some of the cutting-edge features that once were only available in Flash, can now be created more efficiently using non-propriety technology, there’s a shift towards the use of those open web components (e.g. the Flash carousel on National Geographic website that was shown in the Adobe video from my previous post has been replaced by a JQuery implementation).
I believe (and that’s what the previous post was about) this trend will continue in 2010 because of features of HTML5, CSS3, canvas, … becoming available to a wider audience either natively (in new browsers) or through libraries that provide cross-browser compatible implementations. And yes, I’m afraid that in my book that means Flash will become less relevant (“irrelevant” in my previous post being an obvious hyperbole).

Loose ends & examples

To sum it all up: when Adobe Flash evangelist Serge writes “Flash Player has it’s place on the web today and in the future” I can only agree. But I’ll bet you that place in the future will be less prominent than the one it holds today.

2010: the year Flash became irrelevant

My 2nd prediction for 2010 (the first one being ‘offline is the new online‘): the glory days of Flash are over. The reason for this is twofold; the mobile web and the strong advances “open web” technology is making.

Open web moving in, fast

Remember the days when everybody wanted to spice up otherwise dull websites with “a flash splash page” and “flash menu’s”? Now menu’s are built in accessible, SEO-friendly HTML once again, using CSS to add style and even behavior, adding some Javascript if magic dust is required . And splash pages, well, those were pretty useless to begin with. Adobe Flash’s stronghold now is video playback and animation, but they’re bound to eventually lose that battle as well.
For starters; video (and audio) on the web doesn’t have to be based on a plugin any more. Firefox, Safari and Chrome have built-in html5 audio- and video-playback capabilities and several video-sites are already experimenting with those native browser multimedia-features. True, there’s still that darn codec-problem, but I bet you that’ll get solved in 2010 (clue; Google is negotiating the acquisition of video codec specialists On2 Technologies).
On the animation-front things are moving at such a fast pace, I even need a bulleted list;

Mobile; the Flash-less revolution

There’s no Flash on the iPhone. It wasn’t there at launch, back in 2007 and –despite me thinking it would arrive in 2009– it’s still not there. This decision is said to be Steve Jobs’, who in 2008 stated that a full-fledged version of Flash “performs too slow to be useful“. And it seems as though the turtlenecked CEO was right all along; on one hand the mobile web boomed thanks to the iPhone browser and on the other hand Adobe is still struggling to provide a decent mobile Flash experience, despite huge efforts in 2009. The fact is there’s no Flash on the booming mobile web, no-one seems to miss it much and it doesn’t look like that will change any time soon.

Adobe’s answer; mobile banners & deploy to Appstore

So with a Flash-less mobile web and with strong browser-native competition for both multimedia and graphics on the “normal” web, how does Adobe see it’s future? Well, they plan to roll out “iPhone packager for Flash” in CS5, allowing any Flash developer to publish to the AppStore, but there’s still no news about in-browser Flash on the iPhone.
For non-Apple devices, Adobe is boasting a preview version of Flash 10.1 in a mobile browser (the Android 2.0 browser on Google Nexus One in this case) with this promo video;

Flash Player 10.1 on Google's Nexus One Phone

I don’t know about you, but somehow a sub-par game, web video and banners don’t convince that Flash has a bright future ahead. Not on mobile and maybe even not on the open web as it’s shaping up to be.
But maybe you think Flash will remain in the spotlights despite all of this? Why? Let us know in the comments!

“iPhone developers are stupid!”

steve says: may iphone devs burn in appstore hellI’m not really a fan of blogposts that are mere quotes, but forgive me while I post this beauty from “Apple is not evil. iPhone developers are stupid” by Peter-Paul Koch on Quirksmode;

The fundamental problem on the iPhone is not Apple’s App Store approval policies, but the iPhone developers’ arrogant disdain for Web technologies.
[…]
After ten years I am fucking tired of the “Web development is not real programming” bullshit that the arrogant bastards in “real programming” are spouting because they’re too frightened to learn something new. Fuck those condescending, ignorant, self-important, stupid, blind, fearful pricks. Fuck them real hard. Where it hurts.
And fucking them real hard where it hurts is exactly what Apple is doing right now.
That’s why I changed my mind. That’s why I’m cheering Apple on. I hope the App Store approval process sticks around for a loooooooong time.

Bridging the gap between html5 and Gears

my trash in gmail mobileGoogle claims HTML5 on the web is the future of applications on mobiles and they present the high-end mobile version of Gmail (on iPhone and Android) as an example of what can be achieved with web-based applications. But, as I wrote earlier, the Android-browser does not support HTML5’s webdb, appcache or geolocation at all (and neither does Google Chrome). Instead Google offers similar (but different) functionality in their Gears-plugin.
Almost the same functionality, but with a different API, how did they implement mobile Gmail? Well, Appcache (a.k.a. “offline web application”) seems to be implemented separately. That  makes sense as defining which files can be stored locally is more or less a one-off job. But for more complex data-oriented offlining with a local database, Google created a wrapper-script that hides the Gears and HTML5-API’s and the underlying differences, thus offering a unified way to store and retrieve information from a local db. The code, including an example, can be found in WSPL’s svn-repository in Google Code.
And while it’s not used (or needed) in gmail, there also is a a geolocation-wrapper to abstract those HTML5 and Gears-implementations. Once the wrapper is instantiated, getting the user’s location on iPhone (OS3), Android and some others becomes as easy as doing:

geo_position_js.getCurrentPosition(success_callback,error_callback);

Great stuff, those wrappers. But wouldn’t it be even greater if Google’s browsers would support the native html5-specs, so these stopgap solutions  weren’t needed to start with?

Google hates HTML5, pushes Gears?

don't want no google gearsSo you bought this brand new HTC Hero and you tell everyone it’s on a par with the iPhone 3GS and its great browser? I mean, both are very recent Webkit-implementations aren’t they? Safari Mobile on iPhone OS3 is based on AppleWebKit/528.18, Chrome Mobile (or don’t they call it that?) for Android 1.5 on AppleWebKit/528.5+, and between 528.5+ and 528.18 there can only be minor differences? So HTML5-goodies (such as geolocation, localstorage and app cache) which Google is actively promoting, will work out of the box, just like on that dreaded iPhone 3GS, won’t they?
Sorry to bust your bubble, but Google seems to have decided otherwise; there’s no navigator.geolocation, no localstorage and no app cache on my HTC Hero (which is running Android 1.5 aka cupcake). You can access similar functionalities by calling the built-in Gears plugin, but mobile web-developers can’t assume that these HTML5-draft-specs are available on all modern high-end mobile handsets at all. Hell, even “big” Chrome 3.0.195.10 (which is based on Webkit 532!) does not seem to support these killer-features. Must be that Google is secretly pushing for Gears to become the default “rich internet enabler” instead of HTML5?

HTC-dude, where’s my keyboard?

In spite of my almost religious view on the ideal mobile phone, I bought a HTC Hero last week.
But let there be no doubt; it’s a great handset! My Hero sports a beautiful touch-screen, a nice -albeit young- Linux-based OS and a top notch webkit-based browser (with Adobe Flash 10, a first for a mobile device). The price is considerably lower then that of an iPhone and the platform is very open (esp. if you  compare it to the golden cage Apple created for its ecosystem). I’ve installed several free apps from the Android Market and downloaded and installed a great AR-application from outside the Market without having to jailbreak anything (more on Android-apps in a later post).
But there’s one thing I really miss on my fancy device; a physical keyboard. Because as ancient as my Nokia e61i might have been, I really was more productive (as in “writing mails”) on it thanks to the (small) physical QWERTY-keyboard it sported. And while friends and colleagues assure me that I’ll get used to the virtual keyboard, and I’m sure things will indeed get better, we should not kid ourselves; nothing beats a real keyboard. Ever! So let the quest for a small compatible bluetooth keyboard begin!

New powerful iPhone with Flash preinstalled in q4?

So Adobe is working with Apple and “hope[s] to have Flash installed on over a million shipped devices by the end of the year“?
If you consider that:

  1. The (ARM11-based) CPU in the current iPhone is said to lack the raw power to run CPU-intensive applications like Flash
  2. Adobe has teamed up with ARM to optimize Flash on their processors and especially on the new ARM Cortex (which has been confirmed to be the CPU in the Palm Pré, which seems a great iPhone-competitor)
  3. “shipped devices” seems to imply that Flash would come pre-installed
  4. Apple sells more than 1 million devices each month (based on the past 2 quarters)

So we can expect a new ARM Cortex-based iPhone in time for the EOY holiday sales?

Is the web too fat for your IPhone?

So you have a spiffy mobile phone with a top notch browser that does a decent job at displaying “desktop-oriented” websites and you use it to surf the web regularly, visiting some of the bigger news-sites in Belgium. What does that mean, from the point of view of data transfer and bandwidth usage?

data usage for 4 pages on 5 sites (click on image for more, methodology see below)

That sure is a lot of data, Captain! What does that mean?

  1. You will have to be patient, because downloading 1 or 2 Mb for that initial page will probably be gruesomely slow (especially if you’re on EDGE because there’s no 3G-coverage)
  2. You will end up paying good money for all that data transfer, because data is money when you’re on mobile time
  3. You might even curse your handset or crashing browser (more on google), because all that data will end up in RAM and these devices do not come with tons of that.

In these broadband-times, website builders seem to have completely forgotten about best practices for download size of complete web pages (html + all js/css/images/…). This means that a lot of websites should be considered non-accessible on mobile devices.
If you want your normal website to be usable on IPhone’s, HTC’s and other Nokia’s, you’ll have to start taking download size into account again. That means taking some technical measures (using mod_deflate and mod_expires for example) and making hard functional choices to remove some stuff (on this blog dropping the rather useless mybloglog-widget saved me 210Kb, going from 10 to 7 posts per page another 200). And if you want to target mobile users specifically, you’d better invest in a mobile-specific version of your site!


The methodology followed to measure these download sizes;

  • disable flash (there’s no such thing on mobiles, with flash these figures would have been even far worse)
  • disable memory cache (in about:config), because it can’t be cleared easily
  • clear disk cache
  • open up firebug and click on ‘net’ to monitor downloads
  • download homepage, random 2nd page, random 3th page and the homepage again

The spreadsheet (on google docs) contains more data (compare above results with those for 2 mobile-specific sites)

Juichen voor deredactie.be light

Dat ik nooit bijzonder enthousiast was over deredactie.be en dat daar nu verandering in komt! Niet omdat ze op hun site de overdaad aan Flash en andere audio-visuele excessen hebben verwijderd (of nog maar optioneel hebben gemaakt), maar omdat ze een mobiele versie in beta hebben uitgebracht. Meer nog, er zijn 2 versies; één voor de “gewone” mobiele surfer en één voor de “iphone-elite”.
De “gewonem.beta.deredactie.be, die overigens ook perfect werkt op een iphone, is een no-nonsense mobiele site waar -zoals het hoort- de content centraal staat. Door middel van kleurgebruik (dat zich ook aanpast aan het moment van de dag) blijft deze mobiele versie het “deredactie-merk” trouw. Voorlopig (?) worden er geen multimedia-bestanden aangeboden, een video in 3gp-formaat of een audio-fragment in mp3 zouden nochtans niet misstaan. Indien de transcoding software van Mobixx mijn gewone PC-browser dan ook nog zou herkennen en de breedte van de “viewport” zou aanpassen, dan zou m.deredactie.be ook de perfecte “light”-versie van die overdadige grote broer kunnen zijn.
Over de “iphone”-versie ben ik minder enthousiast; beta.deredactie.be/iphone mag dan wel die typische iphone look&feel hebben (met dank aan het WebApp.net framework), je verliest op die manier wel volledig die specifieke deredactie-identiteit. Maar wat belangrijker is; qua bruikbaarheid doet de iphone-versie het ook minder goed. Op de eerste pagina staan enkel navigatie-elementen, er is geen hoofdpuntje, geen fotootje, geen lettertje inhoud terug te vinden. Ook op de categorie-overzichtspagina’s staat er minder informatie; je moet het daar stellen met de titel en een kleine afbeelding, voor de samenvatting/ teaser uit de “gewone” mobiele versie (cfr. screenshot) is er in zo een sexy iphone-interface immers geen plaats.
Alle iphone-gekheid op een stokje; volgens zijn er mij slechts een heel beperkt aantal gevallen waarin een “mobile safari“-specifieke versie van een site zinvol is. Of wacht … Nee, toch niet, ik kan zo geen enkel geval bedenken. Een goeie mobiele site moet (middels wat transcoding om verschillende schermgroottes en andere verschillen op te vangen) op zowat elk mobiel toestel bruikbaar zijn, punt! m.deredactie.be scoort er alleszins eentje. Ze weten waar ze mee bezig zijn, daar bij The Reference (ontboezeming: “de ref” was tot februari 2007 mijn werkgever) en partner Mobixx!