; Date: Wed Nov 07 2007
There sure has been a lot of words flying around this week regarding the Android (gphone) phone. I've been tracking some items about the gphone and it's pretty wild all the different points of view. It reminds me of that story about the blind men trying to describe an elephant, none of them can see the whole thing so they describe the part that they can touch. Okay, risking being called a blind man, let's move forward and see what's here.
I'm highly skeptical that whatever results from Android will actually change how cell phones are distributed. As others have noted there is a curious absence in the partners in terms of major cell phone carriers. And the cell phone market has a long long long long history of tightly closed phones and tight control. They have a tough row to hoe here if they are to make any headway on the dream of an open cell phone.
What I find on the OHA website is rather curious. Like Dalibor I wonder why they didn't wait another week so the SDK would be ready with the announcement. Anyway we'll certainly know much more come the 12th.
If the Open Handset Alliance is giving it all away for free, how will the platform be differentiated? Because the Apache license does not have a copyleft clause, industry players can add proprietary functionality to their products based on Android without needing to contribute anything back to the platform. As the entire platform is open, companies can remove functionality if they choose. Applications are not set in stone, and differentiation is always possible. For example, if you want to include Hotmail instead of Gmail, it will not be an issue.
Hoooooboy!! Is that a canoworms or what???!?
Hey, it sounds very nice and innovative to have the freedom to mix and match and yank features and whatnot. But, hey, compatibility matters.
Since we've already lived through this story let me describe how it's going to turn out. "How to avoid potential pitfalls of Microsoft's non-standard SDK for Java"
If you remember back, ah, heck, that was almost exactly 10 years ago... my how time flies when you're having fun ... Anyway, what good is an "open platform" (as Android calls it) when customers can't be assured their app is going to run on any random instance of that platform? That is.. suppose Google/Android is successful and there's a couple dozen OHA phones out there. If each vendor is free to remove features and mix and match features, that leads directly to incompatibilities. That leads to an Aunt Millie who gets an OHA phone and wants to install OHA software which then doesn't run because there is no compatibility. What good is that?
Granted there are multiple considerations pulling back and forth on this question. For an open platform one obviously wants the ability to innovate. But I think openness also means the end users must have the freedom to install whatever they want, and that requirement means compatibility is important.
Clearly I'm viewing the world through the lens of being embedded in the Java SE team. However a couple months ago I posted Java is doomed to failure, referring back 10 years to the Microsoft incompatibility nonsense... And The Unix wars and Java compatibility ...
There's a cost to incompatibility. Think of the extra overhead work that's involved with each software project having to reconcile differences between different Unix or Linux or xxxBSD implementations. Yeah there's freedom in the definition of what Unix is that allows vendors lots of room to innovate. But that leads to incompatibilities, and I think of the "configure" script that goes along with most open source projects as a symptom of a disease. Cell phones play a critical role in our lives in that occasionally we face an emergency and need a reliable way to get emergency help. Do we want to risk our lives to a cell phone that works most of the time? Which makes me think of how some try to use VOIP services in place of their regular phone service and run into trouble making emergency calls using their VOIP phone.
As Terrence said, "Welcome to exciting times." Let's see where this goes.