• Subscribe

    Subscribe to This Week In Panospace by eMail.
    Subscribe in a reader
  • License

    Creative Commons License
    This work is © 2008-2012
    by Yuval Levy
    and licensed under a
    Creative Commons License.
  • Entries

    April 2014
    M T W T F S S
    « Dec    
  • Archives

Tipping Point

Embarrassing:  Monday morning I came to class, opened my notebook’s lid, and loud music filled the silent room.  I was caught by surprise.  It took me three long password entry attempts until I unlocked the screen and could hit the mute button – “Fn F8″ did not work in locked screen mode.  In the meantime Tim Simenon and Mark Saunders remix of Strangelove, from the last Depeche Mode release, digital download, pumped up the beat.

Ex-post analysis: the previous evening I had my earbuds on while working on my exam summaries.  My last actions have been to close the notebook’s lid and unplug the earbuds, in that order.  Kubuntu remembers different audio settings when earbuds are plugged.  Unfortunately the sleeping notebook did not register the unplugging and on waking up from sleep did not bother to check if something has changed.  This makes the difference between a useful feature or a useless one; and between a smooth experience and an embarrassing one.

This was also the moment I decided that my next personal computer will be a Mac.  I will make the switch at the next opportunity and will relegate Kubuntu where it belongs: in the toys box.  I am thankful to Kubuntu for the great playtime, but I no longer have time to play.   I need a machine that delivers quickly and predictably.  I need to be productive.

Initially I thought I could get through law school using Kubuntu.  Indeed the only thing that I could not make work was the exam writing software.  Everything else I got working, including access to the library’s printing infrastructure, the university’s email system and knowledge base, and document interoperability with my Mac and Windows using friends.

However, this came at a cost I can no longer afford: time.  Three month into it, I am calling the experiment off.  There is no major problem with Kubuntu, just a lot of papercuts – little issues that can mostly be worked around but cost me more time than I can afford.

When I started school, in September, I had set up both my workstation and my notebook from scratch.  I bought a new hard disk for the desktop and a new solid state drive for the notebook.  I installed a clean Kubuntu 11.10 from scratch when it was still beta but quite promising.  I needed a dependable infrastructure.

My conclusion after three months (and after years of general ‘buntu usage) is that Open Source desktops do not qualify for the “dependable” qualifier yet.  And I think that a purely free organization based solely on the principles of Open Source is not well equipped to make a dependable desktop.

A few examples:

I have a Brother all-in-one inkjet and a Brother laser printer.  On my first day at law school they were both fully functional.  During the past three months, I have lost twice use of the printing functionality following updates of the cups package.  Once only the desktop was affected.  Once I also lost the ability to print to a PDF file.  I was able to re-install and re-configure things.  Not a wise use of my time when approaching a deadline for a paper that had to be submitted in print.  I also lost the scanning functionality, on the notebook but not on the desktop.

As a law student, I mostly deal with text.  LibreOffice stopped scrolling horizontally.  I can move the cursor inside the window, but it is time-consuming.  In October LibreOffice Writer stopped displaying formatting characters.  The button in the toolbar would not toggle them. Finding the workaround was time consuming, and the issue reappears spuriously.  I can work around it going to the menu Tools -> Options -> LibreOffice Writer -> Formatting Aids and checking the checkboxes.  Every time I have to do it I am tempted to save my time and buy a Mac.

At some point, gimp did not start.  I found the workaround online.  It only fixed it for my notebook, not for my workstation.

And of course I do email.  Kmail has been updated and now it only saves email addresses and not the names associated with them.  It is a major time waster to manually connect semi-random sequences of letters and numbers to actual names.  I even took the time to file a bug report.  I did not have time to migrate to a different mail client, but I am seriously considering it, especially since I get a whole bunch of cryptic errors messages from Akonadi and Nepomuk, usually just when I do not need it and they cover the area of the screen where I am typing class notes.

This duo of underlying technologies managed to fill my new 400 GB Kubuntu partition on the desktop and crash it with a disk full error.  Now I only use webmail on that machine.  Akonadi is also terrible at dealing with mobility – when I move between home and campus, or even between different campus locations, I will not see new emails until I kill Akonadi and its spawned processes and restart Kmail.  This alone is so complex that I had to write a script for it.  Why can’t Akonadi kill its spawned processes?

Another papercut I bump into constantly is the interference of the touchpad while typing.  Ubuntu has a setting for it but I have not found anything equivalent in Kubuntu.  Disabling the touchpad while typing (i.e. for about a second since the last key stroke) should be default on notebooks in 2011!

I could go on listing plenty of such small issues.  Individually they may be small and insignificant, but together they consume a lot of my time.  And I am learning that listing them is not helping me, which brings me to my conclusion that a purely free organization based solely on the principles of Open Source is not well equipped to make a dependable desktop.

Unless there is somebody who thinks of the user’s experience, end-to-end, integrating all the different bits and pieces of Open Source code into a cohesive unit that makes sense, Open Source desktops will be a waste of time, like this bug report.

In the coming weeks I need to focus on exams, and I will work around the papercuts until then.  But it is most likely that 11.10 will be relegated to be second (or third) in the boot up pecking order of my desktops soon.


There used to be a time when the choice of car influenced significantly the probability that the trip from A to B could be completed. Nowadays all manufacturers have implemented a common set of reliable functionalities. Any car can complete the trip. The critical issue is no longer to get from A to B but to do so in the most efficient way, maximizing output and minimizing the scarce input factors. Environmental and economical consideration make some factors more relevant than others. Driving time (miles per hour, MPH) is no longer relevant. Fuel (miles per gallon, MPG) is one of the most critical input factors today and has a significant impact on the choice of the car.

There used to be a time when the choice of computer influenced significantly the user’s ability to complete the intended task. Nowadays all boxes are the same and there are enough mature software packages that offer equivalent functionality across operating systems. Almost any system does the task. If all systems have sufficient functionality and development focuses on efficiency, what are the scarce input factors? how do we measure them? how do we weight them? which one have an impact on the choice of software?

Unlike cars there is no speed limit. Raw speed still counts and time is of essence. In recent years energy efficiency (e.g. FLOPS/Watt) has become a factor of consideration, but time still is the most relevant measurement. And in my opinion the most important. Not CPU-time, user-time.

The best software is the one that reduces human interaction time (including time waiting to interact) to the minimum.

Human interaction time can be categorized in:

  • Time to prepare the operation: the shorter the better. While for frequent users with a good memory can enter a command line with a few parameters (out of a few dozens) very quickly, an intuitive GUI shortens this time for the occasional user that would have to call the command’s man page or other help text, read it, scribble down on paper while composing his command until it can be triggered.
  • Typing on the keyboard: the smaller number of keystrokes for an input, the better.
  • Reading from the screen: the less there is to read, the better (but the relevant information must still be there).
  • Interaction with the pointer. Positioning the pointer on a target, dragging, clicking, are all operations that require dexterity and accuracy. Like typing on the keyboard, there is a trade-off between speed and accuracy; and between simplicity of the movements and speed.
  • Waiting for the computer to request additional input, but only if the interaction is supposed to be in or near real-time. Batch processing time does not count – the user can do other things while the computer processes the batch.

Good software design aims to minimize those interactions. If an operation can be completed with the nine key strokes, completing it in ten is a 10% efficiency-loss. This is what happens when renaming layers in Photoshop compared to the same operation in GIMP; or when renaming a file in  Windows Explorer compared to Nautilus. The inefficiency cost? find it out for yourself. Take the typing test and find out your accuracy and speed. Multiply your words per minute by 7 to estimate the number of such operations that you need to perform to loose one minute. Estimate it across the days, weeks, months, years you sent at your computer. Extrapolate on the millions of users of the software, and you’ll know what is the waste resulting from such a simple bad design.

Extra-bonus: how fast can you target a single random pixel in the middle of your display? And the single pixel at the corner of your display? And a single pixel on the border of your display? Now you should know why positioning the application menu on top of the display (as done on the Mac) is superior to positioning it on top of the window (as typically done on Windows or on Linux). And wich single pixel on your display is the fastest one to target? Hint: context menu.

Ah, and time is still the most relevant factor also when getting from A to B too: I’d rather read a book comfortably seated in a train, airplane, but or taxi and let somebody else do the driving. As in: program the journey and sit back, while somebody else does it for you. Batch processing, wherever possible, is my favorite type of processing.