Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

There at least one glaring flaw in his argument. He implies you can't bolt a good UI onto open source software after finishing the core functionality, yet the article revolves around CUPS which Apple themselves took and bolted a good UI onto. Strangely he makes no mention of this fact.

Apple also hired the author and now own the copyright to CUPS which is still Free Software (http://www.cups.org/). It's worth noting for those who weren't early adopters of Mac OS X that printer compatability sucked pretty hard before the adoption of CUPS since Mac OS X was both new and unpopular at the time. Is it technically "usable" if it doesn't work? Apple clearly saw the benefit of jumping on the bandwagon of an open standard, and this let them concentrate on other things like the UI. The same could be said for much of Mac OS X.

Both the positive OSS examples he mentions, Firefox and Camino, were likewise primarily GUIs bolted onto the Mozilla core after the fact.

Gruber is mostly right about usability being hard and about it being a skill but he generally doesn't get Open Source, nor Free Software, nor Unix even though Apple now dabbles to varying degrees in all these things. And his lack of insight shows. How many hackers would agree that "More often than not, you get what you pay for" holds true for software.

But the 20:20 hindsight award goes to the second last paragraph: "It’s easy to ridicule the estimated 2006-or-2007 ship date for Longhorn, the next major release of Windows. But do you doubt for a moment that Longhorn will provide more improvements from Windows XP than desktop Linux will gain during the same period?"



I agree that you can find a way to bolt good UI over anything, much as we've done amazing things with the "stateless" web. But there is a large truth underlying his argument, which is that you will have much better results if you design for usability first not last, and also that the amount of work required to make good usability can be an order of magnitude more than the amount of work required to build a raw API.

My big takeaway when I first read it was that you can't think that 80% of the job is the implementation and that the UI will be 20% of the work to be done after you hammer out its functionality.


That the UI is important and hard work a standard opinion for Gruber and Apple fans generally (myself included).

This particular article is about how Open Source software cannot achieve this, mostly due to limits placed on it by Gruber's own stereotypes. Why can't it be commercial? Why can't it hire UI guys with training and insight. In fact it does both these things.


I think you might have the order backwards. Instead, it goes something like this, for Apple:

1. Design a printer interface that works.

2. Write the back-end, or to the extent that it's possible, adopt an existing back-end, and fit its features to the designed interface; add any required features to the backend that it doesn't already include.

This is an extremely different approach than the method Gruber is criticizing:

1. Make a super awesome printer framework that does everything anyone could ever want it to do.

2. Figure out how to expose all those features in a user interface.

Empirically, the former method works much better than the latter. And it's basically the same method Apple used with Safari and iTunes as well, or for that matter OS X as a whole.


I really don't think it's that simple. Things I believe but can't prove:

* Open Source Usability, just like OS security, engineering, marketing, QA, translation, installation, update schedule, funding model etc. etc. will be different from the closed source analog. Doesn't make either "better" a priori, but does mean you can't transplant one to the other wholesale and have it work the same, nor can you easily compare one against the benchmark of the other.

* That Open Source Usability will in fact follow your two steps with a crucial difference. It will still involve super awesome frameworks that do everything but will be followed by figuring out how to expose different subsets of those features in multiple UIs. Potential case study the UI horror that is Evolution (because it tried to copy proprietary Outlook) spawning multiple new frontends like the pimlico suite that expose just contacts or calendar and the new Anjal mail client:

http://blogs.gnome.org/sragavan/2009/03/18/announcing-anjal-...

* Corollary of the above: if you're copying a proprietary UI wholesale then you're probably doing it wrong. Steal the ideas yes but re-interpret them in a way that makes sense for open source platforms.

* iTunes is a usability disaster since commercial and proprietary pressures have forced a CD player, CD ripper, music library, internet radio, online music store, party music player, network jukebox, video player, iPod manager and god knows what else into a single app. This is actually the anithesis of Apple design principles but is forced on them by the need to push their stuff onto Windows. If you're working on a music player for the Linux desktop, for the love of god, stop copying iTunes.

* Safari/Webkit is what it is because it a) started with code from KHTML and Mozilla, b) continues to be an open source project that is used as a component in multiple applications, including two completey different browser UIs from Apple alone (Safari and Mobile Safari, the latter being a far more impressive UI. Safari itself is mostly just minimalist, and that's why I use it, with a few odd gee-whizz features thrown in.).

* There's plenty of good software on Mac OS X that adds well thought out Cocoa UI onto a bunch of existing open source frameworks and libraries. Writing stuff from scratch is stupid when the libraries are there for the taking.

* OSS and Usability focus are not in conflict. When Panic were so anal about their UI for Mac OS X app Coda that they decided to include a programming font they based it on an open source one. This is not a zero-sum game. Mac OS X is shot through with open source from top to bottom, 1st to 3rd party.

* proprietary pressures can corrupt user interfaces. (See iTunes example above) Why doesn't Internet Explorer have spell-checking? Because it threatens Word. Why doesn't Microsoft Office warn you that it's going to remove all the formulas from your ODF spreadsheet? Because it threatens their standards hegemony. Some proprietary software constantly gets in your way because it is trying to impose its will on you. User hostile software is not known for good UI.

* Usability without function is worse than function without usability. Recent example: Ego iPhone app breaking because of a Google API change http://log.maniacalrage.net/post/98510137/a-little-over-a-we...


Having been a Mac IT consultant/monkey for a number of years in a past life I'd argue the printing system in Mac OS X is still flaky, annoying and poorly designed... but to each his own. :-P

(I nag because I love.)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: