Wednesday, April 28, 2010

Microsoft hosts Android platform

Earlier this month, Microsoft Research in Silicon Valley hosted a seminar on Android. I tweeted live from the event:

Serious irony: here at Microsoft Research (Mountain View) waiting for talk on Android, using the Internet via GoogleWiFi (free in Mtn View).
6:53 PM Apr 13th via Tweetie

At Android event local IEEE CompSoc vice chair installed Android on his AT&T Tilt phone (originally Windows Mobile).
6:58 PM Apr 13th via Tweetie
This is not to say that Microsoft and Google can’t find occasional common ground in their fight for Total World Domination. (For example, Microsoft said Wednesday it will license patents (under royalties) to its customer HTC to defend against allegations that HTC Android phones infringe iPhone patents.)

However, in this case the seminar — “Android: A 9,000 Overview” — was organized by the Santa Clara Valley chapter of the IEEE Computer Society. It had a unique two-part format: a business overview by Mike Demler and a technical tutorial by Marko Gargenta.

Android Platform: An Ecosystem View

Demler is a semiconductor engineer (with a MSEE from SMU) who I met when he was getting his MBA at San Jose State. He summarize his own talk on a blog post that includes his slides:
This presentation provides a quick overview of the participants in the rapidly expanding Android ecosystem; from software to semiconductor companies, wireless providers, handset manufacturers and app stores, to the numerous opportunities in consumer electronics beyond smartphones.
He was seriously limited for time, but Mike provided a very clear overview of the ecosystem, complete with information about recent trends (part of a his planned update to his $200 report on Android trends.)

To readers of this blog, some of his basic points were familiar: Android has won support by all four US carriers, the rate of new devices is increasing, and it’s going to have an impact beyond cellphones. Because (unlike the iPhone), all four carriers are carrying multiple Android devices, Mike is among those who are very optimistic about its future US/global market share.

Two tidbits were specifically interesting to me:
  • Cellphone manufacturers and carriers are mobilizing their developer support organizations to back Android, through programs like MotoDev and third party tools like DeviceAnywhere.
  • In products beyond mobile (to use Bill Weinberg’s phrase), Android licensees are pushing the platform in an area that’s not a priority for Google. Examples include not only the Nook (and an e-reader rival named Alex), and various notebook-type computers from HP and Acer, but also settop boxes on at least two continents.
Android Platform: Technical Overview

From both his talk and website, Marko Gargenta clearly spends a lot of his life helping programmers understand the Android platform. He posted his slides to his LinkedIn profile which points to SlideShare, but similar earlier talks (particularly “Android Internals”) can be found as PDFs via Google.

Marko’s tutorial looked fun to this former programmer, including the Eclipse tools that make it (relatively) easy to target multiple platforms: Android 1.1, 1.5, 1.6, 2.0, 2.1. It was also fun to see that Android adopt a 25+ year old Apple concept of resources, both to hold program data and also to support a non-procedural definition of user interfaces and other program structure.

Marko identified two aspects of the technical architecture that provided insight into Google’s business strategy.

First, Java fanatics were excited to hear that the programming APIs are in Java, but Sun was disappointed that Android doesn’t use its standard Swing or other J2ME (Java ME) libraries, but instead has its own unique user interface APIs. The equation Marko put on the board was:
Android Java = Java SE – AWT/Swing + Android API
and he got a few laughs for his Trumanesque newspaper headline.

On a related note, Google didn’t want to pay royalties (in its free OSS distribution) for Sun’s Java Virtual Machine, so Java code is translated from Java bytecode into .dex files to run on Google’s own Dalvik Virtual Machine.

Secondly, the message-based Android APIs allow a third-party application to handle any function that an Android-supplied one can: browser, email, calendar, mapping, etc. Like Windows (or the iPhone), the Google code cannot be deleted from an Android device, but unlike the iPhone (or other platforms) the third-party software can supplant the built-in application, fully integrated into the phone operations and the user experience.

Finally, from a technical standpoint, Google is allowing native development of C/C++ source code using its NDK. Unlike Java, this code is no longer processor independent (thus requiring bundling separate code for ARM-licensed and Intel processors), but it does allow high performance for things like image or audio processing algorithms.

The availability of such information — and the overflow crowd of programmers eagerly seeking it — shows one of the strengths of Silicon Valley. With nearly 40,000 Android apps available, we in the audience were not exactly the leading edge, but there is a huge pent-up interest in Android here that seems to be approaching that of the iPhone.

The interesting question is: how much longer can new entrants into either ecosystem make money? I think it will play out like the PC, Mac and other software platforms. In a year or two (if not today), the the only ISVs making money on either platform will be either the pioneers (who shipped one of the first 10,000 apps) or the big boys (EA, eBay, Amazon).

1 comment:

John said...
This comment has been removed by a blog administrator.