Easy Features

July 30th, 2009

Brent Simmons writes on the Anatomy Of A Feature, using his recent work in NetNewsWire to add support for the popular Instapaper service:

It’s tempting to think that adding a feature like this is just about adding the functionality — but there’s a bunch more to it than that.

Here you see the gory, deliberate details that a responsible developer must consider when adding even what seems like an incredibly “easy feature.”

Without a doubt, the part of my job that slows me down the most is exactly this kind of consideration. I want to add a new feature, but not until I have evaluated how the feature best fits in the structure of the application as it exists today.

Sometimes even an “easy feature” requires massive overhaul of the application, so that it doesn’t feel tacked-on or cheaply done. If the feature is important enough, it’s worth practically rewriting your application, just to add something that looks like it must have taken all of 10 minutes to do.

6 Responses to “Easy Features”

  1. Jan Erik Moström Says:

    “If the feature is important enough, it”™s worth practically rewriting your application, just to add something that looks like it must have taken all of 10 minutes to do.”

    Probably why I like MarsEdit and FastScripts

  2. Thomas Mango Says:

    I think this is a naive generalization. There comes a point when your application’s architecture should be mature enough that you can anticipate future features. Not necessarily specific features, but what general areas will be extended. It should not require a “massive overhaul” every time you decide to add additional functionality. If it did, nothing would ever ship.

  3. Daniel Jalkut Says:

    @Thomas: Absolutely, sometimes adding a feature truly is easy. If it fits into the current design structure of the app, it can be as simple as tweaking something here or there, because all the other metaphors in the app make sense for the new feature.

    As for naive generalizations, I thought that by prefacing the generalization with “Sometimes,” it was a pretty good clue that I don’t believe it always has to (or should) work that way.

  4. Thomas Mango Says:

    @Daniel Ah sorry, I missed that “sometimes”. And I surely didn’t mean for my comment to come out so harsh sounding.

  5. Daniel Jalkut Says:

    No problem, Thomas. Glad it was just a misreading of my intent.

  6. James Shewmaker Says:

    “that looks like it must have taken all of 10 minutes to do.”

    This is a perception problem in many industries. In Theater and Movies, Actors put a lot of time into learning techniques and learning how to make them look natural. In photography, the photographer may devote a great deal of time to a visual improvement. In writing, an author may agonize over a paragraph for days. In the book “The Man Who Heard Voices,” Michael Bamberger describes the amount of work that M. Night Shyamalan goes into to fashion the effect of his movies.

    Yet in each of these cases, the audience appreciates the result without any comprehension of the amount of work involved.

    On Aug. 1st, I wrote this on twitter:
    The difference betwn th frame of reference of th audience and of producers: Producers R wowed by th Geek factr but th audience by th result.

Comments are Closed.

Follow the Conversation

Stay up-to-date by subscribing to the Comments RSS Feed for this entry.