Category Archives: Uncategorized

Yahoo’s new logo

Yahoo’s new logo. A few weeks ago I was on the Yahoo campus (attending a Meetup on large data), and all the month’s worth of logos were displayed running down the sides of a pillar in the (brobdingnagian) lunchroom; there was a clear implication that they were running a contest of some sorts, to pick the new best logo.

The good and bad is that this was not the case – they’d already decided on the new logo, and were just having fun. The bad is that their new logo is worse than the old one. It’s been fun reading a bunch of design pros write articulate and angry columns about the new logo. One of the best I’ve seen so far is here:

http://ia.net/blog/logo-bullshit-co-inc/

Another good post is: http://glog.glennf.com/blog/2013/9/6/yahoos-logo-reveals-the-worst-aspects-of-engineering-mindset

Mailpile

Mailpile is a new project to do self-hosting email. The front-end is a webmail client, but the back-end is a Python server you host somewhere.

http://www.mailpile.is/

LWN has an article on it: Mailpile targets webmail and attemps to raise funds.

Slide deck: http://www.mailpile.is/files/OHM2013%20-%20Rescuing%20e-mail%20from%20the%20cloud.pdf

Most importantly, the source is on Github, because it’s open-source: https://github.com/pagekite/Mailpile

 

Notes on designing a system

Seek the simplest possible system that works well now as well as into the future.

  • works well now – most important
  • simple – almost trumps “works” but #2 by a hair
  • extends to the future – distant third

This is not to be confused with the uber-system that solves all problems. In fact, it’s an indictment of that mentality. Uber-systems don’t work well now, they take a long time to get to that state. They are by definition not simple. And, as it turns out, they don’t extend to the future, because the uber-system turns out to be incomplete when the future changes.

This is also not to be confused with “minimum viable product” or “prototyping” or being reactive. You do want to have a clear design. But you want to spend all your effort on the parts that will be used right now. The worst you want is a Pareto distribution, where 20% of your functionality is used 80% of the time. You do not want a system where half of it is used 1% of the time or less. The ideal is that all of the system is used all of the time. We will never get there, but that is the goal.