Pay peanuts. Get monkeys.

Yesterday on AppleInsider, Daniel Erin Dilger shows that at least some of Android’s explosive growth is actually from Chinese forks of Android that aren’t part of the Android ecosystem (e.g. aren’t compatible with Android apps) and don’t benefit Google (e.g. don’t channel user search and maps through Google services).

Dilger, whose pro-Apple sentiments make John Gruber, say, seem like Paul Thurrott or perhaps Richard Stallman, tends to be very diligent in his research (and, like some of us, he has a long memory). His article makes three major points and backs them up well:

  • OMS is not Android.
  • Tapas is not Android.
  • Google’s handset market share includes large contributions from platforms that simply aren’t Android and don’t benefit Google.

Of the main Android vendors known here in the US (Samsung, LG, HTC, and Motorola), only HTC (coming off a very low base) has seen significant unit growth from 2009 to 2010 (Motorola and LG have actually gone backwards, and Samsung has gained sales but lost market share). The astronomical growth attributed to Android comes from handset makers in the “Other” category.

“Other” turns out to mostly comprise cell phones made in China for the Chinese market using OMS and Tapas, which are derived from Android but not interoperable and not tied to Google services. Dilger puts it thus: “Calling Tapas a version of Android is like calling Baidu a version of Google or Youku a version of YouTube.” This is perhaps a bit unfair — you could probably install vanill Android on one of these phones if you wanted to. It would probably be more similar to suggest that Chrome is a version of Safari.

It follows that Android’s alleged growth is basically fictional. The most charitable conclusion is that a minimum of 400,000 Android handset sales are in fact OMS/Tapas sales.

From looking over people’s shoulders here — and you may recall that I talked to the UPS driver who delivered my iPad and it seems like the Apple produce consumption rates here in Tuscaloosa AL seem to be a reasonable placeholder for the US as a whole — I see nearly as many Androids as iPhones in use.

Stat Counter Mobile Browser Share (late January 2011)
Stat Counter Mobile Browser Share (January 2011)

Now, bear in mind that these are raw, unweighted scores and that the vast majority of Stat Counter’s numbers come from US servers. The figures for China show UCWEB way out in front, having taken share away from Nokia (distant second) with iPhone (third) and Android (fourth) slowly climbing. The iPod touch figures in the above chart are interesting — I’m not sure if they include iPads or not. It looks like Opera got a sudden uptick for some reason which came at the cost of iPhone and iPod Touch, but that these have rebounded. I’m guessing we’re seeing some weird kind of sample bias.

Here’s the main takeaway point: Android’s share has gone from 4.5% to around 14.2% in a year. But supposedly 6-8x as many Android devices have been sold (and the existing installed base was small), so where are all these phones? The fact that Android mobile browser share has grown so much (without the help of China, where measured Android usage is still tiny) suggests that Dilger is reading too much into the Chinese component of “other”. On the other hand, if a huge proportion of Android cell phones were sold in the last twelve months, why has Android market share less than tripled?

I suggest that there’s a huge unmeasured factor here: the number of Android cell phones returned or exchanged. How many Android users are on their third or fourth phones? Given the rate of release of new Android models and the ability of consumers to return phones, pay a restocking fee, and get a brand new phone, I would suspect that a lot of phones get bought, activated, and then exchanged for a new phone. This is probably compounded by the fact that most Android phones are presented in Best Buy, etc., as inert plastic bricks. The end-user doesn’t find out how clunky the phone is until he/she has had it a day or two. I’d played with several iPhones for a couple of hours before I decided to buy.

Samsung and Microsoft tout “units shipped”.

Google touts “activations”.

You pay peanuts, you get monkeys. (I believe that’s from Guy Kawasaki.)

Manta and Glass Joysticks

Manta screenshot from Unity dev environment
Manta screenshot from Unity dev environment

I’m finally getting close to releasing Manta and one thing that has somewhat surprised me is what a fabulous gaming device the iPad is. For example, while I’ve never been happy with any “glass joystick” games on the iPhone, I’ve found several on the iPad work just fine — including Manta.

One of the things I was determined to do with Manta’s touch controls was make them “relative”, and this is something the games I’ve liked have in common. In other words, the point you start touching the screen becomes your origin. Most “glass joystick” games on the iPhone combine (a) absolute controls and (b) no central visual feedback. The first means (a) it’s critically important that you put down your thumb in exactly the right spot or you’ll do something weird and (b) you can’t immediately tell by looking at what’s going on in the game where you’ve actually put your finger down — this proves a fatal combination, even for otherwise very polished games such as Grand Theft Auto: Chinatown Wars.

With Manta, your “ship” quickly (not instantly) snaps to a heading based on your thumb position, and your initial point of contact is always the origin. It certainly works well for me (and no complaints from my testers) but we’ll see what the reviews are like when and if it appears in the App Store.

The Glass Keyboard Revisited

The iPad's glass keyboard showing the extra options when you press-and-hold the $ key.

One of the things I love about Apple products is that they continually surprise me in a good way. I knew there were certain keys on the glass keyboard which, when pressed and held, gave you access to variations (e.g. press-and-hold on .com and you get .net, .edu, .org as options), but I had no idea how thoughtful and extensive these options were. Sadly, they’re not quite thoughtful and extensive enough.

  • It’s a shame they didn’t go the extra yard and provide some, tiny visual cue as to which keys have the extra options, and that they missed a few. E.g. I’ve not figured out how to get ©, ®, or ™ symbols or an n-dash (m-dash is under hyphen).
  • Why aren’t all keys of a given type overloaded the same way? (E.g. the period key on the main keyboard has no overloading, but the period key on the symbol keyboard lets you get to ellipsis).
  • And, finally, it’s also disappointing that those of us who have learned Apple’s long-standing Mac keyboard shortcuts aren’t rewarded with some sensible mappings. I can appreciate that the ° symbol is available from the 0 (zero) key, but why not from the 8 as well? (It’s option-shift-8 on a Mac.)

So, in this respect the glass keyboard gets a B. Foreign typists appear to be well-supported, although having to go to the symbol keyboard (which is two keys away) and then press-and-hold for a French quotation mark seems a bit much — why not overload more keys on the main keyboard? Put all the pauses under the comma key (semicolon, dash, etc.) and all the quotation marks under the period say.

iPad Development in The Future


Judging from Unity’s two corporate blog entries on the whole 3.3.1 thing, I get the feeling that they’re feeling less confident as of Wednesday than they were on Friday (it’s dated Sunday but it was posted on Friday).

The fact that PhoneGap has been given Apple’s stamp of approval is certainly a sign that platform abstraction layers can be OK, but bear in mind that PhoneGap is completely open source and lives on JavaScript…


You may recall that JavaScript is not mentioned in the scariest subclause of 3.3.1 — JavaScript apps run on top of Webkit, and thus don’t need to worry about how they access APIs, don’t represent a portability issue, and don’t represent any additional backwards compatibility burden over the rest of the web.

(By the way, I don’t see how you can reconcile PhoneGap’s approval with the “Apple just wants people to write real iPhone apps” view.)

Virtual Machines & Scripting Languages

But if you’re writing pedal-to-the-metal game software, chances are you’re going to need to compile your code to binary and call the OS APIs from inside it (even if it’s not much more than “hey, gimme a graphics context to vomit OpenGL commands at”). It strikes me that Unity3d could take the approach of opening the source code that interacts with the OS to deal with the first clause.

As to the second, forcing Unity to ditch internal scripting languages and the associated runtime is pretty rough (and it’s going to hurt all serious game developers — I don’t know of any game developers who don’t use some kind of script engine and virtual machine somewhere — Prince of Destruction, released in 1994 (admittedly, it was ahead of its time in many respects) had three internal script languages, one of which ran on our own VM, and it was a truly native Mac game, running on AppleTalk and using Macintalk). Of course, maybe the ban will only affect virtual machines Apple can identify really easily (such as Mono or Flash).

Life Cycle: One Day, You’ll Be Grown Up

Apple’s current restrictions don’t make any sense in the long term (even accepting they make sense right now). Inevitably, the iPad (and its successors) are going to need apps like Excel or Word (both scriptable). I may want to touch my data, but I’m still going to want to automate common operations. Whatever Apple is doing now is part of the lifecycle of its platform — what Apple is doing now while it builds its platform is not necessarily what it will do when the platform is more mature.

It follows that Apple needs to bear in mind the “feelings” of third party developers who are merely doing today something Apple doesn’t want for tactical reasons today but will want in the future. (One might argue that Adobe should have considered the “feelings” of Apple and Mac users when it gave us crappy products for the last ten years, but if you’ve used CS4 under Windows you’ll see that Adobe is fully capable of giving crap products to everyone with no malice intended. Basically, Mac users got a halfway decent UI with a crappy back end, and Windows users got a crappy UI with a crappy back end — but it’s 64-bit. Woo! And it’s not like Flash isn’t a horrible CPU hog and battery drain under Windows, it’s just not quite as terrible as on the Mac.)

So the important message for Apple is that while it needs to worry about building its platform now, it also needs to worry about the number of enemies it creates in the process. Software developers are smart and have long memories.

Multitasking Fail: Sometimes, Apple is just right

A prominent blogger switches from Palm Pre to iPhone? (Link thanks to daringfireball.) Why?

If a call comes in, the phone starts ringing, and I can answer and talk to the caller, but most of the time it takes another 10 seconds before the Phone application’s UI comes up! So if it’s from the front door and I have to press a button to buzz someone in, I have to either hope the app starts responding before the caller hangs up; or I have to slide out the physical keypad and pray that it buffers the keystroke. Trying to answer the door feels like a game of whack-a-mole.

(Emphasis mine.) It’s not like Palm has some kind of secret sauce for writing fast software on mobile devices. And it’s not like Google does either, so don’t expect Androids to somehow magically solve this problem.

So even though I hate Apple’s developer-hostility, and even though I hate that now I’m giving money to AT&T, and even though AT&T’s network is way less reliable in San Francisco than Sprint’s, and even though I absolutely despise the iPhone’s on-screen keyboard… at least now I have a phone whose software actually works.

I don’t think you’ll find a single iPhone user or developer with much nice to say about AT&T, and yet we all seem to love our iPhones.

I thought about trying out an Android phone, but the reality is that the most positive review I’ve ever heard about Android was damning with faint praise along the lines of, “it sure does show the potential to someday be an iPhone competitor.”

Yup. That’s how big Apple’s lead is.

Post Script: Deja Vu

Back in the old days of Mac OS 8 and Windows 95, “true pre-emptive multitasking” was one of the features Windows fanboys loved to point to when comparing Windows 95 to Mac OS 8. Funny thing was, the cooperative multitasking on Mac OS worked just fine for everything anyone could think of, and — in particular — Apple had hacked Finder to allow it to handle things like file copy operations in the background* (even though Finder was a single application on OS without “true” multitasking). As a result, Windows 95 had “true pre-emptive multitasking” but a single file copy would lock up Windows Explorer (and indeed the destination Window for a file copy operation is still locked up as of Vista), while Apple’s humble Finder could handle file operations in the background.

* Most power users had been enjoying this feature for some time thanks to Connectix Speed Doubler.

What’s the single most common “other” task you’re likely to want to do in a multitasking OS? File operations of course. Would you rather have “true multitasking” but file copies lock up your file browser, or “cooperative multitasking” and file copies don’t even lock up the destination Window?

With the iPhone, Apple has opted for deliberately crippled multitasking that handles emails, the phone, instant messages — but doesn’t drain its battery or make the phone unresponsive. Google and Palm have checked the “multitasking” box without really exploring whether that’s really a net benefit to the end-user.