business

Google and its Developer Day

Google would be considered more trustworthy if along with REST, WSGI and AJAX it finally admitted to embracing NASDAQ.

The past couple of evenings I've been away from a computer and so not free to consolidate my copious notes all the interesting stuff that happened at Google Developer Day on Tuesday. I should start by saying that all the organizers, especially Liz Ericson, should be proud for planning and running such a fun event, and so smoothly. I think everyone had all the free food we could manage (with great veggie options, which is a mark of something), and sweeties and fresh coffee were distributed around the conference area. Lots of beer in the evening too, and a cute little Lego-like USB stick-man to keep me company on the bus home.

The venue was also great---if a bit too big for getting from room to room in a hurry---and the security and catering staff were some of the nicest I've ever encountered. Apparently we weren't allowed to mention the name of the enormous sports stadium west of London that we all attended, but if I say it rhymes with Bembley and looked like it still had the builders in and scaffolding up then you'll know where we were.

As at any conference the talks were a mixed bag, although all the ones I went to were definitely worth listening to. Mano Marks covered developer optimizations for Google App Engine with aplomb and a cheeky grin; Dion Almaer provided what might have been a "will-this-do" overview of the "state of AJAX", which actually became a more interesting discussion of the state of browsers in general, and how they might move towards full support of RIAs; Nimrod Talmon's discussion of Google Visualization, on the other hand, suffered from being immediately after lunch. I could've managed that level of tech details after a nap to sleep off my sugar slump, but I think he should really have been in the pre-lunch slot. We were all jamming on simple carbohydrates anyway, so it's not as though we would have been itching for butties. The content of his talk was still intriguing, though, and it's good to know you can at least consider handing this sort of thing over to a third-party engine if the client wants it but the poor webserver doesn't.

The lightning talks at the end of the day were as shambolic as these things tend to be. Liz said that a lot of people had expressed an interest before the event, but if that was the case then they were all being very optimistic about what they'd actually be able to accomplish before the day, as we only had maybe half a dozen in what sounded from Nick like the most popular slot of the day. Anyway, it was fun to break out a bit, but my laptop wouldn't detect the projector, and then the gist---the actual, pivotal slide---was lost in conversion to whatever it was it was converted to on a Mac. I may do it at a later Geek Night, if I can stomach abusing my position as organiser.

Google very much held off on any go-team antics, hoping that their products would speak for themselves. That was slightly marred by them making it quite clear to everyone, that they did indeed hope that their products would speak for themselves, but at least there were no overt recruitment drives, and rubbishing of the competition was limited to the pretty much warranted chastisement of over-prompting your user and making them numb to modal dialogues, behaviour of which XP is particularly guilty.

Within the reasonably frank and open exploration of their services, however, were occasional notes of discord. Whenever any kind of business case was mentioned things would go quiet, and quite clearly those things weren't up for discussion, which I think is a shame. Google doesn't need to pretend that it's everyone's best friend to have our respect: it's public knowledge that it has shareholders, and I think developers the world over can admire it in that context if we know where we are with it.

Transparency engenders trust, and I'd take comfort from someone replying to a query about the bottom line by saying "well, I asked my boss, and he said that we give this stuff for free because it positions us as an influential brand when it comes to advertising revenue, trusted partnerships, GSAs, Google Minis...." Hell, if I'd been fed on those ciabatta rolls and caramel shortbread slices beforehand then I'd probably be asleep by that point, so it wouldn't matter what they admitted after the fold.

Those occasional moments aside I had a grand day out. I'm itching to start working on App Engine now, and putting into place some of the weirder code patterns Mano mentioned. I've also already had a play with Gears following Dion's talk, and it seems to turn Google Docs into something close to OpenOffice. But before any serious coding, I have to wait for the blood blister on my finger to go downfirst, which came from playing Guitar Hero at the end of the evening. How rock and roll, eh? The young Googler I played against trounced, me: as you'd expect: deep down I think Google's just as cool as it wants to appear to be on the surface.

Successful musicians write songs that other people like

By all means be careful what you invest in: whether you're paying with your time or with your money. But thinking about the needs of your fellow man can reap rewards too: not just for your moral integrity.

I love Stevey's Blog Rants: I don't always agree with him, but he puts forward a hell of a lot of interesting ideas. Also, he writes long blog posts, which is respectful to his readership, who he considers to be something other than attention-deficit idiots. In a way, he's writing posts that would probably be interesting to himself and people like him.

This model of publishing in part explains the thinking behind his recent post, robustly titled Business Requirements are Bullshit. But Steve's audience---compared to the web at large---is a small, self-selecting group. So although keeping in mind some of the details of his recent post can prevent you investing in dead-end projects, I just can't agree with the overall conclusions about software development.

Although it'd be nice for everyone in the world to have programming skills, and to be able to behave like autonomous itch-scratching units, that simply isn't the case. The vast majority of people need software built for them, and software builders are a demographic, with a broad range of shared interests and a vast landscape of shared uninterests. What if you can't program but you want some software? Do you just sit there, or do you pay someone to build software for you? Should that person in turn refuse the money, saying "that's too risky: Steve said so?"

Steve's rant is aimed at CEOs instead, but the principle still stands. To what extent to people have to clamour for a particular feature before a CEO will say "well, I don't want that, but I do want your money?" Personal phone calls? Petitions to their local MPs? Pre-ordering? Pressing themselves against the windows of electronics shops and drooling on the glass? Demanding it be available on the welfare state? Well, the canny software house would have started building the software before any of the above had happened. But how could they know, if they're not secretly telepathic? Well, among other methods, by gathering business requirements.

From Steve's point of view it's less of an issue, because he works at Google, the House of Blue Sky Development. And I don't begrudge him that privileged viewpoint at all, because Google has earned the business success that bankrolls schemes like twenty-percent time projects. If every business had oodles of cash to throw at developers as they wander off along tangential projects, then maybe none of them would need to through half an oodle at a discovery phase. But as long as money is a locally limited and unevenly distributed resource, then there will need to be different solutions to the problem of working out what to actually build.

The ultimate direction of software development proposed by Steve is just far too exclusive, and it's been the bane of open-source projects for years. Project after project caters for its tiny community, never reaching out to what other communities might need; they start to cool off, then founder; the codebase is mothballed, and the project finally expires. Worse, in Steve's world, we'd have to wait for blind people and RSI sufferers to write their own FOSS voice recognition software: maybe the blind person could hold the keyboard and mouse, while the RSI sufferer tells them what's on the screen. Meanwhile, able-bodied programmers develop that sort of stuff for Vista without a qualm, and they can charge the earth for it because people want it.

Ubuntu's recent successes might be almost entirely attributed to the fact that (a) the project is well managed and directed and (b) they reach outside their own community, and solve problems for people other than computer programmers. Despite Ubuntu, Gartner recently announced that Linux had a 4% market share. 96% of consumers opt for software built by people who on the whole weren't solving their own problems.

The first commenter on Steve's recent post says:

I find that a lot of Free Software is awful for exactly this reason — the authors built it for themselves. Their software only works for other hardcore programmers because they can put up with the same complex implementation and integration problems and not even notice them, and if it's not quite right they lose a million potential worldwide users for every mistake.

The recent success of Ubuntu as Open Source Software shows that a lot of other projects still don't get it. The first thing an OS community needs is outreach: scratching other people's itches and not their own.

Actuallly, he says almost exactly the opposite, but then: he emails people with patches, so he's probably a software author himself. At the very least, he's in that four percent, preaching to the rest of the already converted. Meanwhile, the rest of the market went thataway. And if Warren Buffett were to take a break from spreading thickly his easily-believed homespun down-to-earth nonsense for a minute or two, what would he really do to capture that 96%?

Subscribe to RSS - business