Yet Another Pointless Tagline
Permanently Uncached header image 1

Entries Categorised as 'Design'

Good Design – Building Usable Menus

July 16th, 2010 · No Comments · Design, Development

After a heated and very public debate about how a menu should work, I figured I would take a moment to do a little research and write up on menus, with some thought and consideration to the environment within which they sit and are used. So without much ado, here it is :

Design and Function Considerations

When putting a menu together you might want to consider some of the following options:

  • Look – Should the menu look like a button, a list item or something else?
  • Direction – Whether the menu is horizontal, vertical or both.
  • Screen size – Available screen/viewport real estate to show the menu within.
  • Stickiness – Length of time the menu stays open after a click or a hover.
  • Failover – How the menu works without JS and or CSS.
  • Device – The device or software through which visitors will access your site.

For the purpose of this article I am going to focus on access your sites through a desktop browser and worry less about the needs and requirements of mobile devices, which could fill a whole other blog post.

So What The Big Boys Do?

Needless to say it makes sense to look at some of the largest sites on the web and figure out what they are doing with menus and what kind of functionality web users will be used to for us to replicate.  Sites we can look at with strong menu and navigation offerings include: BBC News, Flickr, GMail, John Lewis, Amazon, and for a side demonstration Windows XP.

Look

In terms of the look of the elements being used for drop menus, in most instances the hit area for the initial menu item is clearly delineated.  In no case are menus drawn from strings of text or links, and in every case where drop options are available this is indicated with rightward or downward pointing arrows.  Buttons are clearly buttons, with calls to action, whilst list items are obvious categories with highlights for further inspection.

Direction

Concerning the direction in which the navigation and drop menus open it is always downwards, though in certain cases the downward shift contains a horizontal list of columns to maximise use of space, as in the case of the Peter Jones web site.  That being said, it seems that there is no consistent or apparent rule for the layout of a menu.

Anything goes, so long as the menu as sure as you ensure that the user can navigate as quickly and as easily as possible through the menu, and interestingly a site like Apple’s uses a heavily stylised conveyor belt mechanism.  Ultimately, you has to ask yourself the question:  “Can the same navigation mechanism truly be achieved by better means?”

Screen Size

Menus always work “great” when you have enough screen real estate but what about when your user does not?  How do you handle what happens? In this scenario you also have to remember that not all visitors are created equal when it comes to pointer devices, with some using a track-pad, some a 2-button mouse and some with a mouse wheel also.  In this case you need to handle the worst case scenario, which is the track-pad.

Ok, so notwithstanding the pointer device and how this affects the user interaction in a limited viewport size, how do you handle this scenario?  One option is to shift the menu or the sub-menus into view, but this might not be enough.  The other is to keep the menu open based on a specific action, with a logical means to close it.

Beyond this, if there just may not be enough space at all, even after scrolling the page, it would be logical to ether provide scroller arrows for the menu items or to identify to the user that content is hidden due to the lack of space such as is the case on the Windows Start Menu.  Whatever you do, you want to ensure that the user has clear, easy, and quick access to visible content.

Menu Stickiness

Every menu visited so far, from BBC News to Flickr forces users to click on the header option in order to open the initial menu.  In all cases the menu remains open indefinitely as a result.  This is inline with more traditional operating system functionality.  There are slight deviations from this when hovering over the menu for a sustained period of time will cause the drop menu to hide after a specific action (hovering) is completed or a period of time has elapsed.

Interestingly, it is on the e-commerce related sites and not the service orientated sites that retain menus that auto-close after a period of time.  Few of the menus open on hover, responding on click only and closing on mouse out.  Of those menus that stay open on mouse out, all of them close when clicking outside of the respective area.

Dynamically applying a setTimeout function to close the menu after a specific time lapse would be once way to ensure the menu doesn’t stay open indefinitely, but at the same time you need to be mindful of the user and their ability to skirt around the page, scroll and do everything else to achieve their intended goal. Sites like Flickr keep menus open indefinitely, so it’s hardly a crime for you to do so also, and let your users decide when in fact they want the menu to close.

Functionality Failover

Needless to say the BBC’s pure HTML menu survives the fallback test every time, but how about the others?  There’s no reason why menus can’t work with pure CSS, a little less finessed perhaps, but working nonetheless.  Any menus that rely exclusively on JS to work should degrade such that without JS the menu won’t appear and the navigation on your site shouldn’t be impeded.  Exceptions might be possible when working on closed systems, but on public websites you only end up with egg on your face if things don’t work as billed.

Amazon degrades the menu to a long list, having used the JS to compressed it and apply styles to the sub-menus, whilst Facebook removes the drop menus and opts for the traditional click through to a destination page with a differently formatted list of the appropriate content.  Flickr, however, opts for a more coercive approach, telling users that they must have JS enabled to use the site properly and leaving buttons in view that do not function at all, even the CSS reacts to hover and other selectors.  Apple’s conveyor belts degrade less beautiful, but at least they still work  – surely the desired result.

Defining The Purpose

In all of this discussion one has to remember that the real purpose of the menu in all of this is to help your site visitors to get where they need to go in as a few clicks as possible.  Excessive menu items is as much a design flaw as shoddy functionality, and divining the right path is up to you.

If you aren’t sure how effective your menu is then you should try out some A/B testing with defined goals, or perform click tracking tests and see how and how often the menu is being used.  One thing you definitely shouldn’t do is assume, just because it is there, people will use it, or that the contents of the menu will even make sense to them.

Consider the menu in the context of your global navigation and your search tools, and provide it as a helpful means by which to more easily dig deeper within your site, but not at the expense of other content.  Last but not least, and most importantly, make sure it works logically and as expected, in terms of what your site visitors are used to from the sites they might visit most often.

Simplicity – What to Kill and What Not To Kill

June 9th, 2010 · No Comments · Design

Mike Rundle of Flyosity brought up a bunch of interesting ideas and thoughts in his blog post Kill The Settings, Build Opinionated Software, but in short he is effectively saying:

“Do what you want, don’t listen to users, keep things simple, and focus on numbers, not on the niche user case.”

The problem with this edict is that it is ‘one size fits all’, and at no point considers the complexity of business processes or the reality that in the growing stages of your business can you afford not to listen to your ‘users’.

A 2-Way Approach

As is always the reality, there is more than one way of doing things.  Distilling your settings down to ‘You can only have A’ is way too rigid.  Nothing stops you, as a developer or designer, setting a default, and providing secondary access, effectively   optimising for the mainstream, whilst not killing overall access to ‘power options’.

To use the same example Rundle references, Apple, they do this in scenarios where they have ‘dumbed’ down a process or preferences.  The network control panel is a good example of this.  Most mainstream users would be completely ‘out to sea’ when handling network settings, so they use defaults and auto network selection to help ride over the complexity, but at the same time they provide an ‘advanced’ button to give ‘power users’ access to additional hidden panels.  Do they have to?  Not really, but they don’t do what Rundle suggests, and that is to ride rough shod over the needs of a power user.

Catering for Users

Above and beyond this, and contrary to Rundle’s post, not all users remain ‘idiots’ forever, more so if you teach or guide them properly.  Even mainstream users will move beyond the ignominy of ‘idiot’ status!  The increased length of time they spend using your product or service, the more they will demand of it and of you.  It is also these individuals that will help you achieve your long term goals, and I don’t mean just in terms of generating a possible revenue.  Such users will provide marketing opportunities, and they will likely also help you find niches that you didn’t even know where there and can eventually exploit.  Keeping them on your right side is good business sense.

And what of more niche user cases?  I suppose this is why the accessibility usecase is ignored almost all the time, because such users are not the target audience and make up such a small percentage of potential revenue.  Plenty of ‘non-commercial’ enterprises, for example cultural institutions, will go beyond simply doing what is best for themselves, and want to take care or legally need to take care of such niches, filling the void where private enterprise does not go more readily.

Don’t Kill Common-Sense – Effective Design

I am not advocating complexity by any stretch of the imagination, and understand that with the right design even the most complex processes can be simplified, but at some point you reach a level of over-simplification that just isn’t justified.  On the flip side of course, complexity is enhanced by poor design.  So UI design shoudl really be your first port of call, before simply axing options.

All in all, you need to do what makes the most sense:

  • Use simplicity to increase conversion and provide a more welcoming service to mainstream users, but don’t shut out niche users by not catering to them either.
  • Hide complexity with advanced buttons and with wizards taking even the most simplistic users through the most complex tasks.  Insist on quick insert screens that can be followed up with more complex edit screens.
  • Use good copy, don’t let developers type jargon into your designs.
  • Use the best defaults, and pre-determine options where possible based on locale etc., but don’t stop your users from changing these where necessary.
  • Most importantly, follow standards, and use the tricks learned by the big boys.

Life doesn’t need to be taxing, but at the same time, it doesn’t need to be over-simplified if all the constituent parts of development and design are doing their job properly.

Shelter House Bling Online Campaign

December 3rd, 2009 · No Comments · Design

My ex-colleague at Stink Digital, Christophe Taddei (@tadd31) has a great blog, Veni Vidi Vici,  covering web campaigns, and I must say he does a great job of it.  That being said, he also has his own unique test for campaigns, otherwise known as the cock test.  Need I say more?

Anyhow, apologies for any offense caused, but here is a snapshot of his latest efforts in conjunction with the new Shelter HouseBling campaign, to raise awareness of Homelessness in the UK this Christmas and to raise money for the UK-based charity. In it you can decorate your abode in Google Streetview with some smashing christmas lights and share it with your friends.

Shelter's Housebling Cock TestFeel free to find yours and share it with me.  Perhaps you can find a little more creativity … ho ho ho.

Bleeding Lines

October 13th, 2009 · No Comments · Design

If this doesn’t make your eyes bleed I don’t know what will!

bleading-lines

Spotted in the wild by Tim, the designer here at Stink Digital the picture is an illustration © by Aart Rost and the full set of the font is available here: http://www.dafont.com/lines.font

7 Things Designers Should Not Forget About The Web

April 27th, 2009 · No Comments · Design, Web Design

There is always something to learn, whether you think you know it all or not. I will never forget the time that some kind soul sent the head designer at Last.fm a copy of “Photoshop for Dummies” after a massive site redesign that 50% of people seemed to hate. Jokes aside, here are a few points that every designer should remember, both in their work and in working with others.

Don’t Hand Over a Mess …

Being able to select each layer in turn with the arrow cursor in Photoshop isn’t an excuse for poor housekeeping. There is nothing worse as a front-end dev than having to pick through a morass of ill-titled layers: layer 56, layer 55, layer 54, layer 1, layer 17. When you can group clusters of related layers together, rename them and delete any unused objects, there is zero excuse. Do not expect colleagues or work partners to deal with the problems of your inability to execute clean files.

Perfection …

If you want pixel perfect designs, then firstly, good luck. Making anything match in an identical fashion across all browsers is nigh on impossible. Secondly, no two computers or people are the same. If you want your designs pixel perfect in dimension, then you need to provide guides and rules in your files that help clarify the exact dimensions. Into this you must remember that your horizontal widths can be fixed whilst you can rely less on using fixed vertical space and must anticipate that both user generated content and copy to sit perfectly within it and not break the design. Colors will vary too, whilst images, by default, will end up getting compressed, and zooming in at 1000% view to see how lossy they are, unlike any other web user out there, is not worth the effort, nor energy in getting upset about it.

Rose Tinted Glasses …

Don’t make the mistake of designing through blunt headed vision. The reality is that any design can look perfect with preened and pruned swathes of lorem ipsum, but take that design into the real world and those tweets, comments and client entered blog posts will jar in your design. They will make it look crap, and they will break it in every way possible. You need to have the depth within your design to be able to both anticipate and handle that. Making a manicured design that falls apart deserves little consolation when it all goes pear-shaped, and using content from the real world is the best strategy against this.

Use Conventions …

Don’t make the mistake of small time web designers out there, and that is to re-invent the wheel every time you design a web site. Actually think about your users, not just your visual eye. What makes a good designer isn’t the philosophy behind the design, it’s the usability of their web sites. Elegance and usability are not entirely mutually exclusive, and their are plenty books out their to help inform your design decisions and processes, so get reading!

Informed Choice …

When working on large sites that have been around for a long time, don’t just slap together work based on your own broad assumptions. Get your fingers dirty actually looking at the stats for the site. Figure out how visitors are using it and what their paths are through it. My recent review of a book web site showed that visitors were most looking at any combination of 3-4 pages, and that there was little point in redesigning the site, other than to make the experience for the “typical” site user easier by providing quickest access to those pages through the global nav point.

Accessibility …

Access to anything starts with the design. Don’t design for 1. Make sure that you think about everyone that might use a site when you design it. It’s no wonder that governments have to legislate for accessibility, and equally no surprise when you hear stories of impaired web users suing organizations and winning due to the complete lack of accessibility on their sites. Remember to use contrasting colors, not shades upon shades of the same ever so slight colors. Not only will they be lost from one computer screen to the next, users will likely not even notice them, and anyone with a visual-impairment definitely won’t. Beyond this, think about making space for text links and other accessibility-friendly elements.

The Right Balance …

If poor site design and badly executed files are your MO, then you need to get with the programme and start designing with more than yourself in mind. Designers are not artists with singular styles and patterns, they are paid to be able to execute to brief, with changing visuals, not generate constant knock-offs of the same thing. If you want to be a great designer then you need to remember to find the right balance between your mind and the real world.