The Best of the Internets

One Letter at a Time: Quadriplegic Coder Looks Back at 21-year Career at Microsoft

A brief but inspiring profile of Greg Smith, a quadriplegic programmer and principal software engineer in Microsoft Research.

This bit was pretty incredible:

He puts together the skeleton of whatever section of code he’s working on that day in his mind. Then, using a camera that responds to his head movements and a mouth-controlled mouse and a metal clicker that he’s been using for 20 years, he’s able to key in the code—letter by letter. It would take too long to type out the code first and then start rearranging. So that part he does by memory.

Thriving in Unpredictability

Another great post from Tim. The sooner we recognize how little we actually control when it comes to our websites, the better we’ll be able to serve our users.

Getting a website successfully delivered to a visitor depends on a series of actions. My server must spit something out. That something must be passed over some network. That something must then be consumed by another something: some client (often a browser) on some device. Finally, the visitor views that something in whatever context they happen to be in.

There are a lot of unpredictable layers here.

See also (from this site):

Edge Conf: Notes on User Queries

The esteemed Bruce Lawson on user preferences (e.g., contrast level) and querying them via CSS (or not). User queries present some interesting possibilities, but I doubt users will want to set manually. Via a browser’s UI, however, that is interesting.

A note to Bruce: This could make for an interesting proof of concept browser extension. Interested in playing around with it?


I’m with Stuart Langridge, “progressive enhancement” (as a word) turns a lot of people off. I guess that’s partly why I named my book Adaptive Web Design. It seemed more broadly appealing to build a web that adapts to any browser (and is thereby available to everyone).


Extensible remote browser debugging via node.js. ’Nuff said.

The Ryanair Approach to Progressive Enhancement

Air travel is a great real-world analogy for progressive enhancement. Kudos to Christian for coming up with it!

Progressive enhancement is not about adding more work to your product. It is about protecting the main use case of your product and then enhance it with new functionality as it becomes available. Google is a great example of that. Turn off JavaScript and you still get a form to enter information in and you get a search result page with ads on it. This is how you find things and Google makes money. Anything else they added over time makes it more convenient for you but is not needed. It also offers them more opportunities to show you more ads and point at other services.

Hamburger Icon: How These Three Lines Mystify Most People

A good overview of why the “hamburger” can’t stand alone.

“I did multiple tests,” says James Foster, a web developer based in New Zealand, who has surveyed users’ interactions with the button over the course of many months. “The results all came out the same—the icon is not as clear to some users as developers and designers think it is.”

Adding the word “menu” underneath the three lines increases the button’s use by 7.2%, according to Foster’s tests.

Putting the hamburger inside a box, so it looks like a button, increases use by 22.4%.

Switching the lines for the word “menu” makes 20% more people click, Foster found.

Designing for (and With) Color Blindness

An interesting look at color blindness from Aaron Tenbuuren, a designer living with it. He offers some great examples of good design for color blind users from Trello, Google, and more.

[W]hen designing apps, we should not look at individual colors and ask if they are ‘visible’, but rather look at groupings of colors, and see if they are distinguishable. Even then, we may require more visual aids to make sure that users will not mistake one color for another.