inessential by Brent Simmons

It’s really easy to program computers

Daniel Jalkut: Easy Programming: “Surely it must be easy. In fact, that’s my new mantra.”

Daniel makes the excellent point (among many) that adding features has to be done carefully. One of the lessons a new developer learns is that everyone is always asking for features, and hardly anyone ever asks you to take anything out. Hardly anyone ever thanks you for the features that aren’t in there.

But you learn—they’re thinking it, even if they don’t say it. (And, if they’re not, pretend they are.) My advice is to remember that fact, especially when nine out of ten emails you get are feature requests, and all the comments you see are about some feature that doesn’t exist, and it seems like the only way to get anywhere is to add a ton of features. Stay cool.

(In case it’s not obvious, I take pride in having removed the weblog editor and the Notepad. Those were big features in NetNewsWire 1.x, and now they’re not in the app at all. I’m always on the lookout for features I can get rid of—in fact, I’ve occasionally thought about how it would be to cool to have anti-feature request days, where folks are invited to write about what they’d get rid of and why.)

I will add a note of caution, though—simple doesn’t do well in the market just because it’s simple. An app can have few features and be inelegant and bad; an app can have tons of features and be elegant and good. Various forms of quality enter into it. However, it’s easier to achieve elegance with a smaller list of features.

P.S. I’m still learning how to use my iPod. The thing is, it’s not really intuitive and simple. How do I know that pressing and holding the whatever button will make it turn on or off? Trial and error, mainly: there’s nothing to indicate it. What makes the iPod great isn’t that it’s so easy-to-learn, it’s that it’s fun to learn.