Warning: Creating default object from empty value in /home/offpanel/okcancel.com/wp-includes/functions.php on line 364
OK/Cancel » Archive » One Way Mirror
Kevin Cheng  

One Way Mirror

November 28th, 2003 by Kevin Cheng :: see related comic

( For those that missed it, I posted a last minute discussion on the form factor of tablets on Thanksgiving. Go take a look if you get a chance. )

A couple of weeks ago, we talked about platform standards. While there was some debate over how much or how little we should use standards, there seemed to be little debate over the fact that Lotus Notes sucks.

What’s interesting is that I have been forced to use Notes by one organization or another since version 4.6. I now use Notes 6 and find the interface more slick and shiny. Some of the usability issues have definitely been improved upon. Folder management, for example, can finally be handled (gasp) directly in the folder view. Contrast to that, Notes still uses the ambiguous icons in their “properties” windows. In addition, the window has no obvious action for confirming the changes made to the window. There are no OK and Cancel buttons! Blasphemous!

IBM and Lotus are illustrating a very classic example of why usability is important up front. Going on the assumption that Lotus wants to improve the usability of their flagship product, they face a catch-22 situation. On one hand, they’d love to dispel the “Notes sucks” perceptions and in doing so, gain some new users. On the other hand, those who finally managed to learn the program have gone through the pain of learning the quirks and changing the interface would frustrate these veterans.Adobe Photoshop suffered the same problems between versions 5.5 and 6. Hotkeys for some of their tools were not only modified, but old hotkeys now mapped to new functions. For example, “N” originally was used for drawing a line but now are used for annotations. For some frequent users such as graphic designers, this change was so frustrating that some reinstalled the previous version. I personally know of a former colleague who is still using 5.5 for this reason, despite the subsequent release of 3 major versions.

Many software companies are familiar with the cost of maintenance vs. the cost of development. Few consider usability as one such maintenance cost. Instead of focusing on improving the product by adding features, increasing integration, etc., they are required to spend time rewriting existing features. Upfront usability testing can help prevent these scenarios.

How do I make it perfect?
Realistically, even with vigorous upfront testing, no application can be perfect. Not to mention, perfect is a completely subjective word. The idea of upfront testing it to minimize the major usability issues, so that any changes you make in subsequent releases can be tweaks to the existing system or additional features.

Also remember that a balance must be maintained between realistic development scheduling and usability. You could tweak an interface forever if you had unlimited budget and time but that’s neither feasible nor practical.

What if my product already sucks?
Does this mean a product is doomed if it isn’t usable to begin with? Absolutely not. Old-timers might remember the days when Microsoft Word first became a viable alternative to WordPerfect. I was an avid WordPerfect user, familiar with all the nuances, codes, and hotkeys. When I was forced to use MS Word in the school computers, I was happy that there was a clear option to use the WordPerfect hotkeys. Although I didn’t end up using those hotkeys in the long run, I had a certain sense of satisfaction and generally felt less threatened about the transition.

Application developers can apply this idea to new releases. Photoshop could have provided an alternate set of hotkeys such that my colleague could have kept his “N” for drawing a line.

WinZip also illustrates how one could handle a drastic change in the core interface. Instead of simply forcing all users to use their new wizard interface, they provided the option, upon first execution, to select between their “classic” interface and their new wizard one.

Making an application usable sounds sensible even to the least enlightened project manager. Ensuring the usability happens earlier rather than later can help prevent digging yourself in a hole which you have to slowly dig yourself out of. If you are already in that hole, there are ways to help you climb out faster. If you are just about to start digging, make sure you understand how deep the hole can be. For Lotus, it’s quite a few versions deep.

12 Responses to “One Way Mirror”
Paul Reinheimer wrote:

It warms my heart to think that my frustrations with Lotus Notes (Perhapps Lost Notes might be a better term for R5) might have influenced this comic.

I think that Microsoft has shown with several of its Word versions a decent way of handling changes for incoming users. Properly supporting shortcuts for other programs makes a good intermediate step.

With Lotus Notes and R5, I would argue that it was worth starting over for R6, because everything in 5 is so horrible. However, there are those who understand its inner workings, who wont want to change.

In such cases, I would recomend skins or styles. ‘Classic’ Skin or ‘Updated’ or whatever. Possibly even a third one, ‘Transitional’ to help users make the move to what should be a more efficient and powerfull interface.

Bob Salmon wrote:

Joel Spolsky’s got an interesting article
http://www.joelonsoftware.com/articles/fog0000000017.html
about how it takes 10 years for a program to mature.

The big thing I’ve noticed during the development of the product I’ve worked on for the last 6 years is that you can cope easily with the drip, drip, drip of incremental business features, but then suddenly there’s a major architectural change and BANG! All your assumptions are questioned, many to be replaced by new ones, which will in turn be challenged during the next architectural change. After a while you get used to this, and don’t get hung up about particular bits of the software e.g. needing points of reference - you go to a higher level. I suppose it’s a bit like the old quip “This is George Washington’s original axe. The handle’s been replaced 3 times and it’s had 5 new heads, but it’s his axe.”

Mike Brown wrote:

Ever used Apple’s Mac OS X operating system? (You know, the one you’ve got a poster for in your comic strip).

You won’t find any OK or Cancel buttons on any of its preferences dialogs!

You may regard not following Microsoft blindly as “blashphemous”, but not everybody does.

Tom Chi wrote:

I’m pretty sure KC is being facetious about “Blaspehmous!” since our site is called ‘OK/Cancel’. And yes, yes, yes… of course Mac does it a different way. So does NextStep and TinyOS. Great. But Lotus Notes runs on Windows, and if you are going to completely counter the standards of the platform you are writing on, you should do it for a reason, and then test to make sure that your reasoning was right.

In the case of Notes, it looks like that reasoning was not quite right.

A proper analogy for Mac would run like this: a 3rd party vendor creates an app which breaks all the Mac UI standards for no clear reason, but a large chunk of Mac users are forced to use it anyhow because it runs their company email. Sound fun? If that app broke essentially everything you were accustomed to about OSX, but you still had to use it day in and day out, I’m guessing you’d be ready to shout “Blasphemous!” as well.

Mike Brown wrote:

“But Lotus Notes runs on Windows”

Yes, it runs on Windows, but it also runs on Macintosh operating systems - from OS X, all the way back to OS 7.

So the argument that it has to follow the Windows way, slavishly, doesn’t really hold, does it? Quite the opposite in the case of the Macintosh; Mac people tend to hate anything that smells of Windows!

KC wrote:

Fascinating … I was definitely being facetious when I said “Blasphemous” about Notes not using OK/Cancel but I didn’t know that it was also released for Apple.

I’d argue that they should invest in following the standards for each platform rather than create their own, however.

Whether it smells like Windows or Mac, Notes has usability issues even without breaking the platform’s conventions.

Mike Brown wrote:

No, I didn’t think you knew that!!

For what it’s worth, most Mac users aren’t big Notes fans either. But not because of lack of OK/Cancel buttons on any dialogs, which was the point I was trying to make.

Having said that, many of those same Mac users are far more impressed with Notes 6 on OS X than they were with any previous version. How much of that is because it’s genuinely better than previous versions, and how much is that they’re happy to see OS X versions of any major software, I’m not so sure. And yes, 100+ million users does make Notes “major software”, irrespective of any UI shortcomings.

Your argument for investing in “the standards for each platform” is true, but only in an ideal world. In the real world, there’s only so far any company, even a company with the resources of IBM, can go in that regard. Inevitably, any multi-platform client software is going to be a compromise.

Cheers,

- Mike

KC wrote:

Well, let’s drop the OK/Cancel part because that was all a joke from the start.

I, too, was more impressed with Notes 6 and like it a lot more than Notes 5. They’ve made strides, as I said in the original article, but aren’t quite there yet.

Building towards the standards of each platform should not be a massive endeavour. Look at game companies building games for multiple platforms. Some are pretty easy to do (XBox and PC) whilst others have fairly different architecture. For those, we’re talking about adhereing to more than just UI standards, too. If your UI is separate enough from the core program, using the platform’s UI elements shouldn’t be rocket science. Admittedly, I can’t say for sure since I’ve never programmed for a Mac and haven’t even done so on PC seriously in a long long time.

In any case, perhaps I am being idealistic but then it’s quite easy to say, “in an ideal world, we’d have the resources to run some usability tests” …

Peter Centgraf wrote:

For better or worse, Mac applications just _feel_ very different than applications developed for Windows or any other toolkit. This starts with superficial aspects. Apple’s Interface Builder tool automatically enforces certain guidelines of layout and proportion, and applications that don’t use it immediately feel “wrong”, visually. I generally use the Metal look and feel for my Java apps because the sham of faux-Aqua is just too painful to bear, and the same applies to poorly-ported apps. The problem continues to high-level architectural differences, such as the live-updating of preference changes. It builds with a succession of small details that accumulate to a frustrating and awkward experience — a lack of extensive drag and drop support, differing menu layout conventions, terminology differences, idiosyncratic help systems, etc. It’s hard to express the combined effect of these frustrations except to point to the poor sales numbers of applications with poor Mac platform integration. I think this is one case where you really have to do the extra work.

That said, I suspect that the Notes convention probably has more to do with IBM’s fascination with Linux (or just oddball design in general) than an observance of Apple’s guidelines.

As for the console vs. PC gaming analogy, there is a lot to lament in that area also. As a PC gamer, I’ve been appalled by the recent trend toward “consolification” of bread-and-butter PC genres like the first-person shooter. Among the many things wrong with Deus Ex 2, the awkwardness of the menu interface is the most obvious.

Nasir wrote:

Usability Testing at Lost Notes

Mike Brown wrote:

“just oddball design in general”

That pretty well says it all! Certainly nothing to do with IBM’s current Linux infatuation. I just wish that it were!

The trouble is that, in modern computing terms, Notes is a T-Rex. It’s absolutely, humungously old. And being in the field that it’s in (and which it largely created, by the way) it was forced to create its own rules.

Example: in Notes mail unread mails are coloured red, whereas read mails are coloured black. This flys completely in the face of Web technology, where visited links are coloured red (and unvisited links are coloured blue). But Notes predates the Web by, at least, 5 years. So who’s “right” and who’s “wrong”?

One argment says that IBM/Lotus should have changed their colours to match the Web ones. But then what do you do about the 100+ million Notes users that are already used to the old style Notes colours?

Not so simple, is it.

Sarah Hatlane wrote:

Do you have any pictures of One Way glass?? If so could you please post them on your site?
-Thanks Alot
Sarah


Leave a Reply


OK/Cancel is a comic strip collaboration co-written and co-illustrated by Kevin Cheng and Tom Chi. Our subject matter focuses on interfaces, good and bad and the people behind the industry of building interfaces - usability specialists, interaction designers, human-computer interaction (HCI) experts, industrial designers, etc. (Who Links Here) ?



Deprecated: Function eregi_replace() is deprecated in /home/offpanel/okcancel.com/wp-content/plugins/wp-shortstat.php on line 103

Deprecated: Function eregi() is deprecated in /home/offpanel/okcancel.com/wp-content/plugins/wp-shortstat.php on line 216

Deprecated: Function eregi() is deprecated in /home/offpanel/okcancel.com/wp-content/plugins/wp-shortstat.php on line 219

Deprecated: Function eregi() is deprecated in /home/offpanel/okcancel.com/wp-content/plugins/wp-shortstat.php on line 222

Deprecated: Function eregi() is deprecated in /home/offpanel/okcancel.com/wp-content/plugins/wp-shortstat.php on line 225

Deprecated: Function eregi() is deprecated in /home/offpanel/okcancel.com/wp-content/plugins/wp-shortstat.php on line 228

Deprecated: Function eregi() is deprecated in /home/offpanel/okcancel.com/wp-content/plugins/wp-shortstat.php on line 231

Deprecated: Function eregi() is deprecated in /home/offpanel/okcancel.com/wp-content/plugins/wp-shortstat.php on line 234

Deprecated: Function eregi() is deprecated in /home/offpanel/okcancel.com/wp-content/plugins/wp-shortstat.php on line 237

Deprecated: Function eregi() is deprecated in /home/offpanel/okcancel.com/wp-content/plugins/wp-shortstat.php on line 240

Deprecated: Function eregi() is deprecated in /home/offpanel/okcancel.com/wp-content/plugins/wp-shortstat.php on line 243

Deprecated: Function eregi() is deprecated in /home/offpanel/okcancel.com/wp-content/plugins/wp-shortstat.php on line 246

Deprecated: Function eregi() is deprecated in /home/offpanel/okcancel.com/wp-content/plugins/wp-shortstat.php on line 249

Deprecated: Function eregi() is deprecated in /home/offpanel/okcancel.com/wp-content/plugins/wp-shortstat.php on line 249

Deprecated: Function eregi() is deprecated in /home/offpanel/okcancel.com/wp-content/plugins/wp-shortstat.php on line 249

Deprecated: Function eregi() is deprecated in /home/offpanel/okcancel.com/wp-content/plugins/wp-shortstat.php on line 252

Deprecated: Function eregi() is deprecated in /home/offpanel/okcancel.com/wp-content/plugins/wp-shortstat.php on line 257

Deprecated: Function eregi() is deprecated in /home/offpanel/okcancel.com/wp-content/plugins/wp-shortstat.php on line 262

Deprecated: Function eregi() is deprecated in /home/offpanel/okcancel.com/wp-content/plugins/wp-shortstat.php on line 262

Deprecated: Function eregi() is deprecated in /home/offpanel/okcancel.com/wp-content/plugins/wp-shortstat.php on line 267

Deprecated: Function eregi() is deprecated in /home/offpanel/okcancel.com/wp-content/plugins/wp-shortstat.php on line 302

Deprecated: Function eregi() is deprecated in /home/offpanel/okcancel.com/wp-content/plugins/wp-shortstat.php on line 307

Deprecated: Function eregi() is deprecated in /home/offpanel/okcancel.com/wp-content/plugins/wp-shortstat.php on line 312

Deprecated: Function eregi() is deprecated in /home/offpanel/okcancel.com/wp-content/plugins/wp-shortstat.php on line 317

Deprecated: Function eregi() is deprecated in /home/offpanel/okcancel.com/wp-content/plugins/wp-shortstat.php on line 322

Deprecated: Function eregi() is deprecated in /home/offpanel/okcancel.com/wp-content/plugins/wp-shortstat.php on line 327

Deprecated: Function eregi() is deprecated in /home/offpanel/okcancel.com/wp-content/plugins/wp-shortstat.php on line 332

Deprecated: Function eregi() is deprecated in /home/offpanel/okcancel.com/wp-content/plugins/wp-shortstat.php on line 337

Deprecated: Function eregi() is deprecated in /home/offpanel/okcancel.com/wp-content/plugins/wp-shortstat.php on line 342

Deprecated: Function eregi() is deprecated in /home/offpanel/okcancel.com/wp-content/plugins/wp-shortstat.php on line 347

Deprecated: Function eregi() is deprecated in /home/offpanel/okcancel.com/wp-content/plugins/wp-shortstat.php on line 352

Deprecated: Function eregi() is deprecated in /home/offpanel/okcancel.com/wp-content/plugins/wp-shortstat.php on line 357

Deprecated: Function eregi() is deprecated in /home/offpanel/okcancel.com/wp-content/plugins/wp-shortstat.php on line 362

Deprecated: Function eregi() is deprecated in /home/offpanel/okcancel.com/wp-content/plugins/wp-shortstat.php on line 367

Deprecated: Function eregi() is deprecated in /home/offpanel/okcancel.com/wp-content/plugins/wp-shortstat.php on line 372

Deprecated: Function eregi() is deprecated in /home/offpanel/okcancel.com/wp-content/plugins/wp-shortstat.php on line 393

Deprecated: Function eregi() is deprecated in /home/offpanel/okcancel.com/wp-content/plugins/wp-shortstat.php on line 400

Deprecated: Function eregi() is deprecated in /home/offpanel/okcancel.com/wp-content/plugins/wp-shortstat.php on line 405

Deprecated: Function eregi() is deprecated in /home/offpanel/okcancel.com/wp-content/plugins/wp-shortstat.php on line 410

Deprecated: Function eregi() is deprecated in /home/offpanel/okcancel.com/wp-content/plugins/wp-shortstat.php on line 415

Deprecated: Function eregi() is deprecated in /home/offpanel/okcancel.com/wp-content/plugins/wp-shortstat.php on line 420

Deprecated: Function eregi() is deprecated in /home/offpanel/okcancel.com/wp-content/plugins/wp-shortstat.php on line 423

Deprecated: Function eregi() is deprecated in /home/offpanel/okcancel.com/wp-content/plugins/wp-shortstat.php on line 428

Deprecated: Function eregi() is deprecated in /home/offpanel/okcancel.com/wp-content/plugins/wp-shortstat.php on line 433