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.
Um Please replace the IE development in my post to UI. Sorry I was trying to get First post.
If something is so important that you feel the need to post it on the internet... It probably isn't that important.
Sound familiar? It's the same argument against any kind of Open Source, only this time it's UI design that's somehow impossible to do without a big corporation (or "cathedral" if you will). Someone better tell the KDE people.
I don't think that ESR ever said UI design was really easy to do or a last-minute add-on, just that it needs to be done, not overlooked.
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!
Apparently not so obviously, Arts and Crafts in furniture doesn't mean the same thing as arts and crafts in elementary school. Rather, it's the furniture in the "mission" style, stuff by Stickley, etc. Think furniture that belongs in a Frank Lloyd Wright more than seashells and construction paper.
The Glass is Too Big: My Take on Things
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.
Errr, well, I realize this is /. and all, and that Microsoft is therefore the Evil Empire, but actually the TweakUI add-on for Windows has a checkbox that says exactly that, and has for several years now.
Tweak UI for XP
TweakUI for 2k and prior versions
ABSURDITY, n.: A statement or belief manifestly inconsistent with one's own opinion.
Focus-follows-mouse is an option on the Amiga at least.
On a related note, AmigaOS also has as an option the ability to click windows to front with a doubleclick, which is by far my favourite method for doing so. That way you can move a mouse over a window without giving focus, then click if you want focus without bringing it to the front, but still easily be able to bring it to the front with just a doubleclick. I don't know if that's available on any other OS?
I love all the work the open source community has done - and I am huge supporter. HOWEVER, I am so goddamned sick of the attitudes some freesoftware advocates have concerning non technical users and usability in general. One poster suggested that just because an application's UI sucks doesnt mean the software sucks. I'm sorry but that is the type of thinking that makes me want to shoot someone. Bad usablity IS bad software. PERIOD. If you want your software to impress your buddies at source forge and get a signed propeller beanie from Linus - then by all means, continue to create difficult and hard to use applications. However, unlike most developers, users don't want to think about the application - they want to complete the task.
Programmers make the worst test subjects for testing usability. Programmers drive the UI of OSS/Freesoftware.
As much as I hate to say this - most programmers, and typically NOT the good ones, harbor some resentment towards unsophisticated users by virtue of the fact that they are not techies. The best programmers are those that think in terms of tasks/usability before they even open an IDE.
I hope OSX can inspire Gnome/KDE folks to make better, and more UI cohesive, 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
I gotta agree with Quinkin.
I've got both OS X and Yellow Dog linux installed on my powerbook, and I've found after over a year of trying to like OS X, I very rarely boot into OS X.
I just find that OS X is slow, clunky, and annoying. And I'm comparing this to Gnome 2.4, which is an interface not widely known for its blazing speed.
And OS X has trashed itself twice... requiring a complete reinstall both times... talk about annoying as the OS X install is slow as molasses.
I have yet to see any evidence that this is possible for J. Random Aqua App without buying additional 3rd-party software, and believe me, I've been looking on and off for the last month and a half.
My Mac laptop sees less use than either of my Linux desktops (at home and at work) for precisely this reason -- I've been using focus-follows-mouse for so long that it's very painful for me to go back to click-to-focus. The only general purpose solution I've seen for this is Virtual Desktop Pro, and I haven't gotten around to buying it because part of me has a hard time paying US$40 for two things (virtual desktops and focus-follows-mouse) that I've had on Linux for free for nigh unto ten years...
"My life's work has been to prompt others... and be forgotten." --Cyrano de Bergerac
Actually I do use shell scripts to organise my pr0n collection:
From Apples point of view this makes sense, those keys are grouped with the page up/page down keys. Disconcerting though, is that while typing this I did a test, once the text box in Safari reached a point of scrolling, the page up/down key would move first the text box to the end, then the page to the end, and vice versa. While the home and end keys would only work on the editable text box. I am assuming this made sense to someone somewhere, however, it could just be a glitch. Neither reason would surprise me as OSX is full of baffling reasoning and wierd glitches....that in some cases will slowly end up being features.
Now that I am older and wiser, and more varied in my computing platforms, I realise it is their compensation for not having those extra keys all those years. However, there are many times on my windows box I find myself cursing because the damn up arrow will not go to the beginning of the line.
If you are one in a million, then there are six thousand people who are just like you.
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
You have entire *nix environment on OSX... ...until you try something to do with. Ever tried building gettext statically on OSX? Under linux, it is trivial. Under OSX, it bombs. And don't even try to start me on rpm.
This guy obviously never tried to _use_ it.
What kind of powerbook is this? I got Panther running on both a 15" Titanium 867 and a 15" Aluminum 1.25 and in both it runs beautifully. Before that I had Jaguar running on an 12" iBook 600 and it ran great.
Have not had any OS X trash itself in over 18 months since I switched to Mac, and was never slow. Of course, I never had SuSe trash itself on my last PC, but I find the OS X experience much more enjoyable.
Pedro
----
The Insomniac Coder
Ever heard of Applescript? This lets you not only program UI actions in code, but even automatically *record* them into code...
This is...
O
U
T
R
A
G
E
O
U
S
!
That's not what I said. I said one starts copying, and thus learning; after that one can fly higher.
For example, MS started copying the Macintosh, and the Macintosh team started copying the Xerox Alto, and the Xerox team built on Engelbart's work.
Leandro Guimarães Faria Corcete DUTRA
DA, DBA, SysAdmin, Data Modeller
GNU Project, Debian GNU/Lin
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...
What i think would be a good start(TM) would be a program that interprets config files and turns them into GUI menus when possible
It's difficult to do that automatically, but Webmin is the next best thing, plus it's Free and web-based:
http://www.webmin.com/
You've never tried DCOP then, pretty much every KDE app I use provides DCOP methods, which are very easily integrated into shell scripts with traditional unix commands.
It's one of the little gems of KDE that people should evangelize more.
They'll think I've lost control again and leave it all to evolution. -- Supreme Being, Time Bandits
man hier
/usr, /etc, /var, and so on"
have a look at that - it explains the point of "sprinkling files around
I haven't seen a printer directly connected to a machine and then shared in a long, long time. Especially on a Linux network.
Then you haven't been to my house, or the houses of any of my friends. I dont know of any home setup that uses network attached printers. I do this all the time at work but not at home.