| Gosling said that Sun was "wronged" by Google and that Oracle is right to sue Google for the way it used Java code in Android. Just because Sun didn't have patent suits in our genetic code doesn't mean we didn't feel wronged. While I have differences with Oracle, in this case they are in the right. Google totally slimed Sun. We were all really disturbed, even Jonathan: he just decided to put on a happy face and tried to turn lemons into lemonade. In a March 8, 2007 e-mail to Schwartz about working with Google on licensing or partnering with Sun on Java, Sun's co-founder and chairman, Scott McNealy, characterized the relationship with Google at the time: "The Google thing is really a pain. They are immune to copyright laws, good citizenship, they dont share. They dont even call back." "It's really hard to tell what their intentions are with Android. They put this thing out there, and you've got lots of people picking it up. The big attraction seems to be the zero on the price tag. But everybody I've talked to who is building an Android phone or whatever, they're all going in and they're just hacking on it. And so all these Android phones are going to be incompatible. "One of the reasons that we charge license fees is because we've got organizations of people that do compatibility testing and actual negotiating amongst the different handset makers so that things like GPS APIs look the same. And what's going on in the Android world is there's kind of no adult in charge. And all these handset manufacturers are doing whatever they damn well please. Which means that it's just going to be randomness. It could be let a thousand flowers bloom, but it also could be a dog's breakfast. And I guess having been around the track a few times, it feels like it's going to be more of a dog's breakfast." |
Apple's mobile success might seem like a counter example with the iPhone as a "better-is-better" perfectly polished jewel, but when you look beneath the surface, the iOS implementation is filled with compromises and hacky tricks[2]. The magic comes from always compromising in favor of what really matters (simplicity, responsiveness), rather than refusing to compromise at all.
[1] http://dreamsongs.com/WorseIsBetter.html
[2] I'm particularly fond of the way it maintains a recently rendered version of your application's interface to show you for the fraction of a second it takes to activate the app and bring it back to the foreground. It's only marginally more useful than a black screen, but works wonders for the perception of responsiveness.