What is the meaning of the "X" Icon?

It sometimes means "close the current view/document/window", and it sometimes means "delete this row/file/object".



These two meanings are obviously related -- they mean "get rid of this thing". But X to close is really just hiding the X'd item in the sense that you can usually bring back that same view, whereas X to delete is a permanent annihilation of that item.

This distinction seems very obvious to an experienced user, and can usually be inferred from both context and position within the user interface. However, lately I've observed some novice computer users who haven't internalized this distinction getting confused with this dual use of X.

To make matters worse, X is sometimes used to mean other things as well. I've seen it used to mean "cross-reference" in a complex industrial cataloging application. A more typical example is that in Chrome and Safari you will see an X next to the address bar when you are waiting for a webpage to load:



In this case X means "cancel", which meshes somewhat with modal dialogs that use X on a cancel button (interestingly, I could not find an example of this but I know I've seen it). But the same exact X shape is used in Chrome for closing the window, closing a tab, and cancelling search. I wonder how many people this has confused?

Since the days of the Xerox Star system, icons have been very useful convention in graphical user interfaces. They can serve several purposes:
  1. Adding some graphical interest to screens that might otherwise be a sea of text.
  2. In some circumstances, provide a small but semi-meaningful click-target without text.
  3. In other circumstances, enlarge the target area of a menu item or button.
  4. Provide an additional clue to new users as to what a particular button or menu item will do, theoretically more quickly and subconciously digested than text.
  5. Create a point of visual recall for experienced users to more quickly find the item they are looking for compared to just text.

The X icon succeeds on #1 and #2, skips #3, but can fail at #4 and #5 for less experienced users.

Suggested Fixes

  1. Some applications use a different type of X to mean delete, with a kind of a paint-stroke look to it.
  2. Always labeling the icon can help eliminate confusion.
  3. Using a different icon for delete can help.

The Microsoft Outlook ribbon bar shows an example of #1 and #2:



An example of #3 is Twitter's use of a trash can icon for delete:



Avoiding confusing re-use of the X icon for different meanings can help alleviate usability issues for new users.

Updated with a new title - Thursday, December 2, 2010.

Elf and the Stigma of Testing...

In my Software Testing class we've talked and read about how testers have some stigma attached in some circles, often (incorrectly) being perceived as being sub-par techs or programmers who couldn't hack it. Yesterday my daughters were watching the best Christmas movie ever made, Elf. I had to laugh at the part where when Buddy couldn't keep up with the Elves in toy-making, they sent him to where the "special elves" worked -- in toy testing. So the testing stigma has spread even to the north pole!

RockMelt Browser Early Access - Not Broked!

I'd read a bit about RockMelt in the past few weeks and registered with them to get early access. So I was excited to see the RockMelt download invitation pop up in my gmail last night:
Hello,
You recently requested early access to RockMelt. We just hooked you up!

The download and install were painless. My early impression is that it is exactly what the demo video would have you believe (see below). Since it is based on Chromium, almost everything about it is the same as Google Chrome, except for the RockMelt specific features - the Friend Edge, the "app" Edge, the sharing feature and the search preview functionality. These all work exactly as billed though I have three feature requests:

  1. Show me Facebook notifications on the Friend Edge (if there is a way to do this, I can't find it)
  2. Allow me to import my Google Reader feeds into the App Edge.
  3. Please find a better name before you launch big! Saying "RockMelt" outloud feels I have marbles in my mouth, and people look at me cross-eyed when I mention it.

Anyway, I'll try using this for a while and see how it feels. I'll let you know if I find bugs - none so far!

S3Fox/S3 ACL reversion

I use the Amazon S3 (Simple Storage Service) to host all the images on this blog. It's a great, cheap, reliable service. I use the S3Fox Firefox extension as an easy tool for interacting with S3. It lets you manage and upload content to your S3 account.

One of the features of S3 is the ACL, or "Access control list". This controls who can do what to your content. For any file on your S3 account, you can allow Read, Write or FullControl for Everyone, Authenticated Users, or your own account. The default is to turn on FullControl for your own account and turn off everything for everyone else.




(Note here the red arrow pointing to some kind of weird leaking of the background image)

I've found that generally when you update a file using S3Fox the previous ACL settings for that file or directory are retained. However, sometimes, for reasons I haven't figured out, it reverts to the default ACL:



This is fairly annoying because I usually don't realize it until I refresh my blog and suddenly images are not loading. Trying to access a document in this state directly in the browser by URL gives you the following error:



I have no idea if this is an S3Fox or S3 problem. Either S3 sometimes forgets the ACL of a particular document when that document is updated, or S3Fox retrieves or sends the ACL information incorrectly.

Suggested Fixes for S3 or S3Fox
  1. Always retain the previous ACL for a file when it is updated.

  2. Fix the weird painting issue noted on the second image in this post.

Update: I added some additional information and emailed this post to the makers of S3fox - Thursday, December 2, 2010.

Jing's "Accept the fine print" - Not Broked!

Software license agreements and website terms of use are generally fairly ridiculous, and something I plan to post about in more detail at some point. However, I recently installed a screen recording tool called Jing, by TechSmith, and was pleasantly surprised by their approach to "the fine print":



Just one tiny checkbox, that's it! They are asking me not to agree that I've actually read the fine print, only that I accept it. Since almost nobody reads the fine print anyway, this is a very refreshing way to deal with a Software License agreement.

I recently installed a Flash update that had a similarly concise approach:

"Seven Steps" article on test automation

I just finished reading Seven Steps to Test Automation Success by Brett Pettichord. I am doing a research project on Test Automation for my Testing Class and am basically just trying to find my bearings in this subject. This article is a great place to start -- and possibly to end. The basic steps are:
  1. Improve the Testing Process
  2. Define Requirements
  3. Prove the Concept
  4. Champion Product Testability
  5. Design for Sustainability
  6. Plan for Deployment
  7. Face the Challenges of Success
Definitely worth reading if you are interested in Test Automation.

Note to Mr. Socha: I will have some blog posts tagged "Non-Portfolio". Let me know if this convention is not going to work. I think it is worth it to post things to do with Testing even if they are not portfolio level work...

Windows Search's Handling Of Directories That Are Not Indexed

Using Windows Search on Windows XP* to search for files in an un-indexed directory is clumsy at best. I've never been a huge fan of Windows Search (formerly Windows Desktop Search). I used to use Google Desktop search fairly regularly, due to being fairly disorganized and often having no clue where a particular file or email was. I have since become much more organized in the way I store and manage documents, source code, emails, etc. But still, when Windows Desktop Search was released as a standalone program I installed and tried to adopt it, assuming it would integrate more cleanly with Windows.

It seemed to serve it's purpose, but I found that it was extremely taxing on my PC resources when doing it's indexing. It seemed convinced the best time to do this was at startup, exactly when I want to be able to get my user programs up and running as fast as possible. This could be turned off quite easily in the settings of the original program, but doesn't appear to be anymore. So inevitably, I end up snoozing indexing whenever it comes on. When I used to have much of my hard-drive indexed, this would mean that the index was often out of date and therefore not very useful. So I reduced the directories that got indexed back to just "My Documents" and my Outlook Inbox. Which leads me to my next irritation, and the main subject of this post.

The usability of searching an un-indexed directory in Windows Search is fairly poor. I'll start by looking at a sub-directory in my c:\temp directory, which obviously is not indexed.


(This happens to be the source tree of Squirrel, a java-based SQL client).

Now I click on "Search", type "xml" in the input field, and click the confusingly labelled "Desktop" button (which should say "Search Desktop", or "Go", or something other phrasing that contains a verb!). I am greeted with the news that this folder is not indexed, and therefore I must use Search Companion or add this folder to the index.



If I click on the "Search Companion" link, it launches a new window and searches with the old-school puppy-dog built-in Windows XP search -- which works very quickly and finds all the files I asked it to.



My main complaint here is that requiring the extra action of clicking "Search Companion" seems very unnecessary. At the point that Windows Search realizes I am searching an un-indexed directory, it should transparently switch to using the Search Companion logic. As a technical user, I barely care that the directory I am searching is not properly indexed, and a non-technical user definitely will not care.
Secondarily, it is also annoying to have it launch a new window. At this point, I am so annoyed that I decide to uninstall Windows Search. I go into Add/Remove programs, find Windows Search, click "Remove" and, after progressing through a few default screens, see this scary notification:



Do I really want to cause trouble with what are apparently very critical Windows components? I quickly search and find that "removing WDS will not disable or impact any other programs or updates listed". So I power through the uninstall.

After the obligatory system restart, I do some quick tests to make sure that I can still do basic searching in Outlook and Windows. Searching in Windows has reverted to the old-style search:



Searching in Outlook however immediately shows me a dialog notifying me that I need to download some software to make Instant Search work.



(As a side note, there is no reason that the average Outlook user would have any idea what the "Instant Search feature" is, as this text appears nowhere in the UI. This is a subclass of usability issues that I should blog about: over-use of the marketing or technical names for functionality in a way that is not communicative to the user who doesn't have your product's glossary printed out.)

Although I can see where this is going, I click on the "Yes" button. This takes me to-- you guessed it-- Windows Search download.



I in fact did end up downloading and re-installing Windows Search, simply because I do like the Instant Search feature more than I dislike the performance issues and the clumsy searching of non-indexed directories.

Still, there are several improvements that could be made in a world where developers were plentiful and worked for free and Windows XP was still Microsoft's top priority.

Suggested Improvements for Windows Search

  1. Indexing should be able to be scheduled just like virus scans and product updates.

  2. Indexing should be improved to run at low priority by default, and should in general never impact performance in any noticeable way.

  3. Indexing should not run at startup by default.

  4. Searching in directories that are not indexed should automatically switch to Search Companion, without requiring additional user action.

  5. Uninstall should present less alarming language about the effect on other components.

  6. In general, programs should be aware that I just uninstalled the thing they are telling me to install, and skip that warning.

* I realize complaining about Windows XP isn't much better than complaining about Windows 95 at this point. The reason I am using Windows XP is... a long story, for another day

Updated: I added a bit more context about why I find the extra step to go to Search Companion unecessary - Thursday, December 2, 2010.