20 January 2010

Creating a Time Saving CSS Template

If you are a freelance developer then saving time always works in your favor. One way to help you save time, especially if like me, you find yourself doing a lot of the same kind of work over and over, is setting up templates. In the case of web development, having a customized template for your CSS stylesheet can save you from repetitiously typing the same bits of code that you include in most of your web dev projects.

I am not talking about a full framework necessarily, just a simple stylesheet template that you can open up and immediately dive into. That way when you have an idea for a project and are ready to get started, you have most of the busy work built so you get right into the heart of it. So below I have not only prepared some notes on the process, but also walk you through setting up a basic CSS stylesheet template of your own.

Header Comments

Header comments, while required for Wordpress themes, are not always a necessity, but they can come in handy for notating any stylesheet. Any notes that you may need to leave yourself for your work, are easily accessible or added. Just a quick note, if you are creating a WordPress specific template, then instead of ‘Site Name & Site URI’, it should read ‘Theme Name & Theme URI’ in this beginning section.

/* 
Site Name:
Site URI:
Description:
Version:
Author:
Author URI:
*/

Color Notations

Noting the color scheme of the site in your stylesheet is another area that is not a necessity per se, but given that we are out to save time through this post, this can be extremely helpful in that regard. This can also prove especially useful if you want to quickly change out certain colors for the client or just to try out a different look. I've included the main elements that you normally attach colors to for your site, though there will more than likely be others that you will add yourself.

/*  =COLORS
---------------------------------------------------
Body Background:
Main Text:
Links:
*/

CSS Reset

There's a lot of controversy surrounding CSS resets and whether they are useful or not. Even among those who deem them as helpful, there is an argument over which reset is the best. I do find resets to both be helpful and time saving when it comes time to check cross-browser compatibility.

Below is the reset I use which is a slight alteration of the Yahoo version. You may want to do a bit of experimentation to find the right reset for you and your projects. If so, I highly recommend you check out 6 Popular CSS Reset Techniques as well as this argument against the use of CSS resets.

/*  =RESET
---------------------------------------------------*/


body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,
pre,form,fieldset,input,textarea,p,blockquote,th,td {
padding: 0;
margin: 0;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
ol,ul {
list-style: none;
}
h1,h2,h3,h4,h5,h6 {
font-weight: normal;
font-size: 100%;
}
abbr,acronym { border: 0;
}

Layout Styles

Now that we have set up the basic intro to the stylesheet, we finally get into the styling of the actual site. Below I have listed the basic sections I use in my template, so for the sake of customization you may need to add or remove different sections to suit your personal preferences and style. This is where you will want to think about which style elements you find yourself building into most stylesheets that you create so you can include them and cut down on the time you would spend constructing them.

When adding your own sections make sure to make notations so that you can search through your stylesheet quickly and easily.

Global Elements

/*  =GLOBAL ELEMENTS
-------------------------------------------------------------- */


body {
font-family: ;
font-size: 100%;
background: ;
color: #;
}

a:link {
color: #;
}

a:visited {
color: #;
}

a:hover, a:active {
color: #;
text-decoration: none;
}

h1 {
color: #;
font-size: ;
}

h2 {
color: #;
font-size: ;
}

h3 {
color: #;
font-size: ;
}

h4 {
color: #;
font-size: ;
}

ol {
list-style-type: ;
}

ul {
list-style-type: ;
}

li {
margin: ;
}

blockquote {}

#wrapper {
width: 960px;
margin: 10px auto;
}

Header

/*  =HEADER
-------------------------------------------------------------- */


#header {}
#logo {}

Navigation

/*  =NAVIGATION
-------------------------------------------------------------- */

#nav {}

Content

/*  =CONTENT
-------------------------------------------------------------- */


#content {}
#content h2 {}
#content h3 {}
#content p {}

Sidebar

/*  =SIDEBAR
-------------------------------------------------------------- */


#sidebar {}
#sidebar h2 {}
#sidebar ul {}
#sidebar li {}

Forms

/*  =FORMS
-------------------------------------------------------------- */


input {}
textarea {}
button {}

input:focus {}
textarea:focus {}
button:hover {}

Tables

/*  =TABLES
-------------------------------------------------------------- */


table {}
tr {}
th {}
td {}

Footer

/*  =FOOTER
-------------------------------------------------------------- */


#footer {}
#footer h2 {}
#copyright {}

Default Styles

I have also noticed a tendency on my part to add a few default styles into my CSS project after project, so now I have them included in my template as well. You may find these come in handy for your own stylesheet template, or they may at least get you thinking in that direction. This way you land in a mindset where you might be able to recognize a couple of default styles that you are consistently building into your CSS for inclusion as you customize your template.

/*  =DEFAULT STYLES
-------------------------------------------------------------- */


.alignleft {float: left;}
.alignright {float: right;}
.clear {clear: both;}

.center {text-align: center;}
.left {text-align: left;}
.right {text-align: right;}

.small {font-size: 0.8em;}
.hidden {display: none;}

Tutorials That Will Teach You Flash

Getting More Advanced

Smoke/Steam Effect

Create a Flash Dodge Ball Game

Moving Illustrator Art

Create a Slideshow Image Gallery

Create an Interactive Story

Moving Clouds

Create an Analog Clock

Aquatic Bubble Animation

Bird Flight Animation

Black Shine Tutorial

Create Realistic Fireworks

Create a Breakout Type Game

Create a Preloader

Advanced Photo Menu

High-Tech City Animation

Hypnotic Gear Rotation

Create a Flash Website

Rippled Water Effect

Zoom In and Out with Fading Effects

3D Zooming Tunnel

By now you've gotten used to the fact that each entry in this series has a bonus tutorial at the end. If you are not used to this fact, then just follow the links to the other posts and you can see what we're talking about (or you could just take our word for it). So we couldn't leave you hanging here at the end, without a tantalizing tutorial to wrap it all up! As always, hope you have enjoyed the list.

bonus - Mastering Keyboard Shortcuts

Progress Trackers in Web Design: Examples and Best Practices

When designing a large website, especially one that contains a store, you may be required to design a system for ordering online, or a multi-step process of another sort. Walking users through this process by making it easy and intuitive is key to helping increase conversion rates. Any frustration along the way may cause them to leave and pursue other options. Progress trackers are designed to help users through a multi-step process and it is vital that such trackers be well designed in order to keep users informed about what section they are currently on, what section they have completed, and what tasks remain.

In this article we will look at various uses of progress trackers and see how they’ve been implemented, what they are doing well, and what they are not doing well.

What are Progress Trackers?

You may not be familiar with the term ‘progress tracker’, also called a ‘progress indicator’ — but chances are good that you have encountered one at one time or another. They are used in online stores when placing an order, signing up to an online product or service, or even when booking a holiday online. Progress trackers guide the user through a number of steps in order to complete a specified process.

Game Pr in Progress Trackers in Web Design: Examples and Best Practices
An example of a progress tracker at Game

The Difference Between Progress Trackers and Breadcrumbs

As we have detailed previously in Breadcrumbs In Web Design: Examples And Best Practices, breadcrumbs are a way of enhancing navigation by revealing a user’s current location. Initially, breadcrumbs and progress trackers may seem very similar and in many ways they are, however, there are significant differences.

Breadcrumbs show you only where you have been (or what sections are above the current section in the application’s hierarchy), whereas progress trackers indicate a set path that a user follows to complete a specific task. Progress trackers show you not only where you are currently located, but also what steps you have previously taken, and what steps you are about to take.

Breadcrumbs Pr in Progress Trackers in Web Design: Examples and Best Practices
Example of breadcrumbs at Coolspotters

Progress trackers are best used when there is a specific goal to achieve. They are synonymous with conversion and are used as a way of improving usability — which is key when optimizing conversion rates. Conversion is all about selling online so you will see a progress tracker in some form in almost every online store.

Now that we’ve reviewed what a progress tracker is, let’s look at situations that would require or even benefit from the implementation of a well-designed progress tracker.

Uses of Progress Trackers

As mentioned previously, progress trackers can be used in a variety of contexts. The following three are the most common.

1. Online Ordering
By far the most common application of progress trackers is in conjunction with online purchasing, since this usually involves multiple steps.

Hmv Pr in Progress Trackers in Web Design: Examples and Best Practices
The progress tracker used by HMV.

Etsy Pr in Progress Trackers in Web Design: Examples and Best Practices
The progress tracker used at Etsy.

2. Feature Tour Guides
Progress trackers are also used to guide users through the features of online products and services, as demonstrated in the following examples:

SearchInsideVideo Pr in Progress Trackers in Web Design: Examples and Best Practices
Progress tracker as used by Search Inside Video.

Flickr in Progress Trackers in Web Design: Examples and Best Practices
Flickr’s tour page provides a look at the features of their service.

3. Multi-Step Forms
If a form requires a lot of user input, it may be best to split the form into multiple steps.

Livestream Pr in Progress Trackers in Web Design: Examples and Best Practices
Livestream’s progress tracker design.

Buffalo Pr in Progress Trackers in Web Design: Examples and Best Practices
The progress tracker used on Buffalo’s Project Planner form

Best Practices in Progress Tracker Design

Indicating a Logical Progression
Most progress trackers are designed to display the steps from left to right. In most lands, people read from left to right, so it makes sense that progress trackers follow that pattern. That isn’t enough though — there has to be something that informs the user that they are performing a multi-step process.

Blockbuster Pr in Progress Trackers in Web Design: Examples and Best Practices
Blockbuster have included both arrows and numbers in their progress tracker, thus clearly communicating a logical progression.

Keeping the User Informed of their Location
One key aspect of good progress tracker design is keeping the user informed of where the user is in the process. This complements the logical progression because the user will know where they are in relation to where they have been, and what sections are to follow.

MrandmrsSmith Pr in Progress Trackers in Web Design: Examples and Best Practices
Mr and Mrs Smith indicates the user’s current location by clearly highlighting the current step and turning the arrow downwards.

Positioning
Since progress trackers are a form of navigation, it is best to place them below the primary and secondary navigation (such as breadcrumbs) and above the content that the progress tracker relates to. Also, while a progress tracker can act as a page title, it is best to place the title of the current section underneath the progress tracker, to reinforce the current location.

Gamestation in Progress Trackers in Web Design: Examples and Best Practices
Gamestation places their progress tracker clearly below the primary and secondary navigation.

Implementations of Progress Trackers

Plain Text
Below is an example of a plain text progress tracker on Media Temple’s website. One benefit of a plain text progress tracker is that it can be edited easily.

MediaTemple Pr in Progress Trackers in Web Design: Examples and Best Practices

Sprite-Based
Sovereign uses the popular CSS sprites technique to build their progress tracker and reduce HTTP requests going through the online booking process.

Sovereign Pr in Progress Trackers in Web Design: Examples and Best Practices

Design Mistakes to Avoid

Indistinguishable from Breadcrumbs
TypePad’s Design Assistant can be very easily confused with a breadcrumb navigation system.

Typepad in Progress Trackers in Web Design: Examples and Best Practices

Not Enough Information
easyJet’s old progress tracker on their booking path was poorly executed. Although it gave you the total number of steps in the process, it didn’t indicate which steps you’ve completed or which were remaining.

Easyjet Pr in Progress Trackers in Web Design: Examples and Best Practices

Their new progress tracker, launched within the last few weeks, is a big improvement, indicating current location, past steps, and steps to come. They now also make good use of the page title which has descriptive wording to complement the current progress tracker label.

EasyjetNew Pr in Progress Trackers in Web Design: Examples and Best Practices

No Sense of Progression
daniblack incorrectly uses a tab system for their progress tracker. The problem with this is that tabs don’t offer any visual representation of progress. The addition of numbers or arrows would give at least some sort of indication of progression in this example.

Daniblack Pr in Progress Trackers in Web Design: Examples and Best Practices

Progress Tracker Showcase

Now that we know what a progress tracker is, how it is used, and the best approach to its design, let’s look at a number of well-designed progress trackers currently in use.

Battle.net uses the method of incrementally filling a bar as you progress through the steps in their sign-up form.

Battlenet in Progress Trackers in Web Design: Examples and Best Practices

Ikea

Ikea Pr in Progress Trackers in Web Design: Examples and Best Practices

Amazon has a shopping trolley travelling across their progress tracker, leaving an orange line marking where it has been.

Amazon Pr in Progress Trackers in Web Design: Examples and Best Practices

Organic Supermarket

OrganicSupermarket Pr in Progress Trackers in Web Design: Examples and Best Practices

Threadless

Threadless Pr in Progress Trackers in Web Design: Examples and Best Practices

Urban Originals

UrbanOriginals Pr in Progress Trackers in Web Design: Examples and Best Practices

Firebox

Firebox Pr in Progress Trackers in Web Design: Examples and Best Practices

Apple

Apple Pr in Progress Trackers in Web Design: Examples and Best Practices

Vitradirect

Vitradirect Pr in Progress Trackers in Web Design: Examples and Best Practices

Mouse to Minx

Mousetominx Pr in Progress Trackers in Web Design: Examples and Best Practices

CafePress

Cafepress Pr in Progress Trackers in Web Design: Examples and Best Practices

Topshop

Topshop Pr in Progress Trackers in Web Design: Examples and Best Practices

John Lewis uses an image of a truck travelling along their progress tracker.

Johnlewis Pr in Progress Trackers in Web Design: Examples and Best Practices

Comet ticks off sections that have already been completed.

Comet Pr in Progress Trackers in Web Design: Examples and Best Practices

Boots‘ Progress tracker spans the width of the page.

Boots Pr in Progress Trackers in Web Design: Examples and Best Practices

Web MD uses a progress bar and percentage values as a way of tracking progress on their health check questionnaires.

Webmd Pr in Progress Trackers in Web Design: Examples and Best Practices

Argos

Argos Pr in Progress Trackers in Web Design: Examples and Best Practices

Altrec

Altrec Pr in Progress Trackers in Web Design: Examples and Best Practices

SurfRide

Surfride Pr in Progress Trackers in Web Design: Examples and Best Practices

iWorkwear

Iworkwear Pr in Progress Trackers in Web Design: Examples and Best Practices

Zumiez

Zumiez Pr in Progress Trackers in Web Design: Examples and Best Practices

Toys”R”Us

Toysrus Pr in Progress Trackers in Web Design: Examples and Best Practices

eBags

Ebags Pr in Progress Trackers in Web Design: Examples and Best Practices

Foot Locker

Footlocker Pr in Progress Trackers in Web Design: Examples and Best Practices

The Ultimate Green Store

Theultimategreenstore Pr in Progress Trackers in Web Design: Examples and Best Practices

Crate and Barrel

Crateandbarrel Pr in Progress Trackers in Web Design: Examples and Best Practices

Pistol Clothing

Pistolclothing Pr in Progress Trackers in Web Design: Examples and Best Practices

American Apparel

Americanapparel Pr in Progress Trackers in Web Design: Examples and Best Practices

PC World

Pcworld Pr in Progress Trackers in Web Design: Examples and Best Practices

Abel & Cole

Abelandcole Pr in Progress Trackers in Web Design: Examples and Best Practices

Ecco USA

Ecco Pr in Progress Trackers in Web Design: Examples and Best Practices

Design Public

Designpublic Pr in Progress Trackers in Web Design: Examples and Best Practices

Golfsmith uses a combination of numbers and a progress bar with an arrow.

Golfsmith Pr in Progress Trackers in Web Design: Examples and Best Practices

PETCO

Petco Pr in Progress Trackers in Web Design: Examples and Best Practices

Football Fanatics

Footballfanatics Pr in Progress Trackers in Web Design: Examples and Best Practices

The Habitat Company

Habitat Pr in Progress Trackers in Web Design: Examples and Best Practices

Walton Garden Buildings

Walton Pr in Progress Trackers in Web Design: Examples and Best Practices

lookfantastic uses icons to visually enhance their progress tracker.

Lookfantastic Pr in Progress Trackers in Web Design: Examples and Best Practices

B&Q

Bq in Progress Trackers in Web Design: Examples and Best Practices