Archive for January, 2006

Recovering a broken hard drive

Jan 06
30

A few weeks months back I had the painful experience of having a total hard drive crash. You may remember my meltdown here. Well the company I used to recover my drive was amazing and it turns out they perform amazing feats on a regular basis.

It’s much cheaper to buy a spare drive and perform regular backups but if all goes wrong it’s nice to know someone can help.

Office 12 Ribbon UI

Jan 06
22


Office 12 is introducing a new hybrid control called a ribbon. This control is a combination of both a toolbar and menu.

The good:

  • Simplicity – Much more simple and organized in terms of screen real estate. No more toolbars, floating widget and miscellaneous controls all over the screen. (I hope)
  • Organized – Functionality is grouped by ‘task’ instead of being hidden in deep menu structures or option dialogs.Predictable.
  • The UI seems less ‘intelisense’ and more intuitive in terms of what will actually happen when you click something. (No-more auto-expanding menus)
  • Less redundancy – This hopefully means less menu and toolbar surfing searching for the right command. Combining menus and toolbars means that you don’t duplicate the same thing, it also means that your 16×16 icons are now mostly labeled and your menu items will typically have icons. (Sometimes redundancy is a good thing, but not in menus)
  • Live Preview – Galleries as they are being called allow users to see a live preview of what will happen before it happens. This is a great concept that I’ve been calling “Feed-forward.” It’s kind of like “Feedback” only in reverse.

Unknowns:

  • It’s unclear how the help system will tie into the current design. Do we get yet another task pane or floating window docked alongside Office? Help still lives in a separate world out of context of the tools that finish the job.
  • It’s unclear to me how the UI scales when new commands are added that displace other commands. This goes back to the 1,000,000 command problem. The ribbon will be great for another 5-10 years but it’s still not fully scalable to a larger command set. The buttons can only get so small before you run out of space. This is also a problem for highly nested contexts (Image, Inside a Table, Inside a Callout, Inside a document).
  • Context sensitive panels seem strange and bolted on. I’m not sure it properly communicates local vs. global context. I would have used in-place panels within proximity of the object to show the association.
  • The file menu is still a menu. I’m surprised they didn’t use a panel with groups of items that help you open files (from the web, from a share, etc). Live preview would be great for opening files.
  • The ribbon is usefull for tool based actions but it’s not clear how step-by-step wizard and more complicated UI functions work in this space. Is the ribbon just a method to invoke functions and dialogs or can more complicated interactions happen within the ribbon itself?

Overall I’m excited by this release and think that it will be a positive step forward. Probably the biggest positive change since Office 97. Has it really been almost 10 years? Yikes.

Dangerous Features

Jan 06
15

Dangerous Features

Word with toolbar docked to the left

This is a screenshot of the menu bar in office being docked to the left side of the window.
You may ask, why would someone want to do that? The short answer is that they probably wouldn’t. The long answer may have something to do with Far East languages that read top to bottom. In short I don’t know why this feature exists in the english version of Office but I’m pretty sure it’s a bad feature.

What makes a bad feature?

  • The feature can be turned on by accident
  • If the feature is turned on there’s no obvious way to turn it off
  • The number of people who use the feature is small, and the number of people who absolutely need the feature is close to zero.
  • The feature is asthetic but can cause functional errors

When working on Windows XP the usability team discovered a similar problem in Window 98-2000. The problem was that users would click-drag the taskbar when they thought they clicked on a program icon. This would either cause the taskbar to shrink to be a tiny pixel bar at the bottom of the screen or it would accidently get dragged to take up 1/2 the entire screen.

The solution was to keep the taskbar locked by default:

Advanced users would be able to unlock the taskbar and resize it to their hearts content but beginners wouldn’t drag the taskbar into oblivion.

Think about your own software, are there any dangerous features? Have you protected your users from mistakes?

Episode II – Desktop Wars – A new Mac

Jan 06
13

Many people are focusing on the release of Apple hardware using the intel x86 processor, but that’s not the real news. The real news is that Apple has released x86 compatible software. It won’t be long until people figure out how to boot Windows on the Apple machine and bypass the EFI hardware layer. It’ll perhaps take an extra month for people to figure out how to get OSX running on non-apple hardware. Both of these will be a very good thing for Apple.

Why? Developers, Developers, Developers. Having a single architecture means that curious developers have nothing to loose by trying out the OS, and more developers playing and exploring a new OS ultimately means more applications.

Let’s assume for a minute that Apple would like to take a larger slice of the desktop pie. Ok, now how do you do it? They’ve built a more advanced operating system, they have more innovative hardware, they have great marketing. They have a better ship schedule and a better track record in the security area. Why doesn’t Apple have 90% of the desktop market?

Ultimately it comes down to choice, people like to make ‘correct’ choices. On one side you had Sony, Dell, Toshiba, HP, Microsoft, IBM all telling you that X86 is the right choice and on the other side you used to have Apple asking you to make a different choice.

The stars are now aligned, the stage is set, the playing field is level.
Let the battle of the desktop wars begin.

Interactive Art

Jan 06
11

Yesterday was the monthly meeting of BostonCHI, a group of people in the Boston area who get together and talk about UI stuff. Shameless plug, I’m the vice-chair, come join us next month.

George Fifield from Boston Cyberarts Festival came and spoke this month about interactive art.
I found a couple pieces pretty interesting but these are particularly cool.
The mechanical mirrors are amazing and the Text Rain exibit is also pretty cool.

Also if you’re in the Boston area the Hall of Ideas is worth checking out in person. The next cyberarts fest is in 2007, see you there.

AJAX and the Back button

Jan 06
10

In a traditional web application every link or form-submit brings you to a new page and adds a page into your navigation back stack. Now AJAX applications can create forms that don’t add pages into the navigation as well as links that don’t navigate. So this begs the question, what should the back button do?

At it’s core the answer is simple. The back button should allow the user to move backwards in mental context and flow of the application. What does that mean? Well mental context is what the user is currently doing or thinking about. It doesn’t have to be a ‘page’ but it’s a mode of mental operation. If your life had a back button the these would be things like eating breakfast, driving, work, lunch, etc. Each has it’s own mode of mental operation.

Clicking back usually means that the users wants to return to something that you saw recently in time or something that brought them to the current location. Users are likely to reach for the back button if they do something that they either want to undo or they want to try a different spoke off the hub that they recently saw.

Let’s take some examples:
- A user is browsing a list of movies and the site allows them to rate the movies in-place. If the user rates 10 movies on the screen and click ‘back.’ They should return to the context that brought them to the list of movies. Each individual movie selection did not change the mental context. Users don’t need to back-out since they can change their selection in-place.

- A user is on a mapping site and does a search that produces results and they click on a search result to see the individual location. If the user clicks ‘back’ they should return to the context that brought them to the specific map location, in this case the search results. Here I switched context between looking at a list of results and looking at the specific location for one item. Google Maps gets this right, Microsoft Local Live does not.

- A user is going through a checkout process on a store. They enter their billing information and click back. They should return to the screen that allowed them to enter their billing information. Each change in mental task should be placed within the history stack.
Back != Undo
Back is not undo. Please don’t confuse these two things. The back button may take you back in time to the place where you made a mistake. It may even get you to a place where you can fix the mistake however it’s not undo. This is important because sometimes users will back-out of your application to return to their previous task. If they undo all of their actions as they leave the application they are going to be both surprised and angry that their changes are gone.

How to control the back
I’ve seen a couple techniques on controlling the back stack using JavaScript. There seem to be two core ideas.
1 – To fake a navigation forward link to an anchor #id where the id is some string that preserves state and can be parsed and interpreted
2- Use an Iframe or Frame. This is a little clumsy but it seems to work.
3 – Simulate navigation via javascript functions history.back(-1)

I’ve said it before and I’ll say it again. Don’t break the back button.

Quote of the week

Jan 06
9

“I love the smell of white-board marker in the morning. It smells like creativity. ”

- Greg Raiz 1/9/05

Group networked backup

Jan 06
3

Use Case:
Every computer on my network installs a small piece of software called “Safety-net.” Each safety-net computer backs up every other safety-net computer on the same subnet. The backup is 100% automatic. Zero user interface. Zero scheduling. Zero administration.

I come in and can throw an entire laptop out the window. I buy a brand new laptop and install the safety-net software and use the only feature in the product: “Restore” the UI shows me a list of computers that have been backed up on the sub-net. I select my old laptop, hit “restore” and go to lunch. I come back and it’s like the laptop never flew out the window.

Peer-to-peer technology is well understood
RAID 5 and networking are well understood
Backing up files and restoring them is well understood

Is there any reason why this hasn’t been done yet? Has this been done and I just don’t know about it?