From what I can tell, this is the second "Campfire" that Google has held. It's kind of a cross between a barcamp and a typical product venue... Google hosts it and makes team members available for direct Q&A, but doesn't have much of an agenda and pretty much lets developers drive the action.
It was scheduled to run from 5-8, with refreshments, Q&A, and the chance to meet other Android developers offered as an incentive. After years of attending Mobile Monday I'm used to these things starting fashionably late, so I didn't exactly hurry over to Mountain View, and pulled into the parking lot around 5:30. By the time I checked in and got upstairs, the meeting was well under way, with all the chairs occupied and some heated debates under way. I grabbed a Guinness from their excellent hosted bar and floated in.
Even though most people in the room were developers, publishing concerns dominated the official Q&A (at least the portion that I saw). The reason why should be obvious to anyone who has worked in this space: carriers are the mortal enemy of the mobile developer, and while everyone's excited about Android, they are worried that all the same wounds will be re-inflicted, and it will become yet another platform to support that doesn't offer any greater stability. People repeatedly asked how Google would make sure that carriers did not cripple the available APIs, whether developers would be able to distribute their apps without going through a carrier portal, and how much control carriers would have over approving software.
Hosting these questions was Dan Morrill, a Developer Advocate at Google who has been a great and helpful presence on the official developer group. It didn't matter how many times he explained that he wasn't in a position to answer those kinds of business questions; they just kept on coming. I think this shows the depths of frustration mobile developers have with the current ecosystem, and if Google is smart they'll pay attention and use their weight to make sure that this time it works right. In retrospect, it probably would have been good to bring in someone who would be able to speak semi-authoritatively on those topics.
As it was, Dan could only speak vaguely, but he did explain that the entire purpose of the OHA is openness, and that their partners would not have joined the OHA if they intended to violate its spirit. This was a good answer, but I still remain skeptical. I can't help but wonder if wireless players are embracing openness in the same way that power companies are embracing greenness: they use it to promote their brand and improve their image, and take some symbolic steps, even as the core of their business remains firmly rooted in the opposite of what they claim to support. Specifically, I wonder if some of the players (Verizon in particular) are making a big show of openness prior to the upcoming wireless spectrum auction, and if we'll see backpedaling once that is complete.
We did get into some good technical talk, including a review of the Android security model and a developer update on how users will be able to install applications through the browser. Dan encouraged us to end the Q&A and move towards a more informal meeting with the advocates. They did that while I went to get food.
In keeping with the "campfire" label, the room we met in was made up as a faux camp. Instead of the standard Google chairs we got fun little fold-up camping chairs. A roaring fire was projected on two screens, but even cooler was a manufactured "fire" made from logs, light, a fan and ribbon. It would have made a great art project. And there was a giant "tent", inside which the food was served. I always wax eloquent about Google's food, so I should do the same here: they had "pigs in a blanket", which were petite hot dogs wrapped in pastry; baked beans and vegetarian chili; hot cider and hot chocolate; and, as the piece de resistance, "S'more cake", a fanciful treat that layered chocolate and marshmallow on a soft and airy cake with a subtle graham cracker taste. Altogether, while it wasn't the best-tasting meal I've had at Google, it may have been the most creative.
The coolest feature of the night, though, was definitely the seven-foot-tall Cylon Centurion. It stood just behind the speaker's podium, stock still, its single red eye balefully sweeping back and forth over the huddled programmers. That made my night.
(For those of you who haven't used Android yet: in the current SDK, when the emulator first starts and the kernel is booting, you see a red dot sweeping back and forth across the screen. A lot of people have commented that it looks like the Cylon eye, but until seeing the statue I had assumed it was just a coincidence... don't ask me why!)
The rest of the night was pretty low-key but interesting. I chatted with a few other developers who were there. I was struck by the non-mobile people who were there, which was cool... I'm used to working in my own little corner of the development world, without a lot of connection to those on the outside, and here it looked like Android was opening the gates a bit and letting more people in. Which I'm all for, of course. Now, some of that might just be Google's cachet, but still, it's a fun thing to see.
I also briefly chatted with one of the Advocates, and eavesdropped on a few more. It was impressive to hear how on-top of the platform some of them were... one developer was complaining about how difficult it was for a Service to determine which of several Activities was in the foreground, and that he had to broadcast Intents to all of them and then have them decide whether to react. This woman, whose name I forget, briefly explained how using an IntentReceiver would work in that situation, leading me to think, "Oh, of course!"
On the whole, I've been really impressed by the way Google's been proceeding with Android. Compared to other mobile platforms I've worked with, I think they "get it" and hopefully that will result in a superior product. Specific things I like include:
- Giving an early look at the SDK to developers - even though they don't use the phrase, it's basically an alpha right now. This lets them collect early feedback before it's launched and make appropriate adjustments BEFORE phones start shipping. (Anyone else remember MIDP 1.0?)
- Coming up with solid API code samples. All the forums I frequent for mobile development are filled with annoying posts saying things like, "Please give me a code example of drawing a square on the screen. This is urgent!" The examples Google gives aren't 100% comprehensive, but they are much better than anything comparable I've seen.
- Along the same lines, having top-flight sample code. This is often handed off to interns, who come up with mediocre designs and style that is then adopted as gospel by the development community. This is crucial to get right early on, since those of us who are working with the platform now will be teaching others how to do it a year from now. Google is teaching us how to be better teachers.
- The developer challenge, because it drives the earlier three points and lets Google get full advantage. They could have released the SDK when they did, but without the ADC, only a handful of super-geeks would have bothered using it before phones were announced. This builds adoption momentum AND encourages early adopters to learn how to use the tools properly.
- Good tools support. I love Eclipse, and their plugins for it have been high-quality. Their emulator is also much better than some others I could name. Actual device simulation - who would have thought it?!