
How the engineer driven culture at Google damaged Wave - fogus
http://www.25hoursaday.com/weblog/2010/08/27/LessonsFromGoogleWaveAndRESTVsSOAPFightingComplexityOfOurOwnChoosing.aspx
======
api
I remember reading a paper a long time ago about traffic engineering. It turns
out that when there's a traffic problem you have three choices more or less:

1) Add something

2) Change something

3) Remove something

The paper talked about how most civil engineers have a strong bias toward 1,
followed by 2, and then rarely 3. The first thought is almost always to add
something. Something is wrong? That means we need something more to solve it,
right?

Complexity is not a virtue. It's actually a vice and a liability. It is better
to solve a problem by removing something than by adding something. This (along
with losing sight of what customers want) is the problem with engineer-driven
design. Engineers like to add stuff, not remove stuff.

Wave always looked horridly over-complex to me. The protocol was a tower of
babel. It was "open," but it was so complex that nobody would bother climbing
its learning curve. It tried to solve too many problems at once, it was slow,
and it was cumbersome to use. Those are all signs of over-engineering.

~~~
smakz
Very good points. Reminds me of this quote:

Perfection is achieved, not when there is nothing more to add, but when there
is nothing left to take away.

\- Antoine de Saint-Exupery

It does seem to be a major problem with a lot of Google's latest inventions -
they try to do too many things at once, and solve too many problems for too
many people. Wave as a technology proved to be extremely useful in some
certain circles, including corporate collaboration. I would wager if they
marketed as a sharepoint competitor and increased the integration with google
docs, it could potentially have been a money maker while giving more
credibility to Google Docs.

Similar situations are going on right now with Google Buzz and even Google
Mail, the execution of the "make phone calls from your mail box" seems to
leave a lot to be desired. It's a feature that tries to jump out at you and
grab your attention as if saying "Hey look at this, we invented something new"
when really it should be almost invisible until you need to use it.

~~~
kenjackson
"Perfection is achieved, not when there is nothing more to add, but when there
is nothing left to take away."

Doesn't this imply that _nothing_ is always perfection. The quote just seems
to be flat out wrong.

While maybe not as elegant, but wouldn't it be better said as "Perfection is
achieved, not where is nothing more to add, but when there is neither more to
add nor anything to take away".

Maybe the quote has a proceeding sentence that makes it clear.

~~~
barrkel
The assumption is that you're talking about some thing - design, work of art,
whatever - which is accomplishing some goal. The perfection lies in removing
extraneous elements without stopping it from achieving the goal. Nothing, by
itself, doesn't achieve much.

~~~
kenjackson
Still, even your explanation is wrong. There are obviously times when adding
something is required. If a car with no engine, I need to add one. I can't
simply remove a wheel.

~~~
daleharvey
as he already said, it has to accomplish some goal, if your goal is for your
car to drive, it needs an engine.

~~~
kenjackson
OK, put a lawnmower engine in a Hummer... Now this simply becomes an exercise
in requirements gathering. Because your retort will be the goal is this
accerlation curve, this torque curver, this gas mileage, etc....

And this presumes that the requirements lead to perfection. What is the goal
of the Mona Lisa or Dante's Inferno? Could Micaelangelo have done less to
satisfy the requirements for the Creation of Adam?

Can you point to any value in that quote?

And let me extend my last question. How many things can you list that would be
perfect merely by removing things? I don't think there are many. I suspect
most things, that even accomplish a goal, lack perfection due to an array of
things, not simply due to having too much of anything.

~~~
tkahn6
<http://google.com/> vs <http://yahoo.com/>

~~~
kenjackson
I suspect Google and Yahoo don't have the same goal. Otherwise Yahoo wouldn't
put a link to mail.

But this is exactly the type of reasoning that this silly quote leads to. That
simply having less makes something better.

Apple could easily make a computer with no keyboard, no mouse, no OSK, no
visual display. Simply a touchpad, to input a binary code that corresponds to
text and numeric output that corresponds to what color and x,y location to
draw pixel. Of course, this numeric output would simply be a binary light. But
that's just stupid.

The reason you add something is almost always because there is a goal that
you'd like to accomplish. Yahoo probably thought you should be a click away
from your email account. Google doesn't.

~~~
daleharvey
maybe another quote will help you understand the point

“I'm sorry I wrote such a long letter. I did not have the time to write a
short one.” - Abraham Lincoln

The point isnt to have less, its to have as little as possible required to
perform the function you want, anything extra is just extra mental energy
required to be able to understand it.

Have you ever written something and then vastly reduced it because you realise
you are conveying the same thing in different ways, or written software and
realised you have made 2 ways to do the same thing? thats all it means.

~~~
kenjackson
I get the point, but it's a bad quote. Let me give you an example of a quote
that is right on target.

"Make everything as simple as possible, but not simpler" -- Albert Einstein

Einstein captures the fact that you need to both add ("as possible") and keep
simple. The original quote does not, although apparently some people have a
preface to the quote that has a whole bunch of assumptions that make the quote
work. I've never seen that preface.

~~~
snom370
Most people realize exactly what the quote is talking about, since the
alternative (removing stuff until you're left with nothing, or with something
barely working) makes no sense if the goal is perfection. Part of the appeal
of the quote is that you have to make this realization. Just like a joke would
lose its appeal if it was preceded by a list of assumptions that would explain
the joke.

~~~
kenjackson
The problem is that what you describe is not the alternative I've heard
before. It's not that you'd remove things to nothing, but rather that you
don't add something that is necessary or beneficial, because there's this
belief that adding things is bad. I hear this from a lot of college grads, who
apparently read a blog that talks about this, or maybe read this quote.

My point is you don't add stupid stuff, but you don't blindly say not to add
something, and simply look for things to remove.

~~~
snom370
I guess I just never met anybody who didn't understand the quote. To me it
says: Think very hard about what to add, and think very hard about what to
remove. Of course, I realize that those who take the quote literally are not
going to think very hard about which features to remove, and I'll agree that
you're more likely to succeed with a product that has lots of thoughtlessly
added features, than one that has none. :)

------
georgecmu
_Google is like grad-school. People value working on hard problems, and doing
them right. Things are pretty polished, the code is usually solid[...]_

Wow, that sounds nothing like grad school. Or any research environment, for
that matter.

~~~
angstrom
Yeah really. Does that mean the code is littered with "Left as an exercise for
the reader."?

~~~
sliverstorm
In this case, the "reader" being the compiler?

------
Experimentalist
I'm glad to see a post highlighted here which shows the limits of bright
engineers and hacking in a business. Google Wave is just one high profile
example..

Being full of engineering-minded people, Hacker News has a strong bias
favoring the idea that if you hack away and create an interesting piece of
technology, then that is what is required for a successful startup business.

That idea is wrong. That idea is more of a love of inventing and obsession
over technology rather than successful business.

A successful business doesn;t need neat technology or having brilliant
engineers.

It requires a product/service meeting consumer demand at the right time in a
sustainable way at a cost that enables a profit for the business.

That's where Google Wave failed. Despite a huge financial backing in
engineering and promotion, people didn't want it.

The core for a successful business is not innovative technology-- it's
_Business Operations_.

If the business operations are wrong -- ie a product isn't fulfilling a
consumer demand or has an sunsustainable cost-- then the startup is going to
tank. (unless angel investors keep throwing money at it, but eventually they
won't anymore)

On the other hand... if the business operations are right, ie. there is strong
sustainable consumer demand for the product/service and a cost enabling a
profit, then the the company will prosper regardless if the engineers are
decent, great or so-so.

There are plenty of companies making good profits year after year, growing
there business and equity sustainably, which have just ok engineers and
average non-innovative software.

It would be nice to see more startup-related articles here on Hacker News
showing technology failures, not wasting money on too much engineering and the
importance of the business operations side of things.

~~~
DannoHung
So you want to read about companies with no competitive advantages anywhere in
the organization? Maybe some big firm that uses its marketshare to enforce a
significant amount of revenue as opposed to better handling of operations,
marketing, R&D, customer support, sales, etc?

~~~
Experimentalist
Technology isn't the only comparative advantage.

Nor, is it necessarily the best option when maximizing comparative advantage
over another firm.

Nor, is implementing new technology necessarily a comparative advantage, it
could be a disadvantage (ie. if the technology fails either technically or on
the business side)

It's often the most difficult or worst option because of the costs and risks
involved.

------
moultano
This post is pretty much information-free.

This seems to be his only criticism of the product, and it isn't even correct:

>It is interesting to think about all the internal discussions and time spent
implementing features like character-by-character typing without anyone
bothering to ask whether that feature actually makes sense for a product that
is billed as a replacement to email.

This was explicitly thought about. The reason this feature was included was to
fix the latency of chatting. The perceived problem is that most of the time
people spend chatting is waiting for the other person to finish typing. No one
quite knew what sort of social effects this would have, but by taking a poll
they would have just built a "faster horse."

~~~
elblanco
Every single person I know who used Wave thought the character-by-character
thing was terrible and wanted it turned off. A few of them actually stopped
using it as soon as they realized it did this since they didn't want to
broadcast half-formed thoughts to the world.

~~~
benno
Broadcasting half-formed thoughts can be desirable; we do it everyday when
talking face-to-face.

~~~
mattmanser
Typing/reading is a very different experience to speaking/hearing.

I might type something that comes across as unnecessarily harsh, which if I
said it would not, because of the tone of voice and posture I took.

The timelag of allowing me to reread to see if my statement can be
misconstrued is far more important in writing.

------
motters
This seems pretty much like a straw man argument. The notion that Facebook
concentrates upon user experience, given all the privacy wrangling and
complaints about the user interface being needlessly changed or being too
convoluted, seems to be not very well founded.

Fundamentally the concept of Wave seemed good, and I think there is (or will
be in future) a demand for something better than email which consolidates
email, instant messaging, microblogging and some project/time management
features into a single interface. I think what happened with Wave was not that
they concentrated too much upon the engineering but precisely the opposite. If
they had spent more time engineering a slick, fast system which scales to
large multi-user conversations without crashing or grinding to a halt and
integrated easily with legacy email systems from the beginning to allow a
seamless transition then there would have been a much bigger chance of Wave
becoming a success.

~~~
docgnome
"...integrated easily with legacy email systems from the beginning to allow a
seamless transition..." Nail on the head. That is exactly why I didn't use
wave more than a handful of times even though I rather like it. If I'm the
only person who uses the email when everyone else uses snail mail, it's not
really very useful.

------
houseabsolute
Does anyone actually know Dare Abasanjo as "Carnage4Life" or is that just his
years-long ploy to annoy me and undermine his credibility in any forum of
consequence?

~~~
ibagrak
I went to Georgia Tech undergrad at about the same time as Dare (I graduated
in 2004). If my memory serves, he was using carnage4life handle even back in
2002.

------
10ren
The second section discusses SOAP/REST and XML/JSON, saying that XML Schema
attempted to solve two problems (document formats + object wire format), but
it predictably became too complex. He claims that we now use REST (not SOAP)
and JSON (not XML), so the "impedance mismatch" problem is now solved.

Is this true?

JSON is used mainly where there is Javascript (ie. client side webpages -
though that is becoming more and more inclusive these days... almost
everything is a webapp (exceptions?)) - but it's schemaless (or typeless).
While this is popular (eg key-value NoSQL stores, and dynamic typing in Ruby,
Python, Perl), it's not right for everything. If you did want typed data,
you'd probably just use XML Schema, since everything is already there.

I ask because of a startup idea based on XML Schema. It _could_ survive XML
Schema going away, but I'm not so sure about the apparent long-term trend away
from schemas/types altogether. With fast-enough computers to nullify the speed
advantage of static types, will the remaining advantage of type-safety be
valuable enough on its own - What is the evidence for and against? Even
databases are going schemaless (it seems).

~~~
arebop
If I wanted typed data, I would be more inclined to use RelaxNG than XML
Schema. In some situations, XML might not be so advantageous. JSON is quite
convenient for JavaScript applications. Protocol Buffers have an efficient
wire representation.

I think his point of JSON vs. XML is that JSON is simpler because it is
designed specifically for representing structured data exchanged among
JavaScript programs. Sure, it can be used from other languages and read by
humans, but the design goal was much more narrowly circumscribed than the
design goals of SGML, XML, and XML-Schema.

The argument about SOAP vs. REST is not as well-developed, but I think he's
saying that SOAP was doomed by its attempt to stretch XML to serve one too
many masters.

Personally though I see REST as a set of principles more than an RPC standard.
It seems to me that REST's success is due both to the evolutionary manner in
which it developed, and the relatively simple architectural form it takes
compared to the SOAP/WS-* protocol specifications.

------
sandipagr
the reason wave failed was cause it was not integrated with gmail! It's that
simple. All the rest of the arguments are just killing the dead animal

------
dmitri1981
I've read similar arguments here being leveled at Microsoft. Given their
strong culture and hiring practices they ended up hiring people who were
strong engineers. At the same time that resulted in the company developing
blind spots in areas where a different approach would have been more
beneficial.

I guess the risk is that when you end up phenomenally successful using a
particular method, it becomes very difficult to go against that ingrained
culture and try doing things a different way. Best example of a company
combating that issue, in my opinion, is the IBM PC, where they gave Don
Estridge free reign to carry out the project outside the normal operating
procedures of the company which the management realised would have destroyed
any chances of the project becoming a success.

~~~
waqf
<http://www.dailywritingtips.com/free-rein-or-free-reign/>

It's not a metaphor about monarchs, but about horses ... but I guess nobody
knows what those are anymore.

------
aufreak3
Frankly, this is just punditry. Nothing wrong with trying something and
failing at it and moving on cutting your losses short. I give google the
credit for choosing to fail _this_ way instead of failing with, say, marketing
efforts.

------
resdirector
When I read that they'd made their Google Wave API _before_ they had user-
adoption, I thought _gee, they've got their priorities wrong_.

------
ewanmcteagle
Google Wave... whatever. What annoys me is that we lost etherpad for this.
That was a really effective product.

------
tybris
Did Google Wave fail? I thought it just started?

Google mainly suffers from people (including those at Google) thinking that
everything they do will be big from day 1. Even though that never happened to
any of their other products.

~~~
nanairo
You think? I thought exactly the opposite.

The problem of Google to me seems to be that they release something they think
it's good enough and then just leave it there hoping that time will prove them
right. Then one day they wake up and see there has not been any adoption, and
kill it.

When Google releases something they are hardly all behind it, and seem to
forget about it in a week.

~~~
stcredzero
In that case, they are suffering from the same internal-politics fratricide
that Microsoft has been long suffering from. I'm wondering if Google is at the
peak of their innovation curve?

------
drawkbox
Because a marketing/business driven product has never failed before...

Also wasn't this part of the newer Google that looked better and was primarily
more product/marketing/suits driven like Buzz?

If it was engineering culture that killed Wave, engineers are ok with failing
to make something better or to analyze it. Later perfecting it for a solid
product/system.

I believe the product failed in the way they released it and that Google may
have found the limit for how connected people want to be. Cool as it was, Wave
seemed exhausting and we don't need to see people type each letter.

Waves happen naturally on the web, twitter, facebook etc. Google hurried the
response to that. I do believe many components will be reused on Google.me.
Also I wonder if they have any issue with GWT now that they are being sued for
Java licensing on Android.

------
tlammens
Wave as is may be dead, the technology will live on in other google products.
Introducing it as a big bang was maybe not the best way, too much change at a
time. But gradually it will emerge in another form.

------
ddelony
Google's non-search products are really just research projects.

~~~
nanairo
Why? You offered a non-obvious assessment without any evidence or
argumentation.

Personally I think you are completely wrong. Google is in the business of
targeted ads. For that they need infos about the user. Everything else is just
a trap to get you to tell them a bit about yourself. Helping you in your
searches, is as important as knowing what and who you email.

Facebook, who is also entering the same market, is giving them food for
thought exactly because of that. Facebook offers almost no search, but they
get your infos from other means. From Google's perspective the end result is
similar.

~~~
ddelony
I'm not knocking Google in any way. It's just that, as the article says,
Google seems to be developing their new products because thee engineers think
they're cool, regardless of whether they're actually commercial. In this way,
Google is the Bell Labs of the 21st century.

~~~
drawkbox
Lots of good stuff came out of Bell Labs, modern software being one of them,
C++ another. Lots of things you are looking at right now while at your
computer were influenced by Bell Labs.

~~~
ddelony
I have enormous respect for Bell Labs, at least until they decided to kill non
telecommunications projects.

------
thisorthat
Google Wave could have been great if it was not designed by engineers.It
amazes me that such a giant company does not put more effort into design and
usability.

------
stcredzero
It's not only Wave!

