Modern GUIs are, IMO, extremely inefficient. Almost all of their "features", and arguably all of their graphical elements are at best wastes of time, and at worst major impediments to usability and workflow.
I first started thinking about this, ten years ago, when I noticed myself memorizing every possible keyboard shortcut in Windows. I realized, first subconsciously, that moving the mouse was inefficient. Later, as I switched to X Windows as my primary operating environment, I found that people were writing entire window managers around not touching the mouse. But that was only the beginning - things like overlapping windows, exposed areas of "desktop", and especially clicking to focus started to annoy me. Once you decide to give up the eye candy and optimize for actual work, you quickly shed a lot of things you used to take for granted.
Since all I ever work in is a browser and some xterms, this was a workable solution for a very long time, and I was perfectly happy with Ion on top of X Windows. However, as "web 2.0" evolved, it became increasingly difficult to simply get through the work day. My days of spending a week on configuration and compilation of five different packages just to get PDF reading to work ended a long time ago. I just didn't have time for the pain anymore. When you go to Usenix, or BSDcon, and all of the big name kernel hackers have mac laptops, you start to wonder just what you're trying to prove...
Enter OSX. I would click on a PDF link and it would open a PDF, immediately, in my browser. I would see a Youtube link and could actually watch it without crashing my browser. I could plug in a printer and print. I could use online banking without editing my browser identification. It really had been a slow boil for me over the last few years as I put up with more and more petty inconveniences in the name of "freedom".
The problem was the user interface. I believe that the Mac operating environment is judged by the ability of technically illiterate users to sit down and start using it. By that measure, it probably excels. But I'm not technically illiterate, and I have things like workflows and efficiencies that I need to develop and fine tune, and the Mac OE gives me very little leeway to do that. You can sum it up nicely with the inability to maximize a Window (that is, without manually dragging it to the corners with the mouse in a one-shot attempt to cover the whole screen).
But ... I can't go back to praying every time I go to a news site, or managing five different package installations just to view PDF files. So I decided to make the mac as close to Ion as possible. Lucky for me, this involved only two new package: sizeup and Mondo Mouse.
There are many aspects to the Ion Window Manager, and the most important are probably things I don't even touch here, like keyboard shortcuts and Lua scripting, and so on - but for me, the major usability features were tiling, non-overlapping windows, and focus-follows-mouse.
Sizeup provides the ability to precisely resize a window to one of many pre-determined geometries - things like "the left half of the screen" or "the entire screen" or "the upper right quadrant of the screen". This means you can quickly arrange a completely tiled and non-overlapping workspace. Further, you can, with a keystroke, toggle between tiling a window to some portion of a screen and making it full screen.
Mondo Mouse does all sorts of weird things. I have no idea what they are, as I turn all of them off. Except for focus follows mouse. From my own system build notes: In preferences, turn off everything except for focus follows mouse, set the timer to '0.00' and under the 'appearance' tab, uncheck "display information about the window under the mouse".
And there you have it. It's not perfect. Command-tab and Command-tilde still behave very differently (cmd-tab "remembers" your previous location, whereas cmd-tilde is always sequential) and new window creation on the mac is laughably braindead (especially on multi-head displays) but things are much, much better.
Hmmm...you must have been using FreeBSD or GNU/Linux long before I started. I have never had these experiences you speak of, in general I find the Free Desktop much more usable than Macintosh or that other one. What OS were you using where you had to install five packages and configure for a week to read a pdf? Are you exaggerating?
Posted by: Joel J. Adamson | December 22, 2009 at 05:57 PM
Well, you're talking about two different things there.
The FreeBSD/X/Ion combination was indeed much more usable than OSX. That's why I needed to add these third party software packages to OSX to get things like focus-follows-mouse and so on. So I think we're in agreement there. I do still, in fact, miss that desktop environment.
But the convenience factor has OSX winning hands down. To use the specific example above, the acroread package on FreeBSD typically requires ALL of linux-base (we're talking gigabytes of installed files here), a kernel module that is required from that point forward, and additional configuration in Opera. At the end of the day you have a clumsy viewer that launches separately and crashes often.
Certainly there are all manner of interesting things I could do with the ports dependencies to install "merely" some smaller subset of linux base, etc., but we're still talking about a terrifically cluttered, overinstalled system just to look at a PDF.
Posted by: John Kozubik | December 22, 2009 at 08:33 PM
Very useful information. Can u post about win7 like this..
Posted by: Latest Updated News | March 17, 2010 at 03:20 AM