Mike Murray, a surprisingly hapless HR manager at Microsoft, made a number of goofs, but the doozie was introducing a "Ship It" award shortly after he started the job. The idea was that you would get a big lucite tombstone the size of a dictionary when your product shipped. This was somehow supposed to give you an incentive to work, you see, because if you didn't do your job-- no lucite for you! Makes you wonder how Microsoft ever shipped software before the lucite slab. Read about it in Incentive Pay Considered Harmful.
Today was like the real day of summer here. It's warm out, the trees are in full bloom, and I took advantage of the sunshine to walk around my neighborhood (the Upper West Side of New York City) and take some pictures.
Netscape 6.0 is finally going into its first public beta. The last major release, version 4.0, was released almost three years ago. Three years is an awfully long time in the Internet world. During this time, Netscape sat by, helplessly, as their market share plummeted.
It's a bit smarmy of me to criticize them for waiting so long between releases. They didn't do it on purpose, now, did they?
Well, yes. They did. They did it by making the single worst strategic mistake that any software company can make:
They decided to rewrite the code from scratch.
Most of the hard core C++ programmers I know hate user interface programming. This surprises me, because I find UI programming to be quintessentially easy, straightforward, and fun.
Chapter One of User Interface Design for Programmers, a gentle introduction with the fundamental axiom of good user interface design.
Chapter Two shows how to apply this axiom and gives some real life examples.
In coming weeks there will be at least six more chapters.
In yesterday's chapter two I gave an example from Mac-land of some window behavior which I thought was a function of the MacOS. Actually, it's not a function of the Mac per se-- it's a function of Microsoft Excel (and some other MacOS apps). So not every app exhibits this behavior. The point still remains: it's the wrong behavior, for the reason explained in the article.
I'm in Silicon Valley now, doing some consulting work. What a strange place. The hotel room has a T1 connection to the Internet (which worked perfectly). It's the first hotel I've ever stayed in where you don't have to unplug the bedside lamp to plug in your laptop: there's a power outlet right at the desk.
I overheard some paramedics eating lunch at the tacqueria who were talking about firewalls and web servers and getting their CNEs.
Straaaange place. The only way to get anywhere is to drive, so you seem to interact more with other peoples' cars, as opposed to other people. Every office is a construction site. Companies are either expanding rapidly or disappearing suddenly. If somebody invents an inflatable, discardable office building they will make a fortune.
Anyway. Chapter Three of my UI series is now online, in which I beg, nay, plead with you to think hard before asking users to make a choice.
Two related concepts you hear about endlessly in UI design are affordances and metaphors. These are just ways to bring the user model in line with the program model by giving the user little clues about how the program works and what they're supposed to do with it.
Read more in Chapter 4 of UI for Programmers.
Where do these people get their (unoriginal) ideas? Joel responds to a completely wrong idea in Upside magazine, which he shouldn't have been reading, in the first place.
Back in New York City. Happy Passover!
From the latest chapter on UI design:
Even if you think (as the Netscape 6.0 engineers clearly do) that Alt+Left is not a good shortcut key for "Back", there are literally millions of people out there who will try to use Alt+Left to go back, and if you refuse to do it on some general religious principle that Bill Gates is the evil Smurf Gargamel, then you are just gratuitously ruining your program so that you can feel smug and self-satisfied, and your users will not thank you for it.
When charitable organizations send you a request for a donation, they almost always include a "gift" in the envelope. Sticky labels with your address on them. Or a couple of blank greeting cards. The reason they're giving you the gift is because of the social principle of reciprocity; now you will feel obliged to give something back.
You've probably heard the expression "hurry, supplies are limited!" so many times in television advertisements that it hardly registers any more. But it's there because of the principle of scarcity; your natural assumption that something that is scarce is worth more money.
These tricks, among others, are used by salespeople, marketers, and advertisers to influence people to behave in a certain way.
Every couple of years or so, I reread a great book about the psychological theories behind the science and practice of influencing the behavior of other people: Robert B. Cialdini's classic Influence. This was assigned reading in Psych 110 at Yale, and one of the most popular textbooks of the year. I assure you that every beginning car salesperson and advertising copy writer is reading this book, and you should too, if only in self-defense!
I really, really don't want to say that users are coconuts. They're not. But if you design your program for the, um, challenged users, everyone will find them easier to use.
Today, I talk about users and reading. You see, users don't like to read. Give them a lot of words, and they will happily ignore them.
Read Chapter 6 of UI for Programmers for more!
Another thing users have trouble with is using the mouse. Even if they are adept mousers, using the mouse precisely can be difficult.
User Interface Design for Programmers 7 talks about how to smooth out some of the hard edges of your program, by thinking about the dexterity it takes to use the mouse in UI.
I'm coming to suspect that Microsoft has this one extra marketing team that is not assigned to a product. Their job is to make up a non-thing and market the heck out of it. This year it's NGWS. Last year it was DNA. The year before, it was ActiveX. Before that, it was Intellisense. Even before Intellisense, they had WOSA. What all these have in common is that they don't exist and don't mean anything, but they have a marketing team from Microsoft blathering about them.
There's so much stuff here that it's getting hard to find things! I've added a Site Index now that there's so much stuff here. I also put some links along the bottom of the page.
The book "UI for Programmers" will eventually have 9 chapters. So far 7 chapters have been written.
Every software development team needs testers, but too many companies just won't hire them. This is one of the worst "false economy" moves you can make. Read my new article: Top Five (Wrong) Reasons You Don't Have Testers.
In my chapter on affordances and metaphors, I praised tab dialogs as providing a better metaphor and better usability than the listbox/combination dialogs that they replaced. I was barraged with mail saying, "yeah, tab dialogs are great, but not if you need more than one row of tabs!" Which is true. All the designs I've ever seen with multiple rows are terrible - they're either confusing, or they violate realism in some way.
Now, you could make a good case that if you have to have more than one row of tabs, your design is too complicated and it needs to be simplified. But if you can't do that, here's a way to do multiple rows that doesn't violate realism:
1110 posts over 13 years. Everything I’ve ever published is right here.
There’s a software company in New York City dedicated to doing things the right way and proving that it can be done profitably and successfully.