Thursday, 8 November 2007
Ask 37signals: How has open source helped or hindered?
Nice read.
Wednesday, 7 November 2007
Applications or Actions?
For example, say I wanted to set up a new website about my cat. My workflow would usually be this:
- Find a picture in my iPhoto library.
- Open Photoshop to crop and resize. Then save for the web.
- Launch TextWrangler and churn out some nice semantic XHTML.
- Open Cyberduck and FTP my XHTML and JPG up to the web.
- Open Firefox just to check it all works.
- Use Mail to email everyone I know to tell them about my new site.
Whilst listening to some music from iTunes, of course.
For this simple task I need 6 applications, plus 1 background process. Each of these programs has features that I need for my project - but I am not using enough of each program to justify launching the full blown functionality of that application.
iTunes is a comprehensive music management application. I don't need the library functions whilst building my website - just stick an album into the playlist and off it goes. iPhoto has my entire photo library on hand, but all I need to see is the pictures of my cat. Photoshop has just about everything I'll ever need to enhance images, but all I need to do is a little cropping. TextWrangler has great functionality, but I'm just writing some bog standard XHTML.
I'm being spoiled with all the features that these applications give to me - but I don't need them.
My contention is, why do we need vast applications when most of the time we're only going to use 20% of their features? What would be more useful is application fragments.
A fragment could consist of a text editor, or a cropping tool, or a layering engine, or a character map, or a database. When I boot the machine, it would go into a mode where I could say:
"Hey Macintosh. Today, I'd love to put on some Radiohead - The Bends, I think. Can you find for me some pictures of my cat? I'd like to crop these pictures, then write a website for them. Then, I'd like to email all my friends to tell them about my new website. That'd be grand."
Using Spotlight, Macintosh could find The Bends out of my music library and spin it in the background. Then, it would find all of my pictures tagged with 'cat', and display them in a nice grid interface. I could double click on one and it would organise a cropping tool, with a nice resize mode. Once I was done there, it would launch a text editing mode with syntax highlighting so I could finish the XHTML quickly.
I would be using elements of all of these programs - syntax highlighting, web rendering, mailing, cropping, searching, playing media - but the experience would be seamless. The underlying technology would support the action I was doing - building a website - rather than flicking between applications.
There's hope for this kind of implementation yet - the iLife suite seamlessly manages media effortlessly. Making a movie, for example - iMovie can draw media from your photo/music databases without launching iTunes/iPhoto first. This is the kind of stuff I'd want to see.
Friday, 2 November 2007
What Gordon Ramsay can teach software developers
Tuesday, 30 October 2007
Generic Commands.
- One way to address this dilemma is to use progressive disclosure — that is, to show users only the most important options until they ask for the advanced features.
- Another good approach is to use generic commands, which remain the same across many different contexts and thus reduce complexity.
Nice reads.
Friday, 19 October 2007
Saturday, 6 October 2007
Dissecting Hotmail.
Let's just have a quick look over the Windows Live login screen. I'm looking at it through IE6 on a Windows 98SE machine. So, my experience is totally in the hands of Redmond as I write this.

It's colourful enough, sure. It's also extremely big. What made it so big?
Useless Happy Talk
The first column is just happy talk, plain and simple. It's also verging on the edge of being patronising, which is probably the worst application of happy talk that there is. Please Microsoft, give me some credit. I think I should know how to use a login form by now.
Ironically enough, being on the left, the happy talk is the first thing you'll read. Microsoft have inadvertently drawn attention to a block of text nobody should be reading. People should be logging in here, not waddling about pushing their mouse around in some popcorn and wondering why Vista's 'cupholder' just broke.
Using Buttons As Links
The second column gets worse. The reason buttons are buttons is that they perform actions. They are not hyperlinks. A hyperlink takes you to another page without any action taken, whereas a button performs an action, such as deletion.
Arguing that a link should link is not just being pedantic. Users expect links
to navigate. Specifically, they expect an entirely new page to load,
replacing the current page. Any other action is liable to cause confusion. To
users, navigating is far removed from what the links in the REI do, which is
execute commands, actions that apply or alter the underlying business
objectsMichael Zuschlag, Links and Other Wrong Controls
What irks me about the second column is not that Microsoft want me to sign up for a shiny new Hotmail account. It's that the way in which they have added an unnecessary button to what could have been a simple link.
Another annoyance is the little icon beside Windows Live ID. It sort of looks like a link, because the icon appears to have an action behind it - but nothing. In fact, it's almost duplicating the information found in the third column.
The third column is the most useful, because it contains a form. Yet it seems to have the lowest visual priority because it's over on the far right. It's all nice until after the password field. In which lies some confusion.
Link Colours
Blue is a common link standard on the Web. And Microsoft to their credit have put many of their links as blue. But, one isn't. And it's the 'Use enhanced security' "link". Why is this? Why is one link black when all the others on the page are either grey or blue? It's confusing.
And why is this even an option anyway? Shouldn't we be signing in over SSL automatically? Tell me, what is the advantage of giving two security options and, by default, enabling the inferior non-SSL login? What's the point in writing a feature such as User Annoyance Control and allowing the user to disable it?
UAC is another topic. I'm going off topic here.
Tooltips
I can't believe that I'm actually writing this. The tooltip for the 'enhanced security' option gives rough idea of what it does. What would be better is 'Click to login via a secure server'. That's it. The current tooltip is a little wooly (why would I want to see a lock icon? What does that do?). Worse, remaining links don't have tooltips.
Instead of popping up an absurdly large popup for the (?) links, why aren't those tooltips? Why does 'enhanced security' get a tooltip? Why does the 'Sign up' button get a tooltip, but the login button doesn't?
If you're going to do tooltips, be consistent.
Branding
There's too much of it here. Windows this, Windows that. Hell, read this from one of the Windows experience blogs.
Windows Live Product Team Blogs. Almost all the Windows Live apps and services
have an official team blog you can visit to read the latest from their team
about their product. This can also be a great place for leaving feedback. Many
of these blogs allow for comments. You can leave feedback and suggestions
through leaving a comment on their blog (all you need to do is log in with your
Windows Live ID). How do you find all the team blogs? Simple. I have created a
special page specifically for all the Microsoft Team Blogs that exist. You can
see the list of Windows Live blogs here. The Windows Live Hotmail and Windows
Live Mail teams even have a blog specifically set up for email support. You can
also visit the new Windows Live Wire blog for all the Windows Live blogs as
well.
These two options are available to anyone wanting to leave
feedback on the Windows Live applications (such as Windows Live Messenger,
Windows Live Mail, and Windows Live Writer) or the Windows Live web services
(such as Windows Live SkyDrive, Windows Live Hotmail, and Windows Live Spaces).
(source)
Talk about a mouthful. I doubt that any of these applications need the 'Windows Live' tag. I think it sounds cheesy and very much within the realm of monopolising online presence; Microsoft for your email. Microsoft for your office work. Microsoft for your desktop. What's wrong with catchy names, like Basecamp, Digg, Blinksale or just 'plain old' Hotmail? Infact Hotmail is a great name all by itself. It's like Feedburner. Roll with the Hotmail name and drop the stupid 'we must own every software program you use' paradigm.

Wasteland Vista
Vista doesn’t seem concerned about balance, at least to someone acting as a
user. From what I can see, the specific visual form was designed to provide
appeal in showrooms and demos not in regular use. It’s a form for selling a
product, not for using it. This is design driven by marketing, about making the
sale, not the experience.
Monday, 1 October 2007
On progressive disclosure...
Progressive disclosure is a method of revealing the details of a feature on
an on-demand basis, so that the basic elements of the feature appear by default
while the less used or more advanced elements are hidden. These elements are
usually just a click or two away, so they remain readily available, but they’re
hidden by default to avoid interface clutter for the majority of users who do
not need them.
Robert speaks a lot of sense.
Ratings done right.

I really like this. Star ratings are good if you're in an application such as iTunes, where you're the only user. But on the web, 100 negative ratings could skew an otherwise flawlessly reviewed product.
So this slider gives a really good indication of where the ratings are (all good in that picture). It's how ratings should be done.
I also love Amazon's way of dealing with ratings, below:

Although, I am confused as to why they need to show me the same information twice (see if you can spot it). That's one of the downsides of Amazon - they give you so much information it can be overwhelming.
Thanks David. (via)
Sunday, 30 September 2007
Scrap unnecessary widgets.
I hate interface clutter. If it's not going to be used often, why put it there at all? You can instead use the space to show me something useful.
Moreover, if web applications are essentially duplicating functionality that is built into the browser, our users will expect to see them there. If you design a site with these widgets, your users will expect to see them on all of your sites. Consistency is a good thing.
Search widgets are useful. In fact, I'd even go as far as to say that search widgets are really, the only useful widget on your site. RSS doesn't count. Weather, stocks, currency - you don't need them everywhere. You just need them in one place. I go to XE.com for my currency converter. BBC for weather. I don't need hundreds of other sites telling me the same thing.
I love simple, easy to use, to the point interfaces. Don't confuse me with all these unnecessary things - or I'm gone.
(This is a response to 456 Berea Street's article)
Saturday, 29 September 2007
Don't treat me like an idiot.
In Designing the Obvious, Robert Hoekman JR points out that his trash can doesn't ask him whether or not he wants to put something into it. It's obvious, because slinging a ball of screwed up paper twelve feet across the office is a good sign that you want to dispose of it.
I can just imagine such a trash can designed by Microsoft, in that if any tiny scrap of paper so much as even graced the immediate space above the trash can, the can would suspend the rubbish in mid air, waiting for you to press something on a huge remote somewhere on your desk, just so that it could continue.
That's nonsense, you say. Well, try deleting anything on your Windows machine. The 'Are you sure?' message comes up. Well, am I? Yes, I am sure. That is why I clicked 'Delete'. I am not an idiot. Don't treat me like one.
Windows certainly likes to though. Unplug your Internet connection for a second - and you actually get a message telling you that it's unplugged. Well, thank you Captain Obvious. Plug in a new memory stick and it says 'New Hardware Found'. Obviously. Don't dumb me down, and don't treat me like an idiot.
It's surprisingly worse on the Internet. It's really nice to use such applications like Blogger and Gmail, because they scrap meaningless, modal dialog boxes. This post is being auto saved in case I am stupid enough to close the browser window, and the blog itself was easy to set up.
However, you do get applications that force a load of alert messages onto you because they have no way of preventing deletion otherwise. How about, actually, not deleting the item in the first place, so that I can undo deletion? Come on, this has been in desktop applications since the Stone Age.
This excerpt from ALA is a good example of what not to do in a web application:
In the game Guild Wars, for example, deleting a character requires first
clicking a “delete” button and then typing the name of the character as confirmation. Unfortunately, it doesn’t always work. In particular:
- It causes us to concentrate on the unhabitual-task at hand and not on whether we want to be throwing away our work. Thus, the impossible-to-ignore warning is little better than a normal warning: We end up losing our work either way. This (losing our work) is the worst software sin possible.
- It is remarkably annoying, and because it always requires our attention, it
necessarily distracts us from our work (which is the second worst software
sin).- It is always slower and more work-intensive than a standard warning. Thus, it commits the third worst sin—requiring more work from us than is necessary.
Software should have forgiveness built into it. I should be able to undo any action, so that I don't lose my work. I don't want software to get in the way of what I'm doing, and I especially don't want to get frustrated because the site's designer decided that I needed 15 minutes to complete the task, instead of 5.
It's not OK for our users to be mindlessly clicking on OK buttons. We need them to feel empowered, not annoyed. I need to know that I can trust the web with my flaws - and if I make errors, I need to know that I can undo them. And I will only be able to do this once modal dialog boxes are extinguished, and deletion is easily recoverable.
Software that doesn't annoy me is software that is quick. It won't complain when I've just deleted 70 items instead of 7. It will make me feel more productive. Surely this is not hard to accomplish. We should be making applications that halve the time it takes to do a task, not triple it.