The UI of Least Resistance

I was work­ing up to a blog post on Ubuntu’s new “Unity” inter­face a cou­ple of days ago, but repeat­edly stalled when it came to mak­ing a point. The only point I could come up with was essen­tially just “I don’t like this”, which isn’t the great­est of sub­jects for a blog post — to say noth­ing of the hun­dreds who have trod­den that ter­ri­tory before me.

Ubuntu's Unity interface

Ubuntu’s Unity inter­face (image credit: webupd8.org)

It’s a fairly bold new direc­tion for Ubuntu’s UI, and the first time their default inter­face has really diverged from what the upstream GNOME project pro­vides. Now I don’t like it for a num­ber of rea­sons: it’s slow, it doesn’t pro­vide some basic func­tion­al­ity, other func­tion­al­ity is really well hid­den (Go on, re-order your icons. Try it.) and it’s got an “our way or noth­ing” approach to han­dling workspaces.

On one hand, as a soft­ware guy whose main spe­cial­i­sa­tion is user inter­face design, I under­stand the urge to try new UI par­a­digms as often as pos­si­ble, on the grounds that sooner or later you’ll dis­cover some­thing that really is bet­ter than what you cur­rently have. On the other hand, I qui­etly despair at how far off that “some­thing bet­ter” seems.

Take, for exam­ple, me. I’m a UX per­son, and a per­fec­tion­ist when it comes to inter­faces. I’m irri­tated by slightly-wrong fonts and icons a cou­ple of pix­els out of align­ment. I love new things, new ways of organ­is­ing and dis­play­ing data. I’m big on aug­mented real­ity. And my desk­top looks like this:

Bare XFCE Desktop

Now I think that’s aes­thet­i­cally pleas­ing, but in terms of func­tion­al­ity, it resem­bles noth­ing quite so much as:

Windows 95 Desktop

Yeah, that.

The only notable excep­tion is GNOME-Do (think Launchy on Win­dows or Quick­sil­ver on OS X), which I use exclu­sively for launch­ing apps. The main menu, lower left, only gets used if I for­get the name of some­thing. Aside from that, I’m using my com­puter in exactly the same way I was 16 years ago.

The rea­son for that, as far as I can tell, is that it is the UI of least resis­tance. In six­teen years, prob­a­bly 99% of my computer-using time has involved an inter­face that’s very sim­i­lar to that one. Sure, there are cer­tainly bet­ter UIs out there. Maybe from an objec­tive point of view, Unity is one of them. But for more than half of my life, my brain has been slowly opti­mis­ing itself for the Win­dows 95 style interface.

To become the “next big thing” in desk­top UI, a new par­a­digm must not only be bet­ter than what came before, it must be so much bet­ter that our brains don’t mind los­ing half a lifetime’s worth of learning.

That’s a mile­stone I haven’t seen reached lately on the desk­top, and a fear we may not see it reached before “the desk­top” stops being a thing.

An Ode to Sharepoint

At a loss for other, more pleas­ant sub­jects to blog about, I will instead write about my neme­sis, that being that has brought naught but pain to my life. I speak, of course, of Microsoft Sharepoint.

To upgrade one’s ver­sion of Win­dows — Vista to 7, say — is by and large a pretty pain­less expe­ri­ence for the home user. Office, like­wise — there’s no dread that your Office 2003 files will be com­pletely unopen­able in Office 2007. So why is the poor sysad­min not afforded the same easy upgrade path?

In order to move an exist­ing Share­Point Ser­vices 2 web­site to a new net­work with Microsoft Office Share­point Ser­vices 2007, one must:

  1. Learn more than is healthy about the work­ings of Share­point and IIS (2 days, d10 SAN)
  2. Back up the orig­i­nal site to disk (using stsadm.exe not smigrate.exe, as the lat­ter is bro­ken) (5 hours, 13 GB)
  3. Install Win­dows Server, IIS, SQL Server and Share­point Ser­vices 2 on a new machine (1 hour)
  4. Con­fig­ure said IIS, SQL and Share­point (1 hour)
  5. Restore the Share­point site from disk onto the new machine (>8 hours, >120 GB, d10 SAN, fails unre­cov­er­ably when out of disk space)
  6. Per­form an in-place upgrade to Share­point Ser­vices 3 (Sev­eral hours, 40 GB, may fail unrecoverably)
  7. Back up this site to disk (5 hours, 15 GB)
  8. Con­fig­ure MOSS 2007 on the des­ti­na­tion server (2 hours, 24 Google searches, d10 SAN)
  9. Restore the disk backup to the MOSS 2007 server (5 hours, 40 GB, may fail right at the end if pre­vi­ous step per­formed incor­rectly, d100 SAN if this occurs).
  10. Man­u­ally recre­ate per­mis­sions on every Share­point site since all the users are now part of a new domain (8 hours, d10 SAN)
  11. Per­form a rit­ual to offer Great Cthulhu the souls of Microsoft’s Share­point devel­op­ment team (d30 SAN, remark­ably quick by comparison)

I began this task on Tues­day after­noon as a mildly knowl­edge­able Share­point user with vir­tu­ally no admin expe­ri­ence. By Thurs­day after­noon, I may have been our company’s most expe­ri­enced Sharepoint-wrangler. On Fri­day morn­ing, I started the above pro­ce­dure. We are now on Step 5. 200 peo­ple are expect­ing to have Share­point access tomor­row. They have not a snowball’s chance in R’yleh.

All Bugs Are Shallow… Except This One

In his essay “The Cathe­dral and the Bazaar”, Eric S. Ray­mond coins the phrase “given enough eye­balls, all bugs are shal­low” — mean­ing that with enough testers and enough pro­gram­mers, it is pos­si­ble to diag­nose and fix any soft­ware bug.

So why can’t my com­puter sus­pend and resume properly?

The con­cept of ‘sus­pend’ — or ‘sleep’, or ‘standby’ — mode, whereby the com­puter dumps its inter­nal state to RAM then enters a low-power state with its proces­sor and other hard­ware turned off, is not new. The ACPI stan­dard has been kick­ing around for 14 years now, a very long time com­pared to the life cycle of an oper­at­ing sys­tem. These days, with lap­top use on the rise, it’s a very com­mon thing for users to want to do. And yet resum­ing from sus­pend is still hit-and-miss.

Why do I find it more reli­able in Ubuntu than open­SUSE for the same base ker­nel? Why does GNOME fare bet­ter than KDE? Why does my WiFi some­times not come back? Why, with Microsoft’s mil­lion– if not billion-dollar oper­at­ing sys­tem bud­gets, with Intel and AMD and nVidia’s decades’ of dri­ver expe­ri­ence, is sus­pend and resume still fre­quently an issue even on Windows?

Only Apple, with its closed hard­ware / soft­ware ecosys­tem, seems to have cracked it.

I’d hate to think of that as the only way to a bug-free exis­tence — I’m very fond of the idea of an open ecosys­tem where I can run what­ever soft­ware I want on what­ever hard­ware I want. But I’m wor­ried. Is the range of (IBM-compatible, ACPI-supporting) hard­ware out there just too diverse and too widely dif­fer­ent in its sup­port for suspend-and-resume? Is it just infea­si­ble for soft­ware to per­fectly imple­ment it on all devices?

Has hard­ware cre­ated the one soft­ware bug that, for any rea­son­able num­ber of eye­balls, isn’t shal­low?