We’ve been working on a new web application to aid staff in making room reservations for rooms under the INF domain. The basic functionality is in place, I’ve just been stuck for the last week on the application design. Each day I grow increasingly dissatisfied with graphic design and information design component of the application.
Looking for some inspiration, I pulled out our copy of O’Reilly’s Designing Interfaces. I was able to capture some quick notes and high-level concepts from a few chapters on interface design and information design.
Here’s what I have to start with:

Interface Design
The organization of an interface and be generalized in four terms
- Objects
- Actions/Tasks
- Tools
- Categories/Subjects
Page Layout
Three high-level elements of a page layout are
- Visual Hierarchy
- Visual Flow
- Grouping/Alignment
Visual Hierarchy
Visual Hierarchy is the idea of using visual cues to signal an order of importance for a layout. This can be accomplished through such aspects as:
- Whitespace
- Font Size
- Contrast between colors
- Shapes
- Lines and shapes
Using these visual hierarchy tools we can take two routes to establishing a hierarchy: through a framework or the center stage approach.
With a visual framework you are trying to create a consistent look and feel across a large number of pages or screens. The other option, one that 37signals advocates is, center stage or epicenter design where the largest part of the application is dedicated to the most important part of the site/application. For the Room Reservation application it makes sense to take the center stage approach.
Visual Flow
In our western culture it is safe to assume that most users are trained to read from left to right and from top to bottom. Visual flow is about creating focal points that draws the users attention and leads them through a screen in a logical manner. The screenshot of the Room Reservation app above does not have a very strong visual flow, which is something that needs to be addressed.
Grouping/Alignment
The grouping and alignment of elements on a page can assist in creating relationships between two items. With RoomRes’ current design there considerable amount of space between the navigation and the table which indicates that there’s not a strong relationship between the two objects. In fact, this is incorrect, as the navigation directly effects the data displayed in the table. On the screen were users make a reservation the form field labels and widgets are both left justified creating visual separation between the two when a more effect way to display that information would be by right aligning the labels and left aligning the widgets.
Before:


Information Design
A layout/design that has solid information design will answer the following questions for an information consumer:
- How is the data organized?
- What’s related to what?
- How can I explore this data?
- Can data be rearranged?
- Can it show me only what I need to know?
- What are the specific values?
Visual Monotony
Visual monotony can be created by having large tables of similar data. This can lead to increased time spend trying to zero in on specific information. The RoomRes table presently just has some sample data, but it wouldn’t be hard to imagine this quickly getting out of control.
It’s suggested that you break up the monotony through contrasting data you want readers to see first; think of it as a micro-level visual hierarchy.
The question is: how do you visually differentiate reservations? Would it make sense to have the title of the event in bold or the date in italic? Thinking back to 37signals I remember how they like to display events that are imminent in a larger size font than those that are far in the future. So with the help of Ruby, I marked reservations in the table as either:
- Next week
- The week after next
- More than two weeks away
Before:
After:
Final Touch-ups

It’s not quite there yet. In times like this, it’s best to simplify.

Much better. There is still room to grow, but this is a marked improvement from what I started with.
2 responses so far ↓
1 Jerry // May 18, 2006 at 9:43 am
Scott - It’s refreshing to see someone concentrating on visual communication and ease of use for web applications. Maybe you could give lessons to the Peoplesoft app dev folks.
If it had been left to me, I would have done a randomized fourier transform on the data fields, but that just shows my retro way of thinking ;-}
J
2 scott // May 18, 2006 at 9:47 am
I have no idea what a randomized fourier transform is, but it sounds like fun!