It's also important to recognize that a wide variety of options need explicit permission, and you must declare this in the AndroidManifest.xml file. On several occasions, my code wouldn't run simply because I forgot to turn on the permission to use the camera. Yet the error messages never said something like, "Go edit the manifest, doofus." This configuration, by the way, is implemented with a precision that programmers will love but might leave end-users a bit befuddled. There's one XML tag that enables the camera, while another enables the autofocus on the camera.
These features are lovingly enumerated for everyone downloading a new app. Presumably there are people who want to install software that uses the camera but not the autofocus, but my eyes glaze over when I get to the screen filled with a long list of permissions I'm about to grant. For all I know, I've clicked on one with the XML tag <uses-feature android:name="android.permission.take.first.born">.
There are deeper issues that suggest how difficult it will be for Google to maintain consistency between the various phones. Some commenters at the Android marketplace have already developed a shorthand for buggy software that crashes: FC for Force Close. Some code that works on the Droid will "FC" on the Nexus One.
I think Google worked hard to future-proof its API, and the company certainly did a better job than Apple of planning for tablets and other bigger screens with different sizes. Still, I think the programmers will be testing their code on a number of devices for a long time. That's just one of the disadvantages to encouraging 50-plus models of phones to sport the operating system.
Droid futures The most interesting question to me is how Android's openness will change the entire ecosystem on the phone. On the first day I had the Nexus One, I created an entirely new test Gmail account to avoid any problems when I returned the phone. Yet when I called a friend by typing in his phone number, his face popped up on the screen. Was this a demonstration of the power of Google's endless databases to link together everything?
After some experimentation, I concluded that the photo came from the Facebook app I had installed on the phone. When I logged in to Facebook, the app pulled pictures, phone numbers, and who knows what else into my phone. I think I accepted this feature when the Facebook app's AndroidManifest.xml file was loaded, and I'm not sure if I can ever get rid of it.
This deeper openness is going to be the source of any number of surprises that will be even greater and more useful than the unexpected appearance of my friend's photo on the phone. I think some of the more serious companies will start to release APIs to their apps, allowing the programs themselves to link together and solve problems.
But the openness may also be a source of privacy and security nightmares. Banks and other organizations with sensitive information will want to walk carefully into this world. Many of the worst exploits today result from hackers stringing together two or three seemingly harmless features like the one that links photos to the dialer.
There are other interesting questions about the role of cloud services in our smartphone future. Google is still guarding access to the Maps API and forcing developers to get an API key before deploying. I wouldn't be surprised if Apple, Palm, and others are frantically working on their own mapping, search, mail, and who knows what other cloud services. Right now the phones are little clients that aren't too closely linked to the Websites, but I can see that changing if better performance makes it possible to tilt the playing field. The quality of the cloud may become just as important as the slick GUI, app store, or number of pixels in the screen.
This interaction with the cloud will be a question for the future. Right now, it seems that Apple won over the latte-sipping fashion plates who love the endless stream of cute games. Apple's decision to court the game developers is paying off in some amazing titles, but the Android platform is a real workhorse. Anyone who wants to do more than play games will find a huge range of possibilities in the Android platform.
While Apple is reportedly fixing some of the worst problems with the App Store process, the Android world avoids most of them by giving people the freedom to use the platform as they want. Considering that people have been using this freedom relatively successfully with PCs for decades, it's a welcome opportunity in the world of handhelds.