Strong opinions, weakly held

Keep your eye on the scoreboard

Lately I’ve taken to playing Words With Friends, a Scrabble game for the iPhone. One of the first things I learned from playing against good players is that Scrabble is not about showing off your good vocabulary, it’s about turning the tiles you draw into points. A two letter word that nets you 31 points because you dropped a Q onto a triple letter score to make the used-only-in-Scrabble word “QI” is better than busting out a 6 letter word nobody’s ever heard of that nets 18 points.

I thought about that when I read Rands’ interview with Marco Arment about Instapaper, and being a one-man software development shop. Here’s what Arment says about making it as a sole proprietor:

The biggest design decision I’ve made is more of a continuous philosophy: do as few extremely time-consuming features as possible. As a result, Instapaper is a collection of a bunch of very easy things and only a handful of semi-hard things.

This philosophy sounds simple, but it isn’t: geeks like us are always tempted to implement very complex, never-ending features because they’re academically or algorithmically interesting, or because they can add massive value if done well, such as speech or handwriting recognition, recommendation engines, or natural-language processing.

Both are nice reminders that efficiency is one of the keys to success.

Be sure to read the explanation of how the Instapaper bookmarklet works, as well. It’s a marvel.


  1. Wow. I never realized the bookmarklet worked like that. It is a marvel.

  2. Words WIth Friends good, but my daughter keeps beating me with made up words like FIZ and WO to pass as words for the game. But its ok, I have my own cheat. I take my phone to her grandmother and have her play for me when I get too far behind.

  3. Love the deflate implementation in JS. You can do a lot of really nifty things in JS that most people would not imagine are possible (or sensible).

    His advice on features is excellent too. The Google interview that seems to have spread around the industry emphasizes work on algorithms, and that’s fine, and one should definitely have a good idea about complexity and so on. But most programming tasks that produce useful functionality are extremely simple – simple to the point of being dull to many programmers, and therefore neglected, which is how it took so long for simple frameworks like RoR to get started. Most of them in fact come down to simple forms or template rendering with absolutely nothing clever happening.

    Also yes on the Scrabble thing. We play with a printout of all the legal 2- and 3-letter words on the table because otherwise the game is a pure memorization contest. With that, it’s more about recognizing where in the board situation you can find a high-scoring multi-directional play, which is still not what most people think of as “friendly Scrabble” but is more fun when people of mixed skills are playing.

  4. Oh, a footnote on the features thing: the other big trap is looking at a hard, well-known problem X without an existing widely used solution that peripherally involves a hard, well-known problem Y that does not have an existing widely used solution, and deciding that in the course of doing X you are also going to do Y, because, well, X is hard and so we must be smart enough to also do Y.

    No. You might be smart enough to solve one difficult problem in pursuit of your business goal. You are very unlikely to be smart enough to solve two.

Leave a Reply

Your email address will not be published.


© 2024 rc3.org

Theme by Anders NorenUp ↑