Android

Google released the Android SDK. The lower levels look alot like the Pepper SDK (see my previous articles about the Pepper Pad). Linux Kernel, Native C libraries, Java language, and a Java Application Framework. The main differences that pop out are WebKit instead of Firefox for browsing, a new mobile oriented VM, 3d, and a App Framework that might actually be usable. The BIG, BIG change is the concept of intents, actions, and services that allow for plug-able modules to handle various actions and allow data sharing. An intent can be “Pick a Photo” and, depending on the software installed, it could be handled by the base software or a third-party addition without the user mucking about with strange settings. Pepper stores everything as XML, Android uses SQLite. Pepper leans on Firefox for rendering most UI via XSL stylesheets, Android uses screens defined in XML (I’m not clear on what’s doing the rendering. SGL?). Both Pepper and OpenMoko still use X windows while Android makes no mention of X.

The big problem (from my perspective) with Pepper was the inability to share data between applications, even if you wrote both applications. Android seems to have nailed that. Now the problem with Android maybe that it is too open. What is to stop someone from writing an app that display a dancing hamster animation and grabs all the contact info from the address book and uploads it a web site. My guess is that each provider will lock the phone to only install apps from their online stores. Call it “Security through retail sales channels”.

Pepper does not use a full, real Java stack. Android has it’s own VM. The SDK has tools to transform jars into a second set of byte codes for Android. So it is doubtful that a standard Java Swing would run on Android — with good reason — a desktop app’s UI would not be usable on a mobile device without modification. What incompatibles exist between a normal (Sun) JVM and Android’s VM?

Pepper also used Linux. The Pepper Pad cold-start and wake-from-sleep times are horrible. From all the reports I’ve seen OpenMoko isn’t fairing any better. To be fare, I rarely shutdown my phone, so maybe long start times aren’t too painful. I’m still curious how long the start-time is on an Android device. How long does it take an iPhone to boot for that matter?

Also of concern is the license. Android is released under the Apache Software License which means people can modify it without releasing the changes back to public. Which is generally good, however, imagine this: A wireless provider, say Verizon, creates replacements for the several components, say email. They tie the email component to their service which doesn’t meet your needs. Normally you could replace the component, but if Verizon modified their version Android to only accept components from the Verizon Online Store, and only allow Android updates from their servers, you would not be able to replace the component with one of your choosing. Unless, of course, you agree with a choice provided by Verizon and agree to the monthly fee. I hope providers don’t lock the phones down in those ways but I suspect they will. I’d like to be able to install software on my phone from any source I choose.

I’m guessing not all Android powered phones will be created equal. There will be artificial limitations — or even enhancements — available based on manufacturer, model, and wireless provider. A smart consumer would have to do alot of research and the average consumer would likely get burned. This could be a potential mess. I’m thinking the market will shake out like this: People that a guaranteed level of usability will pick an iPhone, people that want to tinker will get Android, people that think using email should hurt their hands will still use Blackberry, Microsoft will ready the next version of Windows Mobile probably with a Zune and Xbox duct-taped together, and your average cell phone user won’t care about any of those “fancy things” and just want the numbers to be bigger. Personally, I want a phone with a usable web-browser that supports wifi and is fast enough and does a good job with email and text messaging. If my LG enV had wifi and decent browser, I’d be happy — for 3 more months anyway.

One question I’d love to have answered is will Android be offered for existing phones. While I doubt it, I’d love to try it on my LG enV, even a beta version would be better than this BREW crap. Since Verizon is not part of the Open Handset Alliance, make that a double doubt.

I look forward to trying the Android SDK when I get some free time. The system architecture looks interesting and holds alot of promise, but I can see many ways this can go wrong.

Pepper Pad 3

Pepper Pad 3Over the past few months I’ve worked on a project involving the Pepper Pad 3. I can’t say much about the project, but I’d like to talk about the Pepper Pad itself. The “Pad” is sort of typical of mobile PC-style platform; wireless network access, touch screen, camera, ~20GB HD, and a “use-it-as-last-resort” button-laden keyboard. The Pad’s special features are an IR blaster so it can mimic a remote and it runs Linux. Whenever I show the Pepper Pad to someone, their first words are “I want one!” But after playing with it for 10 minutes the reactions cools to “If someone gave it to me, I might use it.” Well, it should be noted that this device is aimed at the home consumer market, hence the IR Blaster and lack of spreadsheets or proprietary email protocols.

(Continued)