Michael Gaigg: Über UI/UX Design


Highlights of Week 26/2011

Posted by Michael Gaigg


Web GIS: Principles and Applications [Paperback]

Posted by Michael Gaigg



I'm happy to introduce a new book which was co-authored by my colleague Pinde Fu: "Web GIS: Principles and Applications".

I'm really excited about this, not only because good GIS resources are scarce but also because he used screenshots of applications that I have designed over the past years, e.g. geodata.gov, GeoPortal Toolkit, Loma Linda Medical Center Response System, HydroViewer.

How much better can it get when your design ends up in a book?


While the content of the book is targeted at readers at all skill levels I can see it as a great teaching source as well as invaluable resource for managers and aspiring GIS developers to understand the principles of web applications.


The content of the book is focused on the conceptual level (you won't find code samples) by trying to be systematic and as comprehensive as possible which I believe was done superbly. Nevertheless the authors do cover important new developments like geospatial Web services (REST), geobrowsers, cloud computing, geoportals, mashups, mobile GIS, Gov 2.0, geotagging, ArcGIS APIs for JavaScript, Flex, and Silverlight.

Table of Contents

  1. GIS in the Web Era
  2. Technical Basics
  3. Geospatial Web Services
  4. Geospatial Mashups
  5. Mobile GIS
  6. Geoportals
  7. NSDI in the Web 2.0 Era
  8. Web GIS Applications in E-Business
  9. Web GIS Applications in E-Government
  10. Hot Topics and New Frontiers
Suggested reading:

Highlights of Week 13/2010

Posted by Michael Gaigg


Highlights of Week 11/2010

Posted by Michael Gaigg


Benefits & Principles of User-Centered Design

Posted by Michael Gaigg

We, the people, have been around for quite some years now. Computers, software, applications and the web not so much. Therefore it is clear that applications have to adjust to the people and not the other way round.

Many design principles have developed throughout the decades, but the main difference of user-centered design to others is that

UCD tries to optimize the user interface around how people can, want, or need to work, rather than forcing the users to change how they work to accommodate the system or function.

Purpose of UCD

UCD answers questions about users and their tasks and goals, then use the findings to make decisions about development and design.

UCD seeks to answer the following questions:

  • Who are the users of the application?
  • What are the users’ main tasks and goals?
  • What are the users’ experience levels with the application?
  • What functions do the users need from the application?
  • What information might the users need, and in what form do they need it?
  • How do users think the application should work?

Benefits & Return of Investment

  • Increased usability
    • Higher degree of customer satisfaction
    • Continued business
    • Higher revenues
  • Project management optimization
    • Focus on important functionality early
    • Unforeseen user requirements
  • Reduced costs
    • Training costs
    • Help-Desk calls and service costs

UCD Principles

  • Focus on users’ needs, tasks and goals
  • Spend time on initial research and requirements
    • Identify your target audience and observe them (accomplishing their tasks)
    • Let users define product requirements
  • Emphasis on iterative design process
  • Evaluate system on real target users


Nobody could state it simpler than Susan Dray: "If the user can’t use it, it doesn’t work".


Web Content Accessiblity Guidelines (WCAG) 2.0: Overview and Structure

Posted by Michael Gaigg


Last week the W3C announced the publishing of the Web Content Accessibility Guidelines (WCAG) 2.0 as a final Web Standard "W3C Recommendation". This is good news for many reasons:

  • Guidelines are more specific, e.g. specifying contrast ratio or time-based actions in seconds.
  • Success Criteria are written in a technology neutral fashion.
  • Success Criteria are written as testable statements.
  • Past killer arguments like "Javascript is forbidden" are now included as a technique to enhance accessiblity.
  • Gathering 'implementation experience' is now part of the W3C Process.
  • Guidelines include requirements related to informing users of data entry errors.
WCAG 2.0 Overview showing Principles, Guidelines, and Success Criteria (Level A, Level AA, Level AAA).

WCAG 2.0 Overview showing Principles, Guidelines, and Success Criteria (Level A, Level AA, Level AAA).

But what I personally like the best is the revamped structure called layers of guidance:


The four principles of Web accessibility: perceivable, operable, understandable, and robust.

The four principles of Web accessibility: perceivable, operable, understandable, and robust.

The WCAG 2.0 define a logical hierarchy of accessibility guidelines called layers of guidance. All of these layers work together to provide guidance on how to make content more accessible.


The foundation is built on four principles that are essential for anyone to access and use Web content, i.e. every Web content must be:

  1. Perceivable
  2. Operable
  3. Understandable
  4. Robust

These principles are the four pillars of Web accessibility and describe at a high level what can be done to assist users with varying needs to successfully access your content.


The 12 WCAG 2.0 Guidelines provide basic goals for creating accessible content.

The 12 WCAG 2.0 Guidelines provide basic goals for creating accessible content.

The 12 guidelines are basic goals that authors of Web content should work toward in order to create accessible content. None of them are testable and are only meant as a framework of overall objectives. The guidelines are:

  • 1.1 Provide text alternatives for any non-text content so that it can be changed into other forms people need, such as large print, braille, speech, symbols or simpler language.
  • 1.2 Provide alternatives for time-based media.
  • 1.3 Create content that can be presented in different ways (for example simpler layout) without losing information or structure.
  • 1.4 Make it easier for users to see and hear content including separating foreground from background.
  • 2.1 Make all functionality available from a keyboard.
  • 2.2 Provide users enough time to read and use content.
  • 2.3 Do not design content in a way that is known to cause seizures.
  • 2.4 Provide ways to help users navigate, find content, and determine where they are.
  • 3.1 Make text content readable and understandable.
  • 3.2 Make Web pages appear and operate in predictable ways.
  • 3.3 Help users avoid and correct mistakes.
  • 4.1 Maximize compatibility with current and future user agents, including assistive technologies.

Success Criteria

WCAG 2.0 Success criteria shown in three column: column 1 (red) are Level A, column 2 (yellow) are Level AA, column 3 (green) are Level AAA.

WCAG 2.0 Success criteria shown in three column: column 1 (red) are Level A, column 2 (yellow) are Level AA, column 3 (green) are Level AAA.

Now, the success criteria is where the meat is. For each Guideline, testable success criteria are provided. Every Web content or series of Web content (complete web page or series of connected pages) can be tested and evaluated against these criteria and further assigned a true/false (equals pass or fail) value.
These success criteria are further divided into three levels of conformance, meaning satisfying all the requirements of a given standard, guideline or specification:

  • Level A (lowest; minimum level of conformance)
  • Level AA
  • Level AAA (highest)

The notion of conformance is so important that I will discuss it in a separate blog entry.

Sufficient and Advisory Techniques

Up until now all the principles, guidelines, and success criteria are written in a technology neutral fashion. That's great but what now? The Working Group has identified and published examples for HTML implementations that should serve as examples and tutorials and are kept in the living document called Techniques for WCAG 2.0. This document explains a variety of techniques on how to implement the given guideline for each success criteria. The list is not complete and will be expanded as new techniques are discovered.

The techniques fall into two categories:

  • Sufficient techniques: considered to be sufficient to meet a success criteria.
  • Advisory techniques: enhance accessibility, but did not qualify as sufficient techniques.

Most Success Criteria have multiple sufficient techniques listed. Any of the listed sufficient techniques can be used to meet the Success Criterion. Also there may be other techniques which are not documented by the working group that could also meet the Success Criterion. This is especially true for content that is not HTML.

Resume & Criticism

I'm really excited about the WCAG 2.0, their clear structure and promising, almost marketing-like wording. I also like the amount of effort taken to document examples, techniques and common failures.
What I miss is the programmer perspective that outlines each element with its associated success criteria and code samples, e.g. how can I make tables accessible, what about links, captcha, maps, etc.? I think this work is up to us and I will continue to tackle this issue by grouping, summarizing and compiling elements so I can publish them on this blog.

What are your opinions on WCAG 2.0?


How to Create a Color Palette for your Website

Posted by Michael Gaigg

A palette is a complete set of colors one should adhere to when designing a website. This includes a color scheme (typically 2, 3 or 4 colors) plus some additional colors to work with. The goal along the design process is to stick to these colors without the need of inventing and introducing new ones.

Here are some tools and knowledge on how to design and create an effective and appealing color palette for you website in just minutes:

Know your primary color

Many times you will be constraint by your clients' need for a primary color, be it because of the logo, corporate identity (CI) or corporate design (CD) guidelines. Consider yourself lucky!
For the other times when you have to come up with a color for yourself, think of what best represents the company's target audience - young, fashion, pop, serious, technocratic, playful. All that will determine your ultimate choice. The best description I've found so far of what different colors actually stand for is in Jason Beaird's book 'The Principles of Beautiful Web Design'. Even though I'm sure you find tons of other sources on the web be aware of easy color-meaning mappings like black=death - in web design black is also a color that conveys power, think of tuxedos, limosines, Batman etc.

Create a Color Scheme

I've found the Red-Yellow-Blue color wheel the closest to traditional color theory and that's what I am using and writing about now. I acknowledge the CMYK (Cyan-Magenta-Yellow-Black) color wheel but found it less useful for my purposes (feel free to convince me otherwise 😉 )

Color Wheel

I highly recommend the WellStyled Color Scheme Generator 2 (http://www.wellstyled.com/tools/colorscheme2/index-en.html). It allows you to use your primary color and your knowledge about your target audience to play around and find the most suitable of the five classic color schemes:

  • monochromatic (your primary color in different tints or shades)
  • analogous (your primary color plus two colors next to it on the wheel)
  • complementary (=contrast; your primary color plus the opposite color on the wheel)
  • triadic (three colors equally separated on the wheel)
  • tetradic (basically two complementary schemes combined)

The Color Scheme Generator will calculate the correct RGB values in hexadecimal notation for you and even offer variations (pastel, contrast, pale) to further experiment. Once done, simply print or note the colors and values computed and you are ready to roll.

Ensure good Contrast

Contrast is not only a good design principle but also an Accessibility requirement for many websites (W3C, Section 508 in the US). So before you make your final choice on the color scheme ensure that your main color provides sufficient contrast to background/foreground colors.
Test your colors using Colour Contrast Check (http://www.snook.ca/technical/colour_contrast/colour.html) making sure the brightness difference is greater 124 and the color difference is not less than 500!

Finalize your Color Palette

To finalize your color palette all you need to determine is which other tints and shades of the existing (as determined above) color scheme you want to use - black and white included.
As a basic rule try not to 'overload' your page with the amount of colors used, but certainly a number of 5 or 6 seems to be about right (remember to count black and white).

Done, wasn't that easy?

Here are some interesting links I recommend together with an excellent book:

Suggested reading: