The Setup
Last year, there was a lot of what-if talks about bringing together interested parties to compete against the might of Apple’s [AAPL] iPhone product. There were a lot of nay-sayers and people who were pooh-poohing the notion that, given Apple’s head-start, there would be no way for anybody to catch up.
Last November, Google [GOOG] quietly (almost…) released an open beta of the Android SDK and some sparse notes about how it could be used. The press pounded on it, saying how disappointing it was that only software was being made available, without any phone implementation. And, of course, the Java-haters also chimed in at that point, about how Java-like the Android SDK is.
The Premise
Of course, I’d chimed in about some of the developer expectations from the Android SDK. Over at the ‘Alley Insider (yep, it’s SAI), I’d commented (not once, but twice!) on Dan’s 6/24/2008 post about the feasibility of the Android SDK, and how it differs from the iPhone SDK. First, I commented about what the Android SDK really represents:
Dan, Couldn't resist given all of the latest buzz here about what Android is supposed to be...
Since Android is simply a software stack upon which anybody could create a bunch of apps, the Android SDK allows you to leverage the interfaces from the stack to create your stuff. Google's Android description is a nice way of showing its inner workings: http://code.google.com/android/what-is-android.html The info that isn't shown are the various manufacturers' implementations of the Android spec (obviously). But this is why a lot of folks who've been commenting about the "Android" vs. iPhone device have been off-the-mark. This is also why, with a bit of tweaking, if Apple provides the lower level hooks for the Android runtime and fills in the blanks for a few of the libs and app frameworks, then Android SDK users would be able to ship their apps on the iPhone.
Here's the secret ingredient: Sun has been touting Java "the platform" for several years now, with mixed success. Google has gone the other way and focused on Java "the language" to quickly ramp up on developer mindshare for the Android SDK (they've done the Java-to-AJAX thing already, so they have some experience with this). Perfectly legit, but it no doubt irks Jon a bit.![]()
Then I commented about how there are running stacks (regardless of whether you label them as “emulators” or “ports”) this summer already:
Oops, almost forgot: Because of the way the Android spec is layered, the so-called Android phone emulator isn't merely just an emulator... So if somebody "ports" or has an "emulator" for Android on a device or computer, what they're actually saying is: "I've assembled a functional Android stack on this device/computer." The Nokia N810 (and probably the N800 if running the updated OS2008) has been shown operating Android: http://www.intomobile.com/2008/04/09/nokia-n810-can-run-android-too.html The HTC TyTN II also recently has something showing Android: http://www.intomobile.com/2008/04/12/htc-tytn-ii-can-run-android.html The key point here is that, with a little imagination and willpower, Android enabled devices could a larger category than merely the GPhone implementations with Android on them. In stark contrast, the Apple iPhone SDK is used to create apps that operate on the Apple iPhone; Apple has no publicly known plans to create a comparable platform.
Given the increased flexibility of the Android SDK over the iPhone SDK, the potential to target many other device types and scenarios is simply fantastic.
The Action
Now, several months later (and yes, earlier today), the Android 1.0 SDK Release 1 is announced. This is, not coincidentally, tied to the same-day announcement of the first GPhone implementation. Extremely important to developers is the fact that we now have access (or will very shortly, due to the product announcements) to a live production product to go with the simulators we’ve been using. This brings home the ever-present need to test on live product, not just made educated guesses via simulation: we’ve already seen the curiousness of recent iPhone 3G reception troubles.
So, as the enterprising enterprise/mobile Java developer that you are, go grab your own copy of the Android 1.0 SDK Release 1 if you haven’t already… toss it into your development rigs, rebuild your code and see how it’s working, plug the SDK into your build/CI rig, and roll out your product!
N.B.
You may have noticed that I’ve alluded to Dan’s post over at SAI before: the Openmoko Neo FreeRunner story. Incidentally, that is another open source mobile development platform, but it just happens to not be Android-based.
{ 1 trackback }