inessential by Brent Simmons

No margins

NetNewsWire w/o marginsConsider this screen shot (click for a large version)...

What’s different about is that there are no margins on the left and right side and the splitviews are narrower.

I post this not because this is what the next build will look like, but to talk about one of the challenges of software development.

Earlier betas

For a long time during earlier NetNewsWire beta testing, the margins were indeed collapsed as shown. Some people thought that the layout was cramped this way. So we tried it for a while and then went back to having margins.

And yet... some people preferred the no-margins look. It’s cleaner, you might argue, and it means you have more available horizontal space. Look at Mail, for instance—no margins. (And look at MarsEdit: same layout as Mail.)

And yet, again... if you look at iTunes, iCal and other Apple apps, they have margins. Sure, they’re metal, and that’s a difference, but still it shows that there isn’t a hard rule about margins that applies everywhere.

The real point

The real point is that there are some people who prefer margins and some who prefer no-margins. As a software developer who wants to please users, what do you do? Create yet another preference? If I added this to the preferences, people would (quite rightly!) complain that it’s really not needed. Just choose one and stick with it, they’d say.

Another option is a hidden, Terminal-accessed pref. The drawback there is that many of the people who might like the option wouldn’t know about it.

The last option is just to go with margins (or no-margins, one or the other) and hope that people who would have preferred the other way still like the software for a bunch of other reasons, even if this one thing isn’t ideal for them.

Thinking radically

But then... I can’t help but start thinking out of the box. What about a more radical change? After all, I get feature requests to put the subscriptions list in a drawer, to make it a column view like in the Finder, and to put it in a separate window entirely.

The people who make such requests aren’t making them just for fun, they’d like to see these things happen.

But at the same time the different ideas are mutually exclusive (unless I have a whole bunch of prefs and support a whole bunch of different layouts).

(I can hear my former boss’s voice saying, “Brent, you’re off in the weeds. Come back.”)

Flexibility: good or bad?

So then say I did support more layouts. NetNewsWire is already a fairly flexible program, and this would be going in that same direction.

Lots of people love that—they dig apps that they can customize, that they can to get to work just the way they want them to work. When they call an app a “Swiss-army knife” they mean it as praise.

But then there are people who don’t like that: they’d rather have less flexibility. (I think the implication is that flexibility means bad design, or that a desire to please everybody is incorrect.) When these folks call an app a “Swiss-army knife” it means they don’t like it.

What I mean by all this is that software developers are always in “damned-if-you-do, damned-if-you don’t” situations.

Reducing it to the absurd: you can’t please everybody—because, if you try, you’ll then find there are people who are displeased by apps that try to please everybody.

(“That’s some catch, that Catch-22,” he observed. “It’s the best there is,” Doc Daneeka agreed.)

So you take a middle road and look at things on a case-by-case basis (but, importantly, without ever losing the forest for the trees).

Software is about execution and trade-offs. Assuming equal execution, the difference between two apps is the different trade-offs they made. There’s no avoiding trade-offs.

The other real point

The other real point of this post is that every single little thing in the user interface of an app is sweated over to an obsessive degree. (I myself often go to sleep at night thinking about splitviews and scrollbars and which toolbar items should be in the default list and on and on.)

If I could write 700 words just about the margins—let’s face it, a very small detail—I could write a novel about the embedded browser.