
Steve's Google Platform rant - tRAS
https://plus.google.com/110981030061712822816/posts/WugKtXSp7We
======
pragmatic
What's ironic is that Amazon is "so bad" yet they are one of my favorite
companies.

They always seem to do right by the customer.

Where as google, it's behavior isn't always customer friendly (disclaimer:
this is my opinion/perception).

To an outsider like me, Google seems almost schizophrenic...adding features,
removing them, and then Gmail on android is just "not good". Customer service
is non existent. Have a problem with Google product, good luck buddy.

Contrast that to Amazon where customer service is prompt and courteous and
they always give the customer the benefit of the doubt.

Maybe it's the focus of the companies? Google is focused on engineering for
engineering's sake. The focus on developers and algorithms.

Amazon is focused on customer service/satisfaction. Keeping the customers
coming back.

Google is a monopoly in many of it's services (search, ad[sense|words])
whereas you can get a lot of Amazon's products somewhere else.

------
nhashem
What really struck home for me was Steve's line, "I hate... plussing" because
I actually think his entries like this one are a great niche for Google Plus
-- it's basically a built-in blogging platform/RSS reader. Facebook and
Twitter are pretty bad platforms for posting 5 paragraphs (or 25 paragraphs,
in Steve's case) worth of thoughts, but Google Plus works pretty well. It has
all the sharing/social goodness of those platforms without the overhead of
having to create your own blog and tell people about it.

So I thought about a web application that would basically provide a wrapper to
post blog-esque entries on Google Plus, and sure enough I looked up the API,
and like Steve, you pretty much just get the Stalker Method[0]. Not a POST
method to be found.

Then it made me recall an earlier life where I worked on an SEM optimization
platform, and the most common thing we heard from our Google Rep was, "oh, um,
yeah, doing that is not available in our API."

Short of a directive from Larry and Sergey and the willingness to follow
through for the 3-5 years it took Amazon to reap dividends, is there anything
Google can do?

[0] <https://developers.google.com/+/api/>

~~~
ellyagg
You too, huh? That's what I do now. Our company's been a paying user of
Google's APIs for a couple years, and it's been a nightmare the whole time:
Inadequate features, bogus data, weird malfunctions, etc.

~~~
j_baker
Which API? Not that I think Google's APIs are all brilliant, but on the whole,
I curse them much less than I do some other companies' APIs (like Facebook and
just about anything by Yahoo).

But then again, the quality of their APIs varies pretty wildly from product to
product.

------
wouterinho
It seems to 404 now, a copy is available at
[https://raw.github.com/gist/933cc4f7df97d553ed89/24386c6a79b...](https://raw.github.com/gist/933cc4f7df97d553ed89/24386c6a79bb4b31fb818b70b34c5eab7f12e1ff/gistfile1.txt)

~~~
estel
He's posted saying that it was meant to be available internally only, but
didn't set his permissions correctly:

[https://plus.google.com/110981030061712822816/posts/bwJ7kAEL...](https://plus.google.com/110981030061712822816/posts/bwJ7kAELRnf)

~~~
0x12
It's a pity that he chose to withdraw it, it would be great if high profile
people like Steve could say stuff like this and stand by it without having to
fear for fall-out. After all, the big winners from a piece like this are
Google and Amazon, Amazon obviously have some big problems (see Nirvana's post
above) and the sooner it gets to the attention of their top level execs the
better.

Stuff like this can rot your company from the inside out, and being
transparent about it (and even public) can help a lot.

~~~
david927
Wow. I know so little about the internal workings of Google and had such a
good impression of them until today. The Wave post and now this -- not the
post which was constructive and insightful, no company is perfect and it's
important to examine flaws -- but for the decision to pull the post. Shameful.
Steve is only wrong with one point: Google's reputation for arrogance seems
actually well-deserved.

~~~
0x12
Well, the google PR people actually didn't do anything to tell him to withdraw
the post, so that is his own decision.

~~~
david927
This is one of the very few times I've seen Steve back-off of a provocative
statement; whatever made that happen does not bode well for Google and I think
my point stands.

~~~
someone13
I don't get the impression that he was "forced" to back off, but rather that
he accidentally posted something that was meant for internal consumption in
public. I think it's perfectly within his rights to delete the post - most
people don't talk the same way with their co-workers as they do in public, and
it's perfectly understandable.

~~~
david927
I completely get that now, and I retract my comments. I'm sorry if I cast any
undue aspersions.

------
espeed
Is Steve Yegge Google's new secret recruiter agent? :)

A few weeks ago he publicly quit his "cat pictures" project
(<http://www.youtube.com/watch?v=vKmQW_Nkfk8>) to pursue more noble a quest in
data mining. I loved what he said, and at first glance this seemed like a jab
at the newly released Google+. But it's actually a bigger knock on Facebook
since the "cat pictures" app is Facebook's primary gig, and so far it's only a
side gig at Google. I wonder how many FB peeps started to wonder if there
really is any meaning in cat pictures.

Now it's Amazon -- "Amazon does everything wrong, and Google does everything
right", except for 3 things, one being "platforms." But his Amazon jabs are
not as subtle as the cat pictures one -- "Their pay and benefits suck,
although much less so lately due to local competition from Google and
Facebook. But they don't have any of our perks or extras."

Maybe Steve is Google's new unofficial recruiting agent. He makes reference to
it here, "I actually did a spreadsheet at one point but Legal wouldn't let me
show it to anyone, even though recruiting loved it."

When you think about it, he's the perfect person to have run a psyop designed
to get the Facebookers and Amazonians to lay down their cat pictures and join
the Googlers building the next generation platform, while partaking in all of
their perks. Google can just play it off as, "oh, that's just crazy uncle
Steve on one of his rants again". I don't know what it is, but I think it's
great on multiple levels :)

------
latch
The rant is absolute gold. It is well written, it's entertaining, it's funny,
it's insightful. Most importantly, it's right (about platforms at least, and
from what I've heard, about Amazon and Google's culture). It is as near to
perfect as a rant can probably ever get.

I can see "What did you think of Steve's Google Platform rant" as an interview
question.

~~~
twoodfin
Agree. The only Yegge rant/essay I can remember getting all the way through
without struggling to stay awake. It's amazing how much more effective a
writer he is when he's not trying to construct an elaborate metaphor. Maybe it
has something to do with his belief that he was writing to a smaller, more
focused audience.

------
wouterinho
Werner Vogels did an on-stage interview recently at the Kings of Code
conference in Amsterdam. A question from the audience was: "Does the Amazon
shopping site run on AWS as well or on a more private/shielded AWS-cloud?".
Werner answered that they use the same infrastructure as everybody else and
that they could not justify doing anything else. It gave me tremendous trust
in the AWS platform.

~~~
nirvana
This was not true at all, at least thru 2007. At that time, there were some
minor services that made some use of AWS services, mostly newer things that
had been created after AWS was created.

AWS was not available to developers within Amazon to use at any time before
the day it was publicly launched. At least not on a broad basis, and none of
the main Amazon.com services ran on it in 2007.

They did share some data centers, however. And I guess data centers are
"infrastructure".

I was in a position to know this because I had my hands deep in the retail
site as part of my job.

~~~
wouterinho
Interesting... any current Amazon employee that can confirm/deny this? Perhaps
things have changed since 2007.

~~~
aphexairlines
We migrated the US retail rendering fleet to AWS last year. simonw posted a
link about it elsewhere on this thread.

~~~
nirvana
So, about 4 years after it was publicly claimed to be running on AWS.

~~~
nikcub
yes but we all figured this out earlier because EC2 and S3 downtime would
never correspond with Amazon.com downtime - which made it obvious that the
'use the infrastructure we use' line was complete bullshit.

~~~
ceejayoz
Not necessarily. Netflix managed to survive EC2 and S3 downtimes by
architecting around the (mostly known) pitfalls - multiple regions, S3 isn't
HA, etc.

------
bambax
What he says about Chrome doesn't seem to be really true?

> _And so we wind up with a browser that doesn't let you set the default font
> size_

You can set the default font size and zoom size in Chrome
(chrome://settings/advanced then "Web Content").

But more to the point, although it's obvious Google Search is trying very hard
NOT to be a platform, it would seem Chrome is already a platform.

No other browser in history has had a more straightforward way to build
extensions -- and, for that matter, apps.

Also, Yahoo is not mentioned; Yahoo built many nice platforms (remember
Pipes?) and it didn't quite save them.

~~~
hollerith
>You can set the default font size and zoom size in Chrome
(chrome://settings/advanced then "Web Content").

Increasing the default font size makes some text a lot bigger while other text
stays small. On Mailman archives, for example, the body of an email ends up
smaller than all the other text on the page (maybe because the body is in a
fixed-width font).

Specifically, if you set the default font size to "Very large", the text in
the body ends up less than half the size of the other text.

On hacker news, the "reply" links, which are (rightfully IMHO) smaller than
normal text, become much larger than normal text.

The other way to increase text size in Chrome, the Zoom In command in the View
menu, is not useful to me either: when I use the Zoom In command to get the
text size to where I want it, the text usually runs past the right end of the
window, with the result that I have to scroll horizontally back and forth for
every line of text I want to read.

On some pages, this problem occurs when I use the Zoom In command only twice
(repeated uses continue to increase the text size) and the text is still
pretty small after two uses of the Zoom In command.

I have not been able to find any usable way to have the text as big as I want
it in Chrome.

~~~
basugasubaku
Have you tried setting Minimum font size also to "Very large"?

~~~
hollerith
I have now, and it works well enough for me tentatively to make Chrome my
default browser. Thanks!

------
vnorby
When I worked at Myspace, there was one (small) team dedicated to creating and
maintaining internal services. The platform was called "slayer," short for
service layer. It was built very well, for the most part. All the
documentation and calls were in one place. And the few teams who used it built
cool products (including my own) that leveraged data from a wide variety of
services.

I think the simple reason that our products were better was because we could
easily see all the data sources available to us every time we checked the
documentation to do some simple things (say, retrieving a user's data). We can
get friends data from here, music data from here, analytics from there. And
what do you know, putting all that data into one place can make a cool product
or feature. Without that, you spend so much time worrying about what your own
product and team is doing that you forget about working together.

~~~
erraggy
Wow, thanks @vnorby! That was my team. We started out in the beginning of 2007
with myself and 2 other devs and we were just the "API Team". Our goal was to
simplify and standardize data access for all front-end features. At that time,
this was a monumental task as most features lacked common code besides the
infamous MaintenanceConfig. There was basic SQL call wrappers for querying
data and some core handling of the large number of federated profile/mail DBs,
but besides that, features tended to be built ad hoc.

This posed a problem to scaling the massive web traffic load on these
databases. It also left open dangerous patterns of duplicate data calls where
each control on a page was making its own calls for the data it would bind to.

Man... I could go on for days about the path we took from the wild wild west
of code slinging up to the nice accessible, maintainable, freakin' BEAUTIFUL
Server Slayer platform. Instead, let me just leave you with the logo we
designed for this internal platform: <http://imgur.com/Pvpy7>

\m/ \-- robbie API Development Mgr. MySpace 2/2007 - 3/2010

------
TruthPrevails
Hello All,

I was an intern at Amazon this summer and they extended a full time offer. I
read Steve's rant with great interest. Since many people in comments have
confirmed the points raised by him about Amazon, I am not feeling good right
now :( I still have 18 days to accept the offer. I am currently interviewing
with Microsoft. I have applied to Facebook just now. Sadly, I screwed up my
Google phone screening last week. It was just not my day :( I am confident of
getting MS offer. Do you people suggest I reject the Amazon offer? Or should I
work at Amazon and form my own opinion? I can always change jobs.

EDIT: I am not able to reply to comments at all! It gives me dead link
message. I have been trying for almost 30 mins now. Frustrating.

~~~
potatolicious
Like others have said, decide on the merits of your internship.

I left recently (a few months ago) and much of Yegge's rant rings true - but
like all big companies, it is not universal. My main caveat when others ask me
about working for Amazon is - _know exactly which team you'll be on_. That
will be the difference between a hell on earth scenario vs. a pretty sweet
job.

From your internship, you have much more information than most people coming
into the company. Use that.

And even if it does turn out to be the wrong decision, the golden handcuffs
are only on for 12-24 months. Amazon on your resume is incredibly powerful and
opens a lot of doors, so you won't really have suffered in the long run for
it. Towards the end of my tenure I had recruiters banging down my door, so
your options even if Amazon turns out to be a bad fit are, well, pretty
limitless.

~~~
TruthPrevails
This is quite comforting :)

~~~
henrikschroder
But remember to get out if you end up in a crap group. Learn what you can, but
remember to get out before you develop Stockholm syndrome.

~~~
TruthPrevails
Yes. It has happened to me once already.

------
locacorten
There is one thing that Google has done well that no other company (Amazon,
Microsoft, Facebook) seems to understand. Hire experts. They call this hire
Ph.D.'s, but that's slightly inaccurate because having a Ph.D. does not make
you an expert. They understand that building systems at large scale requires
people who have a deep understanding of distributed systems that goes much
beyond "My code is on SourceForge" mentality, or "Git is better than SVN
because it is a distributed repository".

To this day, I am still shocked as to how many devs have no clue on what I'm
talking about, yet they are in charge of Internet-scale systems. Here's a list
of symptoms, I've heard over the years:

\- I'll put something quick together.

\- I implemented Paxos last night.

\- I found an optimization in the two-phase commit protocol.

In my opinion, being expert means becoming humble and doubtful about your code
when implementing large-scale systems. If your code runs on thousands of
machines and serves 100K+ people and you think you rock as a
developer/architect then you're doing something wrong.

Facebook doesn't get this. Look at their systems. They barely work. Good thing
it doesn't matter. Yet. But it will eventually.

Amazon gets a little of this. Bringing Werner showed signs that they started
to get it. They are still in this mix where a small group of people gets it
and continues to bring in experts and push amazing things out. We'll see how
long this will last.

Microsoft clearly doesn't get it. But that's ok, because they have no
Internet-scale systems anyway. They built MSR which is capable of building
such systems, but they make sure MSR remains isolated from their code. MSR
seems happy to have no role in the company and to continue to publish amazing
research.

~~~
bretpiatt
_Microsoft clearly doesn't get it. But that's ok, because they have no
Internet-scale systems anyway._

Serious Microsoft hyperbolic bashing. The facts:

Hotmail: 369 million users, Gmail: 193 million ( around the end of 2010, does
anyone have newer numbers? [http://www.email-marketing-
reports.com/metrics/email-statist...](http://www.email-marketing-
reports.com/metrics/email-statistics.htm) )

Bing, 5PB per container: <http://www.flickr.com/photos/scobleizer/4870003098/>

Lots of containers, "Microsoft's online operation puts big data into
perspective. Bing's infrastructure is comprised of 250,000 Windows Server
machines and manages some 150 petabytes of data. Microsoft processes two to
three petabytes per day. "You really have to figure out how to process that
kind of data to keep your index fresh," Nardella says." (
<http://www.informationweek.com/news/software/bi/230700013> )

I could continue to go on but Microsoft is clearly running Internet-scale
systems.

------
martincmartin
_Larry would do these big usability studies and demonstrate beyond any shred
of doubt that nobody can understand that frigging website, but Bezos just
couldn't let go of those pixels ..._

When I interviewed at Amazon, they were at pains to point out that the company
is data driven. One person told me that even Bezos would put a lot of weight
in numbers that disagreed with is intuition. Is Steve's anecdote an outlier,
or is Amazon not really data driven at all?

~~~
bborud
when a company says their website design is data driven you can pretty much
take for granted that they are bullshitting you. and when they are not, they
are wasting the opportunities to find more distant maxima because they are
obsessed with finding strictly local maxima.

------
ilamont
No mention of Android. I know it was an acquisition, but Google built it out
into a platform. Yes, it has flaws, but overall I would consider it a success.

~~~
bonzoesc
A success by what standard, because it's probably not profit.

~~~
ilamont
I was thinking of installed base (48% in the U.S. in August, compared to 23%
for iOS, source [http://searchengineland.com/comscore-android-nears-50-us-
sma...](http://searchengineland.com/comscore-android-nears-50-us-smartphone-
market-share-95768) ) and applications, but revenue is (or was late last year)
part of the picture, too, via advertising:

 _Google CEO Eric Schmidt says Android-based phones already generate enough
new advertising revenue to cover the cost of the software’s development._

[http://www.thedailybeast.com/newsweek/2010/10/03/how-
android...](http://www.thedailybeast.com/newsweek/2010/10/03/how-android-is-
transforming-mobile-computing.html)

~~~
ellyagg
The numbers you mention were for smartphones alone. The source you cite claims
total iOS device install rate is slightly higher than Android.

------
radagaisus
He has a new 'clarifying' post on his wall:
<https://plus.google.com/110981030061712822816/posts>

------
chubs
My first thought when reading was 'wow, he must be confident about how open to
criticism the bosses at google are, to be posting this'.

And now i've come back a few hours later to find his post has been removed...

Let's hope he was right when he claimed he could easily get a job at facebook,
for his mortgage's sake :)

~~~
rryan
Being able to level criticisms at anyone within the company is one of Google's
great cultural strengths. At no point would you ever be fired for having an
opinion and expressing it loudly. A long rant to all of engineering CC'd to
Larry Page is pretty common and often unleashes many centi-threads of
discussion.

------
maxwin
"Google+ is a prime example of our complete failure to understand platforms
from the very highest levels of executive leadership (hi Larry, Sergey, Eric,
Vic, howdy howdy) down to the very lowest leaf workers (hey yo). We all don't
get it. The Golden Rule of platforms is that you Eat Your Own Dogfood. The
Google+ platform is a pathetic afterthought. We had no API at all at launch,
and last I checked, we had one measly API call. One of the team members
marched in and told me about it when they launched, and I asked: "So is it the
Stalker API?" She got all glum and said "Yeah." I mean, I was joking, but
no... the only API call we offer is to get someone's stream. So I guess the
joke was on me.

Microsoft has known about the Dogfood rule for at least twenty years. It's
been part of their culture for a whole generation now. You don't eat People
Food and give your developers Dog Food. Doing that is simply robbing your
long-term platform value for short-term successes. Platforms are all about
long-term thinking.

Google+ is a knee-jerk reaction, a study in short-term thinking, predicated on
the incorrect notion that Facebook is successful because they built a great
product. But that's not why they are successful. Facebook is successful
because they built an entire constellation of products by allowing other
people to do the work. So Facebook is different for everyone. Some people
spend all their time on Mafia Wars. Some spend all their time on Farmville.
There are hundreds or maybe thousands of different high-quality time sinks
available, so there's something there for everyone.

Our Google+ team took a look at the aftermarket and said: "Gosh, it looks like
we need some games. Let's go contract someone to, um, write some games for
us." Do you begin to see how incredibly wrong that thinking is now? The
problem is that we are trying to predict what people want and deliver it for
them.

You can't do that. Not really. Not reliably. There have been precious few
people in the world, over the entire history of computing, who have been able
to do it reliably. Steve Jobs was one of them. We don't have a Steve Jobs
here. I'm sorry, but we don't."

Interesting comment on Google+ as a platform. I love google products. There
will be lots of innovation (gmail, google voice, g+ etc) if google provides
good APIs to external developers and treat these APIs as first class citizens.

~~~
thurn
Facebook doesn't even come _close_ to eating their own dogfood. They
extensively make use of private APIs, and their commitment to platform
developers is legendarily poor. I do agree that Facebook's success going
forward will be increasingly dependent on their platform, however.

~~~
RobPfeifer
This. The fb platform is fine for small start-ups who don't have any
expectation of SLAs, or huge partners like Zynga who drive their profits or
traffic. But I'm at a $600m ecommerce company and we've found their platform
to be a disaster. APIs don't work, questions are answered months later by
interns who know next to nothing. I know they spend a ton of money/time on it,
but it's seems mostly internal facing at the moment.

------
estel
Looks like it was supposed to be internal only:
[https://plus.google.com/110981030061712822816/posts/bwJ7kAEL...](https://plus.google.com/110981030061712822816/posts/bwJ7kAELRnf)

------
mieses
The problem is how to isolate the Google brand and product from the effects of
platformization so that you don't kill the world's best cat while using shock
therapy to turn him into a dog.

------
44Aman
For those that want to read the post: <http://steverant.pen.io/>

------
imrehg
Seems like it was removed? Too bad I haven't copied it off earlier....

~~~
wouterinho
[https://raw.github.com/gist/933cc4f7df97d553ed89/24386c6a79b...](https://raw.github.com/gist/933cc4f7df97d553ed89/24386c6a79bb4b31fb818b70b34c5eab7f12e1ff/gistfile1.txt)

~~~
mattmanser
I mean this in the nicest way, but there's probably a good reason he took it
down and it's his work.

So do him a favour and delete the copy. Out of respect to a great writer.

~~~
0x12
Steve is a smart guy, and I'm pretty sure he realizes that copies have been
made and will be available forever and then a bit longer still.

The bit that I don't get: Even if Steve's release was accidental, if you write
something like this even when it is for internal use only, you can _still_
count on it being reposted in a public place. 'All of google' is a large
number of people, all it takes is one copy and the genie will never go back in
to the bottle.

If you want to keep something to yourself don't store it on a company website
or write it out in an email.

Company confidential typically translates into 'delayed, uncontrolled
publication' or 'evidence to be used against you' depending on the
circumstances.

If you can't stand by your statements in full view then you probably shouldn't
make them to 10K+ people, especially not when you're a well noted blogger.

~~~
jsnell
There must have been thousands or tens of thousands Google-internal blog
posts, Buzzes, emails and now Plus updates about people's perception of what's
horribly wrong with some aspect of Google. AFAIK none of those leaked widely.
Why would this be different?

~~~
0x12
Because Steve is very visible. Random googler 'x' giving his opinion is one
thing, a guy with the stature of Steve Yegge doing the same is quite another.

Especially one where he pretty much writes that Google's #1 is not 'Steve
Jobs'.

Really, I think that no matter what that this would have found its way to the
general public somehow. That said, I think it's great that he speaks his mind
like this, even if it is intended for an internal audience only.

~~~
jsnell
Internal blog posts written by Yegge earlier didn't leak afaik. Incendiary
technical posts written by people in positions of power didn't leak. I mean,
not even hints of them, let alone the full text. Maybe the engineering culture
has dramatically changed in the last few months, but it used to be the case
that full copying of internal technical discussions to external forums would
have been totally unthinkable.

------
yarapavan
So, there is a platform rule now -

A product is useless without a platform, or more precisely and accurately, a
platform-less product will always be replaced by an equivalent platform-ized
product.

~~~
vogonj
if you consider SMTP+IMAP/POP3 to be APIs, then this is a simple corollary to
Zawinski's Law. the reduction is left as an exercise to the reader.

------
aangjie
Hmm.. Great level of detail in steve yegge's post for a rant....Infact one of
my pain points with google+ is not being able aggregate(#tags) and publish
feeds from my blog. slightly OT: does anyone else think there seems to be a
trend of ranting recently, i mean Ryan Dahl,ted dziuba, and now steve yegge??

~~~
bnr
It is my understanding that Yegge basically invented ranting.

~~~
anupj
I think he made it "mainstream" :)

~~~
aangjie
Well, i haven't been following him long enough to comment on that. But i do
know i prefer his rant compared to the other two. It seems to have more
facts/details than the others.

------
nextparadigms
This post reminds of me of why I couldn't believe Google would launch
Honeycomb with almost no apps optimized for it, when Microsoft managed to have
2000 apps at the launch of WP7.

Also, why they didn't try to bring the content owners on board for Google TV,
and why I think they will be missing a huge opportunity to turn Google TV into
a "console platform" . But I feared they won't "get" this, and this post is
setting my expectations even lower for that.

I knew Google didn't have much experience with an OS, compared to Microsoft or
Apple, and I think they are learning, but they need to learn much faster, and
they really need to put some "design thinking" into everything they do, from
the ground up. They are starting to learn about good design/polish on the
surface, but it really needs to happen at the core of the product from day
one.

~~~
koko775
So this is somewhat related, somewhat off topic from the subject at hand,
but... \----

As for bringing content owners on board - as far as I can tell, they did.
Their developer support was also very responsive. A+ on forming a dialogue
with developers.

Their problem IMO is that they don't appear to feel it in their bones how
important product differentiation is. Maybe they get it, but I don't think
it's sunk in.

Allow me to elaborate. What's the difference between an embedded device, a
phone, a mini-tablet, a tablet, and GoogleTV? Well...

* Embedded devices might have a pre-2.x Android that never got updated. But that's okay, nobody develops apps for them anyways.

* Phones probably have 2.1, maybe 2.2.

* A mini-tablet could be 2.1 or 2.2, and has the mobile device UI.

* A tablet might have 3.0 or 3.1 on it.

* GoogleTV has 3.0 on it, but its market app might filter like it's 3.1. How do you differentiate this in code? Version specifiers, specifying notouch (which will break if googletv ever supports any kind of touchscreen, on a large screen size (which is smaller than a tablet, which has a extra large screen), etc.

Want to develop for iOS? Great. Would you like iPhone or iPad? Or both? Need
to make sure it works on 99.9% of the devices that can download it? No
problem. And hopefully, sometime in the future, maybe Apple will see fit to
enable the AppleTV for developers.

Circling back to address your statements, if Google's aim, or one of them, is
to make GoogleTV into a gaming platform, I don't have much confidence in
Google's ability to deliver on that goal, because GoogleTV is little more than
a revision of Android plus some optional APIs, and Android is architected as a
multi-device platform. It's not a single device with multiple revisions, as is
the case with the iPhone 3G/3GS/4/4S sequence, or even the Nintendo DS and its
subsequent revisions. There are reasons that Android isn't as compelling a
game platform as iOS is, and that is a big one.

With respect to building a multimedia application platform, GoogleTV has
potential if for no other reason than it's one of the few set-top boxes with
an app store, period, and a programming interface that isn't thoroughly
obtuse, but the GTV's design and usability are very weak, almost pre-alpha,
even, as if it were scarcely more than a straight-up port of Android's touch-
optimized interface with an inadequate amount of polish. It's nothing your
average TV-watching user is going to grok, if the keyboard+mouse remote didn't
clue you in.

Really, what it comes down to is that, even for hardware, Google just doesn't
seem to want to release something "perfect". They just want "shippable" -- or
I daresay "just barely shippable" - if you can call it that. Even if they have
critical bugs, so long as developers can work around them, even if they
haven't nailed down the UI, and make a sweeping change right before public
release, that's still "good enough". And "good enough" is the enemy of
"great".

Until Google puts design thinking into their products from the ground up, as
you put it, they aren't going to be able to lead the marketplace.

/rant

------
bozho
I have one odd guess about why Google can get a decent "platform". They hire
"hackers". Their recruitment process involves 99% computer science and almost
none software engineering. So the people there, being amazing at the most
complex computing tasks, just aren't seeing the "big picture".

~~~
objclxt
I notice that he doesn't think much of Amazon's hiring practices, but doesn't
really address the fact that Google's aren't really that great either. When it
works, it works, but the hiring committee system they use has some failure
glaring flaws as well.

------
ThomPete
I seriously hope Jeff Bezos reading HN.

~~~
SimHacker
I imagine Amazon's PR department is a couple of orders of magnitude more
pissed off at him than Google's PR department.

------
redwood
The unmentioned take-away here is not simply the focus on Platforms, but the
reminder that 'Circles' are a weak feature to build a social network on. Why?
because user's had already build organic circles across multiple social spaces
(e.g. professional-only on Linkedin, perhaps family or college-safe on
Facebook, close social on gmail, etc).

What's the advantage to multiple platforms for multiple circles? you don't
accidentally post your internal company rant to the whole world. You don't
post pictures of red cups and beer bongs on Linkedin and you don't talk about
work on Facebook. This is how users were operating before G+ launched, and is
precisely why users aren't diving in.

------
guelo
It's too bad he screwed up the internal posting. It's a great read for us
outsiders but utltimately it just amounts to industry gossip. But internally
the embarrassment might overshadow the impact of what Steve was trying to say.

------
Foliospaces
Google+ still has a chance. But time is running out. Having just used it with
a class for a semester, it was great (because all my students use Facebook so
they weren't distracted!)but there are some huge gaps. Will everyone be gone
before they are fixed. Why oh why, didn't they introduce shared circles from
the start. Try to get 50 students to add each other, it is just not possible.
This is the customer service Amazon point that was made so well in the
article. I think it was great that it went public, there are lots of great
points to think about.

------
rachelbythebay
I'm surprised this is an external post.

Stubby services, eh?

~~~
mziulu
Yeah it's giving me 404 now...

~~~
rachelbythebay
Ha! Yep. I thought it was a bit too honest for a public post by someone who's
still employed there.

Of course, maybe he'll be moving on. His very first line was comparing his
tenure at Amazon (6.5 years) to "and now I've been at Google for that long". I
don't think that's a coincidence, even if he doesn't consciously realize it
yet.

~~~
david927
HN is always trying to fire Steve. He's frustrated that such a good company
can be so bone-headed. Fair enough. He seems also pretty comfy there. That
said...

Steve: if you're reading this, go do something better. Google is feeding your
wallet and ego, but life is more important than that. Go. Do your own thing or
join something like Khan Academy -- there are a million places you could put
your talent that would make the world a better place.

------
yetanotherkosta
Here's another mirror of that post

[https://plus.google.com/117935797319364093334/posts/95Laytmo...](https://plus.google.com/117935797319364093334/posts/95LaytmoKj8)

------
msg
Amazon engineer here, just a couple of observations after a few years at the
company.

As many people said, there's a wide variability in experience at Amazon
depending on the team. And I would say even more, depending on where you sit
in the graph. The bottlenecks at the center have more clients, higher TPS,
more stringent latency requirements. And their support burden is worse and the
engineer's life is worse. It's hard to move everyone forward together. Once
you add enough constraints the problem gets too hard to solve. But like
working at Microsoft, you pay these prices in order to have high impact, a
high number of customers, and high influence. A big question for large service
federations like Amazon is how to smooth out these bottlenecks. Like Stevey's
rant about code size though, first you have to admit you have the problem,
service size.

I joined with a team that was not service oriented. It was like a collection
of cron jobs that ran single threaded applications directly updating the DB.
It was painful and very hard to alter these stateful applications without
breaking things.

I moved to a team that ran a collection of services and it was so much better,
like night and day better. The path forward for us became obvious when we
started thinking about how to migrate between APIs and decompose our services
still further (and by the way, our support burden is comparatively low).

What makes service oriented architecture at Amazon great is that it is cheap.
The other two Amazon advantages Steve mentioned are not coincidences, they are
what you need to make service rollouts low-friction. They are what makes it
possible to shoot first and rollback later. With rare exceptions they are used
by the entire company.

Remember Sinofsky's "don't ship the org chart"? It is a lie. You cannot avoid
it. You always ship the org chart. So the real question is, what is the org
going to look like so that we ship something good-looking? That's the real
purpose of Steve's rant. No matter how much politicking or boosting you do for
this important service-oriented architecture, it doesn't work unless you have
a service-oriented org chart. And Google does not, apparently.

The big big question for the internet and decades in the future is, you say
you're going to organize the world's information. What is the organization
going to look like? I think it'll be more interactive. The API will be there,
there will be writes. It will be less centralized, with the appropriate
authorities owning data and providing an interface to their small piece of the
world's information. I think that's eventually going to mean you own your
identity and provide as much interface as you care to. The arc of the internet
is long but it bends toward decentralization (assuming we keep it out of the
hands of the fascists).

For me Amazon is a microcosm of that future, and it's going to be interesting
to lead the way there.

~~~
limist
Very informative and well-written post, thank you. Nice evolution of the MLK
quote.

What I'm wondering next is, What is the practical take-away for startups and
relatively small efforts that are looking to scale? Regardless of tools-stack,
what should a forward-thinking developer do? Is the answer to design around a
RESTful API specification right from the beginning, then building layers of
server-side and client-side code exclusively using that API? etc. etc.

~~~
msg
It's a little hard to talk about this broad topic without bloviating. Here
goes.

So first, take that stuff Steve said about extensibility to heart. He has
another blog somewhere, oh here it is

[http://steve-yegge.blogspot.com/2007/01/pinocchio-
problem.ht...](http://steve-yegge.blogspot.com/2007/01/pinocchio-problem.html)

about software that is alive because it's extensible. That is true of your
startup too. You don't want to be a "site", you want to be a "service". And
that means you want to be an authority for a unique kind of data, that you
want your users to create and use.

I think the Google+ data is pretty unique and cool. I like the user
experience. But you can't call it a service, which is bad news until they get
their crap together.

I'm a strong believer that flowing data puts pressure on software to work
correctly. You want a public API because you don't assume that you and your
team are world class geniuses who have exhausted the search space of valid use
cases for your data... but your customers can, close enough. (A very Amazon
virtue: start with the customer.)

You want to have a well-designed interface for yourself and your users because
it's so painful to scale, migrate, control security, etc. without it. So sure,
I would say start with it as early as you can stand. Make it public as soon as
you can. Allow your users to contribute and build on your data and service.

You'll probably treat your public-facing interfaces with different levels of
scrutiny than internal-only ones. This is convenient, but it might be a
mistake. You don't want to put off security or user data integrity until it's
too late.

Having multiple services means that you can scale them independently. This
costs some overhead but you'll be able to right-size your hardware, say with
appropriate fleets in EC2.

Sorry that's all kind of generic, but that's about as deep as I would go
without a real-world example to talk about.

The High Scalability blog is one I would recommend at the leading edge of this
thing. I see posts on the front page alone that cover all I've been talking
about and more.

<http://highscalability.com/>

~~~
limist
Thanks for both the links and the advice - this is making more sense.

It would be fantastic if someone - maybe you, since you've got a high-level
10,000' view down to the on-the-ground detailed experience - could consolidate
this into an article and provide a guide on how to build software as a
platform from the get-go. Any chance of that? :)

------
abbott
which came first, the product or the platform? I remember when twitter
switched over their public site and services to run on their API. Instagram
just built theirs earlier this year. If the platform has an outage, so does
the product. It's tough to justify a platform until you have traction, and
unfortunately the industry track record reflects this.

Excellent insights in Steve's post.

------
ramkalari
It would be interesting to take Salesforce also as a case study. Didn't they
move from a product to a platform?

------
redmoon91
Steve, you rock! Don't do the Jerry Maguire and recant your memo to everyone.
If Google's executives have risen so high in their own self-estimation that
they can't smell the dogpoop sticking to their shoes, then you are better off
riding your own wave that started here. Follow your heart and the original
inspiration for this rant. I believe in Google, and hopefully you will get a
raise instead of a pink slip. Google is a good company that a lot of people
want to keep rallying behind. Sometimes it takes a lone wolf, the sound of a
gunshot, to shock the cows out of the self-induced trance inspired by their
own mooing. Everything you said was true, and those who CAN and WANT to know,
KNOW it. Your rant rides to a vast body of water - let's see if the big horse
drinks.

------
iamelgringo
gods, I miss Stevey's drunken rants.

And... after spending an evening looking at Google's calendaring API's... he's
got a couple'a points.

------
superasn
I found this post on hn-daily so I feel I'm a bit late to the party but still
this is one of the most profound and interesting things I've read lately
regarding technology and had me pondering on hours how this approach can even
really benefit my small small company.

Anyway, after reading this I feel really hungry to read more of such posts
which tell you what the turning points were of a company and why you should be
doing it too or not. Anyone have any links to similar such-must-read posts?

------
codejoust
Response:
[https://plus.google.com/110981030061712822816/posts/bwJ7kAEL...](https://plus.google.com/110981030061712822816/posts/bwJ7kAELRnf)

------
aab1d
The article is no more available. I read it and then sent it to a few friends
and now its the links dead.

That was the best and most truthful article I read in a long long time.

------
tmsh
google search: 'malcolm gladwell third'.

Sort of relevant. Different mindsets.

I don't completely buy the argument (the marginal utility of learning from the
first and second iteration isn't always as meaningful as you might think) --
but I partly buy the argument. And it's sort of relevant here. I.e., it's hard
to be both inventive and an integrator. Though once you're aware of the
problem it might not be that hard.

------
coob
He's taken it down, here's the original text:

<http://pastebin.com/wGfKuMAJ>

------
mun2mun
Sorry for commenting same comment again. But check the post posted here 3
years ago

<http://news.ycombinator.com/item?id=465882>

At that time everyone was praising about bezos, amazons culture.What
circumstances changed the views about amazon? Honest question.

------
yonasb
The fact that he didn't mean to post this is proof enough that G+ sucks. And
he's spot on about everything he said. Google doesn't get platforms at all.
Look what happened to Blogger, arguably their most successful platform (which
they didn't even build).

~~~
deltaqueue
Is it really proof? I have used G+ only a handful of times, but posting has
been incredibly simple -- to classify who should see your post you click in a
box and select the groups who should have access to it. One of them is
"Public."

I'm struggling to see how someone intelligent enough to work at Google could
not figure this out. Perhaps it was just an error caused by posting too
quickly, or it wasn't an error at all.

~~~
yonasb
He was probably tired and didn't see what he was doing. I was joking about
that part. But it does suck

------
nathanb
If Amazon understand APIs and platforms so well, why doesn't Amazon Cloud
Drive have an API?

------
rythie
Has someone still got it open in tab to repost here? since it seems to have
been removed.

~~~
44Aman
Try this: <http://steverant.pen.io/>

~~~
tRAS
I just clicked on edit page, and gave 'steverant' as the password. Guess, what
happened next. :P

------
piglet99
Google's "stubby" technology hasn't been talked of publicly before has it
?????

------
nextparadigms
Wave may have been a great platform, and it's probably why many still want to
continue it to this day, but it was a terrible product UI wise, and I think
that's the biggest reason it failed.

------
swah
"There are dozens, maybe hundreds of individual learnings like these that
Amazon had to discover organically."

From the examples, this would be a very valuable documentation to have access
to.

------
rprime
I don't see why people tag this is a bad thing? He exercises his freedom of
speech in a constructive matter, both Amazon and Google should get this as a
pro thing.

------
gms
I find it hard to believe that any significant number of people use things
made using Facebook Platform. Vast majority of people simply use the product
itself.

~~~
chwahoo
Spotify, MOG, Pandora, Farmville, are all popular users of the platform.

~~~
gms
Yeah, but Steve made it sound that that's why Facebook is successful. I was
disputing that.

------
danmaz74
The first thing that this post, and the comments, make me think is just how
difficult it is to run a big company.

------
djhworld
Very insightful and interesting read, a good way to spend a few minutes during
my lunch break!

~~~
TheTarquin
"...a few minutes..."

You obviously read a hell of a lot faster than I do.

------
swah
1000 points and I can't find the place we discuss what he said.

------
swah
Can a thrift service be externalizable?

------
tmsh
google search: 'malcolm gladwell third'.

Sort of relevant. Different mindsets.

I don't completely buy the argument (the marginal utility of learning from the
first and second iteration isn't always as meaningful as you might think) --
but I partly buy the argument. And it's sort of relevant here. I.e., it's hard
to be inventive and an integrator. Though once you're aware of the problem it
might not be that hard.

------
theponder
Whats an SRE?

------
chris_gogreen
getting 404 error

------
nirvana
I worked at Amazon from before Steve left to sometime later. I remember being
excited when Larry Tessler was hired, and dismayed at the way he was treated.
Everything Steve says about Amazon is true, only, it was much worse. Amazon
was, by far, the worst employment experience I've ever had. I'm not saying
that lightly, I worked for a dozen startups, a couple of which crashed hard in
the most gut wrenchingly painful way you could imagine. (Though by far most of
my experiences were positive.)

Amazon was a purely political environment where, if you weren't watching your
back you'd get stabbed and become a rung in someone else's ladder. In our
group, the manager had zero engineering experience (literally had gone to
college to be a prison guard, somehow ended up "managing" programmers, though
barely computer literate.) In fact, it was so bad that when I'd finally had
enough, and quit[1] (because my transfer to the AWS team was blocked by the
prison guard) I vowed never to work for anyone else, ever again. Which means,
I _had_ to do a startup.

Anyway, the SOA effort was in full swing when I was there. It was a pain, and
it was a mess because every team did things differently and every API was
different and based on different assumptions and written in a different
language.

But I want to correct the misperception that this lead to AWS. It didn't. S3
was written by its own team, from scratch. At the time I was at Amazon,
working on the retail site, none of Amazon.com was running on AWS. I know,
when AWS was announced, with great fanfare, they said "the services that power
Amazon.com can now power your business!" or words to that effect. This was a
flat out lie. The only thing they shared was data centers and a standard
hardware configuration. Even by the time I left, when AWS was running full
steam ahead (and probably running Reddit already), none of Amazon.com was
running on AWS, except for a few, small, experimental and relatively new
projects. I'm sure more of it has been adopted now, but AWS was always a
separate team (and a better managed one, from what I could see.)

Regarding Bezos's micromanagement: I do remember, one fall, in the run up to
christmas, surfacing an issue with the site several times. My manager told me
that his boss didn't want to change it, but I knew it was a bug. I went above
his bosses head and told that guy (who was a Bezos report) about it. I even
cced Bezos on an email about it, and of course, the VP chewed out his
underling who chewed out his boss, who chewed out me.

Then, at 3AM, the night before I was supposed to fly out to visit my parents
for thanksgiving at 10AM, I was awakened[2] and made to fix the problem. The
problem I'd wanted to fix 2-3 months earlier. The problem I'd gotten chewed
out for trying to surface but been told "won't fix" all the way up and down
the chain of command. Because Bezos had gone to buy something on the site and
had seen the problem himself. So, my thanksgiving trip was ruined, of course,
and I had to do it- RIGHT THAT MINUTE- in the middle of the night.

The icing? After fixing it and going back to bed, and coming in the next day
(which was a vacation day, mind you, as I was supposed to fly that day...) I
got chewed out by my boss for coming in at 10am.

I don't know about you, but if you get woken up at 3am and spend 2 hours
coding, you should be allowed to show up for work the next morning at 10am.

Bezos was right that it needed to be fixed. However, he must be a B player
because his direct report was a C player who wouldn't let me fix it when it
was discovered.

Yeah, I wouldn't recommend you go work at Amazon.[3]

Sorry if I've gotten off topic. It's rare that you can find candid
descriptions of what it's like to work somewhere.... since Steve felt free to
be candid, I figured I'd share my experiences. I also worked for other large
companies, like, for instance, Microsoft. Microsoft was weird in a sort of
cult like way, and had its own management problems, but was much more
enjoyable... and really treated their employees a whole lot better. At MSFT,
hardship was having to share your office with another programmer. At Amazon, I
was literally in a hallway, with a dozen other people, with major foot traffic
walking past my desk (And right behind my chair) all day long, a lot of noise
and a very large window over my shoulder reflecting right into my monitor...
all day long.

Worst Job Ever.

Thank you for indulging my venting.

[1] It wasn't just me either, by the time I left, %60 of the team had already
gotten internal transfers or resigned. I was being loyal, and went to HR to
try and get some advice or mediation, but despite being promised
confidentiality, the notes of my meeting with the HR rep were forwarded to my
boss.

[2] At amazon they have this crazy idea that engineers should have pagers. I'm
sure it sounded great at the time. I didn't have the pager that week, but that
didn't matter to the boss[4], who knew I'd been the one to find the issue. So
he called me. I think the phone rang for a good 20 minutes before I woke up.

Never let your employer give you a pager, unless you're an ops guy.

[3] After I left, and after my team was literally decimated by the hostile
environment created by our boss, I found out he got promoted! Yep, now he's
managing managers.

[4] Why was the boss up at 3am? Well, Bezos called him, but he'd been up
already... he was a hard partier who, just between you and me, also was
selling drugs on the side. Most of the stoners in PacMed were getting their
bags from him.

~~~
simplekoala
As an ex-Amazonian, I have to second your opinion. It was by far the worst
employment experience I had at a tech company. In my 10 year tenure, I
fortunately didn't come across any company as bad as Amazon, when it comes to
how it treats its employees. The management doesn't have any value for the
lives of their developers, and use them as tissues. Use and throw seems to
their policy. If you can take their abuse, and don't value your personal life,
you can survive there long enough. You are expected to work like slaves,
always on call. Office cubes were cramped, there is no free soda, drinks. Even
coffee they stocked in the kitchen was cheap. They celebrate frugality at the
cost of quality of working conditions they provide to their developers. No
wonder, one of the SVP's life misson when he joined Amazon from Microsoft was
to make Amazon a place where developers would love to _stay_. Average turn-
over at Amazon is around 18-24 months. Most of the line managers were clueless
and sometimes completely non-technical. I wondered why smart engineers would
even consider working there, when they can work in awesome companies in the
valley where they celebrate/cherish people they hire, and actually care about
them. Most of the kids who are hired right out of school, wisen up, and leave
in 2 years. I worked at Microsoft too. Microsoft with all it faults still
takes amazing care of its employees. Great perks. Amazon just pays salary, and
its medical insurance is a joke when compared to Microsoft. One other biggest
gripe I have about Amazon is that it leverages so many open-source
technologies but they don't give back (much) to tech community or industry as
such. It is not in their DNA. Their attitude is similar when it comes to its
people. My advice for anyone considering Amazon, should seriously talk to
current and Ex-Amazonians, and get a real-picture of what you can get out of
Amazon. Folks who don't have the faintest idea about working for Amazon seemed
to have downvoted a similar opinion of mine in the past on HN. For clueless
folks who think, I am some dis-gruntled employee, I can gladly quote/refer to
Yegge's post now. Quitting Amazon was one of the wisest decisions I made.

~~~
haldean
Advice taken. I have an offer from them right now, as well as an offer from
elsewhere -- after seeing this whole thread, I think I'll go for the
elsewhere. Thanks for the advice!

~~~
simplekoala
Amazon is still a great place to learn, if you are willing to take the brunt
of operations and don't mind having no life. Dismal working conditions, over-
working, heavy operations load (group specific), having no-life, working over
holidays, poor line managers, cover-your-ass politics aside - It is one of the
few places where you truly get to see how large scale web-based/distributed
systems are conceived, built, and operated. It could be a great career launch
pad, if you are just out of school. It will be like drinking from a fire-hose.
If you are single, and in a good group with the right set of peers then it
could work out well for you. If elsewhere is a super hot startup
(Quora/Palantir/Dropbox and ilk or good tech companies like Google, FB,
Twitter, Linkedin or even Zynga (pre-IPO makes it hot in my opinion) then I
would seriously consider the down-sides of working for Amazon, and living in
Seattle.

------
pitdesi
It now 404's so I've posted it here:

Stevey's Google Platforms Rant

I was at Amazon for about six and a half years, and now I've been at Google
for that long. One thing that struck me immediately about the two companies --
an impression that has been reinforced almost daily -- is that Amazon does
everything wrong, and Google does everything right. Sure, it's a sweeping
generalization, but a surprisingly accurate one. It's pretty crazy. There are
probably a hundred or even two hundred different ways you can compare the two
companies, and Google is superior in all but three of them, if I recall
correctly. I actually did a spreadsheet at one point but Legal wouldn't let me
show it to anyone, even though recruiting loved it.

I mean, just to give you a very brief taste: Amazon's recruiting process is
fundamentally flawed by having teams hire for themselves, so their hiring bar
is incredibly inconsistent across teams, despite various efforts they've made
to level it out. And their operations are a mess; they don't really have SREs
and they make engineers pretty much do everything, which leaves almost no time
for coding - though again this varies by group, so it's luck of the draw. They
don't give a single shit about charity or helping the needy or community
contributions or anything like that. Never comes up there, except maybe to
laugh about it. Their facilities are dirt-smeared cube farms without a dime
spent on decor or common meeting areas. Their pay and benefits suck, although
much less so lately due to local competition from Google and Facebook. But
they don't have any of our perks or extras -- they just try to match the
offer-letter numbers, and that's the end of it. Their code base is a disaster,
with no engineering standards whatsoever except what individual teams choose
to put in place.

To be fair, they do have a nice versioned-library system that we really ought
to emulate, and a nice publish-subscribe system that we also have no
equivalent for. But for the most part they just have a bunch of crappy tools
that read and write state machine information into relational databases. We
wouldn't take most of it even if it were free.

I think the pubsub system and their library-shelf system were two out of the
grand total of three things Amazon does better than google.

I guess you could make an argument that their bias for launching early and
iterating like mad is also something they do well, but you can argue it either
way. They prioritize launching early over everything else, including retention
and engineering discipline and a bunch of other stuff that turns out to matter
in the long run. So even though it's given them some competitive advantages in
the marketplace, it's created enough other problems to make it something less
than a slam-dunk.

But there's one thing they do really really well that pretty much makes up for
ALL of their political, philosophical and technical screw-ups.

Jeff Bezos is an infamous micro-manager. He micro-manages every single pixel
of Amazon's retail site. He hired Larry Tesler, Apple's Chief Scientist and
probably the very most famous and respected human-computer interaction expert
in the entire world, and then ignored every goddamn thing Larry said for three
years until Larry finally -- wisely -- left the company. Larry would do these
big usability studies and demonstrate beyond any shred of doubt that nobody
can understand that frigging website, but Bezos just couldn't let go of those
pixels, all those millions of semantics-packed pixels on the landing page.
They were like millions of his own precious children. So they're all still
there, and Larry is not.

Micro-managing isn't that third thing that Amazon does better than us, by the
way. I mean, yeah, they micro-manage really well, but I wouldn't list it as a
strength or anything. I'm just trying to set the context here, to help you
understand what happened. We're talking about a guy who in all seriousness has
said on many public occasions that people should be paying him to work at
Amazon. He hands out little yellow stickies with his name on them, reminding
people "who runs the company" when they disagree with him. The guy is a
regular... well, Steve Jobs, I guess. Except without the fashion or design
sense. Bezos is super smart; don't get me wrong. He just makes ordinary
control freaks look like stoned hippies.

So one day Jeff Bezos issued a mandate. He's doing that all the time, of
course, and people scramble like ants being pounded with a rubber mallet
whenever it happens. But on one occasion -- back around 2002 I think, plus or
minus a year -- he issued a mandate that was so out there, so huge and eye-
bulgingly ponderous, that it made all of his other mandates look like
unsolicited peer bonuses.

His Big Mandate went something along these lines:

1) All teams will henceforth expose their data and functionality through
service interfaces.

2) Teams must communicate with each other through these interfaces.

3) There will be no other form of interprocess communication allowed: no
direct linking, no direct reads of another team's data store, no shared-memory
model, no back-doors whatsoever. The only communication allowed is via service
interface calls over the network.

4) It doesn't matter what technology they use. HTTP, Corba, Pubsub, custom
protocols -- doesn't matter. Bezos doesn't care.

5) All service interfaces, without exception, must be designed from the ground
up to be externalizable. That is to say, the team must plan and design to be
able to expose the interface to developers in the outside world. No
exceptions.

6) Anyone who doesn't do this will be fired.

7) Thank you; have a nice day!

Ha, ha! You 150-odd ex-Amazon folks here will of course realize immediately
that #7 was a little joke I threw in, because Bezos most definitely does not
give a shit about your day.

#6, however, was quite real, so people went to work. Bezos assigned a couple
of Chief Bulldogs to oversee the effort and ensure forward progress, headed up
by Uber-Chief Bear Bulldog Rick Dalzell. Rick is an ex-Armgy Ranger, West
Point Academy graduate, ex-boxer, ex-Chief Torturer slash CIO at Wal*Mart, and
is a big genial scary man who used the word "hardened interface" a lot. Rick
was a walking, talking hardened interface himself, so needless to say,
everyone made LOTS of forward progress and made sure Rick knew about it.

Over the next couple of years, Amazon transformed internally into a service-
oriented architecture. They learned a tremendous amount while effecting this
transformation. There was lots of existing documentation and lore about SOAs,
but at Amazon's vast scale it was about as useful as telling Indiana Jones to
look both ways before crossing the street. Amazon's dev staff made a lot of
discoveries along the way. A teeny tiny sampling of these discoveries
included:

\- pager escalation gets way harder, because a ticket might bounce through 20
service calls before the real owner is identified. If each bounce goes through
a team with a 15-minute response time, it can be hours before the right team
finally finds out, unless you build a lot of scaffolding and metrics and
reporting.

\- every single one of your peer teams suddenly becomes a potential DOS
attacker. Nobody can make any real forward progress until very serious quotas
and throttling are put in place in every single service.

\- monitoring and QA are the same thing. You'd never think so until you try
doing a big SOA. But when your service says "oh yes, I'm fine", it may well be
the case that the only thing still functioning in the server is the little
component that knows how to say "I'm fine, roger roger, over and out" in a
cheery droid voice. In order to tell whether the service is actually
responding, you have to make individual calls. The problem continues
recursively until your monitoring is doing comprehensive semantics checking of
your entire range of services and data, at which point it's indistinguishable
from automated QA. So they're a continuum.

\- if you have hundreds of services, and your code MUST communicate with other
groups' code via these services, then you won't be able to find any of them
without a service-discovery mechanism. And you can't have that without a
service registration mechanism, which itself is another service. So Amazon has
a universal service registry where you can find out reflectively
(programmatically) about every service, what its APIs are, and also whether it
is currently up, and where.

\- debugging problems with someone else's code gets a LOT harder, and is
basically impossible unless there is a universal standard way to run every
service in a debuggable sandbox.

That's just a very small sample. There are dozens, maybe hundreds of
individual learnings like these that Amazon had to discover organically. There
were a lot of wacky ones around externalizing services, but not as many as you
might think. Organizing into services taught teams not to trust each other in
most of the same ways they're not supposed to trust external developers.

This effort was still underway when I left to join Google in mid-2005, but it
was pretty far advanced. From the time Bezos issued his edict through the time
I left, Amazon had transformed culturally into a company that thinks about
everything in a services-first fashion. It is now fundamental to how they
approach all designs, including internal designs for stuff that might never
see the light of day externally.

At this point they don't even do it out of fear of being fired. I mean,
they're still afraid of that; it's pretty much part of daily life there,
working for the Dread Pirate Bezos and all. But they do services because
they've come to understand that it's the Right Thing. There are without
question pros and cons to the SOA approach, and some of the cons are pretty
long. But overall it's the right thing because SOA-driven design enables
Platforms.

That's what Bezos was up to with his edict, of course. He didn't (and doesn't)
care even a tiny bit about the well-being of the teams, nor about what
technologies they use, nor in fact any detail whatsoever about how they go
about their business unless they happen to be screwing up. But Bezos realized
long before the vast majority of Amazonians that Amazon needs to be a
platform.

You wouldn't really think that an online bookstore needs to be an extensible,
programmable platform. Would you?

Well, the first big thing Bezos realized is that the infrastructure they'd
built for selling and shipping books and sundry could be transformed an
excellent repurposable computing platform. So now they have the Amazon Elastic
Compute Cloud, and the Amazon Elastic MapReduce, and the Amazon Relational
Database Service, and a whole passel' o' other services browsable at
aws.amazon.com. These services host the backends for some pretty successful
companies, reddit being my personal favorite of the bunch.

The other big realization he had was that he can't always build the right
thing. I think Larry Tesler might have struck some kind of chord in Bezos when
he said his mom couldn't use the goddamn website. It's not even super clear
whose mom he was talking about, and doesn't really matter, because nobody's
mom can use the goddamn website. In fact I myself find the website
disturbingly daunting, and I worked there for over half a decade. I've just
learned to kinda defocus my eyes and concentrate on the million or so pixels
near the center of the page above the fold.

I'm not really sure how Bezos came to this realization -- the insight that he
can't build one product and have it be right for everyone. But it doesn't
matter, because he gets it. There's actually a formal name for this
phenomenon. It's called Accessibility, and it's the most important thing in
the computing world.

The. Most. Important. Thing.

If you're sorta thinking, "huh? You mean like, blind and deaf people
Accessibility?" then you're not alone, because I've come to understand that
there are lots and LOTS of people just like you: people for whom this idea
does not have the right Accessibility, so it hasn't been able to get through
to you yet. It's not your fault for not understanding, any more than it would
be your fault for being blind or deaf or motion-restricted or living with any
other disability. When software -- or idea-ware for that matter -- fails to be
accessible to anyone for any reason, it is the fault of the software or of the
messaging of the idea. It is an Accessibility failure.

Like anything else big and important in life, Accessibility has an evil twin
who, jilted by the unbalanced affection displayed by their parents in their
youth, has grown into an equally powerful Arch-Nemesis (yes, there's more than
one nemesis to accessibility) named Security. And boy howdy are the two ever
at odds.

But I'll argue that Accessibility is actually more important than Security
because dialing Accessibility to zero means you have no product at all,
whereas dialing Security to zero can still get you a reasonably successful
product such as the Playstation Network.

So yeah. In case you hadn't noticed, I could actually write a book on this
topic. A fat one, filled with amusing anecdotes about ants and rubber mallets
at companies I've worked at. But I will never get this little rant published,
and you'll never get it read, unless I start to wrap up.

That one last thing that Google doesn't do well is Platforms. We don't
understand platforms. We don't "get" platforms. Some of you do, but you are
the minority. This has become painfully clear to me over the past six years. I
was kind of hoping that competitive pressure from Microsoft and Amazon and
more recently Facebook would make us wake up collectively and start doing
universal services. Not in some sort of ad-hoc, half-assed way, but in more or
less the same way Amazon did it: all at once, for real, no cheating, and
treating it as our top priority from now on.

But no. No, it's like our tenth or eleventh priority. Or fifteenth, I don't
know. It's pretty low. There are a few teams who treat the idea very
seriously, but most teams either don't think about it all, ever, or only a
small percentage of them think about it in a very small way.

It's a big stretch even to get most teams to offer a stubby service to get
programmatic access to their data and computations. Most of them think they're
building products. And a stubby service is a pretty pathetic service. Go back
and look at that partial list of learnings from Amazon, and tell me which ones
Stubby gives you out of the box. As far as I'm concerned, it's none of them.
Stubby's great, but it's like parts when you need a car.

A product is useless without a platform, or more precisely and accurately, a
platform-less product will always be replaced by an equivalent platform-ized
product.

Google+ is a prime example of our complete failure to understand platforms
from the very highest levels of executive leadership (hi Larry, Sergey, Eric,
Vic, howdy howdy) down to the very lowest leaf workers (hey yo). We all don't
get it. The Golden Rule of platforms is that you Eat Your Own Dogfood. The
Google+ platform is a pathetic afterthought. We had no API at all at launch,
and last I checked, we had one measly API call. One of the team members
marched in and told me about it when they launched, and I asked: "So is it the
Stalker API?" She got all glum and said "Yeah." I mean, I was joking, but
no... the only API call we offer is to get someone's stream. So I guess the
joke was on me.

Microsoft has known about the Dogfood rule for at least twenty years. It's
been part of their culture for a whole generation now. You don't eat People
Food and give your developers Dog Food. Doing that is simply robbing your
long-term platform value for short-term successes. Platforms are all about
long-term thinking.

Google+ is a knee-jerk reaction, a study in short-term thinking, predicated on
the incorrect notion that Facebook is successful because they built a great
product. But that's not why they are successful. Facebook is successful
because they built an entire constellation of products by allowing other
people to do the work. So Facebook is different for everyone. Some people
spend all their time on Mafia Wars. Some spend all their time on Farmville.
There are hundreds or maybe thousands of different high-quality time sinks
available, so there's something there for everyone.

Our Google+ team took a look at the aftermarket and said: "Gosh, it looks like
we need some games. Let's go contract someone to, um, write some games for
us." Do you begin to see how incredibly wrong that thinking is now? The
problem is that we are trying to predict what people want and deliver it for
them.

You can't do that. Not really. Not reliably. There have been precious few
people in the world, over the entire history of computing, who have been able
to do it reliably. Steve Jobs was one of them. We don't have a Steve Jobs
here. I'm sorry, but we don't.

Larry Tesler may have convinced Bezos that he was no Steve Jobs, but Bezos
realized that he didn't need to be a Steve Jobs in order to provide everyone
with the right products: interfaces and workflows that they liked and felt at
ease with. He just needed to enable third-party developers to do it, and it
would happen automatically.

I apologize to those (many) of you for whom all this stuff I'm saying is
incredibly obvious, because yeah. It's incredibly frigging obvious. Except
we're not doing it. We don't get Platforms, and we don't get Accessibility.
The two are basically the same thing, because platforms solve accessibility. A
platform is accessibility.

So yeah, Microsoft gets it. And you know as well as I do how surprising that
is, because they don't "get" much of anything, really. But they understand
platforms as a purely accidental outgrowth of having started life in the
business of providing platforms. So they have thirty-plus years of learning in
this space. And if you go to msdn.com, and spend some time browsing, and
you've never seen it before, prepare to be amazed. Because it's staggeringly
huge. They have thousands, and thousands, and THOUSANDS of API calls. They
have a HUGE platform. Too big in fact, because they can't design for squat,
but at least they're doing it.

Amazon gets it. Amazon's AWS (aws.amazon.com) is incredible. Just go look at
it. Click around. It's embarrassing. We don't have any of that stuff.

Apple gets it, obviously. They've made some fundamentally non-open choices,
particularly around their mobile platform. But they understand accessibility
and they understand the power of third-party development and they eat their
dogfood. And you know what? They make pretty good dogfood. Their APIs are a
hell of a lot cleaner than Microsoft's, and have been since time immemorial.

Facebook gets it. That's what really worries me. That's what got me off my
lazy butt to write this thing. I hate blogging. I hate... plussing, or
whatever it's called when you do a massive rant in Google+ even though it's a
terrible venue for it but you do it anyway because in the end you really do
want Google to be successful. And I do! I mean, Facebook wants me there, and
it'd be pretty easy to just go. But Google is home, so I'm insisting that we
have this little family intervention, uncomfortable as it might be.

After you've marveled at the platform offerings of Microsoft and Amazon, and
Facebook I guess (I didn't look because I didn't want to get too depressed),
head over to developers.google.com and browse a little. Pretty big difference,
eh? It's like what your fifth-grade nephew might mock up if he were doing an
assignment to demonstrate what a big powerful platform company might be
building if all they had, resource-wise, was one fifth grader.

Please don't get me wrong here -- I know for a fact that the dev-rel team has
had to FIGHT to get even this much available externally. They're kicking ass
as far as I'm concerned, because they DO get platforms, and they are
struggling heroically to try to create one in an environment that is at best
platform-apathetic, and at worst often openly hostile to the idea.

I'm just frankly describing what developers.google.com looks like to an
outsider. It looks childish. Where's the Maps APIs in there for Christ's sake?
Some of the things in there are labs projects. And the APIs for everything I
clicked were... they were paltry. They were obviously dog food. Not even good
organic stuff. Compared to our internal APIs it's all snouts and horse hooves.

And also don't get me wrong about Google+. They're far from the only
offenders. This is a cultural thing. What we have going on internally is
basically a war, with the underdog minority Platformers fighting a more or
less losing battle against the Mighty Funded Confident Producters.

Any teams that have successfully internalized the notion that they should be
externally programmable platforms from the ground up are underdogs -- Maps and
Docs come to mind, and I know GMail is making overtures in that direction. But
it's hard for them to get funding for it because it's not part of our culture.
Maestro's funding is a feeble thing compared to the gargantuan Microsoft
Office programming platform: it's a fluffy rabbit versus a T-Rex. The Docs
team knows they'll never be competitive with Office until they can match its
scripting facilities, but they're not getting any resource love. I mean, I
assume they're not, given that Apps Script only works in Spreadsheet right
now, and it doesn't even have keyboard shortcuts as part of its API. That team
looks pretty unloved to me.

Ironically enough, Wave was a great platform, may they rest in peace. But
making something a platform is not going to make you an instant success. A
platform needs a killer app. Facebook -- that is, the stock service they offer
with walls and friends and such -- is the killer app for the Facebook
Platform. And it is a very serious mistake to conclude that the Facebook App
could have been anywhere near as successful without the Facebook Platform.

You know how people are always saying Google is arrogant? I'm a Googler, so I
get as irritated as you do when people say that. We're not arrogant, by and
large. We're, like, 99% Arrogance-Free. I did start this post -- if you'll
reach back into distant memory -- by describing Google as "doing everything
right". We do mean well, and for the most part when people say we're arrogant
it's because we didn't hire them, or they're unhappy with our policies, or
something along those lines. They're inferring arrogance because it makes them
feel better.

But when we take the stance that we know how to design the perfect product for
everyone, and believe you me, I hear that a lot, then we're being fools. You
can attribute it to arrogance, or naivete, or whatever -- it doesn't matter in
the end, because it's foolishness. There IS no perfect product for everyone.

And so we wind up with a browser that doesn't let you set the default font
size. Talk about an affront to Accessibility. I mean, as I get older I'm
actually going blind. For real. I've been nearsighted all my life, and once
you hit 40 years old you stop being able to see things up close. So font
selection becomes this life-or-death thing: it can lock you out of the product
completely. But the Chrome team is flat-out arrogant here: they want to build
a zero-configuration product, and they're quite brazen about it, and Fuck You
if you're blind or deaf or whatever. Hit Ctrl-+ on every single page visit for
the rest of your life.

It's not just them. It's everyone. The problem is that we're a Product Company
through and through. We built a successful product with broad appeal -- our
search, that is -- and that wild success has biased us.

Amazon was a product company too, so it took an out-of-band force to make
Bezos understand the need for a platform. That force was their evaporating
margins; he was cornered and had to think of a way out. But all he had was a
bunch of engineers and all these computers... if only they could be monetized
somehow... you can see how he arrived at AWS, in hindsight.

Microsoft started out as a platform, so they've just had lots of practice at
it.

Facebook, though: they worry me. I'm no expert, but I'm pretty sure they
started off as a Product and they rode that success pretty far. So I'm not
sure exactly how they made the transition to a platform. It was a relatively
long time ago, since they had to be a platform before (now very old) things
like Mafia Wars could come along.

Maybe they just looked at us and asked: "How can we beat Google? What are they
missing?"

The problem we face is pretty huge, because it will take a dramatic cultural
change in order for us to start catching up. We don't do internal service-
oriented platforms, and we just as equally don't do external ones. This means
that the "not getting it" is endemic across the company: the PMs don't get it,
the engineers don't get it, the product teams don't get it, nobody gets it.
Even if individuals do, even if YOU do, it doesn't matter one bit unless we're
treating it as an all-hands-on-deck emergency. We can't keep launching
products and pretending we'll turn them into magical beautiful extensible
platforms later. We've tried that and it's not working.

The Golden Rule of Platforms, "Eat Your Own Dogfood", can be rephrased as
"Start with a Platform, and Then Use it for Everything." You can't just bolt
it on later. Certainly not easily at any rate -- ask anyone who worked on
platformizing MS Office. Or anyone who worked on platformizing Amazon. If you
delay it, it'll be ten times as much work as just doing it correctly up front.
You can't cheat. You can't have secret back doors for internal apps to get
special priority access, not for ANY reason. You need to solve the hard
problems up front.

I'm not saying it's too late for us, but the longer we wait, the closer we get
to being Too Late.

I honestly don't know how to wrap this up. I've said pretty much everything I
came here to say today. This post has been six years in the making. I'm sorry
if I wasn't gentle enough, or if I misrepresented some product or team or
person, or if we're actually doing LOTS of platform stuff and it just so
happens that I and everyone I ever talk to has just never heard about it. I'm
sorry.

But we've gotta start doing this right.

~~~
Jun8
Although the etiquette of posting it here is debatable this post is gold, it
is not (totally) an ordinary disgruntled coder rant. It's worth reading even
for the small list of problems that he gives that Amazon faced when trying to
go to an all-services architecture.

But if I had to summarize the main point, I would choose: "The Golden Rule of
Platforms, "Eat Your Own Dogfood", can be rephrased as "Start with a Platform,
and Then Use it for Everything." You can't just bolt it on later." Start with
the platform. This is so obvious, yet a lot of middle and higher managers
ignore this either because (i) they are totally ignorant (see Peter's
Principle), sadly the case that I usually face, (ii) they pragmatically ignore
it, because they are doing greedy optimization for the next 6mos-year and
developing the platform is just a "waste of time", or (iii) they ignore
developing and making available the platforms they already have because they
think it's their "competitive advantage".

The way I read his post, Google's case seems to be (iii). They have great
internal tools and platforms for _many_ years now, why they wouldn't develop
good APIs around these and make them available is a mystery to me. Wouldn't
they have eaten AWS for lunch if they platform-atized their Map-Reduce tools,
say around 2004?

~~~
nostrademons
It's not that. The procedure for open-sourcing Google-owned code is very easy:
you e-mail Chris DiBona and he almost always says yes. There've been a bunch
of major pieces of the Google infrastructure open-sourced (eg. cTemplate,
Closure, Protocol Buffers, Guice).

The problem is really technical. Because of the open codebase and "edit
anything" culture, basically every piece of infrastructure at Google, _unless
it was designed at the start for open-sourcing_ , has dependencies on every
other piece of infrastructure. Untangling them takes far more time than you
could 20% on. That's why you don't see more open-source platforms from Google.

~~~
lamnk
Ugh, I think you are mistaking between open source and being a platform here.
A platform need not to be open source.

~~~
nostrademons
But all the same issues apply, i.e. if you can't disentangle your code from
proprietary interfaces enough to open-source it, you probably will not be able
to put a service API on it that third-party programmers will be able to use
without a lot of handholding. (And Google doesn't do handholding, as just
about everyone knows by now.)

~~~
lamnk
No, it's not the same issues. I'm not a programmer, but I know that offering a
well designed API to a service has nothing to do with its code being closed or
not.

When I was learning to program, I was very interested in 3 Google's core
products API: Search, Adsense and Adwords but got turned off because their
APIs are very crippled. I understand that Google do not want to expose their
core products (cash cows) to abuse, however that's exactly what Steve argued
in parent's quote. If the closeness (nothing to do with code) is already in
Google's mindset, how do they become a "platform oriented company"? Steve says
that it will take a dramatic cultural change to catch up. Steve also chooses
Amazon's example to prove: when the years of explosive growth were over, Jeff
Bezos had to think of some new expansion strategies. He was betting on the
cloud, whatever that means, or on being a platform, and he implemented his
vision with an iron fist, because paradigm shift is hard, you have to
consistently push people into doing it.

------
crizCraig
I think this is a bunch of BS. Google didn't have to create a platform, it
took control of the world's biggest platform. Google benefits from most things
built on the web sans Facebook. Now it's leading the way in the most promising
platform of the next few years with Android. Chrome is a platform. Google+ is
a platform for content creation that solves the problem of the Facebook crawl
wall. It also sets the stage for a more complete solution to your problems
(aka searches) via increasing its knowledge on individuals.

I don't think Google will accomplish its goal with plus however, because it's
not being aggressive enough in collecting user data and integrating it with
search. I think the Universities are in the best position to do this as they
did with email and the web. The killer app will be a light bulb that makes
extremely useful suggestions based on context.

This rant expounded here: <http://www.wepolls.com/p/3740179>

------
kalusn
I'm pretty sure this got upvoted because people thought Steve = Steve Jobs.
Congratulations!

~~~
praptak
Given that:

1\. Steve Yegge has enough street cred of his own.

2\. The article was an insightful and informative piece giving a rare
opportunity to peek at the inner workings of two important tech companies.

I conclude that your assertion is most probably wrong.

------
djohnsonm
Looks like google deleted this article...

------
badclient
No platform can save Google+ from dieing. Steve himself _seems_ to hint at
that by saying a Platform is not enough.

------
catch23
Wow, looks like he got slapped by some Google VP or something -- the post
ceases to exist.

------
Zadoc
Well, I don't know if it's a pathetic after thought (Okrut, anyone?). But it's
definitely a "me too" kind of a product. One that still needs to appeal to a
wider base.

POLL: Is Google+ little more than a pathetic afterthought? Vote:
<http://www.wepolls.com/p/3740179>

------
Jun8
Isn't this the second highly public data point (that I know of) of him
slashing and burning G+ and Google and then backtracking and saying how Google
is the best place to work for (the previous one:
<http://news.ycombinator.com/item?id=2811818>). That one, he claimed, was a
misunderstanding, this one is a late night permissions error. I am sorry but
for someone of his caliber these sound like made up excuses.

I think he sees the problems, goes off the deep end, then either sobers up or
is muzzled by Google's PR machine. Or Google may be thinking _any_ publicity
is good publicity.

~~~
cbs
>Isn't this the second highly public data point (that I know of) of him
slashing and burning G+ and Google and then backtracking and saying how Google
is the best place to work for

No its not, because thats not what happened this time. He is pretty clear that
he likes google and but sees some flaws. Did you even read the post? Hes not
backtracking, he was just being critical about something to an audience he
thought would be able to understand him. I could trash aspects of the product
I work on to my coworkers too, that doesn't mean I don't think that it isn't
overall good.

~~~
Jun8
I read the post a second time much more carefully and it seems clear now that
he did target an internal Google audience from the tone, i.e. it was a genuine
mistake. So I take my previous comment back.

As for your comment about thrashing a product but loving the workspace:
Yegge's criticisms run deep, they are not just about a stupid feature in a
product; rather they are about the company's DNA.

------
andrewljohnson
This document offers no solutions at all, it's hard to follow, and it was
played in the wrong forum.

1) No solutions - What exactly should Google do? What string of thought should
we start with to make any sort of improvements?

2) Hard to follow - Yegge shocks you by seeming like he's insulting Amazon, he
tells you some anecdotes to give himself creedence, and he starts to get to
his point about accessibility and platformification a million paragraphs in.

3) Wrong forum - Why is this on the public internet? If it wasn't, Yegge
wouldn't need to spend the first half of the article establishing his
credibility. If he would talk to his peers, then they could discuss the meaty
technical and strategic issues without meandering around in a nostalgic haze
for thousands of words.

Yegge is not Bill Gates, and this is no Internet Tide Wave memo. It would be
an embarrassment for Google to have this out there, if it weren't instead just
an embarrassment to the author. It sounds like Yegge is more interested in
stirring the pot and publishing unrefined thoughts than working on actual
solutions.

Rant indeed. Get some sleep bro.

