I was there when "Walkabout" started being bandied about. It irked me to no end that I could jump through all of the hoops and finally get behind the NDA curtain by being hired and then be told "nope, you can't hear about that". That was a severe jolt to the internal culture of the whole company.<p>There had been other projects which had been kept under wraps successfully. Chrome and V8 were demoed in Seville long before anyone on the outside heard about it. They said keep it quiet, and we did. Google TV had been knowable for <i>ages</i> before it went anywhere externally. There was no reason to think someone would leak Wave.<p>Instead, they started playing the "we're special and you are not" card, and that started a sense of resentment growing. Not even the infrastructure teams which were going to provide services to them were let in on what was really going to happen in there.<p>Then after far too long, demo day of Wave arrived. I only stayed long enough to see them hit backspace and have it echo out to everyone else who was connected. I remember my exact comment at the time: "packets". As in, lots and lots and lots of packets flying around to generate RPCs for all of those deltas. Then those turn into XML or whatever going out to web browser clients, and ... yeah. SO many packets. That right there worried me greatly.<p>So then I see this thing about it not scaling properly and choking JVMs and suddenly it all makes sense.<p>Oh well. All of the secret code depots and restricted access areas must have been practice for what is now happening with Plus. Entire floors of buildings you can't open as a full-time employee? Yep. More code depots being locked down? Yep.
It's an interesting post and raises several cogent points but it misses the biggest problem with Wave: it was a solution in search of a problem.<p>I say this simply as someone who was, at the time, outside looking in. I know little more than that but it had all the hallmarks of what happens when engineers are running the asylum. Here's this communication medium in which basically all other communication media can be implemented (Email, IM, forum posts, Twitter, etc). It's the kind of general solution that engineers come up with it.<p>I read a post from someone else (can't find it now but I think it was on Quora) who was familiar with the matter and they were saying the risk-reward thing (which this poster mentions in passing) was all messed up. Basically the incentive structure rewarded mediocrity.<p>I can't speak with any knowledge of those matters but I can believe it. After all, in a startup what happens if the startup fails? You find a new job. There is a strong incentive to make your runway last and get to your next funding round (or, Heaven forbid, profitability). Inside somewhere as cashed up as Google, those incentives (IMHO) disappear.<p>If the "startup" fails, what happens? You just move to another part of Google. What do you think the odds were that with Wave going away, any extra Wave incentives became worthless (as would happen in a startup)? Basically zero (IMHO).
> And this is the essential broader point--as a programmer you must have a series of wins, every single day. It is the Deus Ex Machina of hacker success. It is what makes you eager for the next feature, and the next after that.<p>I liked the whole article, but this paragraph really stood out to me. It's something I've never thought to put into words, but is so true. Going for days and weeks and not seeing any success in what you're doing is horribly demoralizing. It's happened to me only once, and that was enough to reconsider my appreciation of programming entirely.<p>It's because the real appeal of programming is, like he said, the incremental gains, the constant moving forward, the iterative process. It's why small side projects are so much fun, because there's nothing getting in the way of your next small accomplishment. It's what draws people (like myself) to programming in the first place. And in its lack, it's the slow killer of large projects.<p>Thanks for the article.
"Now, I don't mean to imply that Wave did not have some very smart engineers working on the UI, we certainly did. But talent is different from experience. The latter is a guard against 3.5MB of compressed, minified, inlined Javascript. Against 6 minute compiles to see CSS changes in browser. Against giving up on IE support (at the time, over 60% of browser market share) because it was simply too difficult. Against Safari running out of memory as soon as Wave was opened on an iPad."<p>I wonder how much of the failure was this sort of thing vs just having a product that people didn't understand. (I definitely agree that if the UI had been simple and snappy it would have been better)<p>On the bright side, I feel pretty confident that some real startup will take the open sourced Wave technology and do something good...
Fantastically generous post. I wish more engineers were as publicly honest about their own, and their team's failures so that other engineers and engineering teams can learn from the experience.
<i>You need the same mix of experienced talent working in the UI as you do with traditional "serious" stuff. This is where Apple is simply ahead of everyone else.</i><p>Not only does Apple not shunt n00bs at the UI, it actively hires extremely brilliant people to do UI invention/R&D.<p>E.g., consider the CV of the (obviously brilliant, IMO) "Up and Down the Ladders of Abstraction" guy, Bret Victor (1).<p>That's about two lightyears removed from "UI is boring and easy; make the junior programmers work on it while we do the algorithmically hard stuff on the backend."<p>(As an aside, Holy Shit is BV impressive and refreshing -- incredible tech chops combined with awesome aesthetic/design sensibilities, all wrapped up in a humanistic focus on usability...just, damn.)<p>(1) <a href="http://news.ycombinator.com/item?id=3099595" rel="nofollow">http://news.ycombinator.com/item?id=3099595</a>, <a href="http://worrydream.com/#!/cv/bret_victor_resume.pdf" rel="nofollow">http://worrydream.com/#!/cv/bret_victor_resume.pdf</a>, and <a href="http://worrydream.com/Bio/" rel="nofollow">http://worrydream.com/Bio/</a>
Great post but I don't follow the connection to the Mythical Man Month which is about having the wisdom to avoid tossing bodies at a late project.<p>The article seems to be more about making sure you have experience on the GUI.<p>All this said, i shouldn't complain about the title - rather i should just be happy the author shared hills lessons.
The 20% time policy that Google allows for one's own projects has probably served as a nice way to experience those "small wins" he is referring too (though the win may not be in the main line of work). I wish I had a similar policy at the place I work - I feel I could have avoided a burnout phase.<p>I'd be curious to know if Google revokes that policy for focus teams like the ones that worked on Wave and Google+.
Great post. Reminded me of the following for some curious reason :<p>" If the land mechanism as a whole is good, then every part is good, whether we understand it or not. If the biota, in the course of aeons, has built something we like but do not understand, then who but a fool would discard seemingly useless parts? To keep every cog and wheel is the first precaution of intelligent tinkering. " - Aldo Leopold
<p><pre><code> At the end we were close to 60 engineers
</code></pre>
I guess, this is the reason for the failure. Probably 2-7 would be ideal for this kind of experimental projects.
I really appreciate this post. I'm going through a very similar experience myself. Was at a startup, which was recently acquired by a larger corporation. Since I've previously worked at both small(and fast growing) and large companies in the past, I thought I possibly had the experience to make the new larger team I would be working with more "agile". But taking months to do what I normally accomplish in a week or two definitely is hurting personal morale. I'll try to achieve some daily small wins though=)
Like most acquisitions a great concept gets stuck in neutral....not sure why....wave fundamentally is a fantastic idea....but a complex problem to solve....the fact that no one else has solved what wave attempted to solve is in itself a testament....but having said that I don't think it was an issue of programmers coming up with a problem and then trying to solve it....I think virtual communication as we know it is still pretty bad....and this post gives you a good insight into how complex problems cannot be solved by adding more people to the team....that just adds more complexity to an already complex problem.