What was the code quality of the initial version of Google?
quora.com
quora.com
I'll credit this with a major shift in my thinking about what constitutes "good" programming. From the outside, I looked at Google and thought "wow, they're accomplishing amazing things, they must have amazing engineering practices". And yeah, things are pretty rigorous...but what I found was that the people who were, by and large, responsible for all those amazing things didn't care. Most of them had fairly loose preferences for favorite programming languages, and favorite development methodologies, and basically ignored the fad du jour. What they did have was an obsessive focus on the user, and on getting things done so they could move on to get other things done. Navel-gazing about what language was best or whether we should be using OOP or how stupid the previous engineers were was generally reserved for the B-players. The As were thinking about how we could return results as you type, or how we could process real-time microblog feeds, or how we could expose new and potentially groundbreaking new features without losing millions of dollars from UI tweaks.
Basically, the code quality of the initial version was "good enough", as was the code quality of every subsequent version of Google (except when it wasn't, which is when it got rewritten), and that's all that mattered. As long as you can do useful things for the user, it doesn't matter whether your coworker thinks you're a 1337 hacker.
Either you were so brilliant they were stupid to replace you...
Or you were such a poor software engineer you created something that fell apart in time.
Interesting how a similar sequence of events can reinforce everyone's existing opinion.
Once they started getting traffic, the Python script that the RA had written couldn't stand up anymore, so they hired engineers to fix it again, who did so by rewriting it in C++.
Page's choice of Java originally was probably a faddish choice, given that Java was being hyped into the stratosphere by Sun at the time, even though neither the language nor its implementation were ready for prime time. The RA's choice of python was more reasonable, but Python was a highly esoteric research language at the point and did not have the ecosystem around it yet for writing scalable production code.
The article describes how Google constantly improved and rewrote their codebase to make it better. I wish this was going on everywhere else in the industry. Unfortunately, in many cases the very first version of some application is deemed perfect, so no one is allowed to replace it, until it's too late.
I'm surprised to read this. Google's products never seem to me to be the result of an obsessive focus on the user. Rather they seem to be the by-product of an elegant engineering concept, with the interface something of an afterthought.
The notable flops have been the ones that have been driven by an elegant engineering concept; in particular, one of the major differences between Wave and GMail is that Wave seemed to ask "What can we do, and how should we expose that to the user?" while GMail (pre-Labs) largely asked "What should we do, and how can we figure out how to implement that?"
UX is not something you can stitch on afterwards. Good UX is deeply ingrained in engineering and an omnipresent, pervasive focus of the team. I think that's what parent is referring to in regards to what Google is lacking.
But the fact is, most of the UIs do what you expect and get out of the way without making a bug fuss.
I think they've taken people's attention seriously from day one.
I started using Google in 2001, after seeing it on the screen of another computer in an Internet Cafe. I was trying to search something, and Altavista was returning shit filled with all kinds of commercials.
Opened Google, typed my search query in that lovely text input, hit Enter, and WOW, the first 10 results were all relevant. And no commercials. I was so impressed that I instantly switched.
Even when they added commercials, they were marked as such, while being clean and non-intrusive (well, that changed in the meantime -- I find their search page a little cluttered with commercials nowadays).
Of course I got the last laugh because he went on to become a billionaire. Wait a minute.... maybe he got the last laugh. Either way we're both laughing to this day.
Used to?
For most code, and if you're not going to run on windows, it's not an issue. It's nothing like dealing with header files.
Checking wikipedia, python was released 4 years before java. I always just assumed python was a more recent language.
In the late 90s there was just not the same set of options available in the standard library, people were just learning what was required for horizontal scaling, and I can easily see how the added burden that Python 1.4 would have imposed compared to C or C++ would be a deal-killer when it came time for a re-write.
From Lawrence Page himself. Apparently back then you couldn't even set the User-agent header from Java's HTTP libraries.
Nice!
Reminded me of:
http://groups.google.com/group/comp.lang.java/browse_thread/...
Then I posted it on twitter and yesterday on hackernews. That's why I thought that it was my finding. Sorry :)
I think it was linked on Twitter / Buzz a few months ago (that's where I first heard of it), and that may have improved the post's ranking on Google, which would explain how you stumbled on it 15 years later ;)
Anyway, I'm glad you shared it, since lots more people got to see it.
The parts on Google's early years are very nice. The chapter on Google in China is also phenomenal.
"Over the course of that two years Page and Brin had figured out Backrub's applicability to web search, failed to license the technology to Excite or Altavista, and had founded their own company."
I still remember the days when Altavista was the very best at Web search, and Excite had some features that made it worth checking as a plan B. It was near the end of the two years described in the excerpt when I started noticing Backrub regularly crawling my site, which used to rely primarily on Yahoo for online search referrals. I became a Google user as soon as the Web crawling from Google identified a site I could visit to see the sender of the Web crawler in action. I became hooked almost immediately, and started telling my friends about Google in online forums as I discovered more and more pleasantly surprising highly relevant results from searches I did. Too bad for Altavista and Excite that neither company grabbed PageRank and other Google technologies when they had the chance.
This brings back a lot of memories. Like you said, Yahoo! was referring all of the traffic. For those of you that weren't around or don't remember - the Yahoo Directory was based on the alphabet, like the phone book. I had to beat out AAAUsedLaptops.com with exclamation-point-used-laptops.com (listed as "! Used Laptops"). No wonder Google won.
(kidding) :-)
It's worth pointing out that there are lots of good tools available now (which were not available then) which make Python an excellent choice for high performance systems.
I will take my Python zealot hat off now. You just raised my hackles slightly, is all :-)
Just kidding - no idea
I don't recall the name, but I remember using something exactly like (the originally intended) Backrub my first year in the dorms (1996 or early 1997). The program I was using was more of an overlay where you could draw on the page (using a simple MS-paint like UI) in addition to adding text annotations. You could either keep the changes local, or share them on some central site. It's downfall, as I recall, was threefold: buggy code, popularity, and the publicly annotated copies of popular websites turned into layer upon layer of graffiti. Something like the original concept for PageRank as mentioned would've been perfect.
It was a neat concept, but really only practical (as implemented) for the static web. It died long before dynamic page generation became widespread. (I just can't remember the name of it! :) )
Sounds like you're talking about ThirdVoice, but I can't be certain.
Thanks.
Google has been trying to learn social since before its inception.
Hardcover, Amazon Price: $13.98
Kindle price: $12.99
The price table also shows someone selling a used "New" copy for $12.14.
www.kobo.com/ebook/In-The-Plex-How-Google/book-MZyWhEAmIEK9_krIsLWoaw/page1.html