Google I/O was amazing, and I’d like to share the most important things I took away from it. Well, except for the free Motorola Droid and Sprint EVO 4G that I took away from it — I’m not sharing those. :)
The big news was Android 2.2, which in addition to amazing stuff like wirelessly streaming your iTunes library, also leverages a clever bit of behind the scenes magick that enables a 3x-5X speed increase on the same hardware running 2.1. They demoed this a few times with very dramatic results. It is way, way faster. This huge performance gain shatters one of the main reasons I’ve been maintaining that Flash on Android is simply not going to be usable; in fact, much to my chagrin, I have to report that Flash works very, very well on Android.
Speaking of Flash, there was a demo of what I believe to be the fabled “Flash killer” everyone has been hoping will come along to eventually put us out of our miseries. Many have tried (and failed) to come up with a Flash killer, but this time they have — in my opinion — actually done it. The surprising thing to me isn’t that someone has managed to do it, but, rather, that it’s Adobe themselves that are responsible. Adobe demoed the new integration between Illustrator and their new CSS-editing powerhouse version of Dreamweaver, effectively creating a very “Flash-like” experience of animating and interacting with elements using entirely open HTML5 and CSS based technology. In a couple minutes they created some remarkably interactive animated stuff with just a few clicks in Illustrator and Dreamweaver, outputting web content that will work in any modern browser without any annoying plugins/runtimes. Adobe has seen the benefit of making open tech take the place of proprietary black boxes, and are embracing it head on rather than fighting it off. Kudos, Adobe.
All that nerd stuff aside, the big exciting thing is GoogleTV. Many have tried to merge the web and television in the past, with downright comical results, so any additional attempts to achieve it are going to have to really ‘wow’ people. Google has now taken up the challenge, and I think they’re really onto something.
Without going into too much detail, here’s what they’ve done: searchable television. No more annoying guides showing you what’s on right now; with GoogleTV, you can search for stuff to watch just like you search the Internet. You get a search bar, you type something into it, and you get results. Those results could be things that are on right now, they could be things that your DVR recorded for you, they could be things that are on in the future (and clicking them will make your DVR record them for you) or they could be things that are available to stream right now via Netflix, Hulu, YouTube or any site that you can stream from in your computer’s desktop browser. Because GoogleTV is a browser, complete with the Flash plugin required to view most of that streaming content today. In addition to watching television content like this, GoogleTV has access to the Android Market, giving you access to the same thousands of applications you can run on your Android phone — on your TV.
There are a lot of other cool things that GoogleTV can do, but the main selling point is that you no longer have to care where your television comes from. It could be live TV, something from your DVR, something from Hulu — it really doesn’t matter, and you don’t have to think about it. You just know you want to watch 30 Rock, so you simply type “30 Rock” into your fancy GoogleTV remote and get a list of episodes to watch.
There were many other exciting things, but many of them may still be too nerdy to be interesting to most people, so I’m just hitting the points I think people will care about. Android is now really, really fast and can deliver a fantastic Flash experience (if that sort of thing is your bag), which could be a viable alternative for those who want an iPhone/iPad but complain that they can’t view Flash. GoogleTV may well change the way television is watched — and maybe down the road be able to help shake up the control cable/satellite providers have over bundling content we don’t want with the content we do.
Lest everyone think I’m a total Google Fanboy, I’d like to suggest a really, really simple tactic folks like Cyanogen can take to continue Android innovations while complying 100% with the licensing of Google’s “experience” apps.
The crux of the issue is that, without the proper license, it is illegal for Android ROM developers to distribute these apps as part of their ROMs. It’d also be illegal for someone like me to host them myself so that people can simply install them after installing a custom ROM. “Ok,” you might say. “Then how am I supposed to get these applications if it’s not legal for anyone to give them to me?”
Ah, but there’s the catch. There are organizations that are licensed to distribute them. T-Mobile, for instance, is probably the most widely-known, as all our phones will download updates containing the apps whenever a new Android release comes out. Usually there’s a bit of detective work involved, though, in determining the URL for these updates. But you know who else is licensed to distribute them, and makes them extremely easy to find/download? HTC.
What would need to happen is that the user could themselves download the relevant firmware update file from HTC’s website and save it on their SD card — which is perfectly legal. The user could then update to a Google-free firmware from someone like Cyanogen. If this Google-free firmware update happened to check for the existence of the official Google-app-including firmware image as part of its setup procedure, and extracted the Google bits out of it, everyone could have the best of both worlds.
The ROM developer would not be distributing the apps. The organization that is distributing the apps is licensed to do so. Everyone wins.
If you haven’t heard, there’s been a bit of a dust-up today between Google and its throngs of Android phone users. If you have heard, chances are you heard it post-spin, where Google is painted as being this horrible evil dictator, violating the ‘spirit of open source.’
That couldn’t be further from the truth. Here’s what’s actually going on.
Google’s Android phone platform is, in fact, an open source operating system. Any phone manufacturer who wants to license Android for use on their handsets can do so, completely free of charge — but there are a few caveats. Anyone deploying an Android device has to choose between a few different Android packages, including the “with Google” option, which allows the manufacturer to use Google’s good name to promote their device. However, the “with Google” package requires that you deploy all the software the way Google demands. No deleting GMail and including Hotmail instead, for instance.
If the manufacturer does want to remove GMail and include Hotmail, they can still totally do that — they just can’t use Google’s name to advertise their product. Oh, and they also can’t include some of Google’s popular apps.
While the operating system is open source, some of Google’s applications are not, and are rather restrictively licensed, giving Google a bit more control over how they are used. The idea is they don’t want someone’s crappy modified Android install soiling their good image.
Very soon after the first Android device’s release, clever hackers figured out a way to bypass the security T-Mobile included on it, allowing them to install custom installs of Android, based on newer, better code than what the devices were originally shipped with. Sure, that newer code would eventually be handed out to all devices, but many of us nerds are rather impatient, and would rather use it now. Crashes and all. So a sort of “community” of hackers was born, eventually culminating in several really popular Android distributions that included all sorts of really awesome functionality that was either not “prime-time”-ready — or was flat out barred from inclusion by the carrier. (In this case, T-Mobile.)
This has been going on for roughly a year now, and several people have risen and fallen as the de facto “ringleaders” in charge of assembling the components into updates that mere users can apply to their phones. Many of these updates happened to include all those applications that Google has specifically licensed to be only distributed by those that comply with their licensing demands, and today finally caught the ire of Google.
Google has sent a Cease & Desist letter to the maintainer of arguably the most popular of these Android distributions, citing his inclusion of applications to which he does not have the proper license for distribution as the activity that needs to be ceased. He’s no longer able to include GMail, Google Maps, etc., in his releases, which arguably makes his builds extremely undesirable for most users.
As you might expect, people understand this licensing issue, and completely realize that it’s not good to be in blatant violation of an application’s distribution license. Just kidding! In actuality, people are going “ape shit,” threatening to buy iPhones, yelling obscenities at Google, and being all-around poor sports about the whole thing.
“Google is violating the spirit of open source!” cry many.
Online petitions have been made. There’s an “app” in the Google Market which is currently the most popular Market download of the day, that essentially demands that Google re-license these apps so that people can continue to use them however they want. Facebook groups demanding the same thing are thriving. Twitter has gone nuts.
There’s a funny thing about the “spirit of open source,” though: many, if not most, open source projects are licensed in such a way that the code cannot be used in commercial applications without following the requirements of the license. It is never OK for someone to violate the license. When, as invariably happens, some company does violate the license, people go nuts. Likewise, nobody ever expects to be able to include someone else’s proprietary functionality in their open source app. Yet, in the “spirit of open source,” Google should just throw out their licensing altogether so that these whiny, entitled, whineyfaces can continue to use them on a distribution of Android that won’t, and cannot license them properly?
That’s a bunch of crap. Google is in a bit of an awkward position, having angered a significant amount of its Android user-base, but they are completely in the right here. Does it suck? Yes. But should Google be expected to give away everything for free just because people have been using it illegally for a year? I’ll leave answering that as an exercise for the reader.
(If you’d like to check your answer against the correct one, here it is: “No.”)
UPDATE: Some are suggesting that Google’s inclusion of proprietary apps in an open source environment is a bad thing. This may well be the case, but you knew about it before you bought an Android phone and/or started developing for the Android platform. You chose to accept that fact, and now you have to live with it. Google didn’t suddenly remove the apps from the source tree and ‘closed source’ them; they were closed source from the start.
UPDATE: Someone made this silly Hitler-meme-video, effectively illustrating the attitudes of these whinyfaces:
Like most of the stuff I’ve done on android, my most recent app, “Send RSS to Google Reader” came out of being frustrated that Google’s Mobile Browser wasn’t smart enough to detect RSS feeds, and also wasn’t smart enough to allow you to subscribe to them in Google Reader’s Mobile interface, except by doing some cut-and-paste gymnastics.
The first version required that you actually display an RSS feed (or find the link to it yourself), and then use the Android Browser’s “Share this page” functionality to pass the url on to Google Reader by way of my little app. This was incredibly cumbersome.
Now, thanks to some Yahoo Pipes magic behind the scene, you can be viewing any web page, hit the ‘Share this page’ menu item, select “Send RSS to Google Reader” and it will auto-detect any RSS feeds that happen to be part of the page. If there is just one, it sends it over to Google Reader Mobile where you can subscribe with a single click. If there are more than one, you are presented with a list of them, and can click any one of them to send it over to Google Reader Mobile.
I pretty frequently monitor what people are saying about Android on Twitter, and something I’ve seen recently is people lamenting the imminent death of Android now that Google’s apparently shifted their interest over to a newer, shinier platform that might directly take on the behemoths in more oft-used hardware platforms, namely ‘netbooks.’ I’ve got a few thoughts.
1) Android is not under any threat of extinction as a result of this. One of the common things people are saying is variations on the theme of “Android hasn’t had a chance to become successful, and now they’re replacing it.” That’s just silly.
Android is, by practically every metric, a rousing success for the little time that it’s been on the market. Worldwide, there’s like 3 different phones available running it, most available for fewer than 3 months to date. The oldest Android phone is like 6 months old. Already a variety of carriers have committed to 18 different Android devices on the market before the end of 2009.
Has there EVER been a year that 18 different handsets have been released running Blackberry, Windows Mobile, MacOSX, or ANY other ‘smartphone’ operating system? Even if you combine all those operating systems together?
The relative clunkiness of HTC’s first Android phone (the HTC Dream, which T-Mobile sells in the US as the ‘G1’) hasn’t stopped it from being amazingly successful, outselling any other T-Mobile device. (I know, faint praise…) The HTC Magic (or T-Mobile ‘myTouch 3G’) is poised to more directly compete with the likes of iPhone in form-factor, sexiness and speed, and it comes out in like a month. It’s already been successful on other carriers outside the US. Also, HTC’s been making waves with it’s new ‘Hero’ device, featuring a significantly sexier new ‘Sense’ UI [youtube] atop Android, and Sony Ericsson just released a peek at their new ‘Rachel’ UI [youtube], also running atop Android. Both of these UIs are eliciting squees of praise on Twitter, many people declaring that they’ll ditch their iPhone for them in a second. (Check out those linked videos, maybe you’ll see why.)
The Android world is just beginning to heat up, but it’s already pretty hard to say that it’s not a success, and that there aren’t people dying to get their hands on devices.
2) Google’s ChromeOS is designed to run (probably) exclusively web-based applications like GMail, Google Docs, Google Calendar, Google Voice, etc, all of which are significantly “heavy” applications, requiring lots of javascript and ajax to function nicely. ChromeOS is essentially a very targeted, slim, Linux distribution — Linux being widely known for it’s effective use on lower-end/legacy hardware. The Chrome browser is designed from the ground up to run these apps, so it will do quite well on netbooks and laptops.
ChromeOS probably won’t, however, find a happy home on any of today’s mobile phone devices. Even the fanciest, most expensive mobile phones are only able to to provide a mediocre web browsing experience, at best, and none of them are going to be able to effectively use Google’s javascript-and-ajax-heavy web apps. I know, because I’ve owned most of them.1
The preponderance of dedicated apps to read the content from popular sites like Digg, Reddit, MetaFilter, etc., in both Android and iPhone’s application stores, is testament to this. It’s simply faster to pull down a limited feed containing only the data and render it using a native applicaton than to try to let a web browser display the whole page. Even iPhone specific pages are often slower and more cumbersome to use than a native iPhone application dedicated to the same purpose. That’s just the way things are now.
3) In even the best case scenario, adoption of ChromeOS is going to be extremely slow, at least to start. I mean, how many people do you know that have even installed Google’s Chrome Browser, let alone an entire new operating system? I just don’t see the average Google user — fanboy or not — completely switching to a OS that only runs all the web apps they’re already happily using on Windows. It’s just not going to happen.
4) Where ChromeOS stands to make waves, however, is preloaded on hardware. Low-cost netbooks and laptops that are already installed, already configured, without having to include the cost of a windows license, or worry about viruses or any nonsense like that will benefit greatly from having Google’s name attached.
There’s been much talk of netbooks pre-loaded with Android, but at the current state of things, that’s just not really feasable. Most of the Android applications in existence are designed for use on small, touchscreen devices without keyboards. The web browser is a RELATIVELY capable browser for a MOBILE browser, but you’re not going to want to run Google Docs in it.
My netbook currently runs Linux, I’m using Chrome right now, and I do all my work in Google web apps. It works fantastically well. Except for one little thing:
5) The Linux version of the Chrome browser is a LONG-ways from ready for general use. It’s very fast, does many things very well, but can’t do most of the things you’d expect from a browser. You know, like bookmarks, printing, stuff like that. Looking at the state of things now, there’s simply no way they’re going to parlay the Linux version of Chrome into a full fledged operating system any time soon, let alone tackling the other things people are going to want to do, be it printing, scanning, etc.
Android is a full-fledged operating system RIGHTNOW, and there will likely be 20+ devices — not even limited to phones — on the market by the time ChromeOS even begins to be seen by the public. So don’t go abandoning your Android development any time soon; there will be plenty of need for your apps for a long while to come.