90 percent of everything : Usability Blog
Written by Harry Brignull

Archive for December, 2006

“It’s not a website – it’s an application”

December 26th, 2006 by Harry Brignull2 comments

Proponents of various abuses of Flash and Ajax cleverness have a frequent defence of their sins: “I’m allowed to break the back button, bookmarking and ‘open in new window’ and all that other stuff people take for granted because that stuff only applies to websites. This isn’t a website – it’s a web application!”

Well I am prepared to accept this argument if we agree on a proper definition of ‘web application’. I’m tempted to be snarky and state that a web application is a web site where I would never deam of bookmarking or using my back button but for the sake of making my argument in good faith I will endevour to present a slightly more useful definition.

Websites have pages. Web Applications have states. An application can be spread over several pages of a website in which case the back button and bookmarking should work between pages. It’s OK for them not to work between states.

How do we differentiate between ‘states’ and ‘pages’? Here’s my not very well thought out rule of thumb. GET’s are pages and POST’s are states. For the less HTTP involved among you then here’s it put another way. If you’re changing data on the server then that’s a POST and I don’t need to bookmark or go back. (However you’re welcome to implement an ‘undo’). If, however I’m just moving to a different view of the data then I will probably want to be able to bookmark that view, send the URL in an email, open it in a new window and all that other stuff a normal website gives me for free.

Photoshop CS3 – usability is more than just UI

December 25th, 2006 by Harry Brignull8 comments

Photoshop CS3 IconAdobe have uncharacteristically released a public beta of the new version of Photoshop – mainly so those people with shiny new Intel Macs don’t have to put up with running Photoshop under emulation any longer.

Everyone’s very excited. There’s a improved UI (no more floating palettes. yay!) and they’ve finally added a feature I’ve wanted for a long time – the ability to add filters to images non-destructively. To put it another way you can add an effect to an image and if you go back later and change the settings Photoshop will reapply the effect using the original image as a source. Previously you would have permanently changed the image when you applied a filter.

Now actually Photoshop already had a limited version of this already in the form of ‘Adjustment Layers’ which did pretty much what I just described but only work with a limited subset of effects – mainly those that do colour correction and adjustment.

Also there is a feature that has been around for ages called ‘layer effects’ which again let you apply effects to a layer non-destructively. But these are a different kind of effect again – effects that use just the perimeter of the image layer to create an effect.

Now I’ve used Photoshop for a fair while (since version 2.51 which didn’t have layers and only had one undo if you can believe such a thing. It was also made of copper and ran entirely on coal) so these subtle distinctions make a weird kind of sense to me. I know what the difference is between filters, adjustments and layer effects and have enough of a feel for Photoshop’s internal workings to see why there is a technical basis the these categories.

However I also teach Photoshop and am not looking forward to trying to explain this stuff. It’s really not going to make much sense. You’ve got three different categories of non-destructive effects all with their own means of being applied and with three different sets of limitations. Whatever the technical reason for this, it’s definitely something that could be fixed with some clever coding (After Effects and Fireworks both manage to avoid the problem with their own implementation of non-destructive effects).

This is part of the Photoshop interface. Not so much in the sense of buttons and on-screen widgets but in terms of the conceptual surface that you encounter when you learn the program.

You really notice this when you try and teach software to other people. It might make sense to you as you’ve learnt the creases and wrinkles over time but when you have to detour into non-obvious distinctions and internal workings to explain to someone why blur can’t be an adjustment layer and posterize can’t be a smart filter then you start to wish that a bit more consistency had been enforced when the features were added.

UPDATE – A great explanation from John Nack (The Photoshop product manager) on the reasons for the way smart filters have been implemented. They had some tough decisions to make to maintain a good user experience and I can understand why things are the way they are. Also see my comments and John’s response.