As of this morning I work for Google. The title is “Developer Advocate”. The focus is Android. Fun is expected.
How? · Google and I have been a plausible match for a long time. Web-centric, check. Search, check. Open-source, check. The list goes on. We’ve talked repeatedly over the years, but the conversations all ended at the point when I said “...and I don’t want to move to the Bay Area”.
Then that changed. The process started with Dan Morrill who led me to Mike Winton who led me through the notorious Google Interview Process. I think I talked to eleven people in the course of my day there, failing one logic puzzle but acing the what-does-a-browser-actually-do test. Then they made an offer and I accepted and here I am. By “here” I mean Vancouver; I’ll be working remotely.
Context · I’d had an offer to stay with Oracle which I decided to decline; I’ll maybe tell the story when I can think about it without getting that weird spiking-blood-pressure sensation in my eyeballs. So I reached out to a couple of appealing potential next employers, both were interested, and Google seemed like the best bet.
On Google · It’s now too big to be purely good or in fact purely anything. I’m sure that tendrils of stupidity and evil are even now finding interstitial breeding grounds whence they will emerge to cause grief. And there are some Google initiatives that I feel no urge to go near.
But there are those Ten Things and you know, I’m down with ’em. Unreservedly.
The reason I’m here is mostly Android. Which seems to me about as unambiguously a good thing as the tangled wrinkly human texture of the Net can sustain just now. Here’s why:
It’s not good to be on the Net at all times, but it’s very good to have the Net available at all times.
Google needs, and is committed to, Android; it’s not just a hobby.
The Android user experience is very good and, more important, getting better fast.
It’s developer-friendly; the barriers to entry are very low for the several million people on the planet who are comfy with the java programming language.
The APIs are pretty good in my experience, and even more important, complete. Near as I can tell, there’s nothing interesting the phones can do that’s not exposed through some API or other.
Anyone can build any hardware they want around the Android software; no approval required.
Anyone can sell any program they write via the Android Market; no approval required.
The mobile space has had a huge impact in the emerging economies of the less-developed world and I think that’s just getting started. I want to be part of that story and Android seems like the right software platform for it.
I’ll enjoy competing with Apple.
Compete With Apple, You Say? · As of now, they’re selling around 90K iPhones per day compared to around 60K Android handsets. It’s a horse race!
The iPhone vision of the mobile Internet’s future omits controversy, sex, and freedom, but includes strict limits on who can know what and who can say what. It’s a sterile Disney-fied walled garden surrounded by sharp-toothed lawyers. The people who create the apps serve at the landlord’s pleasure and fear his anger.
I hate it.
I hate it even though the iPhone hardware and software are great, because freedom’s not just another word for anything, nor is it an optional ingredient.
The big thing about the Web isn’t the technology, it’s that it’s the first-ever platform without a vendor (credit for first pointing this out goes to Dave Winer). From that follows almost everything that matters, and it matters a lot now, to a huge number of people. It’s the only kind of platform I want to help build.
Apple apparently thinks you can have the benefits of the Internet while at the same time controlling what programs can be run and what parts of the stack can be accessed and what developers can say to each other.
I think they’re wrong and see this job as a chance to help prove it.
The tragedy is that Apple builds some great open platforms; I’ve been a happy buyer of their computing systems for some years now and, despite my current irritation, will probably go on using them.
What I’m Going to Do · Not sure yet. Obviously I’ll go on blogging here.
Are you an Android developer? Or might you become one? Or have you given up on Android? If you’re any of these, you’re a person I need to learn from. Help teach me, I’m easy to find: twbray at google.com.
A few other things are obvious to me: I’m going to have to buckle down and write a useful Android app so that I have a better feel for the issues. I’m going to have to get savvier about HTML5-based applications, because a lot of smart people think the future’s there, that the “native app” notion will soon seem quaint. I’m going to have to dig in and really understand the Android Market. I’m going to have to spend a lot of time at the Googleplex to get to know the people.
There’s nothing that says I’m just doing Android, but it seems that there’s enough Android work to keep a dozen of me busy. A couple of other things have come up in the conversation where I might be useful; we’ll see.
What I’m Not Going to Do · I’m not going to change the tone here; I admire the creamy gloss of the language on the official Google Web properties, but that ain’t me. Just like the disclaimer says, what it says here is what I think, don’t count on Google or anyone else agreeing with it or even having seen it before I publish it. Disclosure: Google asked to see an advance draft of the piece you’re now reading “for coordinating messaging”, but didn’t suggest any changes.
I’m probably not going to get much involved in the social-networking arena. I see myself as behind the pack on that stuff; still can’t explain why it is I like Twitter so much more than Facebook, and loathe FriendFeed.
I’m not going to stop liking Ruby. To start with, there are things like Ruboto and ohai-android, which I have running on my Nexus One. Plus, I never bought into the notion that serious coding requires curly braces and semicolons.
I’m not going to stop worrying about concurrent programming, because our failure to equip developers to do it right is going to bite our asses just as hard in the mobile space as anywhere else. Maybe harder, since mobiles are power-starved by definition and current data seem to show that slower many-core CPUs give you more computing per milliwatt.
Reach · We’re close to Vancouver’s excellent Mount Pleasant Community Centre and take our kids to the library there. It has good free WiFi and lots of public-access computers. When we visit I always make a surveillance pass, glancing over shoulders at screens. Some days, I see Google on more than half of them.
That, and Android; that’s why.