Easy Features
July 30th, 2009Brent 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.
July 30th, 2009 at 2:00 pm
“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
July 30th, 2009 at 2:14 pm
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.
July 30th, 2009 at 2:18 pm
@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.
July 30th, 2009 at 2:20 pm
@Daniel Ah sorry, I missed that “sometimes”. And I surely didn’t mean for my comment to come out so harsh sounding.
July 30th, 2009 at 2:23 pm
No problem, Thomas. Glad it was just a misreading of my intent.
August 8th, 2009 at 10:07 am
“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.