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.
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.
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.