Meaning everyone can access your application by all means. Could be:
using any kind of interpreter
Using any kind operating system
Using all kinds of media (pc, mac, tv, handheld, print out, …)
Using your application even if the user has some kind of handicap
Using any kind of interpreter
Welcome to the 2009. The browser war continues…
Mozilla firefox 2, 3
Safari 3, 4
Internet explorer 5.5, 6, 7, 8
Using any kind of OS
Windows 98 / NT / 2000 / XP / vista / 7
Using all kinds of media
Televisions (flatscreens, full HD, olschool TV)
Handhelds (palms, mobile phones, …)
Screen (resolution issues)
Print (a print out of your UI)
Emboss, braille, ….
Imagine having no mouse and a keyboard, or, imagine having a keyboard and no mouse. Imagine having no arms, imagine using your app on your laptop on a bumpy road…
Will it hold, and if so, will you hold, or will you break down…
Don’t read, scan
Users want content
Users appreciate quality and credibility. Even if your application looks like sh*t, if the user finds it way around it and it does what it’s supposed to do, everybody is happy.
Slick designed apps that don’t do what they’re supposed to do or that don’t reply the user with the right content are worthless.
Users don’t read, they scan
Users are impatient
Users want to have what they want right now, or at least now that it might take a while. Nobody likes to wait…
Users can’t choose
Be nice to your clients, making choises is not their job.
They will click on the first link that looks like a way to their goal.
Don’t show them 400 possible downloads for 400 different versions of a program
Users follow their intuition
Users don’t mind if the actions they perform are not the optimized way to go, they are satisfied with the result. Users don’t mind how it works, until it stops working…
Never had a client that tried to explain what the possible mistake could be?
Users have control
Don’t force anything to your user, don’t popup windows, start automated printouts, unless the user asks for it.
When visiting a website that resizes your browser window or start playing annoying tunes you leave in what… 5 seconds?
There is a set of 12 screen patterns, let’s take a look at them.
Master - detail
Master/Detail screen pattern can be vertical or horizontal. Ideal for creating an efficient user experience by allowing the user to stay in the same screen while navigating between items. Horizontal layout is a good choice when the user needs to see more information in the master list than just a few identifiers- or when the master view is comprised of a set of items that each have additional details.
e.g: outlook, itunes, windows explorer, mac finder, …
The Browse screen pattern can be vertical or horizontal. Ideal for creating an custom user experience by allowing the user to start from various entry points for navigating to the item(s) they are interested in.
e.g: outlook, itunes, mac finder, …
Search / results
The Search screen pattern can range from very simple to quite advanced. Ideal for creating an efficient user experience by allowing the user to navigate directly to an item or set of items meeting specific criteria.
e.g: google, itunes
The Filter Dataset screen pattern can be vertical or horizontal. Ideal for creating an efficient user experience by allowing the user to refine a set of known data, or further refine search results.
All Form screens should be approached with a solid understanding of usability and design best practices.
“ Web Form Design: Filling in the Blanks” by Luke Wroblewski is good start for building forms.
The Palette/ Canvas screen pattern is seldom the right pattern to apply, but it is the only pattern for documenting or creating: linear or non-liner processes; flow diagrams; screen layouts; design/diagram with physical size or layout constraints.
A well designed Dashboard will provide: key information at a glance, real time data, easy to read graphics, clear entry points for exploration This is typically not achieved by displaying a single screen of metrics (either in a big table, or just a bunch of graphs). Providing a high degree of customization is no substitute for user research and testing. Stephen Few has a nice book on this topic Information Dashboard Design: The Effective Visual Communication of Data .
The Spreadsheet screen pattern is ideal for creating an efficient user experience by allowing the user to easily scan, edit and enter information (in bulk). The Spreadsheet should provide the following functionality: standard table features like sort, hide/show columns, rearrange columns, group by (if applicable), global level undo/redo, add/insert/delete row, keyboard navigation, import and export.
The Wizard/Quick Start screen pattern is ideal for creating an efficient user experience by guiding the user through a complex or infrequent workflow.
Question & Answer
The Q&A screen pattern is ideal for creating an efficient user experience by allowing the user to enter known information and receive a solution. Q & A differs from Search in that this pattern should be used to assist users in identifying possible options or a single recommendation in an arena they are lacking expertise (health insurance, mortgages, planning, purchases).
The Parallel Panels screen pattern can be stacked (showing one at a time) or unstacked (showing all at once). This pattern is ideal for organizing chunks of information that are similar or have interdependent tendencies. Efficiency is gained by keeping the user in one screen. Ideal candidates for the stacked variation of this pattern are simple work-flows with: a high level, visible goal that is fed by multiple inputs, multiple non-sequential steps. This combines a number of the web site patterns outlined in “Designing Interfaces” by Jennifer Tidwell for a single pattern for chunking and displaying data.
The Interactive Model screen pattern is characterized by many interactive elements associated with the key object (a calendar, map, graph, chart, canvas). It is ideal for creating a user experience that is closely aligned with the user’s mental model (a natural fit). Excellent candidates for this pattern are: calendars, maps, gantt charts, what-if scenarios (including calculators), WYSIWYG editors (including photo editing).
Bonus: blank state
This is the natural state of the application, before any data has been entered or accessed. The book, “Getting Real” by 37signals”explains that a blank state screen is an excellent place to set users expectations. By giving them a preview this can lower anxiety and reduce frustration and confusion. Items to include in a blank state screen include: videos, quick tutorials, help tips, a screenshot of what a fully loaded screen will look like.
Create wireframes of all the different page types your app might consist of (using one of the 12 screen patterns)
There are good wireframe programs like visio, omnigraffle, …
Build your raw application, only the data in a semantic structure is presented to the user.
This is usefull for alternative users. Disabled people, handhelds, print outs, …
Start building your design according to your wireframe. Make your structure look like your design without messing in your semantic code.
e.g. css for screen, print, handhelds, braille, embossed, tv, … Indesign template, …
Special stuff like catching default actions in a different way. E.g. ajax requests must be caught afterwards.
Changing your presentation doesn’t affect your data structure
Test your application inhouse. It stands for one user, does it stand for 5, 10, 100, 500 people? Simulate it.
Use screen capture programs, eyetracking tools to know the behaviour of most of your users. Is everything clear? What can be changed