Wherein we write down some stuff that we know.

Archive for the ‘CSS’ Category

Not so 1990’s

Tuesday, May 16th, 2006

Nothing makes as web designers blood curl more than hearing someone remark, “it looks too 1990’s”. Talk about an arrow through the heart. Enter our CAS login page. Over the last couple of months I have been refining the look and behavior of the CAS login page to give it a modern look and also create a stronger visual association with CSU, Chico.

CAS Login Version 1

Now, I’ll be the first to admit, when we developed these pages last year there was some heavy 37signals influence that carried through (bright colors, larger type, etc). However, we had a good justification for those decisions. CAS was launch simultaneously with the new Portal so we wanted to grab the attention of everyone clicking through the login. Now, after a year with the new Portal, it was time to make things a little more subtle and increase the connection with the campus.

To strengthen the bond with the universities online brand we adapted a similar background gradient which also helped contrast the white background of the login form. In addition, we included the Chico signature header and grey seal combination from the universities web template system. With the previous version, the only references to CSU, Chico were the Wildcat logo and text Wildcat Login.

Other changes include a crude pop-up div that explains what the username actually is. In addition, we added support phone numbers for Students and Faculty/Staff incase users have problems.

Hopefully the new design will roll out next week after graduation. For the time being, I’ll be tweaking the design and continuously running browser tests.

Without further-ado, CAS Version 2.

CAS Login Version 2

Fixing a hole…

Monday, May 15th, 2006

…where the rain gets in \ and stops my mind from wandering…

While working on a new design for the CAS login page I ran across a bug where a background imagine would not properly attach itself to the bottom of a screen. The odd thing was that the rendering error only appeared in Firefox.

This bug also affects the CSU Chico home page.

Missing CSS Property

After some research, I discovered that I had omitted the background-attachment property for the body tag. By default the attachment is set to scroll and by simply defining the attachment as fixed, I was able to cure the Firefox bug (which may have actually be an all other browsers are broke bug).

Original Code

CSS:
  1. body {
  2.   background-color: #999;
  3.   background-image: url(/images/bkg-body.jpg);
  4.   background-repeat: repeat-x;
  5.   background-position: bottom;
  6. }

Fixed Code

CSS:
  1. body {
  2.   background-color: #999;
  3.   background-image: url(/images/bkg-body.jpg);
  4.   background-repeat: repeat-x;
  5.   background-position: bottom;
  6.   background-attachment: fixed;
  7.   }

So to the unsung maintainer of the CSS code base for the CSU Chico homepage, if you’re curious why this is happening, here’s the solution.

Back to Design Basics

Thursday, May 11th, 2006

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:

RoomRes Before

Interface Design

The organization of an interface and be generalized in four terms

  1. Objects
  2. Actions/Tasks
  3. Tools
  4. Categories/Subjects

Page Layout

Three high-level elements of a page layout are

  1. Visual Hierarchy
  2. Visual Flow
  3. 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:

RoomRes Bad Align

After:

RoomRes Good Align

Information Design

A layout/design that has solid information design will answer the following questions for an information consumer:

  1. How is the data organized?
  2. What’s related to what?
  3. How can I explore this data?
  4. Can data be rearranged?
  5. Can it show me only what I need to know?
  6. 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
In addition, I kept the row striping which helps make a visual distinction between the rows.

Before:

RoomRes Bad Visual Monotony

After:

RoomRes Good separation of content

Final Touch-ups

RoomRes Take 2

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

RoomRes Take 3

Much better. There is still room to grow, but this is a marked improvement from what I started with.

Alternating Row Colors with Ruby on Rails

Wednesday, April 12th, 2006

It’s as simple as adding this to the class attribute of your table row:

RUBY:
  1. <%= cycle(‘odd’,’even’) %>

In the CSS, just add:

CSS:
  1. .even { background: #efefef; }
  2. .odd { background: #a5a5a5; }

or whatever color you’d like. Ruby on Rails just flat out rocks sometimes.

Technorati Tags: ,

Happy Naked Day

Wednesday, April 5th, 2006

Well if University Waterloo can do it, so can we!

Strip down your sites of CSS and show us your HTML with pride. For more info on Naked Day, check out the man who started it all, Dustin Diaz.