Tuesday, May 11 2010

Some recent NPD data showing the Android platform overtaking the iPhone in the US has set the web on fire. Apple apologists like John Gruber are working overtime to try to spin it.

Remember back when Daring Fireball was actually an interesting site? Now it’s like I imagine Pravda was during the Cold War.

In any case, I was a little shocked to see the gains come this quickly. Android was obviously making a dent, but I expected another generation of products to flow through the market – like the Incredible and the EVO 4G, and eventually the long-anticipated onslaught of Dell vapourware – before Android really took hold with mainstream consumers.

And of course iPhones are still selling. They’re selling like hotcakes, for that matter: Apple reported a more than doubling of sales during the period in question (kind of undermining the notion that it’s some sort of calm before the 4G storm).

At this point smartphones have a limited market saturation, which is why it’s a critical juncture and why there’s a bit of a race to perform a land grab. It remains anyone’s game.

In a year we might be looking at the emergent dominance of Windows Mobile 7 phones. Or maybe the next iPhone model will storm the market. Or WebOS will be reborn into a real contender. Or maybe Blackberry – the strangely unmentioned leader of the pack – will really wow the market with their next cycle.

It is critically important that there is competition in the space. Competition is great for everyone, including for iPhone users (see the upcoming multitasking that is a virtual clone of the implementation in Android). The market can’t be dominated by one vendor, especially one with walled gardens.

Speaking of walled gardens, as much as HTML5 got talked up during the Great Jobs-Adobe War of 2010, in reality HTML5 performance on the iPhone and iPad is abysmal and is close to unusable for rich content.

The real alternative to Flash on the iDevices has been native, single-platform, completely-proprietary apps. Which is arguably a perfectly fine approach (take full advantage of the platform and all), but it was incredibly frustrating seeing HTML5 used like such a cheap sacrificial prop during the debacle when it really had perilously little to do with the debate. It was so grossly dishonest.

Of course I’m speaking outside of videos. For videos Flash is almost always a completely unnecessary wrapper around an h.264 stream (which is what many Flash videos come encoded in these days). Separating the video from the container is a no-brainer.

Obviously HTML5 needs to keep improving. With Android 2.2 around the corner there are wide expectations that they’ll introduce a JIT compiler for the Dalvik engine (“native” apps largely run in a VM runtime and are currently seriously hobbled by the lack of optimizations in the same), and it would be fantastic to see something like V8 for the browser as well. While the platform has far-and-away leading canvas and dynamic graphics support, it falls behind in scripting and that would be a nice gap to eliminate. It would be nice to see a decent dynamic HTML 5 capability built into iPhone OS 4, as currently it is seriously deficient.

   
Friday, May 28 2010

Android 2.2

Android 2.2 was announced at Google I/O just over a week ago. It is the highly anticipated update to the Android platform that brings a slew of very important improvements and refinements, including a reduced memory footprint, the addition of a JIT compiler to both the Dalvik Java-esque virtual machine and the V8 Javascript engine in the browser, push-messaging for any 2.2 or above targeting apps (with the reliable and powerful Google ecosystem to back it), streaming media, comprehensive ActiveSync support, among many other new features and functions.

Lots of refinements have taken place. It levels the ground with the iPhone, and provides some ammo against the soon-to-be-announced iPhone 4.

The Android platform is a very exciting place to be. Competition is excellent. Hopefully the iPhone 4 is a stunner as well.

A Terrible Roll Out

The (non-)roll-out of 2.2 could have been done better.

A pre-release of 2.2 got pushed to a subset of devices — those given to press or as handouts at Google I/O — shortly after I/O concluded, with no one seemingly knowing that it wasn’t the real deal, or that it was only going to a subset of devices.

The tech sites proclaimed that the roll out was underway. Purportedly there was a confirmation by a Google rep that the new version was being pushed.

Google had indicated, at the conclusion of I/O, that they planned on getting 2.2 out for the Nexus One in a “couple of weeks”, so this seemed like a case of setting expectations low and then wowing them. Everyone was eagerly checking their phones, suddenly convinced that it wasn’t worth using until Froyo was installed. Soon they could impress their friends with Linpack results.

But it wasn’t a real roll out. Nor was it the actual release version. Google didn’t seem to correct anyone until days later, after lots of people had downloaded and installed a covertly discovered pre-release version of it.

Android already suffers enough criticism for the purported need for “task management” (you don’t need to manage tasks! It is often simply a placebo), it doesn’t need people thinking that you need to root your phone, rollback to a prior version, and then roll forward, all to avoid being picked last for the team.

The pre-release clearly has some issues. There are observations about apps crashing, with commentators opining that those app devs need to “update their app for 2.2”, providing more misinformation to add to the talking points of Android detractors

Communicate better, Google. And stop treating the press (or even people sent to I/O by their employers) as your closest allies. They aren’t.

Android has succeeded despite sites like Gizmodo and Engadget and their brethren, a strong community and grassroots effort keeping it aloft in the face of a lot of effluence and misinformation.

This tarnished what should have been a stunning release of a stellar upgrade.

The Android Platform Today

It still is a bit rough for mainstream consumers. I own an HTC Dream, an HTC Magic+, and most recently added a Google (née HTC) Nexus One, and I love all three of them (and it is far and away the best platform for me and my needs), but there are still warts and issues.

Scrolling on the Nexus One, for instance, is often rough, like the device is over-extended. This includes scrolling down pages, between home screens, and so on. It seems like a trivial thing, and it doesn’t impede actual functionality at all, but it is one of those minor things that really favor the iPhone, where scrolling and transitions are brilliantly smooth.

The Sense UI added by HTC offers a much more iPhone-like smoothness, but the base OS shouldn’t falter on such powerful hardware (and Sense UI is why HTC lags behind the Google release cycle at such a distance).

If you add animations to interactions, they must be smooth or they become a detriment. I’d rather pages just instantly flipped rather than being poorly animated. Android does it well compared to devices that came before, but it’s the unparalleled smooth elegance of the iPhone that makes it pale in comparison.

The Android Market

The Android market is a mess. There are 50,000 apps, around 49,000 of them being horrendous make-money-fast junk apps (thousands of compasses, levels, and after a “success story” led to a gold rush, parked-car-finder apps).

The “Just In” section is simply depressing.

This is very similar to the Apple market, for those who might be gloating, where there are companies spamming the directory full of thousands of repackaged web pages and regurgitated filler. Apple might have strong opinions about what Adobe’s Flash-to-native compiler would do to quality, but they certainly have no qualms letting low quality junk saturate the app market.

Of the remaining 1,000 apps, many still have a pretty big “need work” sign hanging on them. As a contemporary example, Epicurious just pushed out an Android app to join their existing iPhone app, and while the iPhone app is lauded, the Android version is seriously deficient, almost to the point of being unusable.

Make it easier for us to separate the wheat from the chaff. The current rating system is broken, and seems to be primarily used by spammers trying to earn gems in garbage games.

Allow me to pick my own trusted rating authority to browse and sort the app market. This should be similar to looking at a movie listing and choosing whether you want to rate based upon Metacritic, IMDB, Rotten Tomatoes, Flixster, the community at large or just personally trusted reviewers and their network of trusts.

I don’t care what a million spammers have rated an app at, nor do I care to waste my time with apps that people whose opinion I value have given the thumbs-down.

The market is improving (the new system that will be coming after 2.2 is apparently going to be very similar to Xbox Live, where I can pick movies and games on their web interface from a desktop and they’ll instantly start pushing down to my powered on Xbox 360), but people need appropriate expectations going in.

It doesn’t matter how many apps there are in the Android market. Or the iPhone market, for that matter. It only matters how many satisfy your needs.

Taking on the Snaptic Challenge and Then Making it Personal

Snaptic launched an interesting challenge recently – the Move Your App! Developer Challenge – and it inspired me to get serious about Android development. More so than the cursory surface skimming I did previously.

It was mostly a nice external motivation and a bit of a deadline to get me taking the initial steps. Yet in the end I decided against submitting for the contest.

I didn’t submit for two reasons.

Firstly because I started two weeks before the contest started, and the odd evening or weekend just isn’t enough time to polish something in that amount of time. I don’t want to contribute to the pollution of the market.

Secondly because I couldn’t reasonably fulfill a basic requirement of the contest, which is that you have to integrate with their note/photo cloud service (the contest isn’t entirely selfless on their part). It didn’t lend itself to my app without seeming like a completely superficial tacked on requirement-filler.

I hugely applaud them for creating the contest, encouraging Android development and getting people to get on the move. Their prizes are incredibly generous and unique as well.

Alas, I’m going to keep on plugging away and will have a version 1.0 in the market in the coming weeks, and I will openly say that it was inspired by the Snaptic challenge.

Google and the Nexus One Channel “Failure”

A lot has been written about Google purportedly abandoning the Nexus One. In reality the market simply isn’t ready for unsubsidized phones, people much more willing to pay $199 for an iPhone, and then thousands in service fees, than to pay $500+ for an unsubsidized device.

It’s similar to bandwidth where people are more accepting of “unlimited” data plans, with onerous throttling and usage restrictions, vendors trying to game it to ensure that you use as little as possible, than to pay for actual consumption. It’s destructive for everyone, but it’s the Big Lie that we all live with.

It’s also true that Google is a terrible retailer.

When my Nexus One was ordered I quickly realized I should have joined two orders (the phone and the car dock) to pay a single shipping charge, but more importantly a single customs brokerage charge. Despite contacting them almost immediately I instantly got a stock reply saying that it couldn’t be done due to their ultra-expedient fulfillment process. The fulfillment wasn’t ultra-quick, and strangely I can make such changes to trivial, low-margin computer orders with no issues at all, but that’s the operation of Google where the earnings per employee is maximized, and saying no is easier (and cheaper) than being accommodating.

I also ordered an engraving (see below) on my phone and the phone came sans engraving. I filled out their support form to say “What happened with the engraving I asked for?” to instantly get an obviously mechanical Bayesian response that I needed to contact HTC for any order problems.

Google isn’t great at retailing directly to the public. I love the phone, but the experience was far from pleasant.

On Engraving One’s Phone

Engraved Phone

Several times prior I had almost completed an order but backed out once presented with the engraving options.

It seemed like something I should take advantage of.

But what to engrave? My name? My email address?

What if I transferred the phone to someone else once the next killer Android device came along? Surely they wouldn’t like having my name permanently engraved on a non-removable part of the phone.

What if I dropped the phone on a covert mission and wanted deniability?

At the same time I’d like for someone to be able to contact me if they find the phone, and maybe edge someone who is on the fence about whether to keep the found goods to doing the right thing.

So I went and registered a domain – mylost.mobi – and set my engraving to be yyz@mylost.mobi.

I “think bigger” in almost all that I do, and the idea was that such a site would offer a control panel and the ability to transfer the forwarding address, so if I transferred the phone I would simply transfer the email address.

Alas, my phone didn’t come engraved so I didn’t bother building it out. Neat idea, I think.

   
Friday, June 04 2010

“Fragmentation? What Fragmentation?”

The Android Developer’s Blog ignited a firestorm recently by publishing an entry on the purported fragmentation of the Android ecosystem.

It’s worth a read. Too bad the same can’t be said to most of the responses to it.

When the topic concerns either Android or the iPhone, and the arguable failings of each platform, it’s seldom debated by people genuinely interested in seeing the target of their criticisms improve in any meaningful way. Instead it’s pundits (less generously called fanboys) hoisting their flag, pushing in for their chance to line drive some talking points.

Rabble rabble rabble, Steve Jobs will eat your firstborn

Rabble rabble rabble, Android is fragmented and anarchist.

It is noise that seldom inspires or enlightens.

On Android Fragmentation

We have a problem, Mountain View.

Some handset vendors are lagging on upgrading their devices, if they do at all. There is a wide disparity in performance and functionality among devices, leading to unpredictable user experiences.

It parallels the dark days of Windows Mobile, when unloved devices were shat onto the market and promptly forgotten, the vendors more interested in prepping you for the next iteration that, they assure you, will fix all of the problems of the last.

For those writing application targeting Android, such as myself, there is a need to carefully consider the current version breakdown, choosing the target that offers the minimum functionality you need without restricting your market too much. You need to perform the same analysis on the target hardware capabilities, as the simple reality is that a rich graphical 3D application won’t run acceptably on a wide range of deployed Android devices. A high-end game might run well on a Samsung Galaxy S, for instance, while being unusable on every other Android device.

Do you target 2.1 and take advantage of Quick Contacts, for instance, and limit yourself to 45% of the potential customer base, maybe preparing yourself for the future? Or do you target 1.6 and simply go without those refinements? Do you build a 3D rendering interface that will choke on all but the latest handset, or do you cater to the lower common denominator?

It’s a serious concern. There are brand new Android devices that are hitting shelves today with Android 1.5 on them. There are new devices with mediocre processors, limited memory, and barely functional GPUs.

Isn’t that weird? It isn’t optimal.

Add that there are all of the various skins that the vendors put on their devices to differentiate: HTC’s SenseUI, Motorola’s MotoBlur, Sony’s Rachael, among others.

Android devices come in all sizes and capabilities: There are big screens and little screens; devices with keyboards and those without; cutting-edge super phones and feature phones on steroids; tablets and netbooks; processors with NEON instruction sets and without; with SSE or without.

An Android device is not a homogenous experience for either users or developers.

Crazy isn’t it? Anarchy reigns! Contrast this to the land of iPhone where there is a very strong uniformity and development consistency among experiences and development and devices.

Shouldn’t Android be more like the iPhone? Shouldn’t Google lay the hammer down and demand that vendors refrain from customizing, they upgrade in lockstep, they build a consistent, uniform platform, and nothing deviates from the reference implementation? Everyone building a Nexus One with a vendor label on it?

No way.

Fragmentation is the Reason the Android Platform Has Succeeded

The progress of Android over the past year, or even just the past 6 months, has been nothing short of extraordinary.

From being a marginal wannabe, largely adopted by those ideological few willing to turn a blind eye to its many, many faults, Android is now a very serious competitor among mainstream consumers.

It’s an accomplishment that Google could never have pulled off alone. They needed a lot of help from a lot of very capable partners, and their strategy with the Android platform and the Open Handset Alliance is entirely the reason we got to where we are today.

HTC, Motorola, LG, Samsung, Sony, nVidia, Intel, ARM, among a slew of others…a lot of very smart, very capable companies working to make their own success story, pulling up the Android platform at the same time.

Motorola wants to sell you a Droid, yet by investing so much into making their devices a success they’ve build an ecosystem where you benefit from their success even if you choose another vendor’s phone.

Fragmentation is progress.

Instead of releasing a single iteration yearly, a single lockstep uniform device and experience, a Darwinist battle is taking place, the best choices and experiences triumphing. The Evo 4G is hitting shelves today, yet already we’re hearing about the next superstar, a purported HTC Scorpion device with a 1.5Ghz processor coming soon.

When people argue that Android should be more like the iPhone, they lose sight of this very beneficial side effect of the so-called fragmentation.

If Google ran the Android platform like Apple, it would have been a Buzzesque flop. It would have failed miserably.

But they didn’t, and it wasn’t. We are where we are.

So where are we?

Well firstly, most of what you’ve read about Android fragmentation is bunk. Horror stories about incompatible apps and terrifying development processes are largely exaggerated.

But there are some issues.

Google Earth, Google Goggles and the official Android Twitter application (an excellent application that was built with Google’s help) all require Android 2.1 or above. It’s fairly obvious that Google intentionally limits the best to a recent version in efforts to motivate vendors to hasten their upgrades, and to showcase the most recent platform additions, such as the animated backgrounds in the Twitter applications.

Those are the reason that customers demand that vendors update their phone, and it helps keep them motivated to push out upgrades. Motorola just released the Backflip on 1.5, and Sony released the X10 on 1.6. Both of them have gotten a lot of criticisms in reviews for this choice, and they both will pay for lagging behind. Their motivation to get upgrades to the market quickly is very strong.

As a developer, when you develop an application you need to target a given version knowing that you’re cutting out anyone running something older (thus cutting out some prospective customers). In a subset of cases you can target an old version and optionally target newer features using runtime reflection and feature sniffing.

And there are compatibility quirks. In developing an app that integrates the camera I’ve encountered a number of issues, including devices that invert the preview output, some that only return greatly scaled down pictures when a picture is taken, among a variety of other little variations and surprises, and that’s just among the devices I’ve tested with.

There are known issues when dealing with OpenGL where some devices demand a certain magic quadrant of environment conditions to operate at their peak.

All in all, though, it is an absolute walk in the park compared to most other development efforts I have pursued. The Android SDK abstracts most everything to a shockingly effective degree, and the very clever, HTML-like (and thus XAML-like) layout manager allows you to very effectively run your application on a huge variety of displays.

You can build high-performance code in the NDK, including hand-crafted ARM assembly, but you can do it in a way that will only optionally be used if the right conditions are available (e.g. an ARM processor with NEON instructions), otherwise falling backed to a managed version.

In many ways writing to Android is a bit like writing an HTML5 application. There are quirks that you have to deal with on some clients, but they’re mostly known and documented and fade away as the clients move closer to the specification, without restricting the innovation and uniqueness of the individual clients.

Everything about Android is built to abstract from the device, from the virtual machine runtime to the density-independent pixels to the layout manager’s multi-dot-pitch resource utilization (I would have preferred that they used vector graphics, such as SVG, but it’s better than nothing).

If Android is HTML5, then the iPhone is ActiveX

When you develop for the iPhone, you develop for the iPhone. With the iPad there’s one additional form factor, but the universe of clients is extremely limited and of little variance. With the new iPhone there are rumors that it will see a simple doubling of each axis’ pixel count, allowing the system to simply pixel double previous applications.

It’s a bit like developing for Internet Explorer back in the early 90s: Everything was grand and entirely consistent and uniform, and in many cases you could just target an ActiveX control because you could make so many assumptions about your target.

There is limited variability build into the iPhone SDK or development process, and those hurdles are crossed when they are encountered. When the iPad came out, they updated the SDK to deal with the second screen size. The new iPhone SDK added the ability to deal with the new pixel density.

It makes a developer’s life simple. But it also seriously hobbles the rate of innovation and the ability to adapt to change.

It’s a Long Term Strategy

In the short run the single-target approach – the ActiveX approach – wins. In the longer run those early gains disappear, especially when you’re moving uniformly (“non-fragmented”) against many speedy opponents.

Just take a gander at the comments on any Android market share story. Just a few months ago it was gloating damnation as the iPhone ecosystem dominated the Android platform. Now it has subtly shifted, and the argument has moved from "iPhone dominates!" to “You can’t compare the many Android makers against just Apple! Apple still beats HTC!” It’s quite a shocking adaptation, and of dubious merit: As a developer I completely care about the platform saturation, not whether a phone is a Motorola or an LG.

And of course Apple does as well. There are millions of iTouch and iPad devices that don’t get counted in smartphone surveys, and they give iPhone targeting developers a staggering lead still, but we’ll see for how long.

   
Monday, June 28 2010

While a number of beta releases of Android 2.2 (AKA Froyo) have made the rounds since the Google I/O public unveiling over a month ago, all of the prior releases targeted the T-Mobile variants, leaving my EPE54b-based "AT&T" model on the outside longingly looking in.

Sure, there are methods of rooting and rolling back and then forward to get it working, but I wasn't interested in them simply because this phone is too useful for me to bother: It is already a very decent phone, and I was willing to bide my time until Google refined the final bits and pushed it officially, at least when the alternative started with rooting.

Alas, a version has finally been unviled for my version of Android. I downloaded it, did the manual update, and initial impressions are incredibly positive.

I've complained numerous times before about the stuttering, seemingly overwhelmed feel of the platform, at least relative to the buttery smoothness of an iPhone, and I can happily say that most of those complaints are no longer true.

One possible facet of the Froyo update that has been debated back and forth as myth has been support for 802.11n. I can gladly say that FRF85b does indeed enable 802.11n on my handset.

802.11n
Taken after switching the WAP to 802.11n only, though it establishes the same connection in mixed g/n. Yes, I named my WAP "dlink", even though it isn't a dlink.

While much has been made about 802.11n's higher theoretical speed, how often is greater than 54Mbps really needed on a smartphone? Is the max 54Mbps of 802.11g just too constrained?

Hardly. The increased max theoretical throughput is a non-issue for this usage.

Instead the real benefit of 802.11n is that it maintains a decent throughput at the edges of the connection, where 802.11g would stutter and disconnect. I can already say that testing this throughout the house and the yard has demonstrated a more consistent, more usable experience. With the WAP in the basement, connectivity in the bedroom was often more hit and miss, whereas now it appears to be rock solid and ever so speedy.

   
Thursday, September 02 2010

A Brief History of My Antagonism Towards Flash

I was anti-Flash before Steve Jobs made it cool. I have as much anti-Flash credibility as anyone.

For over a decade I've steered organization after organization away from building solutions in Flash, often against great resistance. I was evangelizing SVG — what I saw as the biggest opportunity for a more illuminated, open solution than Flash — back when its strongest corporate sponsor was none other than Adobe.

Aside: Humorously Adobe was leveraging SVG in their battle against Macromedia's Flash/Shockwave empire, before finally giving in and buying 'em out.

I have railed loudly against Flash on many occasions.

The Great Flash of Propriety

Yet Flash is fairly pervasive, despite my valiant attempts.

Up until around 2005 and the birth of YouTube, Flash had very little presence in the video space: That realm was dominated by Real Player, Windows Media Player, Quicktime, among others. Flash fit in the RIA niche where it displaced the short-lived empire of ActiveX and Java Applets. It was the tool for great web entertainment like You Don't Know Jack, the Net Show.

Then YouTube rose with Flash at its presentation core, and the rest is history. Soon Flash was the oddball foundation for video.

If you mention Flash today, however, the topic will immediately veer violently to the great Flash/Apple battle of 2010, where Apple has loudly rejected Flash (where it represents a proxy for "rich applications they don't control"), and Google, perhaps being a bit antagonistic, has embraced it with their Android and Chrome solutions.

Ok, embraced is probably a bit of an overstatement. In reality Google's initiatives have top notch HTML5 support, the best JavaScript performance, and are probably the best mobile/thin platforms for rich HTML5 applications, but they just happen to optionally support Flash as well, perhaps providing a bridge from the past.

A Very Personal Flash Experience

I've been running Flash on my Nexus One for several months now. I have it configured to On Demand so the scourge of animated, CPU-clogging Flash adverts don't destroy my web browsing experience. When there is Flash content that I want to view, I click the little arrow and voila, Flash is running on my mobile phone.

Overall it has been a very welcome addition to the device. From restaurant sites, to small videos like Zero Punctuation reviews, to games for my children, to product information pages, I like having the option of engaging Flash when the need arises.

So when I saw entry titled "Just How Bad Is Flash on Android" on Daring Fireball, of course I was drawn in. There Gruber indirectly linked to some demonstrations of Flash failing miserably on several Flash video sites.

To which, I say, no kidding.

Anyone under any illusion that having Flash on their mobile device opened up any and all content is willfully or technically incompetent. That or it's link bait trying to herd in the people who desperately need their biases confirmed, and a lot of people desperately need to believe that Flash isn't necessary on mobiles. I'd probably say it's that second option at play.

Of course not all content will play. This is, after all, a mobile device with a little power-sipping mobile processor. While 1Ghz sounds pretty pimp, the Snapdragon in the Nexus One is in many ways a weakling, particularly in video decoding and 3D graphics tasks where it fell behind even the iPhone 3GS.

On this 1Ghz processor I've had trouble playing local 720x480 h264 videos encoded at 1Mbps, encountering frequent stuttering and dropped frames. Compare that to the iPhone 4 which allows for up to 7Mbps+ videos at 1280x720, which it plays flawlessly, owing to the excellent hardware decoding.

When it comes to video the iPhone 4 simply kicks the Nexus One (and virtually every other HTC Android device, as HTC is addicted to Snapdragons) to the curb. Then again, the Samsung Galaxy S kicks the iPhone 4 around and calls it Sally, while the OMAP in the Droid 2/X offers a fair fight.

Snapdragon processor devices are not the top of the pile by a long measure.

So the Nexus One really isn't a great platform to highlight video prowess anyways.

Enough with the hardware excuses.

Add that Flash is often its own worst enemy: When you enable the plug-in, your enable in the Android browser is browser wide for that page, meaning it simultaneously enables the twelve punch-the-monkey animated ads surrounding it, often destroying the experience.

So there is no surprise at all that a high bitrate 1000x500 video surrounded by Flash adverts — a scenario that clogs a high performance 2.4Ghz core on a modern x86 PC (which would be equal to about a 8Ghz or higher snapdragon) — probably with a layer of DRM adding more demands, doesn't run so great on a mobile device.

"So Steve Jobs Was Right! Flash won't work on mobile!"

Given that I've enjoyed Flash on my smartphone on many occasions, I find such claims — which I keep seeing made by seemingly non-stupid individuals — ludicrous. It is fervent, desperate doublespeak.

Mobile Flash exists. It's far from perfect. The available content usually isn't even aware that it exists. Yet still, it is.

And really, it isn't a fair fight anyways. When sites provide HTML5 video, they do so often specifically for the iPhone/iPad because of the massive namespace territory they conquered. Most sites don't even feature sniff for the functionality — they don't care if you are running Chrome or Safari or IE 9 and can run HTML Video — but will instead refuse to serve up HTML 5 video for anything but those Apple devices. Given that, they encode specifically and only for that platform, with appropriate bitrates and complexity profiles ideal for those devices.

There's no big surprise that it often runs well.

That isn't a very encompassing, scalable solution though. One device family isn't meant to rule, and at some future point HTML5 will start to leave the iOS devices behind. The iPhone lived through a special moment in time where it was handled as a blessed child, getting its own special treatment, however that moment is passing.

Of course the Flash people have a solution for disparate devices, using dynamic streaming that is based upon the consuming device (resolution and bitrate scaling based upon the capabilities of the device, very similar to some technology in Microsoft Silverlight). Not surprisingly there is little use of it yet given that mobile Flash devices just started appearing very recently, and still comprise a tiny market.

"So...Steve Jobs Was Right?"

No.

When I originally thought about how to respond to this, my first idea was to make a video demonstrating a smartphone failing miserably at rendering and interacting with various HTML5 sites. But then I thought better because someone might confuse that as a serious criticism of HTML5 when I love the technology stack and pragmatically realize that it can't (and shouldn't) always be universally accessible.

Yet still, contemplate the failings of HTML5 on mobile devices:

  • Layout can be ill suited for the screen dimensions and resolution of a smartphone.
  • Functionality can be overwrought and too heavy for a smartphone.
  • Input techniques might not work on smartphone.
  • etc.

Anyone who has browsed on their smartphone or tablet has experienced all of those. If someone were looking to go out of their way to act shocked that such an experience exists, source material can be found everywhere.

Which is of course why many sites, like the atrocious script pig TechCrunch (seriously, load it up in Firefox with Firebug and check the net tab), created special mobile pages that they force you to, against your will, when you try to visit on a mobile device.

The next time you see a TOP 10 CANVAS DEMOS on your social news site of choice, pull them up on your tablet or smartphone and check out how well they work. Chances are overwhelmingly that they will fail miserably. Almost every HTML5 game demands that you use a keyboard to control it, if they aren't simply too resource demanding for a little mobile device.

So do we write off web browsers on mobile devices? Do we say, in a tut-tut-tut fashion, "No mobile browser exists. WAP is the world for portable devices!" I hope not.

Punching Monkeys Coming in HTML5 Soon To You

One trend that is accelerating is the movement of many ads to HTML5 and away from Flash. That short period where iOS devices came with an almost intrinsic AdBlock+ in the form of the lack of Flash capabilities is rapidly disappearing. Soon every page you visit is going to be a mishmash of computationally demanding canvas renders and DOM manipulations, and it's going to become much more difficult to avoid their cost.

Closing Notes

For those who are on the fence about the whole Flash thing — whether they care about it on their mobile or tablet — take a look a the quick video I put up above. The videos did not run perfectly, the auto configurator didn't provide a seamless, perfect experience...yet if the option is that or nothing, I think most reasonable people would agree that it's better than nothing.

 Flash  Android  iOS  iphone 
   
Monday, November 29 2010

Survey Results are Meaningless minus the Methodology

If you're in the survey (or "Marketing Intelligence") business, an easy way to gain lots of free publicity is to publish some results that feed into an ongoing skirmish: For little cost a press release will percolate across the web, bubbling up everywhere, spreading your brand. In all likelihood a newswire writer will have the same motivation, and carefully pick and choose factlets with the goal of making a story more inflammatory.

Given that smartphones are big business now, and the battle (RIM, Nokia, Apple and Google's hordes) is a very public one, smartphones and their operating systems are often the focus.

We've seen this play out quite a few times already: Some survey results come out, usually with a very pro-Apple slant (the Apple enthusiast ecosystem is far more receptive to such material, and is more likely to run with it), and is quoted everywhere.

As always, methodology and details actually come second. It's then that critical, mind-blowing flaws in the survey or its presentation/interpretation are revealed. Of course by then the message was already delivered and has become truth through repeated assertion.

So for all you market research startups out there, I encourage you to post a self-selective survey on the website of an already biased group where they can profess themselves as wealthy, virile, mega-sexed super-humans. Release these extraordinary findings via press release and watch as lazy bloggers and tech columnists run with it.

Remember this ridiculous survey? It was the harbinger of doom for Android. Only it wasn't. It is only one of a long line of terrible surveys, and only one example where the tech press and wire writers misrepresented the already poor survey, or at a minimum didn't bother asking the questions that matter.

So we'll wait for GfK's methodology (never expect tech journalists to care to look this up. As an industry it is rife with incredible ignorance and laziness), and the inevitable correction will be a whimper to the roar of the original release. At a glance it is obvious that all is not as it appears, and it isn't simply that the numbers don't confirm my bias: They just don't add up, and have little correlation with other surveys on the same topic.

RIM Isn't Dead

Many years back I applied to RIM. They never contacted me. Clearly that's the source of all of their travails today.

Really, though, I await great things from RIM: The company had some golden handcuffs to their existing platform — the lucrative enterprise messenger system undermined more innovative initiatives in the same way that Windows and Office hobbles Microsoft — but now that they're seeing some serious attacks that can't be ignored, the battle is underway again. The PlayBook looks like it may be a winner, and I'm willing to sandpaper my fingers to use that 7" tablet if it delivers what it promises. QNX is simply a glorious operating system (it is elegant and close to perfect), so that alone has me interested.

 Android  Apple  iOS 
   
Wednesday, December 01 2010

On Monday I posted an entry titled Lies, Damn Lies, and surveys, the focus being that surveys — especially online surveys — are often of dubious merit, and worse are often intentionally or ignorantly misinterpreted by the press.

Yet it works wonders for both the press and the marketing research companies: There is a whole industry of lazy tech writers who will run with whatever is sent to them. Any slant they provide merely globs extra vaseline on the lens of accuracy.

In that case I was spurred by some just released results of an online survey done by GfK.

Take a look at the Fortune summary of said survey. As is the case with most other retellings, the Fortune writer seemed to simply rewrite the original Reuters story which itself said:

The survey found that just 25 percent of smartphone owners planned to stay loyal to the operating system running their phone, with loyalty highest among Apple users at 59 percent, and lowest for Microsoft's phone software, at 21 percent. Of users of Research in Motion's BlackBerrys, 35 percent said they would stay loyal.

The figure was 28 percent for users of phones running Google's Android software, and 24 percent for users of Nokia Symbian phones.

The Fortune story includes a big graph with the title "Plan to stick with your smartphone OS?". The iPhone towers at 59%, with Android down at a miserable 28%.

Wow, looks pretty rough for Android!

So I emailed GfK and they kindly responded with the same press release that they had sent out to the press. Unfortunately it still is only a summation, including no notes on methodology or the actual questions asked (which can often be very leading), yet it is far better than most survey companies that simply hide their summary behind a paywall, enjoying the attention as the press mangles it into something more hit magnetic.

Here's the table that was the source for most of these stories. I have to guess (based upon the surrounding wording) that it was the responses to a question asking current smartphone owners what they're going to consider when they next upgrade their phone.

Smartphone Ecosystem
Overall Apple Nokia
(Symbian)
BlackBerry Windows
Mobile
Android
Will stay loyal to smartphone OS 25% 59% 24% 35% 21% 28%
Will stay loyal to smartphone OS
but switch handset make
7% - - - 8% 16%
I will look at all options 56% 36% 60% 58% 61% 49%
Will switch smartphone OS 6% 1% 8% * 5% 2%
Don't know 7% 4% 7% 6% 4% 4%

There's Android at 28% among these single choice options. That's the meat of a lot of easy "news" stories.

Note the second line, though: "Will stay loyal to smartphone OS but switch handset make". Sum those two lines and for Android suddenly you're at 44%. Sure, maybe someone with an HTC Evo 4G is looking longingly at a Samsung Galaxy S, or maybe they're imagining getting that Android-powered Playstation phone when it comes out, but we (meaning virtually every single press reference to this survey) are talking about the OS here.

So Reuters (and any that followed Reuter's lead) couldn't manage to achieve a grade-school reading ability. I'm serious: my daughter had table reading assignments in grade 1 that were just like this, a job that many in the tech press would fail.

Extraordinary.

But it gets even better. Among those who answered "I will look at all options" (which ideally should be 100% of respondants), here are what each current platform's users are considering as their considerations when they upgrade at some point in the future (multiple choices obviously being allowed).

Current Smartphone Owners
Overall Apple Blackberry Nokia
(Symbian)
Windows
Mobile
Android
Apple iOS 53% 85% 46% 47% 43% 38%
Blackberry OS 33% 22% 74% 34% 41% 22%
Symbian 23% 14% 18% 40% 18% 13%
Windows Phone 7 41% 28% 40% 47% 65% 31%
Android 51% 40% 41% 48% 42% 84%

It paints a rather different narrative than the common, egregiously wrong interpretation. You end up with hilarious ignorance like this garbage. With what you have learned here, check out the chart here and see if you can figure out what's wrong.

The iPhone still takes the lead (with loyalty oddly dramatically higher in Germany — the home country of the survey organization — than in any other nation), but look back at the original Reuters statement: "The survey found that just 25 percent of smartphone owners planned to stay loyal to the operating system running their phone...the figure was 28 percent for users of phones running Google's Android software".

I suppose that sounds better than the more accurate "44% of Android users have pledged undying allegience to the operating system, regardless of the endless and unpredictable changes among competing choices. Of the remainder, the vast majority still plan on hopping back on the Android train regardless.

   


About the Author
Dennis Forbes Dennis Forbes is a Toronto-based software architect. While focused primarily on the .NET and SQL Server worlds, Dennis frequently ventures outside of this comfort zone into game development and image processing. He has been published in several industry magazines, has been quoted in the Wall Street Journal and has been interviewed by NPR.

He is a vice president and lead software architect at an innovative New York City hedge fund back-office services firm.

Dennis has been working on solutions for the financial, telecommunications, and power generation markets for over 15 years.





 
Earlier EntriesLater Entries

Dennis Forbes