From the monthly archives:

March 2007

Found this on Digg today: a nice article on using CSS and Javascript to provide form field hints.

{ 0 comments }

Readers of UsabilityBlog have probably gotten the impression that I’m a whiny b*tch. I do tend to slag on designs that aren’t immediately learnable.

OK, I’ll own that. I am a bit of a whiner. But it really does cheese me off when products make implicit claims of learnability and usability, but in fact possess neither attribute.

So it’s with all this in mind that I’d like to talk about the incredibly high usability and utility of the GUI’s ancestor, the command line interface (CLI).

CLI: Not “Walk-Up-And-Use”
Let’s be clear about one thing: in most circumstances, a CLI is NOT a “walk up to and use” interface like the touch-screen kiosks at the airport check-in counter. Using a CLI requires that the user possess *some* understanding of both the syntax and command set, AND the general concept of interacting with a computer via a command line interpreter or shell.

But once a person takes the time to learn a particular CLI, they possess the ability to perform tasks and accomplish their goals in an incredibly efficient manner. It’s the old tradeoff, learnability vs. efficiency. It’s not exactly a zero-sum game, but these two attributes are often in opposition.

Let me give you a real-world, personal example of how learning just a little bit about a command line interface provided me with an incredibly powerful, comprehensive, customized, and trustworthy method of regularly backing up my and my wife’s data.

The CLI and I
First, a little bit about my situation and goals: ever since grad school I have been obsessive about backing up my data. I make (somewhat) up-to-date redundant backups of my and Susan’s data files to two large external drives. And yes, I even maintain an offsite backup, although the drudge of carrying that drive from work to home and back again means that the offsite backup is hardly ever as up-to-date as the onsite backups.

Lately, with the pace of work picking up for both Susan and I, I’ve been feeling the need to keep the backup stores as up-to-date as possible. And I had grown tired of running the backups manually.

Finally, since Susan and I have both become avid podcast consumers, I have noticed that the backup drives are filling up with unwanted podcasts. So my goals are:

  • Back up my and Susan’s critical data safely and redundantly.
  • Automate the execution of backups.
  • Conserve space on the backup drives by deleting files that we don’t need anymore (i.e., old podcasts).

Now I’m sure that I could buy a software product that would make periodic, maybe even continuous incremental backups. And I bet that a premium product might even let me specify which data can be discarded. In fact, many external drive manufacturers provide “lite” or even full versions of backup software with their drives. But I build my own external drives from empty enclosures and drives I purchase from eBay or Newegg. So that’s not an option for me.

I first started using computers back in the dark days of DOS 6x, so I know a little bit about Microsoft’s CLIs. Not much, mind you, but just enough to accomplish some rudimentary tasks.

So about four years ago, I started opening up a command line window in Windows 2000 (and later, XP) and entering DOS commands to copy all the data in the directories holding my data (as well as all subdirectories underneath) to another directory. (I always split my laptops’ drives into an OS partition and a data partition, so in essence my D: drive is the first line of defense. It keeps a backup of the contents of my user folder.)

The command I used was xcopy.

Using various options provided by xcopy, I could specify that I only wanted to copy files that had changed, and suppress confirmation prompts (“Are you sure you want to overwrite foo.bar”) as well. Pretty powerful.

I soon grew tired of entering the backup commands manually (yes, I kept the syntax on a post-it on my monitor…), so I put the xcopy commands into a batch file, and then executed the batch file whenever I remembered.

Obviously, I’m much less reliable than a computer, so about two years ago I decided to schedule the execution of the batch file using the scheduler feature of Windows XP. If you want to find it, go to Start / All Programs / Accessories / System Tools / Scheduled Tasks.

So about two years ago, my batch file looked like this:

Filename: Backup.bat

REM Copies Susan’s Favorites to the D:\ drive.
xcopy C:\DOCUME~1\Susan\Favorites\*.* D:\Susan\My_Docs\Favorites /s /d /e /i /r /y

REM Copies Susan’s desktop files to the D:\ drive.
xcopy C:\DOCUME~1\Susan\Desktop\*.* D:\Susan\Desktop /s /d /e /i /r /y

REM Copies Susan’s My Documents, Outlook data file, and desktop files from the D/: drive to the USB drive backup folder.
xcopy D:\Susan\Desktop\*.* U:\Susan\Desktop /s /d /e /i /r /y
xcopy D:\Susan\My_Docs\*.* U:\Susan\My_Docs /s /d /e /i /r /y
xcopy D:\Outlook\*.* U:\Susan\Outlook /s /d /e /i /r /y

You probably noticed that I used the 8.3 name for the “Documents and Settings” folder. A bit of trial and error taught me that xcopy will indeed preserve long folder and file names at the destination, but doesn’t always recognize long names in the xcopy command itself. So I used the 8.3 name for “Documents and Settings,” which is (usually) “DOCUME~1″.

Podcasts Improve – And Complicate – Our Lives
This little batch file served me well until last summer, when we both started downloading podcasts. This lifestyle change was definitely for the better; as we no longer had to listen to any of the incredibly annoying local radio stations. But it had one unintended effect: every time the backup batch script ran, it would back up all the podcast files that happened to be sitting in “My_Docs\My Music\iTunes\iTunes Music\Podcasts.”

Even though Susan and I erase listened-to podcasts on the source drive, they started piling up on the backup drives. I needed a way to regularly clear out the contents of the podcast folder on the backup drives so the backup devices didn’t become overrun with stale copies of “This American Life” and the Battlestar Galactica podcasts.

So I went prospecting in the Microsoft KB, and found that the RMDIR (“remove directory” or RD) command has some very useful options. For example, “RD D:\Foo\Bar /q /” will delete the folder “Bar” and all its contents, without asking me for confirmation.

I added some RD goodness to my batch file, and this is what I ended up with:

Filename: Backup.bat

REM Copies Susan’s Favorites to the D:\ drive.
xcopy C:\DOCUME~1\Susan\Favorites\*.* D:\Susan\My_Docs\Favorites /s /d /e /i /r /y

REM Copies Susan’s desktop files to the D:\ drive.
xcopy C:\DOCUME~1\Susan\Desktop\*.* D:\Susan\Desktop /s /d /e /i /r /y

REM Deletes the old podcasts from the backup drives before kicking off the current backup.
RD U:\Susan\My_Docs\MYMUSI~1\iTunes\ITUNES~1\Podcasts /q /s
RD S:\Susan\My_Docs\MYMUSI~1\iTunes\ITUNES~1\Podcasts /q /s
RD O:\Susan\My_Docs\MYMUSI~1\iTunes\ITUNES~1\Podcasts /q /s

REM Copies Susan’s My Documents, Outlook data file, and desktop files from the D/: drive to the USB backup drive.
xcopy D:\Susan\Desktop\*.* U:\Susan\Desktop /s /d /e /i /r /y
xcopy D:\Susan\My_Docs\*.* U:\Susan\My_Docs /s /d /e /i /r /y
xcopy D:\Outlook\*.* U:\Susan\Outlook /s /d /e /i /r /y

REM Copies the same data as above to the secondary backup drive.
xcopy D:\Desktop\*.* S:\Susan\Desktop /s /d /e /i /r /y
xcopy D:\Susan\My_Docs\*.* S:\Susan\My_Docs /s /d /e /i /r /y
xcopy D:\Outlook\*.* S:\Susan\Outlook /s /d /e /i /r /y

REM Copies the same data as above to the offsite backup drive (when I remember to bring it home that is).
xcopy D:\Desktop\*.* O:\Susan\Desktop /s /d /e /i /r /y
xcopy D:\Susan\My_Docs\*.* O:\Susan\My_Docs /s /d /e /i /r /y
xcopy D:\Outlook\*.* O:\Susan\Outlook /s /d /e /i /r /y

So there you have it. It’s not rocket science, but it works pretty well for me. It’s usable – provided you have some working knowledge of CLI’s. And I didn’t have to buy a separate application.

What did we learn today kids? First, the command line is your friend. Second, it can save you money.

{ 0 comments }

Have An Errorful Day…

by Paul Sherman on March 21, 2007 · View Comments

in Uncategorized

Chris Shaw of Userkind passed me a classic error message. You can see it here.

{ 0 comments }


Painful Monster.com Error Message

I’ve never passed an invalid parameter before. But I imagine it’s gotta hurt a bit.Isn’t there some kind of surgery I can get for this?

By the way, this was the entire contents of the error screen. I would’ve screencapped the entire screenful of white in all its blinding glory, but why bother?

{ 2 comments }

A co-worker sent me a link to Jack Bellis’ very good review of FreshBooks, an accounting web app. Find it here: Usability Institute- Review of FreshBooks.com.

Blogged with Flock

{ 2 comments }


Flickr Error Message

Now *this* is a great error message! I just got it while posting the Paypal screengrab (see previous post).

Let’s talk about why it’s great:

  • It clearly states the problem, and offers multiple solution paths.
  • It speaks to me in English, not SQL or ASP.NET.
  • It uses vernacular (“Sometimes web services can be a bit flaky”) to reassure me that Flickr is run by caring people, not automatons.

The only nits I have with the message: It’s a bit busy. Yes, there’s multiple solution paths accessible from here, but it’s a bit slow to parse it from the visual standpoint.

Also, it took me a second to figure out that they were talking about my blog’s configuration details. The addition of that one word would’ve made all the difference.

{ 0 comments }


Paypal Error Message

Well, the post’s title says it all.

P.S. If you’re less than impressed by this post’s title, go read my previous post, “Oh Brother Intellifax 4100, Where Art Thou?

Now *that’s* a good title.

I walked around all day yesterday quite impressed with myself that I came up with that.

{ 0 comments }

OK, my fine faxing friend. I just fed you eight pages of insurance policy + cover sheet, dialed the phone number, and pressed “Fax”.

You happily snarfed up the pages from your automatic document feeder, sent them out your bottom, and flashed a “Dialling” message at me. But here’s the thing: you did nothing after that.

You didn’t sound a dial tone and make dialling noises. You didn’t screech a “connected” tone. You didn’t show me any other messages like “Sending” or “Transmitting.” You did nothing for a good minute and a half. You didn’t show me an error message. You just left me standing there, wondering if you did what I asked.

(Yes, I checked that you had dial tone before I loaded you.)

You know what I did then, Brother Intellifax 4100? I walked over to your colleague and rival, Canon Laser Class 7000.

Canon Laser Class 7000 snarfed my insurance policy + cover sheet, told me it was “Dialling”, made a big production of loudly dialling and connecting, then told me it was “Transmitting.”

When Canon Laser Class 7000 finished, it was nice enough to tell me that “8 pages [were] faxed OK.” (And it printed a transmission summary, which I didn’t exactly need, but hey, it was nice of it anyway.)

Sorry, Brother Intellifax 4100. You lost the job.

Blogged with Flock

{ 0 comments }

Thirty Days With Ubuntu Linux

by Paul Sherman on March 16, 2007 · View Comments

in Uncategorized

Hard OCP has published a very good article about one user’s first 30 days on the Linux platform.

I found the article to be very thorough. It really provides a you-are-there feel to the author’s trials and tribulations. Highly recommended.

Blogged with Flock

{ 0 comments }


Roomba Discovery

Well, it didn’t take long to answer the most important Roomba question. While unboxing, our 7 year-old noticed the buttons labeled “Max” and “Power”, and decided that Roomba should be named Max Power.Susan wants to name it Fred, however.

We’ll see who prevails.

{ 2 comments }


Windows Live Messenger Freaks Out

Windows Live Messenger, your error message is soooo helpful! Thanks! This really helps me solve my problem!

{ 0 comments }

Last summer I blogged about my problems accomplishing even simple configuration tasks in the Ubuntu Linux distro. (Here are links to the first post and the second post.)

I noticed that someone in the open source community quite helpfully posted an explanation of how I could solve one of my Linux problems. I appreciate that quite a lot. However, the solution itself just reinforces my point that Linux is not as usable as it needs to be for the mainstream computing herd.

Here’s the excerpted solution:

When you logged in as root in the command window, you made it so that command window was running a session using the root login. However, the rest of your system was logged in using your normal user name, which does not have “root” privileges. So, if you open a text editor using the menuing system, then that instance of the editor is running using your normal login, not root. Hence, the editor will not be able to store a file the GRUB “menu.lst” file (I think this is what you’re trying to edit, right?).

What you need to do is invoke the editor from within the command window where you are logged in as root. If your editor is gedit, you can do this by typing the following at the comand line:

gedit &

Before you actually change “menu.lst” I recommend making a backup copy of the current version by going to the correct directory within your command window where you’re logged in as root and entering something like:

cp menu.lst menu.lst_ok

You probably knew the command, but the point is it has to be done within the command window where you’ve changed your user to root.

Ubuntu also provides an alternative approach for opening an editor with “root”/superuser privileges:

1. open a command/terminal window
2. execute: sudo gedit
3. enter your password

This runs a session of the gedit editor as user “root”.

Again, great help from the community. But the solution is tragi-comically (comi-tragically?) complex. Remember, I was just trying to change the boot order! I shouldn’t have to possess all that conceptual background knowledge.

Blogged with Flock

{ 3 comments }

Slagging on software EULA’s (“end user license agreements”) goes in and out of fashion. Since I’m perpetually the third-to-last guy to hop on a bandwagon, I figured I’d at least be consistent and join this party late as well.

So let’s get right to it: software EULA’s are broken. They’re unusable. And not just for the reasons you might think. Pretty much everything about the EULA experience is horribly, horribly wrong.

Let’s start with the legalese. I’m aware of how and why legal writing has become so impenetrable and difficult to parse. (For more on this, check out this Wikipedia article.) Defenders of the language and style of legal writing point to the need to disambiguate as much as possible and cover all potential contingencies when writing law or a contract. But that argument is specious. Bloated, meandering legalese is created by lazy people who can’t be bothered to express their thoughts and intent clearly and succinctly.

Here’s an example of laziness in action (now *that’s* a contradiction in terms…) that I just encountered while attempting to install a software application I was interested in evaluating. For the curious, I was installing the open source version of SugarCRM, an application for managing customer and sales information. Let me be clear about one thing: I am NOT singling out SugarCRM for extra-special vituperation. They’re just doing what everyone else does. Their EULA experience is really no better or worse than any other vendor’s.

I started the SugarCRM install, and in one or two clicks was presented with this screen:

�Sugar

I don’t typically give the EULA screen more than a nanosecond of thought, but something spurred me to actually check out the license agreement. I started scrolling the text box, but quickly grew frustrated. So I put my pointer in the text box and pressed CTRL+A (“select all”) to highlight the EULA text. I planned to copy it and then drop it into a Word doc.

Surprise… the text didn’t highlight.

Now I know a usability issue when I see it. My curiosity was piqued: just how bad *was* this user experience? So I manually highlighted the EULA text on the first line, and then dragged my pointer downward. Sure enough, the text started highlighting. I figured I’d just keep my index finger down for however long it took to highlight the entire text, then try CTRL+C (“copy”).

The scrollbar indicator was taking an awfully long time to move downward. Then I noticed just how small the scrollbar indicator rectangle was… and I knew this might take a while.

After a solid 2 minutes, I had finally selected the entire block of text in SugarCRM’s EULA screen. Of course, upon pressing CTRL+C I received no indication that the text block had actually copied to the clipboard. But I took the chance, opened up Word, and pressed CTRL+V (“paste”).

When Word stopped grinding, the first thing I did was look at the page count at the bottom left of the status bar.

It said the document was SIXTY PAGES LONG.

Back in the day, I had occasionally seen Word spaz out on a page count; so I hopped to the end of the document then back to the beginning, thinking that the page count would settle down to a reasonable number.

It stayed at sixty pages.

Sixty single-spaced, twelve-point, Times New Roman, one-inch vertical by one-and-a-quarter-inch horizontal margined pages.

Guess how many words?

It has 18,284 of ‘em.

I’ve posted the EULA here so you can revel in its repulsiveness.

So let’s review: the application’s EULA is sixty pages long in Word. The text box on the EULA screen is 470 pixels wide by 135 tall (less if you subtract the gutters). And you can’t easily copy/paste the EULA into an easier-to-read format; you’re expected to read it in this tiny 470-by-135 aperture. Here’s the kicker: it’s written in dense legalese, with seemingly random switches between sentence case and upper case.

Sucks, doesn’t it?

It’s almost like they DON’T WANT you to read it. Typically, the only people who want you to agree to a legal contract without fully understanding it are slimy car salespeople and dishonest mortgage loan officers. Now I doubt that anyone at Sugar actually thinks like that; a quick perusal of their site shows that they’re committed open-sourcers who do much for the development community. In short, they seem like good people.

So why the unusable EULA? Probably the typical reasons: the developer who coded the installer forgot to enable right-click select/copy/paste in the EULA text box. And the Sugar legal team undoubtedly just concatenated the separate boilerplate licenses for the open-source components installed with SugarCRM, then added in a bit of their own liability-proofing text for good measure. In other words, they were lazy. What resulted is an unfriendly, unusable mess.

Now I was even more curious, and I wanted to do some comparative EULA-gawking. So I played around with the next two apps I had occasion to install: Windows Live Messenger and the iTunes 7.1 update.

Windows Live Messenger

Microsoft’s instant messenger app had a surprisingly readable EULA, but was a snooze-inducing 12 pages and 6,343 words long. The EULA text box was super tiny at 415 by 100 px, but it did permit both keyboard and right-click select/copy/paste.

�Messenger

I’ve posted the EULA here for your edification and enjoyment.

iTunes

Apple’s iTunes EULA experience was not considerably better or worse than the other two. While (relatively) brief at five pages/2,091 words, it yelled at me (i.e., was in all caps) at random times. Guess that famed Apple user experience doesn’t extend to the EULA. Here’s a screenshot showing the generous-for-this-crowd text box aperture:

�iTunes

The EULA itself can be found here. It too suffers from a bad case of boilerplate-itis.

Usable EULAs

This is the part of the rant where I should tell everyone how to create a better EULA experience. So without further ado…here are my recommendations for more usable EULAs:

  • Content: Lose the legalese. Lawyers, say no to boilerplate. Say yes to plain language. And try your best to keep it brief. Not only will you communicate more effectively, the lay community might hate you less.
  • Readability and flexibility: Display a bigger text box, provide easier ways to select/copy/paste, provide a print button, or (preferably) do all three.

And while we’re on the subject of readability… I also recommend NOT SHOUTING AT YOUR READER. PEOPLE REALLY DON’T LIKE READING IN ALL CAPS. Sentence case is much more civil, don’t you agree?

So that’s all I have today about the EULA experience. I know several other people have written about the sorry state of software EULA’s, so here’s a few links for you. And thanks for listening to my EULA kvetch.

More about EULAs at:

Boing Boing: ReasonableAgreement.org – the anti-EULA
Ben Edelman: EULAs Gone Bad
EFF: Now the Legalese Rootkit: Sony-BMG’s EULA

{ 15 comments }

Today Susan and I bought a Roomba. Yay! My first robot.

Some questions I know I’m going to have:

  • What’s setup going to be like?
  • Will it really just work, or am I going to have to follow it around shouting “No Roomba! Don’t vacuum up my toddler!”
  • Will I soon have that “how did I ever live without this” feeling, or will it be a big letdown?

And most importantly: Will we name it?

I’ll report back in a few.

{ 0 comments }

Degreed Or Not?

by Paul Sherman on March 8, 2007 · View Comments

in Uncategorized

Interesting article on how customers in the UK and EU evaluate potential user experience vendors: http://www.creativematch.co.uk/viewNews/?93407

{ 0 comments }

I just loaded two desktop PC applications recently, both of which come from Yahoo!. They could not be any more different in how they treated me and communicated with me during install and beyond.

I think y’all will enjoy this post. Look for it tomorrow. (Promise!)

{ 0 comments }

A Dark February

by Paul Sherman on March 8, 2007 · View Comments

in Uncategorized

I apologize to all [insert small number here] of my readers for going dark in February. A house sale with a 26-day closing and a double move really puts a crimp in one’s blogging habits.

Blogged with Flock

{ 0 comments }