Abstracting Complexity
Near the end of last year, I came across this on HN and was mesmerized. Side by side screenshots of the desktops of some titans of software development, taken 13 years apart. The thing that was so fascinating was how little had changed. Throw in a newer version of a linux distro or OSX, Chrome shows up in a few places, as does Github (though doubtless git was being used previously, just without Github), but precious little else changed. In one sense this made me grin because ‘cutting-edge’ typically conjures up images of people with the latest gadgets or new shiny objects. But these folks are the people that make the things that have defined cutting-edge and their daily workspaces have barely changed at all. My own workspace bears almost no resemblance to my workspace of 13 years ago. I think it would have have had IE as the browser, hotmail as my email provider of choice, and winamp playing in the background while I farted around with BASIC and chatted with friends on AIM. The mainstream middle of the technology adoption curve has changed so much over that period of time, but change can be astonishingly slow at the edges. A few years ago, Chris Dixon had a great quote: “what the smartest people do on the weekends is what everyone else will do during the week in ten years.” So true. The interim seems to be all about layers of abstraction that must accumulate before it can have a step-function increase in adoption. I’m a fan of companies that do just that–abstract away complexity. It opens up new possibilities for their users to focus on the things that really matter.