Friday, February 24, 2006

Being Digital, 11 Years Later

When I was in high school in the US a decade ago, a fellow student in my programming class introduced me to Wired magazine. In those days, Wired was the cheerleader for the slowly spreading Internet boom.

The last page of the magazine - just before the latest rendition of the Absolut Wodka ad – featured a column by Nicholas Negroponte, former director of the MIT Media Lab.

Negroponte eventually turned these columns into a book, Being Digital, which I recently re-discovered when browsing my bookshelf. It was first published in January 1995, a bit more than 11 years ago.

The book's credo is "Move bits, not atoms." It repeatedly makes the case for digitizing all mass-media content, filtering it to what's important for the individual consumer, and delivering it to his home in digital form. I think this was a worthy cause to fight for in the last decade. We're slowly beginning to see the fruits of digitization: iTunes is selling music and videos online, while Amazon and Google are scanning and digitizing books. Soon, all information should be available online.


Thankfully, the book contains plenty of predictions, of which I'm going to dissect just a few:
"Few people realize how good copper phone lines are. A technique called ADSL [...] is a means of sending large amounts of data down relatively short copper lines. […] So while fiber is the future for sure, there is a lot we can be doing and learning with our existing copper plant today."

Right on the money. Today, ADSL is everywhere – does anyone even remember dial-up speeds?
"My VCR of the future will say to me when I come home, 'Nicholas, I looked at five thousand hours of television while you were out and recorded six segments for you which total forty minutes. [...]"

Sounds a lot like TiVo to me.
"Early in the next millennium, your right and left cufflinks may communicate with each other by low-orbit satellites and have more computer power than your present PC."

Unlikely. While there have been plenty of attempts of making wireless sensor networks, none of them employed low-orbit satellites. Bluetooth or ZigBee seem to be better alternatives. Besides, what would be the point of your chatty cufflinks?
"The first entertainment atoms to be displaced and become bits will be those of videocassettes in the rental business, where consumers have the added inconvenience of having to return the atoms and being fined if they are forgotten under a couch ($3 billion of the $12 billion of the US video rental business is said to be late fines."

Slowly starting. Hopefully, iTunes and Google Video will make this all come true soon. An unlikely twist has been the rise of NetFlix, which uses the good old postal service to distribute atoms with bits.



Most of the progress in the last and the current boom was focused on the Internet and its applications. The book discusses many other technologies such as speech recognition, home robots, HDTV, eye tracking, 3-D holograms, and precursors of RFID. All these were fashionable visions in the nineties, but still haven't really had their breakthrough in consumer markets.

The Wikipedia entry on Negroponte says: "In the years following the dot-com bust, the book dated quickly." This is wrong. The book is not about dot-coms, and, if I remember correctly, doesn't even contain the word "start-up". Instead, it's a book about the digitization of all content, a topic that is still relevant today.

Saturday, February 18, 2006

Timeline: Employee Headcounts for Google, Yahoo, and Microsoft

It's good to keep an eye on headcount when comparing companies. The number of employees you have pretty much defines what you can do: How many products can you develop and maintain, and how many shrink-wrapped software boxes or click-through banners can you sell?

I went out and collected some statistics for the three major Internet players: Google, Yahoo, and Microsoft.



All of these companies have been in exponential growth mode since the year they started. It's surprising to me that Microsoft is more than 6 times bigger than Yahoo and 11 as big as than Google, at least in terms of employees.

Also, Microsoft has been around for ages and consumes much of the timeline. Here's a graph for just Google and Yahoo:



Google is growing much faster than Yahoo these days. Over the last two years, Google's average employee growth rate has been 100%, while Yahoo's was at 34%, and Microsoft's was at 10%. If the current growth rates continued,
  • Google would surpass Yahoo's headcount in 2007, and
  • Google would be bigger than Microsoft in 2010.
This seems a little too optimistic to be true: It will likely become harder and harder for Google to double its headcount every year. Microsoft grew 80% on average in the 1980s (49% percent if you don't consider 1981, when the company more than tripled in size). For the 1990s, its average yearly headcount growth dropped to 24%.

An easy way to grow fast is to acquire companies. All three players have bought plenty of smaller businesses along the way. For example, Yahoo grew by 1000+ employees when it acquired Overture in 2003, thereby increasing its headcount by more than one-third.

Lastly, let's have a look at how Wall Street values the employees of each company. With yesterday's market caps,
  • each Microsoft employee is worth $4.3 million,
  • each Yahoo employee is valued at $4.7 million,
  • and each Google employee is valued at $19 million.
Update in March 2011: If you have similar headcount timeline numbers for Facebook, shoot me an email so I can update these charts.


Sources: Some of this data was hard to come by and I had to use different sources for the data points. You can find all references and underlying data in this Excel spreadsheet.

Wednesday, February 15, 2006

Three Bad UI Design Decisions

Sometimes, even the best make terrible design decisions in creating their interfaces. I love my iTunes, my Eclipse, and Google Reader. But there are some things that just don't make sense.

1. iTunes 6 for Windows: Menu Bar

"iTunes is a popular Windows application," someone in Cupertino must have thought, "so we should use it to get people used to the MacOS look-and-feel. That'll make them switch to Macs. Next step: global domination!"

This is what iTunes looks like on my Mac:
And this is iTunes on my Windows machine:

There is one big difference between these two: The Mac OS X interface smartly puts every application's menu bar on top of the screen. The window with the music library can then be moved around freely. On Windows, the menu always moves with the application window, and that's what it does for iTunes, too.

So in essence, instead of recreating Mac OS on Windows, Apple introduced a third, new type of window behavior. This is a terrible no-no: It confuses Windows users who are used to separate drag and menu bars. Even worse, it also confuses users who are visiting Windows from the Mac world, and are used to the menu staying on top. Please, dear Apple, stick to the Windows UI design guidelines on this – just the way it was in iTunes 4.

2. Eclipse: Cut-Paste Comment

Let's say you want to copy-paste a Java comment in Eclipse. You do the obvious: You mark the entire comment, hit Ctrl-X, move the cursor to the desired destination, and hit Ctrl-V.
For some reason, the comment now starts at the start of the line, instead of being indented as it should be. If you now try to fix things with Ctrl-I, that doesn't help at all. I don't understand why it should work the way it does.

3. Google Reader: Search

You've set up with all your favorite feeds and now can't remember who wrote hilarious that post about fluffy kittens. 'Aaah, a search bar', you think, type in "fluffy kittens", and hit Enter.
What you get are the search results for "fluffy kittens" across all feeds that Google Reader knows; not just the feeds you subscribed to.

I expected the first search button to be a local search across my feeds, and the second to be that over all feeds. However, the second search button says "Search the Web", which I find nonsensical: When I'm reading my feeds, what would I want to search the web for? For that, I have Google.

Comments?

Do you agree with what I said? Like it better just the way it is? Write a comment!

Thursday, February 09, 2006

Future of Web Apps Conference, London

I spent the last few days in London to visit a friend who's in the process of launching a start-up. In addition, I attended the Future of Web Apps Conference, which attracted quite a few big-name speakers: David Heinemeier Hansson of 37 signals, Joshua Schachter of del.icio.us, and Cal Henderson of Flickr were all there.

Here's a quick summary of the talks I liked most:

Joshua Schachter

Joshua's and Cal's talks followed a dangerous new trend in designing presentations. It seems like people now have seen too many Steve Jobs keynotes, or maybe, consumed too much Presentation Zen: There is a trend towards super-simplistic slides with just one word or a short phrase on them. This is fine if you're a good presenter like Joshua and can explain in words what your point is. But you have to be sure you have something substantial to say. Buzzwords don’t help.

Joshua talked about a lot of stuff that almost seems obvious these days ("solve a problem you really have", "focus on the user experience", "don't add features too soon", etc.). However, he did say some surprising things.
  • Scaling: Don't think about it from the start. When designing a new product, focus on actually launching it, not on making it scale well.
  • Abuse: Don't be overly prepared for it. See what breaks before you fix it. It's better to lauch early and run into problems than to be too cautious and launch too late.
I'm not sure I agree with these points. The CS student in me screams "but you need to think things through, right from the start!"

There were two good ideas on testing to take away:
  • Survivorship Analysis: If a user tries out a feature in week 1, does he still use the feature in week 10? Obviously, this is an excellent way to find out how good and "sticky" a new feature is.

  • Ghetto Testing: When testing your site, go to a local Starbucks and offer people lattes to test your site. This is usability testing that's easy to do, cheap, and will get you an excellent random sample of people.

David Heinemeier Hansson

One of the big stars at the conference was David Heinemeier Hansson, the creator of Ruby on Rails. He held a talk that was a slightly modified version of the earlier "Pursuit of Beauty" presentation.

David was also the first speaker to actually show code on his slides, a brave feat if you consider that the previous speakers' slides had very few words each.

The first time you hear his talk, it will probably strike you as very aggressive. He's not shy to say that "PHP is the devil" and that if you don't want to use Ruby on Rails, you're probably just not ready for it yet. That being said, the concepts behind Rails on Rails (e.g. "convention over configuration", "don't try to do everything for everyone") are very solid.

In person, David seems like a much nicer guy: When I asked him about internationalization in Rails, he was very helpful and gladly listed all the different approaches (Localization, Globalize, and Gettext) I could employ.

Good talk overall, and also interesting to see David in person.

Steffen Meschkat

Mesch is a friend at Google who works on Google Maps. He was the last speaker of the day. His presentation stood in sharp contrast to the jazzed-up Keynote presentations of the other presenters: It consisted of simple HTML pages.

I think Steffen's speech can be summarized as follows: Many things in the existing web standards – CSS, DOM, JavaScript – are broken or not well done. That makes it harder to develop good AJAX applications. Harder, in fact, than it seems to the end user. However, that puts you at a great advantage if you know what you're doing.

A very good talk with many technical details. I hope the marketing people in the audience did not mind.

Closing Thoughts

With very few exceptions, none of the things said at the conference really surprised me. Everything said has been thoroughly discussed on blogs. There were two points that were stressed again and again by different speakers:
  • Clean URLs: Make understandable URLs with sensible, clean contents. Then, keep them permanent.
  • APIs: Use APIs to build a community of developers who adore you, and benefit from free features that you'd have no time to develop.

The Verdict

Interesting to see the big-name guys in person, but no truly new ideas or content.

Friday, February 03, 2006

Thoughts on Great Products, Productivity

I thought I'd highlight some excellent posts I've read recently about two of my favorite topics: The art of making things usable and the challenge of getting yourself to work.

Great Products

Google set the bar in saying: "Focus on the user and all else will follow." Kathy Sierra reframes this: Make the user think: "I Rock!":
Most importantly, keep asking yourself, "How can I help my users kick ass?" And to answer that, you'll have to know the context in which users interact with your product or service. Chances are, whatever you provide is NOT their ultimate goal. It's just a tool to get to something that is meaningful.
David Beisel at Genuine VC offers similar advice:
Communicate benefits, not features. This difference is a subtle, but important distinction. While techies will appreciate a laundry-list of acronym features of the service, when trying to leap from “digerati-facing” services to consumer facing ones, it’s important to communicate the why of the service you’re offering, not the what. Consumers want to know what’s in it for them when making the decision whether or not to explore further.
William Grosso wonders whether we're innovating deeply enough:
When I look at the valley, I see a lot of innovation. But it’s surface innovation instead of deep innovation. To dramatically overstate the case: we’re focusing on building better event calendars and better blog aggregators. And on bringing the same functionality, slightly tailored, to all the nooks and crannies of the long tail.
There have always been me-too companies tackling today's challenges rather than tomorrow's. My guess is the next 'big thing' will, as always, hardly be noticeable at first. Before Google, everyone believed that search is done. Similarly, I don't believe that VisiCalc was seen as the greatest thing since slice bread on the day it came out.

[As a side note, the last article also has some great thoughts about why outsourcing development is not a good idea for a start-up.]

Productivity

How do you get yourself to stop scanning Reddit and start working? Joel Spolsky's classic "Fire and Motion" has always been a favorite of mine. Almost by accident, in an article on "How to do What You Love", Paul Graham now offers some advice.
Another test you can use is: always produce. For example, if you have a day job you don't take seriously because you plan to be a novelist, are you producing? Are you writing pages of fiction, however bad? As long as you're producing, you'll know you're not merely using the hazy vision of the grand novel you plan to write one day as an opiate. The view of it will be obstructed by the all too palpably flawed one you're actually writing.
I think the "always produce" goal set here has wide applicability. It's much easier to work if you don't feel like you have to create high-quality, genius output all the time. An idea I've noticed myself promoting a lot recently is that of the "permission to suck", which I, after some searching, tracked back to an article by Bruce DeBoer:
Want a technique? Try this: do. Find your passion for doing, and then climb on for the ride. Passion gives you courage to suck. Ever hear, "there's no such thing as a bad question"? Of course you have. Yet, there are humiliating ones. A passionate question gets asked no matter how humiliating. It can't, not be asked, just like creative talent can't not do. Blocked? Plunge forth with ghastly ideas, dreadful songs, appalling paintings or unspeakable prose. Give yourself permission to suck. I'd be surprised if the great didn't find its way out of that pitiful pile of poor.
But how do you establish productivity in organizations? Guy Kawasaki says it's all about the culture:
Establish a culture of execution. Execution is not an event -- a onetime push towards achieving goals. Rather it is a way of life, and this way of life (execution versus non-execution) is set in the early days of the organization. The best way to establish this culture is for the founders, particularly the CEO, to set an example of filling goals, responding to customers, and heeding and measuring employees. This obsession should go right down to the level of the CEO answering emails and responding to phone calls.