Making Things Easy Is Hard
paul.dunne writes "John Gruber of Daring Fireball has written
a long and considered riposte to
Eric Raymond's recent lament concerning the poor quality of user interfaces in free software.
The core of his argument is that 'developing software with
a good UI requires both aptitude and a lot of hard work.' One point that particularly struck me: according to Gruber, 'Unix nerds who care about usability are switching
to Mac OS X in droves'!"
One point that particularly struck me: according to Gruber, 'Unix nerds who care about usability are switching to Mac OS X in droves'!"
This has certainly been my experience. My latest journal entry covers it quite nicely I think, but many of the geek folks I know including hard core UNIX users and scientists who have long been Windows users are shifting to OS X. After all, yes, UNIX is powerful and while performing certain tasks can be faster with the command line (indeed almost impossible without), for the most part, a good GUI can make things much more efficient. The nice thing about OS X is that your CLI is still there just waiting for you to invoke it allowing access to all that UNIXy goodness.
Visit Jonesblog and say hello.
I just finished development on a little utility that runs on Mac OS X. Has a nice GUI interface, we think it's easy to use. The GUI and GUI-RELATED code has been 90% of the work.
What's GUI-RELATED you ask? Well, consider a simple file copy utility that runs from the command line. When you run it, you give it the arguments on the command line and off it goes. If you want to use the same arguments twice you make a shell script or an alias - the file copy utility DOES NOT WORRY about persistent arguments.
OK, now we make a GUI file copy utility. Oh, you'd like to use the same arguments again. OK, that's reasonable, let's make a place to store those. Oops, now we need a way to manage them (create, edit, delete - what about concurrent access?). Hey, wait, this is Mac OS - you know, the path to a volume can change when it gets unmounted and remounted. Are you doing the right thing to specify the VOLUME the user wanted and not just a dead path? Oh, what about when the path no longer exists - should we fail, create it silently, pop up a dialog saying it's missing and let the user create it...
John Gruber is dead on the money - you can't just wrap a GUI around a CLI and expect things to be easy to use. There's a whole big layer of foundation code under the GUI that needs to be created to make things work the right way.
I have to say I'm absolutely in love with my PowerBook G4. The UI is very minimal and simple, but it has all the options that I would want to use.
For the hard core CLI stuff (such as tcpdump, etc) I can always open up a terminal, and for the part of me that goes "ooooh" at shiny objects, I can make the terminal windows transparent.
I'm particularly impressed at the ease of configuration of network devices and connections in OS X vs. WinXP.
Any way, add me to the list of UNIX geeks that is going to OS X. I'm not replacing my OpenBSD boxen, but I am trying to replace my work-issued WinXP laptop and my wife is totally willing to switch out her Win98SE box for a Mac (which is great, because she was dead-set against Linux for her desktop OS).
Oh, did I mention that it's 10 times easier to create a presentation in Keynote than in PowerPoint, and Keynote looks better to boot! For example, I created a 36 slide presentation immediately after installing Keynote, with barely a hitch and never cracking open the user manual. It took me 1 hour yesterday to modify two build slides in PowerPoint.
Someone is WRONG on the Internet!
I'd kill all of you for focus-follows-mouse in OSX.
No need. From an xterm, enter
defaults write com.apple.x11 wm_ffm true
exit X and restart it. Lo, you have focus follows mouse for any X application. There's a similar setting for terminal, and probably other native applications.
People don't buy Macs because of Darwin or khtml, they buy it because of Aqua, Quartz, Microsoft Office and Photoshop.
KHTML is a particularly interesting example, because it's the receipient of a large amount of donated code from Apple.
They used it for Safari, but they gave back many of the improvements they made.
- Scott
Scott Stevenson
Tree House Ideas
When the interface gets in my way by accidentially clicking a gadget or some dumbass tooltip following the mouse around, I get irritated. I'm here to work within my applications, not marvel at how flexible the interface is.
Man, speaking of tooltips...
I open a terminal when I'm doing c++ work, and I command-line my way around the project directory all over the place, 4-5 terminals open all at once, whatever, right? I'm sure I'm not the only one. I use Kwrite for my editor, so I frequently type something like "kwrite src/fuckyou.h &". I also frequently type something in kwrite, save, and then, check this out.
Then I move the mouse pointer all the way to the bottom of the screen, click the terminal, and start typing in the terminal. Now, what's wrong with this?
Nothing, tra-la-la?
A fucking tooltip appears and snatches the first character of input from me!!! So now I've typed "ake" or "/configure" or "write src/fuckyou.cpp &". Or even just "s"!
Irritating as hell. (KDE, just because I've failed to mention it so far)
Like what I said? You might like my music
I mean, who the hell has a laser printer connected to a parallel port and wants to share it over a network?
A lot more people than you think. Families have computer networks, and they sure do not want to buy a printer for each family member.
You buy cheap ink jet printers. Some prefer quality laser printers. One does not want to buy another laser just to avoid the hassle and one does expect things to just work. I have an old laser printer which connects via the parallel port that works just fine and I do not want to change it just for the heck of it, but I do expect it to become available on a network.
Remember the year 2000? They promised us flying cars. They delivered the PT Cruiser...