Design

Using CSS3: Older Browsers And Common Considerations

Advertisement in Using CSS3: Older Browsers And Common Considerations
 in Using CSS3: Older Browsers And Common Considerations  in Using CSS3: Older Browsers And Common Considerations  in Using CSS3: Older Browsers And Common Considerations

With the arrival of IE9, Microsoft has signalled its intent to work more with standards-based technologies. With IE still the single most popular browser and in many ways the browser for the uninitiated, this is hopefully the long awaited start of us Web craftsmen embracing the idea of using CSS3 as freely as we do CSS 2.1. However, with IE9 not being supported on versions of Windows before Vista and a lot of businesses still running XP and reluctant (or unable) to upgrade, it might take a while until a vast majority of our users will see the new technologies put to practice.

While plenty of people out there are using CSS3, many aren’t so keen or don’t know where to start. This article will first look at the ideas behind CSS3, and then consider some good working practices for older browsers and some new common issues.

A Helpful Analogy

The best analogy to explain CSS3 that I’ve heard relates to the world of film. Filmmakers can’t guarantee what platform their viewers will see their films on. Some will watch them at the cinema, some will watch them at home, and some will watch them on portable devices. Even among these few viewing options, there is still a massive potential for differences: IMAX, DVD, Blu-ray, surround sound — somebody may even opt for VHS!

So, does that mean you shouldn’t take advantage of all the great stuff that Blu-ray allows with sound and video just because someone somewhere will not watch the film on a Blu-ray player? Of course not. You make the experience as good as you can make it, and then people will get an experience that is suitable to what they’re viewing the movie on.

A lot about CSS3 can be compared to 3-D technology. They are both leading-edge technologies that add a lot to the experience. But making a film without using 3-D technology is still perfectly acceptable, and sometimes even necessary. Likewise, you don’t need to splash CSS3 gradients everywhere and use every font face you can find. But if some really do improve the website, then why not?

However, simply equating CSS3 to 3-D misses the point. In many cases, CSS3 simply allows us to do the things that we’ve been doing for years, but without all the hassle.

To Gracefully Degrade or Progressively Enhance?

In film, you create the best film you can make and then tailor the product to the viewing platform. Sound familiar? If you have dabbled in or even taken a peek at CSS3, it should.

There are two schools of thought with CSS3 usage, and it would be safe to say that the fundamental principle of both is to maintain a website’s usability for those whose browsers do not support CSS3 capabilities, while providing CSS3 enhancements for those whose browsers do. In other words, make sure the film still looks good even without the 3-D specs. In many ways, the schools of thought are similar, and regardless of which you adopt, you will face many of the same concerns and issues, only from different angles.

Graceful Degradation

With graceful degradation, you code for the best browsers and ensure that as the various layers of CSS3 are peeled away on older browsers, those users still get a usable (even if not necessarily as pleasing an) experience.

The approach is similar (although not identical) to using an IE6-only style sheet, whereby you serve a certain set of styles to most users, while serving alternate styles to users of IE6 and lower. Normally, the IE6 version of a website removes or replaces styling properties that don’t work in IE6, along with fixes for any layout quirks. Graceful degradation differs in that it makes use of the natural fallbacks in the browser itself, and fixes are determined by browser capabilities rather than specific browser versions. Also, graceful degradation does not normally require an entirely different set of styles. The result, though, is that the majority of users get the normal view, and then tweaks are applied for people who have yet to discover a better browser.

Aggressive graceful degradation is at the heart of Andy Clarke’s recent book, Hardboiled Web Design, and the accompanying website makes great use of graceful degradation. There are plenty of other examples, including Do Websites Need to Look Exactly the Same in Every Browser.com, which was built to showcase the technique, and Virgin Atlantic’s vtravelled blog, designed by John O’Nolan, which shows some great subtle fallbacks that most users wouldn’t even notice. And if you’re a WordPress user, why not compare your admin dashboard in IE to it in another browser?

Progressive Enhancement

Progressive enhancement follows the process in reverse: that is, building for lower-support browsers and then using CSS3 to enhance the experience of those with more capable browsers. This used to be done, and still is by some, with separate enhancement style sheets.

As a starting point, most people will code for a sensible standards-based browser, then add some code to support browsers such as IE7 and 8, and then possibly thrown in some fixes for IE6 for good measure, and then step back and think, “How can I improve this with CSS3?� From there, they would add properties such as rounded corners, gradients, @font-face text replacement and so on.

As browser makers add support, progressive enhancement appears to be taking a back seat to graceful degradation. But progressive enhancement is a very good approach for getting started with CSS3 properties and learning how they work.

Examples of the technique include the personal websites of Sam Brown and Elliot Jay Stocks, which both feature enrichment-type style sheets, Elliot has spoken on the matter, and the slides from his 2009 Web Directions South talk, “Stop Worrying and Get on With It (Progressive Enhancement and Intentional Degradation),� make for good reading.

Css3-102 in Using CSS3: Older Browsers And Common Considerations
Elliot Jay Stock’s presentation ‘Stop Worrying and Get on With It (Progressive Enhancement and Intentional Degradation)’

Comparing the two, graceful degradation can be considered a top-down approach, starting with browsers most capable of utilizing CSS3 and working down to older browsers that lack support.

Progressive enhancement works the other way, bottom-up, using a standards-based browser of choice as the baseline, along maybe with IE7, and then adding CSS3 for browsers that support it. Its benefit is that it is easy to work with when you’re just getting used to CSS3, and it’s also a sensible approach when adding CSS3 to older websites.
Whichever approach you choose, there are a number of things to consider, what with all the CSS3 properties that are coming out. Later on, we will look at considerations for certain key properties.

How To Do It?

Whatever your approach, you will no doubt find yourself thinking through the common fallback process at some point: what would this element look like with a certain property, and what would it look like without it? Would it look fine or broken? If it would look broken, there’s a good chance you will need to do something about it.

As a typical path, you would first implement a feature with CSS3, then with CSS 2.1, then (maybe) with JavaScript, and then with whatever hack you used to use for legacy browsers. You could argue that progressive enhancement would slightly modify this path, using CSS 2.1 first, then CSS3.

At each stage, you should determine whether degrading or enhancing a feature would become unnecessarily complex and whether simply providing an alternative would be more sensible.

Ordering Properties

Let’s take a quick look at ordering properties and how browsers interpret them. Browser makers initially offer CSS3 functionality via browser prefixes: -moz for Mozilla, -webkit for Chrome and Safari, -o for Opera, etc. Each browser then ignores any prefixes not meant for it. The convention is to list the browser-specific prefixes first and then the default property, as follows:

.somediv {
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	border-radius: 5px; }

Yes, this creates a little overhead, but when you consider how such effects were achieved before CSS3, it’s really not much.

Browsers that don’t support the property will ignore it. Any browser that does support it will implement its browser-specific version; and when it eventually supports the generic property, it will implement that.

Why order it in this way? Once all of the browsers implement a property the same way, then they will adopt the default version of the property; until then, they will use the prefixed version. By listing the properties in the order shown above, we ensure that the standard version is implemented as the fallback once it is supported, hopefully leading to more consistent rendering across browsers.

JavaScript

JavaScript is the most common method of enabling cross-browser CSS3 features support, and it can either be used as a substitute for or to enable CSS3 properties in older browsers or be used as an alternative.

Modernizr

A useful JavaScript tool for implementing CSS3 fallbacks is Modernizr. For anyone working with CSS3 in a production environment (as opposed to merely as a proof of concept), it is essential. Modernizr enables you to use CSS3 for properties where it is supported, and to provide sensible alternatives where it isn’t.

Css3-103 in Using CSS3: Older Browsers And Common Considerations

Modernizr works by adding classes to the html element of the page, which you would then call in the style sheet.

For example, to display a different background when CSS3 gradients are not supported, your code would look something like this:

.somediv {
	background: -webkit-gradient(linear, 0% 0%, 0% 100%,
	  from(#660C0C), to(#616665), color-stop(.6,#0D0933)); }

.no-cssgradients .somediv {
	background: url('/images/gradient.jpg'); }

Conversely, to display a different background only where the CSS3 property is supported, you would do this:

.cssgradients .somediv {
	background: -webkit-gradient(linear, 0% 0%, 0% 100%,
	  from(#660C0C), to(#616665), color-stop(.6,#0D0933));}

.somediv {
	background: url('/images/gradient.jpg'); }

In this way, you control what is shown in the absence of a property, and you tailor the output to what is sensible. In this case, you could serve a gradient image in the absence of support for CSS3 gradients.

With this additional control, you can tailor the output quite accurately and avoid any clashes that might arise from a missing property.

CSS3 PIE

Sadly, this has nothing to do with the tasty dessert. CSS3 PIE stands for progressive Internet Explorer. As the official description says:

PIE makes Internet Explorer 6 to 8 capable of rendering several of the most useful CSS3 decoration features.

Css3-104 in Using CSS3: Older Browsers And Common Considerations

While it doesn’t support a myriad of features, it does allow you to use box-shadow, border-radius and linear gradients in IE without doing much extra to the code. First, upload the CSS PIE JavaScript file, and then when you want to apply the functionality, you would include it in the CSS, like so:

.somediv {
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
	behavior: url(path/to/PIE.htc); }

Fairly straightforward, and it can save you the hassle of having to use JavaScript hacks to achieve certain effects in IE.

Selectivzr

CSS3 has expanded its repertoire beyond advanced selectors such as [rel="selector"] and pseudo-selectors such as :focus, to include selectors such as :nth-of-type, which give you much more control and focus and allow you to dispense with a lot of presentational classes and IDs. Support for selectors varies greatly, especially with the wide variety of additional selectors being introduced.

Css3-105 in Using CSS3: Older Browsers And Common Considerations

Therefore, the third weapon in your CSS3 arsenal will most likely be Selectivzr, which enables advanced CSS3 selectors to be used in older browsers and is aimed squarely at old IE versions.

Head over to the Selectivizr website and download and add the script. You will have to pair it with a JavaScript framework such as jQuery or MooTools, but chances are you’re working with one already. The home page is worth a quick look because not all selectors are supported by all JavaScript libraries, so make sure what you need is supported by your library of choice.

Problems?

The main issue with all of the solutions above is that they’re based on JavaScript, and some website owners will be concerned about users who have neither CSS3 support nor JavaScript enabled. The best solution is to code sensibly and make use of natural CSS fallbacks and allow the browser to ignore CSS properties that it doesn’t recognize.

This may well make your website look a bit less like the all-singing, all-dancing CSS3-based design that you had in mind, but remember that the number of people without CSS3 support and without JavaScript enabled will be low, and the best you can do is make sure they get a usable, functional and practical experience of your website, thus allowing you to continue tailoring the output to the user’s platform.

Some CSS3 Properties: Considerations And Fallbacks

Many CSS3 properties are being used, and by now we have gotten used to the quirks and pitfalls of each iteration of the CSS protocol. To give you a quick start on some of the more popular CSS3 properties, we’ll look at some of the issues you may run into and some sensible ways to fall back in older browsers.

All of the information in this article about browser support is correct as of May 2011. You can keep up to date and check out further information about support by visiting findmebyIP. Support has not been checked in browser versions older than Chrome 7.0, Firefox 2.0, Opera 9, Safari 2 and Internet Explorer 6.

Border Radius

Support: Google Chrome 7.0+, Firefox (2.0+ for standard corners, 3.5+ for elliptical corners), Opera 10.5+, Safari 3.0+, IE 9

Property: border-radius

Vendor prefixes: -webkit-border-radius, -moz-border-radius

Example usage (even corners with a radius of 5 pixels):

.somediv {
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	border-radius: 5px; }

Fallback behavior: rounded corners will display square.

Borderradius in Using CSS3: Older Browsers And Common Considerations
WordPress log-in button in IE (left) and Google Chrome (right).

Without the hassle of extra divs or JavaScript or a lot of well-placed, well-sliced images, we can give elements rounded corners with the use of the straightforward border-radius property.

What about browsers that don’t support border-radius? The easiest answer is, don’t bother. Is having rounded corners in unsupported browsers really worth the hassle? If it is, then you need only do what you’ve been doing for years: JavaScript hacks and images.

Could this property trip you up? Actually, border-radius is pretty straightforward. Be careful using it on background images, because there are certainly some bugs in some browser versions that keep the corners of images from appearing rounded. But aside from that, this is one of the best-supported CSS3 properties so far.

Border Image

Support: Google Chrome 7.0+, Firefox 3.6+, Opera 11, Safari 3.0+, no support in IE

Property: border-image, border-corner-image

Vendor prefixes: -webkit-border-image, -moz-border-image

Example usage (a repeating image with a slice height and width of 10 pixels):

.somediv {
	-webkit-border-image: url(images/border-image.png) 10 10 repeat;
	-moz-border-image: url(images/border-image.png) 10 10 repeat;
	border-image: url(images/border-image.png) 10 10 repeat; }

Fallback behavior: shows standard CSS border if property is set, or no border if not specified.

Borderimagefb in Using CSS3: Older Browsers And Common Considerations
A border-image demo on CSS3.info. The bottom paragraph shows a standard property of border: double orange 1em.

The border-image property is less heralded among the new properties, partly because it can be a bit hard to wrap your head around. While we won’t go into detail here, consider the image you are working with, and test a few variations before implementing the property. What will the border look like if the content overflows? How will it adjust to the content? Put some thought into your choice between stretch and repeat.

Experiment with an image before applying a border to make sure that everything is correct, and test different sizes and orientations to see how a repeating border looks.

Borderimage in Using CSS3: Older Browsers And Common Considerations
A border image in use on Blog.SpoonGraphics. The image on the left is the base image for the border.

There isn’t much in the way of fallbacks, aside from the traditional method of coding for eight slice-image borders, mapped out with extra containing divs. This is a lot of work and is really unnecessary. Selecting an appropriate border color and width should be a sensible fallback for browsers without border-image support.

Box Shadow

Support: Google Chrome 7.0+, Firefox 3.6+, Safari 3.0+, IE 9

Property: box-shadow

Vendor prefixes: -webkit-box-shadow, -moz-box-shadow (-moz no longer needed as of Firefox 4)

Example usage (showing a black shadow, offset down by 10 pixels and right by 10 pixels, and with a blur radius of 5 pixels):

.somediv {
	-moz-box-shadow: 10px 10px 5px #000;
	-webkit-box-shadow: 10px 10px 5px #000;
	box-shadow: 10px 10px 5px #000; }

Fallback behavior: shadow is not displayed.

Box shadow allows you to quickly and easily add a little shadow to your elements. For anyone who has used shadows in Photoshop, Fireworks or the like, the principles of box shadow should be more than familiar.

Boxshadow in Using CSS3: Older Browsers And Common Considerations
A subtle box shadow on the left, and a selective borders fallback on the right.

In its absence? You could use selective borders (i.e. a left and bottom border to imitate a thin box shadow).

.somediv {
	-moz-box-shadow: 1px 1px 5px #888;
	-webkit-box-shadow: 1px 1px 5px #888;
	box-shadow: 1px 1px 5px #888; }

.no-boxshadow .somediv {
	border-right: 1px solid #525252;
	border-bottom: 1px solid #525252; }

RGBa and HSLa

RGBa support: Google Chrome 7.0+, Firefox 3.0+, Opera 10+, Safari 3.0+, IE 9

HSLA support: Google Chrome 7.0+, Firefox 3.0+, Opera 10+, Safari 3.0+

Property: rgba, hsla

Fallback behavior: the color declaration is ignored, and the browser falls back to the previously specified color, the default color or no color.

.somediv {
	background: #f00;
	background: rgba(255,0,0,0.5); }

In the example above, both background declarations specify the color red. Where RGBa is supported, it will be shown at 50% (0.5), and in other cases the fallback will be to the solid red (#f00).

Rgba in Using CSS3: Older Browsers And Common Considerations
24 Ways makes great creative use of RGBa.

While there is broad support for opacity, its downside is that everything associated with an element becomes transparent. But now we have two new ways to define color: RGBa (red, green, blue, alpha) and HSLa (hue, saturation, light, alpha).

Both offer new ways to define colors, with the added benefit of allowing you to specify the alpha channel value.

The obvious fallback for RGBa and HSLa is a solid color; not a problem, but the main thing to watch out for is legibility. A semi-transparent color can have quite a different tone to the original. An RGB value shown as a solid color and the same value at .75 opacity can vary massively depending on the background shade, so be sure to check how your text looks against the background.

Opacity in Using CSS3: Older Browsers And Common Considerations
Changing transparency can affect the legibility of overlaid text.

If transparency is essential, you could also use a background PNG image. Of course, this brings with it the old IE6 problem, but that can be solved with JavaScript.

Transform

Support: Google Chrome 7.0+, Firefox 3.6+, Opera 10.5+, Safari 3.0+

3-D transforms support: Safari

Property: transform

Vendor prefixes: -o-transform

Example usage (rotating a div 45° around the center, and scaling it to half the original size — for illustration only, so the translate and skew values are not needed):

.somediv {
	-webkit-transform: scale(0.50) rotate(45deg)
	   translate(0px, 0px) skew(0deg, 0deg);
	-webkit-transform-origin: 50% 50%;
	-moz-transform: scale(0.50) rotate(45deg)
	   translate(0px, 0px) skew(0deg, 0deg);
	-moz-transform-origin: 50% 50%;
	-o-transform: scale(0.50) rotate(45deg)
	   translate(0px, 0px) skew(0deg, 0deg);
	-o-transform-origin: 50% 50%;
	transform: scale(0.50) rotate(45deg)
	   translate(0px, 0px) skew(0deg, 0deg);
	transform-origin: 50% 50%; }

Fallback behavior: the transform is ignored, and the element displays in its original form.

Transform in Using CSS3: Older Browsers And Common Considerations
Westciv offers a useful tool for playing around with transforms.

The transform property gives you a way to rotate, scale and skew an element and its contents. It’s a great way to adjust elements on the page and give them a slightly different look and feel.

A simple fallback in the absence of an image-based transform is to use an alternative image that is already rotated. And if you want to rotate content? Well, you can always use JavaScript to rotate the element. Another simple alternative is to rotate the background element in an image editor beforehand and keep the content level.

We’ve gotten by with level elements for so many years, there’s no reason why people on old browsers can’t continue to put up with them.

Animations and Transitions

Transitions support: Google Chrome 7.0+, Firefox 4.02, Opera 10.5+, Safari 3.0+

Animations support: Google Chrome 7.0+, Safari 3.0+

Property: transition

Vendor prefixes: -webkit-transition, -moz-transition, -o-transition

Example usage (a basic linear transition of text color, triggered on hover):

.somediv:hover {
	color: #000;
	-webkit-transition: color 1s linear;
	-moz-transition: color 1s linear;
	-o-transition: color 1s linear;
	transition: color 1s linear; }

A basic animation that rotates an element on hover:

@-webkit-keyframes spin {
	from { -webkit-transform: rotate(0deg); }
	to { -webkit-transform: rotate(360deg); }
	}

.somediv:hover {
	-webkit-animation-name: spin;
	-webkit-animation-iteration-count: infinite;
	-webkit-animation-timing-function: linear;
	-webkit-animation-duration: 10s; }

Fallback behavior: both animations and transitions are simply ignored by unsupported browsers. With animations, this means that nothing happens, and no content is animated. With transitions, it depends on how the transition is written; in the case of a hover, such as the one above, the browser simply displays the transitioned state by default.

Animation in Using CSS3: Older Browsers And Common Considerations
The 404 page for the 2010 Future of Web Design conference attracted attention for its spinning background. Visit the website in IE and you’ll see a static background image.

Animations and transitions in CSS3 are slowly seeing more use, from subtle hover effects to more elaborate shifting and rotating of elements across the page. Most effects either start right at page load or (more frequently) are used to enhance a hover effect. Once you get down and dirty with animations, there’s great fun to be had, and they’re much more accessible to designers now than before.

Starting off small with the CSS3 transition property is best, subtly transitioning things such as link hovers before moving on to bigger things.

Once you’re comfortable with basic transitions and transforms, you can get into the more involved animation property. To use it, you declare keyframes of an animation with @-webkit-keyframes and then call this keyframe animation in other elements, declaring its timing, iterations, etc. Note that animations work better with CSS3 transforms than with other properties, so stick to transform and translate rather than shifting margins or absolute positioning.

Of course, people have been animating with JavaScript for years. But if you want to do something as simple as animating a hover state, then it hardly seems worth the extra coding. The simplest thing to do for unsupported browsers is to specify a state for hover, without any transition to it.

Font Face (not new in CSS3)

Support for different font formats: Google Chrome 7.0+, Firefox 3.1+, Opera 10+, Safari 3.1+, IE 6+

Property: @font-face

Example usage (a @font-face declaration for Chunk Five, an OTF font, and calling it for h1 headings):

@font-face {
	font-family: ChunkF; src: url('ChunkFive.otf'); }

h1 {
	font-family: ChunkF, serif; }

Fallback behavior: just as when any declared font isn’t available, the browser continues down the font stack until it finds an available font.

Fontface in Using CSS3: Older Browsers And Common Considerations
The New Adventures in Web Design conference serves fonts from Typekit.

Okay, this isn’t strictly new to CSS3. Many of you will point out that this has been around as long as IE5. However, text replacement is certainly starting to see increased usage as browser makers roll out increased support for @font-face.

One issue that @font-face suffers from is that a font isn’t displayed on the screen until the browser has downloaded it to the user’s machine, which sometimes means that the user sees a “flash of unstyled text� (FOUT). That is, the browser displays a font from further down the stack or a default font until it has finished downloading the @font-face file; once the file has downloaded, the text flashes as it switches to the @font-face version. So, minimizing the flash by stacking fonts of a similar size and weight is important. If the stack is poorly compiled, then not only could the text be resized, but so could containing elements, which will confuse users who have started reading the page before the proper font has loaded.

The good news is that Firefox 4 doesn’t has a FOUT any longer, IE9, however, does have a FOUT but WebInk has written a script FOUT-B-GONE which takes these facts into account and helps you hide the FOUT from your users in FF3.5-3.6 and IE.

Fut in Using CSS3: Older Browsers And Common Considerations
On his blog, Web designer Florian Schroiff uses @font-face to serve the Prater font (bottom), falling back to Constina, Georgia (top) and Times New Roman.

Many font delivery services, including TypeKit and Google Web Fonts, deliver their fonts via JavaScript, which gives you control over what is displayed while the font is being downloaded as well as what happens when the font actually loads.

Because browsers wait until the full file of a font kit has loaded before displaying it, plenty of services allow you to strip out unnecessary parts of the kit to cut down on size. For example, if you’re not going to be using small caps, then you can strip it out of the file so that the font renders more quickly.

Advanced Selectors

Support (varies depending on the selector used): Google Chrome 7.0+, Firefox 3.6+, Opera 9.0+, Safari 2.0+, IE 6+

Property: many, including :nth-of-type, :first-child, :last-child, [attr="…"]

Example usage (coloring only links that point to Smashing Magazine, and coloring odd-numbered rows in tables):

a[href*=smashingmagazine.com] {
	color:#f00; }

tr:nth-of-type(odd) {
	background: #ddd; }

Fallback behavior: In the absence of support for advanced selectors, the browser does not apply the targeted style to the element and simply treats it as any other element of its type. In the two examples above, the link would take on the standard link properties but not the specified color, and the odd-numbered table rows would be colored the same as other table rows.

Advanced selectors are a great tool for reducing the code on a website. You will be able to get rid of many presentational classes and gain more control of the selections in your style sheet.

Using Selectivzr, you can get older browsers to support these advanced selectors, which makes the selectors easier to use and more robust.

Nth in Using CSS3: Older Browsers And Common Considerations
We can easily assign styles using nth-type selectors. However, because the styles in this example are tied directly to the content, sticking to class names would be better, unless you are 100% certain that the order of words won’t change.

Abandoning classes and IDs altogether in favor of nth-type is tempting. But don’t throw them away just yet. Use advanced selectors when an element’s style is based on its location in the document or a series; for example, using nth-type(odd) for table rows or using last-of-type to remove some padding at the bottom of a list.

If an element’s style is based on its content, then stick with classes and IDs. That is, if inserting a new element or changing the order of items would break the style, then stick with the old method.

However, if an element is already sufficiently styled, then you probably don’t need an additional class or ID at all (nor an advanced selector, for that matter).

Columns

Support: Google Chrome 7.0+, Firefox 2.0+, Safari 3.0+, Opera 11.10+

Property: column-count

Vendor prefixes: -webkit-column-count, -moz-column-count

Example usage (splitting content into three columns):

.somediv {
	-moz-column-count: 3;
	-webkit-column-count: 3;
	column-count: 3; }

Fallback behavior: in the absence of support for multiple columns, the browser spreads the content across the full width that the columns would have taken up.

Columns in Using CSS3: Older Browsers And Common Considerations
Multiple columns and their fallback on Inayaili de León’s website.

This property give you a nice easy way to spread content across multiple columns. The technique is standard in print, and on the Web it makes it easy to read content without needing to scroll. But you didn’t need me to tell you that, did you?

Because the property’s main purpose is to allow users to read horizontally without scrolling, first make sure that your columns aren’t too tall. Having to scroll up and down to read columns not only defeats their purpose but actually makes the content harder to read.

There are some JavaScript solutions for multiple columns. For older browsers, though, there’s generally no need to stick with a multi-column layout; rather, you could consider sensible alternatives for fallbacks.

Columns2 in Using CSS3: Older Browsers And Common Considerations
Without support for multiple columns, the block quotes on tweetCC change in style.

In the absence of CSS3 support, the browser will flow content across the full width of the container. You’ll want to be careful about legibility. It can be very heard to read content that spans the width of an area that is intended to be broken into three columns. In this case, you’ll want to set a suitable line length. There are a few ways to do so: increase the margins, change the font size or decrease the element’s width. Floating elements such as images and block quotes out of the flow of text can help to fill up any leftover space in the single column.

Gradients

Support: Google Chrome 7.0+ for -webkit-gradient, Google 10+ for -webkit-linear-gradient and -webkit-radial-gradient, Firefox 3.6+, Safari

Property: linear-gradient, radial-gradient

Vendor prefixes: -webkit-gradient, -webkit-linear-gradient, -webkit-radial-gradient, -moz-linear-gradient, moz-radial-gradient

Example usage (a linear white-to-black gradient running from top to bottom — notice the lack of -linear- in the Webkit declaration):

.somediv {
	background-image: -webkit-gradient(linear, 0% 0%, 0% 100%,
	  from(#ffffff), to(#000000));
	background-image: -webkit-linear-gradient(0% 0%, 0% 100%,
	  from(#ffffff), to(#000000));
	background-image: -moz-linear-gradient(0% 0% 270deg,
	  #ffffff, #000000);
	background-image: linear-gradient(0% 0% 270deg,
	  #ffffff, #000000); }

A radial gradient running from white in the center to black on the outside:

.somediv {
	background-image: -moz-radial-gradient(50% 50%, farthest-side,
	  #ffffff, #000000);
	background-image: -webkit-gradient(radial, 50% 50%, 0, 50% 50%, 350,
	  from(#ffffff), to(#000000));
	background-image: -webkit-radial-gradient(50% 50%, 0, 50% 50%, 350,
	  from(#ffffff), to(#000000));
	background-image: radial-gradient(50% 50%, farthest-side,
	  #ffffff, #000000); }

Fallback behavior: the browser will show the same behavior as it would for a missing image file (i.e. either the background or default color).

Gradients in Using CSS3: Older Browsers And Common Considerations
ColorZilla’s Ultimate CSS Gradient Generator offers a familiar interface for generating gradients.

Ah, the good ol’ Web 2.0 look, but using nothing but CSS. Thankfully, gradients have come a long way from being used for glossy buttons, and this CSS3 property is the latest step in that evolution.

Gradients are applied the way background images are, and there are a few ways to do it: hex codes, RGBa and HSLa.

Be careful when applying a background with a height of 100% to an element such as the body. In some browsers, this will limit the gradient to the edge of the visible page, and so you’ll lose the gradient as you scroll down (and if you haven’t specified a color, then the background will be white). You can get around this by setting the background-position to fixed, which ensures that the background doesn’t move as you scroll.

Specifying a background color not only is a good fallback practice but can prevent unforeseen problems. As a general rule, set it either to one end of the gradient or to a color in the middle of the range.

Legibility is also a consideration. Making text readable against a solid background color is easy. But if a gradient is dramatic (for example, from very light to very dark), then choose a text color that will work over the range of the gradient.

Radial gradients are a bit different, and getting used to the origins and spreads can take a bit of playing around. But the same principles apply. Note that Webkit browsers are switching from the -webkit-gradient property to -webkit-linear-gradient and -webkit-radial-gradient. To be safe, include both properties, but (as we have learned) put the old property before the new one.

These issues aren’t new; we’ve been using gradients for ages. If you really need one, then the obvious fallback is simply to use an image. While it won’t adapt to the dimensions of the container, you will be able to set its exact dimensions as you see fit.

Multiple Backgrounds

Support: Google Chrome 7.0+, Firefox 3.6+, Safari 2.0+, IE 9

Property: background

Example usage (multiple backgrounds separated by a comma, the first on top, the second behind it, the third behind them, and so on):

.somediv {
	background: url('background1.jpg') top left no-repeat,
	  url('background2.jpg') bottom left repeat-y,
	  url('background3.jpg') top right no-repeat; }

Fallback behavior: an unsupported browser will show only one image, the one on top (i.e. the first in the declaration).

Multiplebg in Using CSS3: Older Browsers And Common Considerations
The fantastic Lost World’s Fairs website shows multiple backgrounds in its header and a solid color as a fallback.

Being able to set multiple background images is very useful. You can layer images on top of one another. And because CSS gradients can be applied as backgrounds, you can layer multiple images and gradients with ease.

You can also position background elements within dynamically sized containers. For example, you could have an image appear 25% down the container and then another at 75%, both of which move with any dynamic content.

If multiple backgrounds are essential to your website, you could insert additional elements and images into the DOM using JavaScript. But again, is this worth doing? A single well-chosen background image might work best. It could be a matter of picking the most important image or blending the images into a composite (even if this makes for a less dynamic background).

Use Only Where Needed

It’s worth repeating that CSS3 is not a necessity. Just because you can use CSS3 properties, doesn’t mean your website would be any worse off without them. Applying these effects is now so simple, and so getting carried away becomes all too easy. Do you really need to round every corner or use multiple backgrounds everywhere? Just as a film can work without 3-D, so should your design be able to work without CSS3 splashed everywhere indiscriminately. The technology is simply a tool to make our lives easier and help us create better designs.

It is a testament to those who are already using CSS3 that there are very few instances of its misuse at the moment. The websites that do seem to misuse it suggest that their designers either used CSS3 for its own sake or didn’t consider its implications on certain platforms.

In “Web Design Trends 2010: Real-Life Metaphors and CSS3 Adaptation,� Smashing Magazine’s Vitaly Friedman notes a number of misuses of the text-shadow property.

Text-shadow in Using CSS3: Older Browsers And Common Considerations
A less-than-ideal use of CSS3 on SramekDesign.com.

The text-shadow property has certainly become popular. One-pixel white shadows are popping up in text everywhere for no apparent reason. As Vitaly says:

… before adding a CSS3 feature to your website, make sure it is actually an enhancement, added for the purpose of aesthetics and usability, and not aesthetics at the cost of usability.

As you become familiar with CSS3’s new properties, you will learn to recognize when and where problems occur and where the properties aren’t really necessary.

Using CSS3

CSS3 is the future of the Web, no argument about that. So, versing yourself right now in the language of the future makes sense. While IE is still the single most popular browser, it now has less than half of the market share, meaning that the majority of people no longer use it and it can no longer be used as an excuse not to explore new possibilities and opportunities.

To use CSS3 means to embrace the principle that websites need not look the same in every browser, but rather should be tailored to the user’s browsing preferences via sensible fallbacks. It isn’t daunting or inaccessible, and the best way to learn is by diving in.

Other Resources

If you would like to learn more, plenty is out there. Here are some selections to get you started.

Do you use CSS3 in your projects?


(al) (ik) (vf)


© Dave Sparks for Smashing Magazine, 2011. | Permalink | Post a comment | Smashing Shop | Smashing Network | About Us
Post tags: , ,


Creative Brainstorming: 50 Examples of The Logo Design Process

Advertisement in Creative Brainstorming: 50 Examples of The Logo Design Process
 in Creative Brainstorming: 50 Examples of The Logo Design Process  in Creative Brainstorming: 50 Examples of The Logo Design Process  in Creative Brainstorming: 50 Examples of The Logo Design Process

Everyone knows how important a logo is to your identity and brand. Every business, online and offline, requires a logo. A logo represents your company and products to potential customers.

Almost any designer can create a good logo, but it won’t necessarily be perfect. Creating an extraordinary logo requires a thorough design process. It should involve brainstorming ideas (either on paper or in digital format), incorporating standard logo elements, choosing appropriate typography, using colors correctly and—most importantly—making a few versions of the proposed logo in different fonts, colors and styles. Points of comparison will help you see which one is perfect.

In this post, we’ve compiled a list of businesses that have shared a peek inside their fascinating logo design process with the public. We hope it will get you started on your own.

The Logo Design And Development Process

The Bounty Bev Logo Design Process
“A bounty is a reward given to those who seek the best, and BountyBev brings you the reward of American Craft Beer. Our brands are steeped in history, tradition, and countless stories that should be shared with those who are worthy and paired with flavorful foods.�

Logodesignprocess23 in Creative Brainstorming: 50 Examples of The Logo Design Process

Grooveshark | Case study
“Grooveshark is an international peer-to-peer music platform, built behind a social network online. Its users are able to stream their own composed full-length songs, build playlists, share music and make friends—all for free.”

Logodesignprocess26 in Creative Brainstorming: 50 Examples of The Logo Design Process

Logo Design Process: Homespun Chili
“Homespun Chili uses local and international ingredients to create one-of-a-kind meat and vegetarian chili creations. The Logo was supposed to be clean, smart, quirky, mainstream with a little Martha Stewart!â€�

Logodesignprocess28 in Creative Brainstorming: 50 Examples of The Logo Design Process

Siah Design Rebrand Process
The Siah Design logo shows a hand with index finger showing direction with the bottom part of the hand being the pencil. The icon suggests giving direction to creativity. The significance of the finger pointing up is that it is pointing up to God giving Him any credit for his design work. Being a Christian creative director Josiah Jost is very open about his faith. Siah Design specializes in logo design, has won various awards for its work and has been published in multiple design books. Siah Design serves a local, national and international clientele.

Logodesignprocess19 in Creative Brainstorming: 50 Examples of The Logo Design Process

Artistic Expression: Logo Design From Start to Finish
Vero offers restaurants, cafés and hotels an eco-friendly bottled water alternative. The company uses the latest in microprocessor-controlled water-purification technology to purify, chill and (if needed) carbonate tap water at the point of use.

Logodesignprocess32 in Creative Brainstorming: 50 Examples of The Logo Design Process

Dache.ch Logo Design Process
Dache is the portfolio of David Pache, where he also describes his self-branding. He’s a creative consultant and brand and identity designer in Switzerland who works with clients all over the globe to design logos, websites and more.

Logodesignprocess6 in Creative Brainstorming: 50 Examples of The Logo Design Process

The Logo Development Process: New England Breeze Case Study
New England Breeze sells and installs wind turbines and solar panels for commercial and residential customers.

Logodesignprocess31 in Creative Brainstorming: 50 Examples of The Logo Design Process

Step by Step Logo Design Project
The idea behind myNiteLife is to provide an online organizer and planner for nightlife in the city of Sheffield, where bars, restaurants and clubs, among other venues, are listed, along with user reviews and ratings.

Logodesignprocess9 in Creative Brainstorming: 50 Examples of The Logo Design Process

Logo Design Process and Walkthrough for Vivid Ways
Vivid Ways is a new blog that focuses on personal development and colorful living. It aims to inspire and encourage readers by offering ideas and tips on how to live an amazing life.

Logodesignprocess8 in Creative Brainstorming: 50 Examples of The Logo Design Process

Giacom Brand Identity Design
Giacom is a leading provider of Internet services in the private and public sectors of the UK, Europe and beyond. Giacom’s portfolio includes scalable Internet hosting and outsourced message filtering and archiving systems.

Logodesignprocess1 in Creative Brainstorming: 50 Examples of The Logo Design Process

Henri Ehrhart Brand Identity Design
Henri Ehrhart is a French wine producer in the Alsace region. The company, in operation for more than 50 years, focuses on standard and medium-range wines distributed mainly in supermarkets. It sold 4.5 million bottles in 2008.

Logodesignprocess2 in Creative Brainstorming: 50 Examples of The Logo Design Process

VISSUMO Brand Identity Design
VISSUMO is a provider of next-generation touch technologies for industrial, architectural, retail, transportation, instructional and entertainment applications. The company has recently undergone a name change, from Infini Touch to VISSUMO, and this designer’s task was to create the new brand identity and stationery.

Logodesignprocess3 in Creative Brainstorming: 50 Examples of The Logo Design Process

Ecometrica Brand Identity Design
Ecometrica is a provider of carbon-footprint services as well as land-use–change monitoring. The company is also a source of information on business and climate change.

Logodesignprocess4 in Creative Brainstorming: 50 Examples of The Logo Design Process

Tammy Lenski Brand Identity Design
Tammy Lenski LLC is a business that deals with conflict resolution in the workplace. The new logo was expected to be simple and clean, inspiring and inviting.

Logodesignprocess5 in Creative Brainstorming: 50 Examples of The Logo Design Process

Troove Logo Design Process
Troove is a company based in Mountain View, California. It originally started out as a search engine for finding structured business applications to download, hence their name (a variation of the French word “trouve,â€� which means “to findâ€�). The new logo was inspired by the phrase “finders, keepers”.

Logodesignprocess7 in Creative Brainstorming: 50 Examples of The Logo Design Process

Logo Design Process for Just Creative Design’s Award Winning Logo
In this article, Jacob Cass talks about how he decided on the name for his freelancing business, Just Creative Design, and the process he used to design the award-winning logo.

Logodesignprocess10 in Creative Brainstorming: 50 Examples of The Logo Design Process

Logo Design Case Study
JMR Insurance Group is an insurance company based in Florida. Their new logo was created around the phrase “Protecting Your World”.

Logodesignprocess11 in Creative Brainstorming: 50 Examples of The Logo Design Process

Berthier Associates Brand Identity Design
Berthier Associates is a Tokyo-based architecture firm with extensive experience in designing corporate office interiors, creating innovative workplaces, improving corporate image and fostering individual performance.

Logodesignprocess12 in Creative Brainstorming: 50 Examples of The Logo Design Process

A-List Blogging Bootcamps’ Identity Design
A-List Blogging Bootcamps is a website that offers a series of short, live online training courses for bloggers.

Logodesignprocess13 in Creative Brainstorming: 50 Examples of The Logo Design Process

Metro Aviation Logo Design Process
Metro Aviation is a helicopter transport company.

Logodesignprocess14 in Creative Brainstorming: 50 Examples of The Logo Design Process

Creating a Business Logo
UserScape is the company behind HelpSpot, a market-leading, Web-based help-desk software solution.

Logodesignprocess15 in Creative Brainstorming: 50 Examples of The Logo Design Process

Case Study: Brokers Logo Design Process
“Brokers runs stock market simulations, reality contests for college students of finance. A team of five members receives a portfolio of $1 million in virtual money to make trades in the Mexican stock market and the foreign exchange market. Principal message to be portrayed by the new logo? A fresh, impacting brand style but still giving the professional image of the event.”

Logodesignprocess16 in Creative Brainstorming: 50 Examples of The Logo Design Process

Kick’s Logo Design Process
Kick is a chic women’s boutique with throwback glam décor. It is located in a progressive and growing downtown area. It aims for the distinguished in taste and style.

Logodesignprocess17 in Creative Brainstorming: 50 Examples of The Logo Design Process

Blackberry Creek’s Logo Design Process
Blackberry Creek Community Church needed a logo…

Logodesignprocess18 in Creative Brainstorming: 50 Examples of The Logo Design Process

Logo Design Process For Fitucci
Fitucci is a source for custom doors and windows. It specializes in luxury residential and commercial projects and supplies state-of-the-art doors and windows.

Logodesignprocess20 in Creative Brainstorming: 50 Examples of The Logo Design Process

Sponsr Logo Design Process
Sponsr is a Web company in Orlando, Florida, that connects sponsors to event promoters, venues and producers. The visual identity was to be more end-user driven than b2b oriented.

Logodesignprocess21 in Creative Brainstorming: 50 Examples of The Logo Design Process

LatitudeSouth’s Creative Process
LatitudeSouth is a new enterprise that offers a fresh approach to outsourcing legal services. Important objective: Its New Zealand origins are important to the company, though it works with clients all over the world.

Logodesignprocess22 in Creative Brainstorming: 50 Examples of The Logo Design Process

HotBox Studios’ Logo Design Process
HotBox Studios is a company based in southeast England that specializes in creative animation and design.

Logodesignprocess24 in Creative Brainstorming: 50 Examples of The Logo Design Process

Mindberry’s Logo Design Process
Mindberry GmbH is a company based in Vienna that offers consulting and project management services. It has established the business in Austria and is looking to expand service to the rest of Europe and the US. The Brand wants to target a young/trendy audience as well as more conservative companies.

Logodesignprocess25 in Creative Brainstorming: 50 Examples of The Logo Design Process

Design Process of Undersea Productions
Undersea Productions is a team of underwater image specialists run by Josh Jensen and Liz Harlin, a husband-and-wife and video-and-photo duo with years of experience in all aspects of underwater imaging. They are truly passionate about the underwater world.

Logodesignprocess27 in Creative Brainstorming: 50 Examples of The Logo Design Process

Design Process of Dimitrovi & Co.
Founded in the early ’90s in the city of Pleven and focused on delivering heavy machinery services (excavators, bulldozers and heavy trucks), Dimitrovi & Co. is now one of the largest construction companies in north Bulgaria.

Logodesignprocess29 in Creative Brainstorming: 50 Examples of The Logo Design Process

The Logo Design Process From Start to Finish
Uke sells unique arrangements of chocolate as an alternative to gift baskets. It targets an upscale market.

Logodesignprocess30 in Creative Brainstorming: 50 Examples of The Logo Design Process

The Logo Design Process: From Concept to Completion
eLIFELIST is an online community dedicated to acknowledging and fulfilling its members’ life goals.

Logodesignprocess33 in Creative Brainstorming: 50 Examples of The Logo Design Process

Identity Design Process for Butterfield Photography
Butterfield Photography is run by Maria and Robert Butterfield, who each focus on a different area of photography: wedding and family photography, and commercial and sports photography. One of the constraints: The logo had to be usable across a broad range of businesses.

Logodesignprocess34 in Creative Brainstorming: 50 Examples of The Logo Design Process

Logo Design: From Start to Finish
DANZK is a soon-to-be-launched lifestyle blog that focuses on culture, food, art and design from Denmark. The blog aims to expose the Danish way of life to locals and foreigners who are interested in the country. It recommends and reviews Danish products related to food, design and music. Problem: Come up with ideas free of clichés!

Logodesignprocess36 in Creative Brainstorming: 50 Examples of The Logo Design Process

Process: Branding Ian Matteson
This brand and identity development project is for photographer Ian Matteson, an action and commercial-based photographer out of Salt Lake City, Utah. Along with Ian’s action and commercial work, he shoots a lot of film and fine art. The Logo was to compliment his style.

Logodesignprocess37 in Creative Brainstorming: 50 Examples of The Logo Design Process

Dezeen Watch Store
The Dezeen Watch Store identity brief was initially small in scope, but the outcome has remarkable underlying complexity. Watch Store is Dezeen’s first retail venture. It specializes in watches by famous designers and boutique brands. The outcome: a dynamic clock identity!

Logodesignprocess38 in Creative Brainstorming: 50 Examples of The Logo Design Process

Visual Identity: Sabienzia
Sabienzia is a dynamic and international enterprise. Its team has more than 20 years of experience in the area of teleworking, unified communication, virtualization, advanced analytics and green IT.

Logodesignprocess39 in Creative Brainstorming: 50 Examples of The Logo Design Process

IBBT’s Logo Redesign
The Interdisciplinary Institute for Broadband Technology, a Flemish research institute, creates highly competent human capital through interdisciplinary, demand-driven basic research that targets ICT and broadband services in collaboration with companies and government.

Logodesignprocess40 in Creative Brainstorming: 50 Examples of The Logo Design Process

Brokers Direct Identity Design
Brokers Direct is an online insurance company that offers quick, friendly and low-cost insurance for landlords, tenants, owners of vacant property, homeowners, students and owners of commercial properties.

Logodesignprocess41 in Creative Brainstorming: 50 Examples of The Logo Design Process

A Guide to Creating Professional Quality Logo Designs
Here are some general rules of logo design and guidelines we should stick to in order to make high-quality logos. The author also explores how to put them into practice to create a logo design that works in the real world.

Logodesignprocess42 in Creative Brainstorming: 50 Examples of The Logo Design Process

WebMYnd Logo Design Process
One of WebMYnd’s products is a browser plug-in that turns your Web-browsing history into an extension of your own memory. It allows you to keep a copy of everything you look at on the Web and search actual page images and text when you need to remember or find something.

Logodesignprocess43 in Creative Brainstorming: 50 Examples of The Logo Design Process

Branding Fixel
Fixel is a small design agency that puts out top-shelf work. Its team of designers, developers and creative thinkers aims to help companies unlock the potential of their brand.

Logodesignprocess44 in Creative Brainstorming: 50 Examples of The Logo Design Process

Apple & Eve Identity Development
This logo process post is for a company tantalizingly called, Apple & Eve.

Logodesignprocess45 in Creative Brainstorming: 50 Examples of The Logo Design Process

Funcrumb Logo Design Process
Funcrumb, currently under development, is an online community that helps make your social life more active and stimulating. It makes it easy to find people who share your hobbies and interests, find romantic connections or establish new business contacts.

Logodesignprocess49 in Creative Brainstorming: 50 Examples of The Logo Design Process

Green Candy’s Logo Design Process
Designing a logo is no easy task; a lot of thought is required to achieve the best possible design solution for the client. Here is the process for Green Candy.

Logodesignprocess50 in Creative Brainstorming: 50 Examples of The Logo Design Process

Articles And Resources

10 Principles of the Logo Design Masters
The veterans of the logo design industry have achieved success for a reason. Sure, it’s partially due to years of practice, blood, sweat, tears and inky fingers, but it’s mainly because they stuck to the 10 solid-gold principles of world-class logo design.

Logodesignprocess48 in Creative Brainstorming: 50 Examples of The Logo Design Process

Brand New
Brand New shares opinions about corporate and brand identity work.

Logodesignprocess47 in Creative Brainstorming: 50 Examples of The Logo Design Process

Trademarkia
Trademarkia is promoted as “the ultimate research tool for logo designers.�

Steps in a Successful Logo Design Process
To design a memorable logo, the designer progresses through various stages of listening, research, development, feedback and changes.

(rb)


A User-Centered Approach To Web Design For Mobile Devices

Advertisement in A User-Centered Approach To Web Design For Mobile Devices
 in A User-Centered Approach To Web Design For Mobile Devices  in A User-Centered Approach To Web Design For Mobile Devices  in A User-Centered Approach To Web Design For Mobile Devices

For the past few years, we’ve heard pundits declaring each year as “year of the mobile Web”; each year trying to sound more convincing than the previous. Whether 2011 will be the real “year of the mobile” remains to be seen, but what is indisputable is the fact that the mobile usage of the Web is growing and evolving. As it evolves, so does the mobile user experience, driven by advances in mobile device technology — from better browsers on basic mobile phones (or feature phones — remember the Motorola RAZR?) to the increased adoption of smartphones and tablets.

The term “Mobile Web” (although often criticized) is commonly used to describe accessing the internet using a mobile device. This definition is broad enough to cover everything from using a browser on a feature phone, to using highly customized apps on smartphones or tablets. “There’s an app for that” has made device-specific applications the rage of the day, with some companies starting off backwards with “we need an iPhone app” instead of first understanding what their users actually need when they are mobile, the devices that they use, and then deciding the best approach for going mobile, which may not be an app, but could be a mobile website instead. Mobile websites are universally accessible, less expensive to develop and maintain, and can be searched and accessed by most mobile phones.

(The term “Mobile Web” is criticized because it implies that there are “different” Webs which just isn’t true — there is no Desktop Web, for example. It makes more sense to speak of the websites optimized for users accessing those websites through mobile devices. We will be using this perspective in this article. — Smashing Editorial Team)

This article focuses on designing the user experience for mobile websites accessed from mobile phones with small screens, though the process can be applied to building apps as well. As a Web designer, the good news is that the process is similar to designing desktop websites — with some additional mobile-only considerations that go hand-in-hand with small screens, device features and constraints, and connectivity issues. The user-centered mobile design life cycle can be thought of as an ongoing process as shown below:

User-centered-mobile-design-lifecycle in A User-Centered Approach To Web Design For Mobile Devices
The ongoing user-centered mobile design life cycle

Let’s discuss each phase of this life cycle in more detail.

1. Assess Current Situation: Do You Really Need A Mobile Website Now?

Silly as this may sound in an article about creating mobile website user experiences, it is important to first figure out whether you actually need a mobile website. True, there will be 91.4 million mobile internet users in the US by the end of this year, but how many of them are in your target audience? Mobile commerce sales in the US in 2010 were $3.4 billion, but if you are not selling anything online, does that matter to you? The more relevant statistic is how many of your users are accessing your website using mobile devices. A quick way to find out is of course by looking at your existing desktop website analytics to identify the percentage of mobile visitors, along with the types of devices and operating systems they use to access your full desktop site.Dig deeper to understand why these users visit your site using a mobile device — what they are trying to do, and the content and functionality they are using.

Now, think about what else would be relevant to these mobile users, and for some competitive insight (and possibly inspiration), take a look at what similar sites are doing with their mobile presence. Your desktop site was created to support some business goals — it may have been a simple goal of creating awareness or a more complex goal of generating revenue through online sales. How will a mobile website complement that existing website? Identify the content and functionality that will be useful for your mobile users while supporting your business goals, including any new goals for mobile. Save these “business requirements” — we’ll need them when deciding what goes on the mobile website.

If, at the end of this exercise, you realize that you have very few mobile users, and they occasionally use just a couple of features (like finding your phone number, or hours of operation), you may be better off for now just optimizing your desktop site to make that information easily accessible by mobile users instead of building and maintaining a separate mobile site. If your website happens to be running on WordPress, there are plugins that can easily mobile-enable that website with little effort.

Not all websites need to go mobile now. Companies that need to extend their core services to their users (like those in travel and banking) certainly do, but a manufacturer of commercial jetliners and military aircraft or a provider of specialized industrial gases would probably not need a separate mobile website now, though that may change in a few years. But if you realize that you need a mobile website, let’s focus on the reason you need it: your users!

2. User-Centered Mobile Design Starts With The User

User-centered design relies on user involvement throughout the design process, leading to a solution that users will find useful and want to use. To achieve that, you first need to have a clear understanding of your users, grouped into a prioritized set of user groups whose needs can be thought of individually. For a pharmaceutical company, those groups could be patients, healthcare professionals and caregivers, with the first two groups being the primary user groups, and caregivers being a secondary user group with very similar needs to patients. Identifying your key user groups and creating personas will help you design better for your main users, the way BBC did when building their future mobile strategy.

Bbc-user-groups in A User-Centered Approach To Web Design For Mobile Devices
BBC’s mobile user groups (taken from their future mobile strategy)

To develop a mobile user experience that aligns to the needs and expectations of your targeted users, you must involve representative users and their feedback throughout the process. Direct input from your users through primary research methods like observing users, contextual interviews and focus groups will give you insights about their mobile behavior, including what they want to do on the mobile Web, and when and how they will use it. Primary research will give you answers to questions like:

  • Why do they use your site on a mobile device?
  • What features are they using?
  • What features are crucial for them when mobile?
  • What are some sources of frustration?
  • What devices do they use to access the mobile Web?

As you build a detailed picture of your users and their usage patterns, supplement it with secondary research about industry and mobile market trends from Forrester, eMarketer, Nielsen and comScore, comScore Data Mine, DeviceAtlas and Opera’s State of the Mobile Web. Apart from an understanding of your user and their needs, you will also get a better understanding of the types of mobile devices you have to consider while designing.

3. Prioritize What Your Mobile Website Should Offer

While evaluating the need for a mobile website, you had a list of features you would like to offer on your mobile website. Ideally, these business requirements would align closely with the user requirements identified during user research. If they do not align, look at the requirements asking yourself “what value will this add to the users?” to ensure that your business requirements meet user needs and goals — this is user-centered design after all.

As is often the case, if you end up with more features than you can handle at launch, prioritize what you can initially offer, taking into consideration time, effort, and resources available. Hard as it may be, resist the temptation of trying to build in all the features right from the start. As 37signals so eloquently put it: “Build half a product, not a half-ass product.”

4. Mobile Design Considerations

Now that the groundwork has been completed, it’s time to get to the fun part: actual design! The basic design steps and principles of desktop website design apply to mobile design, with the addition of a few important mobile design considerations. Mobile devices are personal devices with small screens, always turned on, have intermittent slow connections and are mostly used when the user is — you guessed it — mobile.

This brings us to the big “C” of mobile: Context. Mobile users are not captive like computer users are. A user using your desktop website is sitting comfortably, and in a worst case scenario, may be simultaneously listening to music and intermittently tweeting. They are however, not doing all that with one hand, while walking around. Picture a mobile user trying to find directions using a tiny phone with intermittent connectivity, while strap hanging and swaying in a subway train with sub-optimal lighting conditions, deafened by the screeching of wheels on tracks — that gives you some context of use. Simply put, context is about the environment and conditions of usage, including distractions, multitasking, motion, lighting conditions and poor connectivity as you can see in the video below:


Designing for Mobiles: Users & Context from Niek Dekker on Vimeo.

In Tapworthy – Designing Great iPhone Apps, author Josh Clark boils down the mobile user’s mindset to one of three possibilities:

  • Microtasking: Using the phone for short bursts of activity.
  • Local : Finding out what’s around the user.
  • Bored : Using the phone for distraction/entertainment.

Keeping all these factors in mind, here are some specific mobile design considerations to pay attention to while designing for the mobile Web:

Design for Smaller Screen Sizes

Designer-user-desktop-laptop-phones in A User-Centered Approach To Web Design For Mobile Devices
From a designer’s big screen to smaller laptop and mobile screens

The most visible difference between a mobile device and a desktop is the screen size. For years, we have been increasing the minimum screen resolution we design for (remember the days of “optimized for 640 x 480″?). Mobile phone screen sizes have also been increasing, but even the gorgeous screen of the iPhone 4 is still small in comparison to a standard 1024×768 desktop design (designed by someone using a 2560×1440 display). This gets more complicated when you factor in the range of screen sizes used by your mobile users. And let’s not forget that some smartphones can change orientation and their users’ expect the website to resize accordingly. Even though many smartphone browsers today can miniaturize desktop websites, they inadvertently break the user experience by making users zoom in and out, which brings us to the traditional approach of creating a separate website for mobile devices.

Bryan Rieger addresses the issue of designing for multiple screen sizes with a 4-step process:

  • Define device groups by grouping screens with similar widths together resulting in a manageable number of groups,
  • Create a default reference design that will adapt to smaller and larger screens,
  • Define rules for content and design adaptation for it to display well and
  • Opt for Web standards and a flexible layout.

While you should ideally be designing for mobile devices used by your users, for a more generic list of browsers to support, follow Peter-Paul Koch’s recommendations of supporting Safari iPhone, Opera Mini, Android WebKit, BlackBerry (WebKit & older for US), Nokia WebKit (Europe).

The other approach advocates a single website that caters to all devices, mobile or not, based on Luke W’s Mobile First principle (see presentation). Mobile First starts with a design for mobile, which can then be progressively enhanced for desktop websites. To see it in action, take a look at Yiibu’s
proof of concept site
based on Mobile First.

Selecting your design approach is not a black and white option. Think about which will work better for your situation. Irrespective of the approach you select, there still are other considerations that go into building a mobile Web.

Simplify Navigation

Without a mouse to point and click, mobile users have to rely on tiny keypads, trackballs and touch to navigate mobile websites. Add in the small screen with the need to complete tasks quickly and efficiently, and clear and intuitive navigation becomes crucial:

  • A common approach that works for the start pages of most sites is a list of links to main features and content, prioritized based on user needs. These often end up being presented vertically instead of the horizontal model used on desktop websites.
  • Reduce the number of categories and levels of navigation, and rearrange based on priority, presenting the most important categories first.
  • Use clear, concise and consistent labels for navigation across the site.
  • Provide access key shortcuts for feature phones, so users can enter a keypad number (0-9) to quickly access a link (AA and CNN examples below).
  • When designing for touch, make sure the tap size (width or height) for the navigation item is at least 30 pixels.
  • Make links obvious, and provide clear and immediate visual feedback to show the selected link.
  • When displaying the main navigation links on internal pages, put them at the bottom instead of the top, to avoid users having to tab through all of them to get to the main content on the screen (CNN example below). If not displaying all the links, Southwest’s approach of listing key links (Home, Air Reservations and Flight Check In) on secondary screens works well.
  • At the bottom of the mobile homepage, offer a link to the full site so users can switch over to the desktop site, and vice versa.
  • Breadcrumbs are not usually not used on mobile sites since navigation is not usually so deep that users need a trail back.

Simplify-navigation-examples in A User-Centered Approach To Web Design For Mobile Devices
American Airlines, CNN, and Southwest simplify mobile navigation

Prioritize Content

Be succinct. Smaller screen sizes require even more careful attention to the content displayed to the user. Put on your editor’s hat and cut unnecessary content, then cut some more. When you’re done, prioritize the content and display the most important content first.

Amazon1 in A User-Centered Approach To Web Design For Mobile Devices
Amazon’s mobile site prioritizes what it offers users on the homepage

Minimize User Input

Casio-tiny-input in A User-Centered Approach To Web Design For Mobile Devices
Having used tiny numeric keypads and touchscreens on these Casio DataBank watches for over 20 years (yes, I admit it), I know the pain involved with entering data on miniscule screens. Feature phones have tedious numeric keypads for input, while smartphones have tiny keyboards, either real or virtual, which are subject to fat-finger errors.

  • Keep your URL as short as possible, keeping in mind, feature phone users have to repeatedly press a key for most alphabets (key presses for “com” are 222-666-6). Follow URL naming conventions that users are used to, like m.site.com or mobile.site.com.
  • Use alternate input mechanisms where possible. While apps can use device capabilities for input including motion, camera, gyroscope, and voice, mobile websites are slowly starting to use some of these features, like geolocation.
  • Limit input to essential fields. For instance, if registration is required, limit it to the minimum required fields, and use shorter alternatives like a zip code instead of city and state. Volkswagon mobile captures geolocation, but does not use it when trying to schedule a test drive. Not only that, the mobile form is longer and more tedious than the desktop one.
  • Select the best mobile input option (e.g. allowing users to select from a list of options is often faster than typing).
  • Use smart default values. NJ Transit’s mobile website remembers your last selections and defaults the date to today’s date.
  • When users need to log in, offer the option to stay signed in, especially since mobile devices are personal and not usually shared.

Minimize-input in A User-Centered Approach To Web Design For Mobile Devices
NJ Transit uses geolocation, remembers selections and defaults to today’s date

Vw-small in A User-Centered Approach To Web Design For Mobile Devices
VW asks for location, but fails to use it (the mobile form is also longer than the desktop version). See larger image

Design for Intermittent Connectivity

Even with mobile service providers rolling out faster G-speeds, mobile connectivity remains intermittent and does not even approach broadband speeds we are so used to on our wired and wireless connections (not even Justin Bieber’s 6G phone!). Users pay for internet access on their phones, and not everyone has unlimited data plans, so as mobile designers, we should think small when designing for mobile:

  • Keep page sizes small so they can load quickly and are within the memory limitations of most phones.
  • Remove unnecessary code, comments and optional tags.
  • Reduce images to sizes and resolutions appropriate for mobile devices.
  • Minimize the number of embedded images to reduce the number of HTTP requests and to speed up page load time.

Offer Cross-Channel Consistency & Integration

When you create a mobile website, you cross over into multi-channel territory, and with it, the need to maintain a consistent and integrated user experience across channels.

  • Balance form and function. Continental Airlines takes a minimalistic, no-frills approach, using just their logo for visual branding, while Southwest makes their mobile website a little more visual with color and icons.
  • Maintain continuity. By signing in on the Amazon mobile website, users can view and manage their shopping cart, wishlists and view and track orders, just as they would on the full site. Another good example in the making is Kindle for the web which, when launched, would allow you to continue reading a Kindle ebook where you left off, irrespective of the device you last used. It would also synchronize your library, bookmarks, notes, and highlights.
  • Extend the user experience. Sephora mobile users can look up user reviews and ratings of products (by UPC or name) when trying to decide between two or more products in-store.
  • Build a consistent user experience. Citibank users going from the full site, to the smartphone website or an iPhone app have the same user experience across all these channels (though some feature phone users cannot use the site at all).

Cross-channel-balance-extension in A User-Centered Approach To Web Design For Mobile Devices
Balancing form and function; Sephora extends the experience for the mobile context

Other Considerations

  • Detect if your users are using a mobile browser and direct them to the mobile website (with a link on that screen to switch to the full site).
  • Do not rely on technology that is not universally supported by your audience devices like Java, JavaScript, cookies, Flash, frames, pop-ups and auto refreshes.
  • If you must make the user scroll, make them scroll in only one direction (most sites scroll vertically).
  • Use short, descriptive titles for your pages for easy bookmarking and recall.
  • While there are advocates for creating separate mobile sites for feature phones, smartphones and iphones (yes, their own website), others have gone down this road and are opting for a single mobile site. Facebook, one of the most visited mobile properties, recently decided to unify its mobile websites into one interface.

5. Prototype Review & Refine

Prototype-review-refine in A User-Centered Approach To Web Design For Mobile Devices
The rapid prototyping process (from Design Better And Faster With Rapid Prototyping)

Prototyping is important in an iterative user-centered design process, allowing designers to quickly visualize parts of the website, review with users and refine the design. Prototype early and often through the design process, starting with low fidelity paper sketches, refining them into medium fidelity wireframes and subsequently into high fidelity designs, continually testing with users and iterating based on their feedback.

Double check your code for compliance by validating your mobile site using the W3C mobileOK Checker or mobiReady to uncover and fix potential issues your users may face. Mobile emulators and simulators are useful during development, but nothing beats testing your site on actual devices that your users are using.

Ongoing Improvements

Your job is not done when you launch your mobile site — you’ve just come full circle. It’s time to monitor site usage and user feedback to identify changes and requests for new features, in addition to any features that did not make it in the first release. Periodically evaluate your mobile site against competitors using a scorecard (sample from Yankee Group [pdf]) to identify potential areas for improvement.

In Conclusion

The mobile Web is different, and may be daunting, but the design process is similar enough for Web designers to ease into mobile design. Designing the perfect mobile website is an impossible task even for experts, but using an iterative user-centered design process can help create the best experience for our users with their help.

Related Articles

Resources

Tools

Books

  • Designing the Mobile User Experience by Barbara Ballard
  • Mobile Web Design by Cameron Moll
  • Strategic Mobile Design: Creating Engaging Experiences by Joseph Cartman and Richard Ting
  • Mobile Design and Development: Practical Concepts and Techniques for Creating Mobile Sites and Web Apps by Brian Fling

(ilj)


© Lyndon Cerejo for Smashing Magazine, 2011. | Permalink | Post a comment | Smashing Shop | Smashing Network | About Us
Post tags: , , ,


Real-Time Data And A More Personalized Web

Advertisement in Real-Time Data And A More Personalized Web
 in Real-Time Data And A More Personalized Web  in Real-Time Data And A More Personalized Web  in Real-Time Data And A More Personalized Web

As Web designers, we face a daily struggle to keep pace with advances in technology, new standards and new user expectations. We spend a large part of our working life dipping in and out of recent developments in an attempt to stay both relevant and competitive, and while this is what makes our industry so exciting to be a part of, it often becomes all too easy to get caught up in the finer details. Responsive Web design, improved semantics and rich Web typography have all seen their fair share of the limelight over the last year, but two developments in particular mark true milestones in the maturation of the Web: “real-time data� and a more “personalized Web.�

Since the arrival of the new Web, we’ve been enraptured by social media. We share links, we “follow,� we “poke,� we’ve become accustomed to it all. Through no fault of our own, we’ve become lazy users. The likes of Google, Twitter and Netflix cater to our every desire, serving up instant personalized searches, offering recommendations based on behavioral data and tapping into the preferences of our peers and others with similar tastes. Businesses are beginning to realize that loyal visitors can become volunteer sales forces, and these “anti-defection� measures show a real shift in power toward the user.

Web gurus and industry analysts are simultaneously arriving at the same conclusion: we are entering a new chapter in the evolution of the Web. Many would argue that the future of the Web will be influenced by the growth of the mobile market and location services, and their beliefs would be correct. Both of these, however, are pieces of the bigger picture: personalization, instant data and real-time communication. In this article, I’ll explore how the best in the industry are already adapting to these changes and how Web designers can design for an ever-shortening attention span.

Welcome to the new era.

Real-Time Data

Serving up real-time data is an effective way to keep users interested and to persuade them to become return visitors. In large corporations, it shows transparency and accountability and can be a great way to facilitate trust and confidence in your brand.

The rise in browser support for the HTML5 canvas element provides the opportunity to display real-time data visualizations without the need for plug-ins—a technique admirably employed by Ben Sekulowicz-Barclay on his portfolio website (screenshot below). However, support for the element, and various other HTML5 features for that matter, is relatively limited, as full browser support is not yet here. While canvas can easily display relatively simple data visualizations and animations, it was never intended to replace the likes of Flash and Silverlight, which have more tutorials and learning resources and offer greater interactivity to the user.

When considering the implementation of a real-time data visualization, think of your users. For example, what browsers and devices do they use to view your website? What level of support for JavaScript and Flash are built into those browsers (see Google Analytics). Also, factor in the complexity of your visualization and the user’s need for interactivity before making your decision.

Tip:
When trying to locate the canvas element on the page, you will need to “Inspect element� instead of viewing the page source. When you choose “Inspect element,� you will see that the document tree after the JavaScript has manipulated the DOM and the tree after the browser has applied its corrections.

Beseku in Real-Time Data And A More Personalized Web

2010 saw the knives really come out for Flash, and while browser support for canvas is improving, Flash is still a significant force in real-time data delivery. Yes I Am Precious documented a charity bike ride across the US, during which the rider’s tweets, location, speed, temperature, humidity, grade and even cadence were all pulled together to form a great front-end experience. The implementation of an interactive history bar across the top of the website, which showed the status of the bike and the rider at various stages of the journey, let the user “roll back� and “replay� events. Consider this important feature when designing for real-time data; it gives context to the content. The emphasis, though, should always be on real time.

It is worth noting that using canvas or Flash for highly complex visualization or a lot of visualization can be taxing on the CPU and will be slower in browsers without hardware acceleration (which are still the majority).

Yesiamprecious in Real-Time Data And A More Personalized Web

Stefan Sagmeister’s newly redesigned website offers an interesting alternative: it uses JavaScript to show a real-time feed of his office, with floor-mounted vinyl stickers as the main navigational indicators.

Sagmeister in Real-Time Data And A More Personalized Web

Question: What do Google Analytics and printed newspapers have in common?

Answer: They’re both yesterday’s news.

Real-time data is making waves in Web analytics. This new breed of analytics presents owners with instant actionable data and enables them to capitalize on opportunities and mitigate threats.

Chartbeat is one of the best examples of real-time analytics around. Its “bells and whistles� interface is backed up by an alert system that, via SMS, email or its very own iPhone app, informs the publisher of traffic spikes and downtime. The interface presents actionable data to the user, highlighted through the “F�-style layout. Color shades are consistent, headers are clear, and changes in data are designed to be easily recognizable. These are all excellent features to include when designing for real-time data.

Chartbeat in Real-Time Data And A More Personalized Web

Observing the way users interact with your website in real time is one thing, but acting on your findings is another. One option is to implement a Twitter widget like Monitter, which doesn’t require a page refresh to update the feed. Monitter uses jQuery to deliver an asynchronous Twitter feed that you can easily implement on your website. It isn’t “real� real-time, but it’s pretty close, and with the surge in popularity of similar services, it won’t be long before truly real-time APIs and widgets are available. This use of a real-time Twitter widget allows publishers to communicate rapidly with their users and show what people are saying about their product or service.

Monitter1 in Real-Time Data And A More Personalized Web

For the last two years, Collecta has provided a real-time search engine, offering free embeddable APIs and publisher widgets. However, Collecta has recently stated that it is shuttering its main product and is now looking in a new direction in the real-time data market. When asked about their reasons for switching direction, CEO Gerry Campbell spoke about what he learned from their two years in business:

“First, there is a huge need for real-time information, Second, a destination site is not the correct vehicle for reaching people. Third, new behaviors, specifically with Facebook and mobile, are growing.”

— Gerry Campbell, Collecta

Interestingly, Collecta’s main competitor, OneRiot, has also recently changed directions, shelving its search engine and moving into online advertisements.

This highlights an important point for the API consumer: always have a back-up plan in case your API provider pulls the plug (as Collecta and OneRiot have done).

Collecta in Real-Time Data And A More Personalized Web

Another proclaimed casualty of last year was the RSS feed, partly due to Twitter’s new-found purpose as a news distribution service. However, many believe that RSS is evolving to meet rising user expectations in the new Web climate. PubSubHubbub, in addition to being quite a mouthful, is an instant publishing and subscription protocol that adds real-time capabilities to your RSS feed. PushPress is a particularly useful plug-in that adds PubSubHubbub support to your WordPress RSS feed and allows your push subscribers to receive updates instantly.

One of the main advantages of PubSubHubbub is that it “pushes� new content to your users without the need for crawlers to “poll� (i.e. regularly visit to check for new content) your feed, thus saving CPU and bandwidth. While services such as Ping-O-Matic provide a similar service, subscribers still need visit the URL, which is where PubSubHubbub shines because it requires your server to do less work.

Pushpress in Real-Time Data And A More Personalized Web

It is important to recognize that the successful delivery of real-time data relies heavily on the integrity of the data. While vetting and backing up data are sound practices for any publisher (real time or not), serving up data in real time increases the importance of their adoption. The need to curate and filter data is also important when considering your website’s performance. When delivering real-time data, you want to keep client-side processing to a minimum and do whatever processing you can on your server. This way, you are only sending the user data that is useful to them, and you are optimizing the speed of your website.

On smaller shared servers, you will need to keep the volume of data small to adhere to bandwidth limits and ensure that your server isn’t spending too much time processing data in order to save CPU. If this limits your options, you could always upgrade your hosting package or use a third-party service such as Kwwika, which will keep processing off your server.

A More Personalized Web

Every two days, we create as much information as we did up to 2003.

– Eric Schmidt, then-CEO of Google

Although there are many positives to the rapid growth of user-generated content over the last few years, there are of course some corollary effects of the “content tiger.� Users are quickly becoming overwhelmed by the sheer volume of information being presented to them, with the increase in real-time data further weakening the “signal-to-noise� ratio. In an attempt to alleviate these problems and better organize the mass of information and data available, developers and content providers of the future will thrive by making relevant information find the user, as opposed to the user having to find the information relevant to them (bringing the mountain to Mohammad).

While catering to unique visitor segments and personalizing user experience is nothing new, its relevance has never been more important, and the technologies available to us have never been better. As the user becomes even more accustomed to these personalized touches, the bar of user expectation will once again rise, leaving behind sluggish publishers and retailers that are slow to adapt their online strategy.

Not only is this further shift towards a more personalized user experience becoming a necessity for our bombarded user, it also demonstrates, more interestingly, a measurable shift in consumer behavior. I presume that most of you will get your hair cut a few times this year. How many of you go to a particular salon or barber shop? How many of you even have a preferred hairdresser at that location? I know I do, and I return to this particular hairdresser month after month not for the complimentary light literature and cup of coffee, nor even for the quality of the haircut. I return because the service is personalized—a concept lost on some businesses.

Instead of looking after existing clientele, these businesses choose to put all their resources into pursuing new business. The method of targeting individual users based on their profile histories and the profiles of others has been fervently exploited by the e-commerce market. Savvy companies realize that traditional marketing and advertising methods no longer exclusively drive consumer behavior, and they are instead turning their attention to personalizing their services and investing in word of mouth. These companies are giving users both the inspiration and tools to talk about their products and share them across various social networks. Seth Godin coined a term for this process: flipping the funnel.

Netflix was one of the first to implement a recommendations engine on its website. In addition to recommendations, there’s a “Friendsâ€� tab where the user can see what their friends are watching in order to compare interests. Recommendation engines use specific types of information filtering to present items (movies, products, etc.) that are likely to interest the user. When implementing such a mechanism, you must first understand the data, content and user’s intent. Recommended results should be visually defined and supplemented with a clear marketing message, and you should always be aware of data-shift issues. Although this type of technology may seem out of reach to small businesses and their developers, it is still possible on a smaller budget.

Programming Collective Intelligence is probably a good staring point for anyone looking to implement such functionality.

Netflix in Real-Time Data And A More Personalized Web

In June of last year, Facebook CEO Mark Zuckerberg commented at London’s Barbican Centre on the potential of “products built around peopleâ€� and spoke of the company’s “aggressive expansionâ€� into the “personal Web.â€� Facebook’s “Connectâ€� APIs allow websites to connect with a Facebook user’s identity, profile information and even information about the user’s friends. These APIs provide an alternative to the sign-up process, social context, personalized content and other means of customer service communication.

Allowing users to share content across a variety of social platforms is an effective way to reach a large targeted audience. Social “sign-ins,� commenting, content sharing, widgets and APIs are all effective methods of optimization. Social optimization is beginning to rival search engine optimization in importance in the world of online marketing. A recent survey by Pew found that 75% of news consumed online was via links on social networking websites or in email.

Facebook-permission in Real-Time Data And A More Personalized Web

The new BBC website is one of my favorite examples of a personalized user experience. The user can drag and drop various news widgets around the home page, remove them completely or customize the content that each widget serves. The website is optimized for social networks, but I feel that the sharing utilities could be slightly more user-friendly. Another step some companies have taken is to re-arrange content and navigation based on user profiles. While this can be convenient for the user, it can also put them off and have a negative effect on usability. For this type of personalization to work effectively, publishers should ensure that they build comprehensive customer profiles before creating rules to target user preferences.

Bbc in Real-Time Data And A More Personalized Web

Reviews and comments are another way to engage and empower visitors. If your business delivers a good product or service, then they allow users to share their reviews over numerous social platforms. It’s the perfect breeding ground for customer evangelism.

Tripadvisor in Real-Time Data And A More Personalized Web

In addition to optimizing your website for mobile use or creating an app, personalize your service by targeting users according to their location. Recently, Google’s Marissa Mayer told Media Bistro that Google’s focus at the local level is to use location to help searchers find what they’re looking for. Google’s interest in the local market led to an attempted acquisition of Groupon, a discount provider that has been particularly successful in targeting users by location and socially optimizing its services.

Groupon in Real-Time Data And A More Personalized Web

Summary

While this cataclysmic shift in the evolution of the Web and the role of the user is welcomed by most, others argue that focusing on providing a personalized Web experience creates an echo chamber of information, opinions and ideas. Is the outsider’s perspective getting lost? Are user expectations of “real time� becoming unrealistic? And could pandering to these expectations contribute to our own downfall? Regardless of the continuing importance of a static Web presence and the infancy of these new technologies, serving up the same stale content to everyone is, without question, no longer enough.

Other Resources

Real-Time Data:

A Personalized Web:

Related Articles

You might want to read the following related articles as well:

(al)


© Sam Quayle for Smashing Magazine, 2011. | Permalink | Post a comment | Smashing Shop | Smashing Network | About Us
Post tags: ,


Mobile Auto-Suggest on Steroids: Tap-Ahead Design Pattern

Advertisement in Mobile Auto-Suggest on Steroids: Tap-Ahead Design Pattern
 in Mobile Auto-Suggest on Steroids: Tap-Ahead Design Pattern  in Mobile Auto-Suggest on Steroids: Tap-Ahead Design Pattern  in Mobile Auto-Suggest on Steroids: Tap-Ahead Design Pattern

In contrast to desktop Web search, auto-suggest on mobile devices is subject to two additional limitations: typing avoidance and slower bandwidth. The new patent-pending design pattern, Tap-Ahead, uses continuous refinement to create an intuitive, authentically mobile auto-suggest solution. This helps dramatically reduce the amount of typing needed to enter queries, and utilizes slower mobile bandwidth in the most efficient manner. Using this novel design pattern, your customers can quickly access thousands of popular search term combinations by typing just a few initial characters.

Auto-Suggest: Mobile vs. Desktop Web

As John Ferrara wrote in his November 2010 UXMagazine article, “Psychic Search: a quick primer on search suggestions”, today auto-suggest is practically ubiquitous in desktop Web search. In contrast to desktop Web, auto-suggest on mobile is (at least for now) fairly rare. The only mobile Website that currently implements auto-suggest is Google.com, and a handful of mobile auto-suggest implementations that currently exist come from native mobile apps built by leading online retailers like Amazon and Booking.com.

Mobile auto-suggest is non-trivial and quite expensive to implement, but even a large investment does not guarantee a good experience on the mobile device. In many cases, it is not enough to simply transfer the existing successful desktop Web implementation of the auto-suggest to mobile space. Why not? Our recent study revealed that mobile space is subject to two unique limitations that affect customers’ expectations and their use of the auto-suggest feature:

  • Typing Avoidance
    Typing on the mobile keyboard is much harder and more error prone than typing on the full-size desktop Web keyboard. Most people prefer to search using only a few characters — the fewer, the better.
  • Slower Bandwidth
    Mobile signal strength is unpredictable, as is the speed of the Internet connection. Yet the customer expectation is often shaped by their broadband desktop Web experience. Mobile auto-suggest interface must be optimized for slower bandwidth.

The Limitations of the Typical Mobile Auto-Suggest Flow

As I wrote in my UXmatters article, “Mobile Search: Turning Limitations into Opportunities”, mobile phones are notoriously difficult to type on and their Internet connection is often spotty at best. This is especially true in the mobile context of use — that is when the customer is being jostled and bounced around in the moving taxi or metro. In a July 2009 blog post on Alertbox, Jakob Nielsen called the mobile experience “miserable” and reported, “Text entry is particularly slow and littered with typos, even on devices with dedicated mini-keyboards.”

Although 3G networks are finally becoming more commonplace, the average speeds US users experience on mobile devices are sometimes as low as one-quarter of the average speeds advertised, according to the Federal Communication Commission (FCC). This implies download speeds of 100-500 Kbps or lower, compared to the speeds of 1 to 1.5Mbs under ideal conditions.

As shown in Figure 1 below, the difficulty of typing coupled with frequently spotty download speeds of mobile context of use introduce some challenges into the typical auto-suggest process:

Tap-ahead Gnudelman Figure 1b in Mobile Auto-Suggest on Steroids: Tap-Ahead Design Pattern
Figure 1. Multi-step auto-suggest search on Amazon iPhone app.

In the example above, the customer (let’s call her Anna) is looking for a book called “Harry Potter and The Chamber of Secrets”. To begin the search process, Anna types in the first two letters “ha”. Using these first letters of the query, the auto-suggest function performs a call to the keywords server, retrieving most frequently used keywords that begin with “ha”. The keywords server then quickly returns with a populated auto-suggest layer shown in 1-A, that helpfully suggests “Harry Potter”, along with nine other likely queries.

Although the “Harry Potter” does not completely match the query Anna is looking for, it gets her part of the way there and saves a lot of typing. Thus, Anna selects the system recommendation, causing her original query “ha” to be replaced by “Harry Potter”. The system then performs a search against the product server, returning up to 50 actual products along with product descriptions, thumbnails, and other pertinent information, as shown in 1-B.

With a fast Internet connection available on the desktop Web, the difference between hitting the keyword server and the products server is negligible — both come back almost as quickly. On the slower mobile connection, however, the difference is not only noticeable, but actually quite annoying because Anna never actually wanted to view “Harry Potter” products, but instead used this auto-suggest query as an interstitial search page — a jumping off point on the way from “ha” to “Harry Potter and The Chamber of Secrets”. The only reason why the interstitial search results page shown in 1-B was loaded was to avoid typing the full query on the mobile device.

After the products finally load, Anna again taps the search box to recall the keyboard and adds the letters “ch” to the query, creating the new query “Harry Potter ch”. The auto-suggest again goes to work, this time serving up as a suggestion what looks like the entire query Anna is actually looking for, “Harry Potter and The Chamber of Secr…” as shown in 1-C. Anna taps the suggestion, and the system finally serves up the second search results page, 1-D — the search results page she was originally looking for.

The first search results page is not just annoying and unnecessary — it distorts and pollutes an important asset, the frequently used queries database. The increased frequency with which the query “Harry Potter” is executed in fact helps push it to the top of the most frequently used query list again and again, creating a negative feedback loop in the frequently used queries server. The more something is selected as a jumping off page, the more the interstitial query (and it’s accompanied search results) appears to rise in popularity. Avoidance of typing in conjunction with a slower bandwidth available on mobile devices results in an overall sub-par experience.

Fortunately, there is a better way: Tap-Ahead Auto-Suggest design pattern that avoids the need to load the interstitial results page and all of the associated problems. I created Tap-Ahead based on my user research specifically to handle typing avoidance and slower bandwidth and optimize the search experience for the way customers use auto-suggest on mobile devices.

Tap-Ahead: A Novel Way of Resolving Typing Avoidance and Slower Bandwidth

Typing avoidance and slower bandwidth are two limitations inherent in mobile devices. Together, these two forces shape how people behave when they search. Tap-Ahead design pattern converts these mobile limitations into opportunities to create a better experience by minimizing the amount of typing and maximizing the use of the limited bandwidth.

The idea for the tap-ahead is simple: avoid serving the interstitial search results page by giving customers a way to narrow their search query using popular keywords without typing. To implement the additional narrow down functionality, I used the established iOS “more actions” icon — a blue circle with an arrow that was familiar to most iPhone users because of its prominence in the Contacts application, shown in Figure 2:

Tap-ahead Gnudelman Figure 2b in Mobile Auto-Suggest on Steroids: Tap-Ahead Design Pattern
Figure 2. Blue circle with an arrow is used to indicate “more actions” in the iPhone Contacts app.

Of course, the same pattern can be applied on other platforms such as Android, Palm, BlackBerry and Windows 7 Mobile, by replacing the blue iOS arrow with the native platform’s standard “more actions” icon. Figure 3 shows what an implementation of the Tap-Ahead on Android might look like:

Tap-ahead Gnudelman Figure 3b in Mobile Auto-Suggest on Steroids: Tap-Ahead Design Pattern
Figure 3: One Possible Andorid Tap-Ahead implementation.

Let me show you how this feature works in the context of auto-suggest. In this example, the customer (let’s call him Ben) is again looking for “Harry Potter and The Chamber of Secrets”, but in contrast to Anna who we followed in the example above, Ben is using the Tap-Ahead auto-suggest interface. Figure 4 shows how this search would proceed using the Tap-Ahead design pattern instead:

Tap-ahead Gnudelman Figure 4a in Mobile Auto-Suggest on Steroids: Tap-Ahead Design Pattern
Figure 4: Auto-Suggest Search Process Optimized with Tap-Ahead.

To begin the search process, Ben also types in “ha” as shown in 4-A. Using the first two letters of the query, the auto-suggest function performs a call to the keywords server, retrieving 10 most frequently used keywords that begin with “ha”, among which is “Harry Potter”. Auto-suggestion “Harry Potter” does not completely match “Harry Potter and The Chamber of Secrets”, so instead of selecting the “Harry Potter” suggestion as Anna did in the example above, Ben hits the blue “narrow query” arrow.

This searches through the keyword server for popular queries that contain the keywords “Harry Potter”, serving up the next auto-suggest layer, which contains “Harry Potter and The Chamber of S…”, along with nine other suggestions, as shown in 4-B. This is the query Ben is looking for, so he taps this suggestion and the system serves up the search results page as shown in 4-C — the actual search results page Ben was originally seeking.

Allowing Ben to narrow down the initial auto-suggestion directly using the blue circle with an arrow offers several key user experience benefits:

  • Faster Search
    As we discussed above, hitting the product server to retrieve interstitial search results is expensive, slow and unnecessary. By tapping the blue circle with an arrow, Ben bypassed the useless interstitial search results page and executed his second query, “Harry Potter” against the keyword sever — a much faster process, which also returned useful search suggestions. Ben only had to hit the product server once, when he had the right search query.
  • Less Typing
    Ben did not need to type in “ch” to find the popular auto-suggestion that contained his second query, “Harry Potter and The Chamber of Secrets”. Although this is not always going to be the case, quickly serving up the popular keyword suggestions upfront, without forcing the customer to type anything, increases the chances of being able to select the desired query faster.
  • Seamless Flow
    Instead of jumping between the auto-suggest list and search results, the system maintained flow by serving pertinent keywords quickly and remaining in the auto-suggest mode until the entire desired query has been entered. This optimized user’s attention on task and maintained flow.
  • Flexibility
    At any point, the customer retained the ability to select the keyword suggestions in a traditional manner or type into the search box or exit the auto-suggest flow. The new mechanism of tapping the blue circle with an arrow to narrow down the search is merely an optional feature that provided additional functionality, allowing the customer to enter his desired query faster and easier.
  • Database Integrity
    Because the interstitial query “Harry Potter” was never actually executed against the product server, it did not “accidentally” count toward the popularity of this query. “Harry Potter and The Chamber of Secrets” was the only query executed against the product server and therefore the only one that counted as a legitimate hit, preserving the integrity of the keyword popularity database.

In our quick usability testing, we found the technique of tap-ahead to be both intuitive and useful. I theorized that this was in part because tap-ahead takes advantage of how people already use the auto-suggest functionality on the mobile device, so the entire process seemed natural and intuitive to our participants. Also, many people remarked that tap-ahead design pattern seemed somehow already familiar. This was because it did not require people to learn anything new: the design uses the established iOS “more actions” icon that most iPhone users already tap several times a day when they use the Contacts application.

Although tap-ahead is very useful when combined with the traditional auto-suggest database, its real power comes from redefining the way auto-suggest is used in the context of a mobile device.

Tap-Ahead: From One-Shot to Step-Wise Refinement

Typical auto-suggest on the desktop Web is structured around a one-shot approach: when the customer types in the query, the auto-suggest server attempts to bring back the one exact match to the query the customer is trying to type in. Clicking the auto-suggestion replaces the query the user was typing with the one the system recommended. It’s meant to be a one-shot deal: one goal, one query, one suggestion, and one set of results. While this is a decent initial model, in practice, we now know that this is not how people really search. As I describe in my book, “Designing Search: UX Strategies for Ecommerce Success” (Wiley, 2011), modern-day search is a multi-step process that takes place in multiple contexts, with the customer moving fluidly between keyword searching and browsing, multiple devices, locations, Web sites and social networks.

One-shot refinement is ill suited to this multi-faceted search paradigm, but after long practice, people on the desktop Web have learned to satisfice. It helps that the Internet connection is often blazingly fast and feedback in the form of suggestions and results is nearly immediate. Additionally on the desktop Web, it’s really not that difficult to type in the query again or delete some parts of the query auto-suggest has over-delivered using the mouse and keyboard after the interstitial search results page is loaded.

In contrast, on mobile, things are very different. Connection speeds are slower and more sporadic. Also, editing a query string on touch phones is quite a bit harder than doing it on the desktop: for example, on the iPhone, the user must tap and hold the finger on one of the query’s keywords, then scroll the tiny handles left and right to select just the right number of letters — not a trivial exercise while bouncing around in the moving vehicle or multi-tasking. Android, Palm and BlackBerry mobile devices require similarly awkward query editing acrobatics.

A more usable way of implementing auto-suggest on the mobile device is through step-wise refinement implemented through the Tap-Ahead interface. Instead of trying to guess the entire query the customer is trying to type in and offer the best one-shot replacement, Tap-Ahead design pattern guides the auto-suggest interface through the guessing process one word at a time — a much more natural, flexible and robust auto-suggest method, optimized to solve low bandwidth and fat finger issues people experience on mobile devices.

This is how the step-wise refinement Tap-Ahead interface works. Suppose our two customers, Anna and Ben, are both searching for “Harry Connick Jr.” Anna is using a one-shot auto-suggest flow for this query, shown in Figure 5. Ben, on the other hand, is using the new step-wise tap-ahead refinement alternative as shown in Figure 6:

Tap-ahead Gnudelman Figure 5a in Mobile Auto-Suggest on Steroids: Tap-Ahead Design Pattern
Figure 5: Anna enters “Harry Connick Jr.” using the traditional one-shot auto-suggest flow.

Tap-ahead Gnudelman Figure 6b in Mobile Auto-Suggest on Steroids: Tap-Ahead Design Pattern
Figure 6: Ben enters “Harry Connick” using a step-wise tap-ahead refinement design pattern.

When Anna types in “ha”, the interface suggests “harry potter”, “hard drive”, “halo reach”, “harry potter and the deathly” and a rather redundant “harry potter and the deathly…” as shown in Figure 5-A. On the other hand, Ben, who is using a step-wise refinement sees a much more humble top 10 one-word suggestions such as “harry”, “hard”, “halo”, “hair” and “hat” shown in Figure 6-A.

Because none of the query terms match the desired query “Harry Connick Jr.” exactly, Anna, who is using the traditional one-shot interface, is forced to keep typing the word “harry”. In contrast, Ben can tap the blue circle with an arrow next to the suggestion “harry”, filling in the entire keyword with one tap.

Once both customers enter the keyword “harry”, Anna again sees one-shot auto-suggestions which include “harry potter”, several variations of the “harry potter and the deathly…”, “harry potter dvd”, “harry potter wand” and many other “harry potter” variations, as shown in Figure 5-B. Unfortunately, the set does not include a “harry connick jr.” suggestion, so Anna is again forced to keep typing “c” in order to get the full one-shot auto-suggestion of “harry connick jr.”, shown in Figure 5-C.

In contrast, Ben receives only single keyword suggestions, so his second set of suggestions includes only a single instance of the keyword “potter”, which successfully covers all of the variations of the query “harry potter”, which had to be listed individually in Anna’s one-shot interface. Thus instead of 10 variations of the “harry potter” query, Ben’s single-word auto-suggestions include a rich set of 10 one-word complements of “harry”: “potter”, “connick”, “truman”, “smith”, “houdini”, “harrison”, “dent”, “david”, “eastwood” and “hendersons”, as shown in Figure 6-B. A one-tap selection selects “connick” which yields the query “harry connick” that is sufficiently close to the desired query “harry connick jr.”. Note that although in this case it was not needed, the addition of the word “jr.” can be easily accomplished with one more tap on the blue “narrow down” arrow.

To summarize this comparison, after both Anna and Ben typed in the initial “ha”, Ben was able to finish entering the entire query in only 2 easy key-strokes — by selecting two successive auto-suggestions, whereas Anna had to type in the additional “rry c” and select one auto-suggestion, a total of 6 keystrokes. In this quick demo task, tap-ahead interface provided a huge improvement, given how hard and error-prone typing has proven to be on the mobile device.

The advantage of the tap-ahead step-wise refinement interface is that the refinement keywords can be loaded asynchronously for each of the 10 auto-suggestions even while the customer is making the selection of the first keyword. Given that most queries are between two and three keywords long, and each successive auto-suggest layer offers 10 additional keyword suggestions, tap-ahead with step-wise refinement allows customers to reach between 100 (10 * 10) and 1,000 (10 * 10 * 10) of the top keywords through typing only a few initial characters. Tap-ahead allows the mobile auto-suggest interface to maintain flow and increase speed and responsiveness on tiny screens that is simply not possible to currently achieve with the traditional one-shot auto-suggestion interface.

In Conclusion

I want to close out with this quote from Google, the company that invented the original auto-suggest design pattern, which clearly inspired my tap-ahead design:

“At Google, we often think that speed is the forgotten ‘killer application’ — the ingredient that can differentiate winners from the rest. We know that the faster we deliver results, the more useful people find our service.”

— Matt Brittin, Managing Director, UK & Ireland Operations, Google

I hope that you find the Tap-Ahead design pattern useful in improving the speed and responsiveness of your own auto-suggest mobile interface and that Tap-Ahead contributes to further experimentation and evolution of search design patterns. For more mobile search design ideas, check out my book, “Designing Search: UX Strategies for Ecommerce Success” currently available for pre-order from Wiley and Amazon.com.

References

Related Articles

You might be interested in the following related articles:

(il) (vf)


© Greg Nudelman for Smashing Magazine, 2011. | Permalink | Post a comment | Smashing Shop | Smashing Network | About Us
Post tags: , ,


  •   
  • Copyright © 1996-2010 BlogmyQuery - BMQ. All rights reserved.
    iDream theme by Templates Next | Powered by WordPress