RSS 6 Home    Submit Your RSS Feeds for FREE!   Editor Login Contact us
RSS Feeds Directory
Post Your Articles in My Blogs!
  RSS 6      Add to favorites
   Make us your home page
   RSS Feed
  ADD YOUR FEED      Thanks for making us your RSS Feed Directory!
Free Words Equal Money Newsletter! Register now for FREE Videos & More!
Email:
Name:

We respect your privacy and will not share your email or send you spam.


Attention Marketers
& Social Media Influencers!

PAGE 1 RANKINGS

RSS6 Video Tour

Categories

Acne  (24)
Advertising  (299)
Addictions  (49)
Advice  (62)
Animals  (50)
Antiques  (25)
Apple  (22)
Art  (195)
Articles  (117)
Arts  (94)
Arts Crafts  (87)
Audio  (20)
Baby  (125)
Bankruptcy  (4)
Beauty  (386)
Blogging  (258)
Blogs  (757)
Books  (84)
Business  (6233)
Cameras  (26)
Camping  (11)
Careers  (139)
Cars  (384)
Cats  (14)
Celebrities  (39)
Celebrity  (13)
Children  (31)
Christianity  (5)
Christmas  (8)
Cleaning  (200)
Clothing  (212)
Collectibles  (27)
College  (13)
Computers  (515)
Computing  (41)
Cooking  (154)
Cosmetics  (13)
Credit  (22)
Culture  (15)
Current Affairs  (9)
Dating  (72)
Decorating  (148)
Dental  (114)
Design  (135)
Diet  (65)
Digital  (14)
Dogs  (50)
Downloads  (15)
Ebay  (6)
Ecommerce  (61)
Education  (984)
Electronics  (336)
Employment  (93)
Entertainment  (400)
Environmental  (62)
Equipment  (120)
Etiquette  (2)
Events  (74)
Exercise  (42)
Family  (57)
Fashion  (208)
Financial  (728)
Fishing  (24)
Fitness  (332)
Flowers  (22)
Food  (340)
Free  (11)
Friends  (1)
Funny  (7)
Furniture  (175)
Games  (334)
Gardening  (470)
Gardens  (47)
Gifts  (84)
Goals  (5)
Golf  (28)
Google  (5)
Gossip  (16)
Graphics  (28)
Hair  (115)
Health  (3597)
Healthy Living  (214)
Helpful Info  (46)
Herbs  (11)
Hobbies  (47)
Holidays  (58)
Hollywood  (3)
How To  (71)
Humor  (15)
HVAC  (52)
Insurance  (158)
Internet  (329)
Internet Marketing  (383)
Investing  (48)
Jewelry  (191)
Legal  (377)
Life  (40)
Love  (7)
Marketing  (232)
Maternity  (3)
Media  (43)
Medicine  (41)
Memory  (2)
Men  (6)
Mens Health  (14)
Misc  (45)
Money  (36)
Movies  (53)
Multimedia  (14)
Museums  (3)
Music  (171)
News  (584)
Nightlife  (16)
Nutrition  (50)
Occult  (2)
Online  (11)
Online Advertising  (17)
Outdoors  (39)
Painting  (12)
Parenting  (38)
People  (35)
Personal  (24)
Pets  (96)
Philosophy  (4)
Photography  (154)
Photos  (56)
Pictures  (10)
Plans  (1)
Podcasting  (3)
Poetry  (1)
Poker  (4)
Politics  (28)
Popular  (23)
PPC  (4)
Printing  (92)
Products  (49)
Programming  (27)
Promotion  (14)
Publications  (10)
Publishing  (5)
Real Estate  (724)
Real Estate Development  (42)
Recipes  (22)
Recreation  (79)
Reference  (24)
Relationships  (67)
Religion  (163)
Reviews  (31)
Romance  (1)
Safety  (108)
Saving Money  (6)
School  (11)
Science  (46)
Search Engines  (13)
SEO  (229)
Shoes  (24)
Shopping  (1090)
Skateboarding  (2)
Skin Care  (66)
Small Business  (48)
Society  (91)
Software  (627)
Solar  (43)
Sports  (378)
Squidoo  (10)
Stock Market  (10)
Strange  (4)
Style  (11)
Supernatural  (4)
Surveys  (1)
Tax  (12)
Taxation  (3)
Tech  (97)
Technology  (537)
Teens  (2)
Telecommuting  (78)
Television  (33)
Tennis  (8)
Toys  (49)
Transportation  (503)
Travel  (1717)
Treatments  (3)
TV  (48)
Video  (31)
Videos  (32)
Web  (272)
Web Traffic  (38)
Webmaster  (41)
Weddings  (118)
Weight Loss  (112)
Wellness  (28)
Women  (24)
Womens Health  (27)
Wordpress  (58)
Work  (19)
Writing  (45)
Xbox  (2)
Youtube  (7)

Smashing Magazine Update Smashing Magazine  
RSS 6 |  Smashing Magazine

Introducing The Smashing WordPress Section

  

In recent years, it seems WordPress has been growing at an exponential rate. It’s also become a much better piece of software, almost becoming a transparent experience to the user, who can set up a beautiful, fully functional site or CMS in minutes. There are many user-focused sites that will help with the basics, but as you get further into WordPress, the list of reliable resources on more advanced topics grows thin. This presents an opportunity…

WordPress

These days, cutting through the noise to find the quality content is a full-time job. Most of us are already working non-stop, so taking time to keep up on the ever-changing world of WordPress can be a challenge. I’ve spent countless hours searching through blog posts and forum threads looking for reliable, in-depth information on things like custom fields, image attachments, and post types. You know, those slices of WordPress wisdom that really provide some real-world, useful information.

WordPress: Then & Now

One of the strengths of WordPress is its very active development. Along with new features and goodies, each WordPress update aims to tighten security, optimize code, and squash bugs. There have been many updates since I first started using the platform back in 2005, and there have been some major steps along the way. For those of you who may be new to WordPress, here’s a snapshot comparing features then & now:

Feature Old way of doing it (WP versions 1 & 2) New way of doing it (WP version 3 +)
Updating the WordPress core Download latest version, put up a maintenance page, remove old files, upload new files, remove maintenance page Enter FTP info, click a button
Updating WordPress plugins and themes Same thing: download new files, remove old files, manual upload Enter FTP info, click a button
Tagging articles Install and configure a plugin or two Built-in functionality in the WP Admin
Replying to comments Visit the actual comment thread to reply to comments Respond to comments directly from the WP Admin
Saving revisions As often as you could remember, select/copy all text, and paste into a text file and archive locally Nothing. WP automatically keeps revisions of your work
Editing images Open 3rd-party photo editor, make changes, save & upload file to WordPress Log in and edit images directly in the WP Admin
Custom post types Required all sorts of theme hacking Add a line to functions.php
Post thumbnails Custom fields to the rescue Built-in functionality using simple code snippets and template tags
Multiple WP sites with a single install Install and configure WP MU Install and configure WordPress

And that’s just the tip of the iceberg – these are primarily functional improvements. Everything else about WordPress – performance, aesthetics, usability, and so on – continues to evolve and improve just as quickly.

Changing the Game

With WordPress’ phenomenal growth, we’ve seen an explosion in the amount of WordPress-related content available on the Web. There are plenty of beginner tutorials, round-up posts, and code snippets, but few good places to go for more advanced, in-depth content. With the new Smashing WordPress section, we’re aiming for quality articles on intermediate-level topics, with an emphasis on developing smarter, faster sites with the world’s most popular publishing platform.

We’ve been gathering a solid team of authors to share their techniques and experience as WordPress designers, developers, and users. We’ve got some incredible content on the way, with plenty of topics and ideas to explore as WordPress continues to evolve. By focusing on quality content and sharing real, hands-on experience, we’ve an opportunity to educate, inform, and help the community grow with WordPress.

The new WP section of Smashing Magazine will be covering many aspects of WordPress, at a deeper level, and geared toward a more intermediate audience. If you’re new to WordPress, that’s fine too – we’ve got a series of tutorials lined up that will get you up to speed on techniques we’ll be exploring in future articles.

It’s all about you! Let us know what you think – your comments and ideas inspire us to excel and improve this amazing thing that is Smashing Magazine. If you want to be on our growing team of authors and contribute to Smashing WordPress, contact us.

Welcome to the new WordPress section of Smashing Magazine!

About Our New Editor: Jeff Starr

[ Jeff Starr ]

Jeff has been developing and designing websites for over a decade, specializing in WordPress since 2005. He is the co-author of Digging into WordPress, and shares WordPress tips and techniques at Perishable Press, Digging into WordPress, and elsewhere. Over the years, he’s helped many people with WordPress and web development, and continues to serve the community at Monzilla Media.

Jeff’s recent work features a video/screencast series on Developing Secure WordPress Sites at Lynda.com, and exclusive WordPress articles in .net magazine.


© Jeff Starr for Smashing Magazine, 2011.

:: Read More
(Published: Mon, 19 Sep 2011 08:26:02 -0700)

CSS3 Flexible Box Layout Explained

  

The flexible box layout module — or “flexbox,” to use its popular nickname — is an interesting part of the W3C Working Draft. The flexbox specification is still a draft and subject to change, so keep your eyes on the W3C, but it is part of a new arsenal of properties that will revolutionize how we lay out pages. At least it will be when cross-browser support catches up.

In the meantime, we can experiment with flexbox and even use it on production websites where fallbacks will still render the page correctly. It may be a little while until we consider it as mainstream as, say, border-radius, but our job is to investigate new technologies and use them where possible. That said, when it comes to something as fundamental as page layout, we need to tread carefully.

The Display Property

So what is flexbox, and why was it created? First, let’s look at how we currently lay out pages and some of the problems with that model.

Until last year, most of us were using tables to lay out our pages. Okay, maybe not last year! But I suspect that many of you reading this have been guilty of relying on tables at some point in your career. At the same time, it actually made a lot of sense. And let’s face it: it worked… to a point. However, we all then faced the reality that tables were semantically dubious and incredibly inflexible. And through the haze of this mark-up hangover, we caught a glimpse of the future: the CSS box model. Hurray!

The CSS box model allowed us to tell the browser how to display a piece of content, and in particular how to display it as a box. We floated left and right, we tried to understand what inline-block meant, and we read countless articles about clearfix, before just copying and pasting the clearfix hack-du-jour into our CSS.

For those of us testing our websites back to IE6, we had to grapple with hasLayout and triggering it with the following or some similar fix:

* html #element {
height: 1%;
}

The box model worked, and in most cases it worked well. But as the Web entered its teenage years, it demanded more complex ways of laying out content and — thanks to a certain Mr. Ethan Marcotte — of responding to the size of the browser and/or device.

Percentage + Padding + Border = Trouble

Here’s another problem with the current box model: absolute values for padding, margin and border all affect the width of a box. Take the following:

#element {
width: 50%;
border 1px solid #000;
padding: 0 5px;
}

This will not give us a box that is 50% of its parent. It will actually render an element that is 50% of the parent’s width plus 12 pixels (2-pixel border + 10-pixel padding). You could set the padding as a percentage value (although not for input elements in Firefox!), but adding percentage values of widths to the pixel values of borders can cause mathematical problems.

There are two ways to fix this problem. The first is to use the new CSS3 box-sizing property, and setting it to border-box:

#element {
box-sizing: border-box;
width: 50%;
border 1px solid #000;
padding: 0 5px;
}

This new CSS3 panacea effectively tells the browser to render the element at the specified width, including the border width and padding.

The second way to fix this problem is to use flexbox.

Many Problems, Many Solutions

The W3C responded with a suite of answers: the flexible box model, columns, templates, positioned floats and the grid. Adobe added regions to the mix, but they are not yet supported by any browser.

The display property already has no less than a staggering 16 values: inline, block, list-item, inline-block, table, inline-table, table-row-group, table-header-group, table-footer-group, table-row, table-column-group, table-column, table-cell, table-caption, none and inherit.

And now we can add a 17th: box.

Living In A Box

Let’s take a look at flexbox, which brings with it a brand new value for the display property (box) and no less than 8 new properties. Here’s how the W3C defines the new module:

In this new box model, the children of a box are laid out either horizontally or vertically, and unused space can be assigned to a particular child or distributed among the children by assignment of flex to the children that should expand. Nesting of these boxes (horizontal inside vertical, or vertical inside horizontal) can be used to build layouts in two dimensions.

Sounds exciting! The Working Draft expands on this a little:

Flexbox… lacks many of the more complex text or document-formatting properties that can be used in block layout, such as “float” and “columns,” but in return it gains more simple and powerful tools for aligning its contents in ways that Web apps and complex Web pages often need.

Now this is beginning to sound interesting. The flexbox model picks up where the box model leaves off, and the W3C reveals its motivation by noting that “Web apps and complex Web pages” need a better layout model. Here’s a list of the new flexbox properties:

  • box-orient,
  • box-pack,
  • box-align,
  • box-flex,
  • box-flex-group,
  • box-ordinal-group,
  • box-direction,
  • box-lines.

For the sake of brevity, I will use only the official spec’s properties and values, but do remember to add the vendor prefixes to your work. (See the section on “Vendor Prefixes and Cross-Browser Support” below.)

You might also want to check out Prefixr from Jeffrey Way, which can help generate some of the CSS for you. However, I found that it incorrectly generated the display: box property, so check all of its code.

Everything Will Change

If you take the time to read or even browse the latest Working Draft (from 22 March 2011), you’ll notice a lot of red ink, and with good reason. This spec has issues and is still changing; we are in unchartered waters.

It’s worth noting that the syntax used in this article, and by all current browsers, is already out of date. The Working Draft has undergone changes to much of the syntax used in the flexbox model. For example:

display: box;

This will become:

display: flexbox;

Other changes include some properties being split (box-flex will become flex-grow and flex-shrink), while others will be combined (box-orient and box-direction will become flex-direction). Indeed, anything that starts box- will be changed to flex-. So, keep your eyes on the spec and on browser implementations. (CanIUse helps, but it doesn’t cover all of the properties.)

PaRappa the Wrapper

Using flexbox often requires an extra div or two, because the parent of any flexbox element needs to have display set to box. Before, you could get away with the following:

<div style="float: left; width: 250px;"> Content here </div>
<div style="float: right; width: 250px;"> Content here </div>

Now with flexbox, you’ll need:

<div style="display: box">
  <div style="width: 250px"> Content here </div>
  <div style="width: 250px"> Content here </div>
</div>

Many of you have already turned away, insulted by this extra mark-up that is purely for presentation. That’s understandable. But here’s the thing: once you master the CSS, this extra containing div becomes a small price to pay. Indeed, you’ll often already have a containing element (not necessarily a div) to add display: box to, so there won’t be a trade-off at all.

On a broader note, sometimes you need presentational mark-up. It’s just the way it goes. I’ve found that, particularly when working on cross-browser support for a page, I have to add presentational mark-up for browsers such as IE6. I’m not saying to contract “div-itis,” but because we all use HTML5 elements in our mark-up, we find that sections often need div containers. That’s fine, as long as it’s kept to a minimum.

With this in mind, let’s get busy with some code. I’ve put together a demo page, and you can download all of the source files.

screenshot

Over the next few paragraphs, we’ll use the new flexbox model to create a basic home page for a blog. You might want to launch a latest-generation browser, though, because we’re now coding at the cutting edge. And it’s an exciting place to be.

box-flex

Let’s start with the basics: box-flex. Without box-flex, very little can be achieved. Simply put, it tells the browser how to resize an element when the element is too big or small for its parent.

Consider the following classic problem. You have a container with three children that you want to position side by side. In other words, you float them left. If the total width of these boxes is wider than that of the parent — perhaps because of padding, margin or a border — then you need to either specify exact widths in pixels (which is not flexible) or work in percentages (and the sometimes mind-bending calculations that come with them!).

Here’s the problem we have on our Fruit Blog, with three 320-pixel-wide asides (plus padding and margin) inside a 920-pixel-wide container:

screenshot

As you can see, the content is wider than the parent. However, if we set set the parent to display: box and each of these asides to box-flex: 1, then the browser takes care of the math and renders the following:

screenshot

So, what exactly has happened here?

The box-flex property refers to how the browser will treat the width of the box — or, more specifically, the unused space (even if that space is negative — i.e. even if the rendered boxes are too big for the container) — after the box has rendered. The value (1 in our example) is the ratio. So, with each aside set to a ratio of 1, each box is scaled in exactly the same way.

In the first instance, each aside was 320 pixels + 20 pixels of padding on the left and right. This gave us a total width of 360 pixels; and for three asides, the width was 1080 pixels. This is 160 pixels wider than the parent container.

Telling the browser that each box is flexible (with box-flex) will make it shrink the width of each box — i.e. it will not change the padding. This calculation is a fairly easy one:

160 pixels ÷ 3 asides = 53.333 pixels to be taken off each aside.

320 pixels − 53.333 = 266.667 pixels

And, if we look in Chrome Developer tools, we will see this is exactly how wide the box now is (rounded up to the nearest decimal):

screenshot

The same would be true if each aside had a width of 100 pixels. The browser would expand each element until it filled the unused space, which again would result in each aside having a width of 266.667 pixels.

This is invaluable for flexible layouts, Because it means that your padding, margin and border values will always be honored; the browser will simply change the width of the elements until they fit the parent. If the parent changes in size, so will the flexible boxes within it.

Of course, you can set box-flex to a different number on each element, thus creating different ratios. Let’s say you have three elements side by side, each 100 pixels wide, with 20 pixels padding, inside a 920-pixel container. It looks something like this:

screenshot

Now, let’s set the box-flex ratios:

.box1 { box-flex: 2; }
.box2 { box-flex: 1; }
.box3 { box-flex: 1; }

Here’s what it looks like:

screenshot

What just happened?!

Well, each aside started off as 140-pixels wide (100 pixels + 40 pixels padding), or 420 pixels in total. This means that 500 pixels were left to fill once we’d made them flexible boxes.

However, rather than split the 500 pixels three ways, we told the browser to assign the first aside with a box-flex of 2. This would grow it by 2 pixels for every 1 pixel that the other two boxes grow, until the parent is full.

Perhaps the best way to think of this is that our ratio is 2:1:1. So, the first element will take up 2/4 of the unused space, while the other two elements will take up 1/4 of the unused space (2/4 + 1/4 + 1/4 = 1).

2/4 of 500 pixels is 250, and 1/4 is 125 pixels. The final widths, therefore, end up as:

.box1 = 350px (100px + 250px) + 40px padding
.box2 = 225px (100px + 125px) + 40px padding
.box3 = 225px (100px + 125px) + 40px padding

Add all of these values up and you reach the magic number of 920 pixels, the width of our parent.

An important distinction to make is that the ratio refers to how the additional pixels (or unused space) are calculated, not the widths of the boxes themselves. This is why the widths are 350:225:225 pixels, and not 460:230:230 pixels.

The wonderful thing about the flexbox model is that you don’t have to remember — or even particularly understand — much of the math. While the Working Draft goes into detail on the calculation and distribution of free space, you can work safe in the knowledge that the browser will take care of this for you.

Animating Flexible Boxes

A simple and elegant effect is already at your fingertips. By making the li elements in a navigation bar flexible, and specifying their width on :hover, you can create a nice effect whereby the highlighted li element expands and all the other elements shrink. Here’s the CSS for that:

nav ul {
display: box;
width: 880px;
}

nav ul li {
padding: 2px 5px;
box-flex: 1;
-webkit-transition: width 0.5s ease-out;
min-width: 100px;
}

nav ul li:hover {
width: 200px;
}

screenshot

You’ll spot a min-width on the li element, which is used to fix a display bug in Chrome.

Equal-Height Columns: The Happy Accident!

As we’ll see, all flexbox elements inherit a default value of box-align: stretch. This means they will all stretch to fill their container.

For example, two flexbox columns in a parent with display: box will always be the same height. This has been the subject of CSS and JavaScript hacks for years now.

There are a number of practical implementations of this fortunate outcome, not the least of which is that sidebars can be made the same height as the main content. Now, a border-left on a right-hand sidebar will stretch the full length of the content. Happy days!

box-orient and box-direction

The box-orient property defines how boxes align within their parent. The default state is horizontal or, more specifically, inline-axis, which is horizontal and left-to-right in most Western cultures. Likewise, vertical is the same as block-axis. This will make sense if you think about how the browser lays out inline and block elements.

You can change the box-orient value to vertical to make boxes stack on top of each other. This is what we’ll do with the featured articles on our fruit blog.

Here is what our articles look like with box-orient set to its default setting:

screenshot

Ouch! As you can see, the articles are stacking next to each other and so run off the side of the page. It also means that they sit on top of the sidebar. But by quickly setting the parent div to box-orient: vertical, the result is instant:

screenshot

A related property is box-direction, which specifies the direction in which the boxes are displayed. The default value is normal, which means the boxes will display as they appear in the code. But if you change this value to reverse, it will reverse the order, and so the last element in the code will appear first, and the first last.

While box-orient and box-direction are essential parts of the model, they will not likely appear in the final specification, because they are being merged into the flex-direction property, which will take the following values: lr, rl, tb, bt, inline, inline-reverse, block and block-reverse. Most of these are self-explanatory, but as yet they don’t work in any browser.

box-ordinal-group

Control over the order in which boxes are displayed does not stop at normal and reverse. You can specify the exact order in which each box is placed.

The value of box-ordinal-group is set as a positive integer. The lower the number (1 being the lowest), the higher the layout priority. So, an element with box-ordinal-group: 1 will be rendered before one with box-ordinal-group: 2. If elements share the same box-ordinal-group, then they will be rendered in the order that they appear in the HTML.

Let’s apply this to a classic blog scenario: the sticky post (i.e. content that you want to keep at the top of the page). Now we can tag sticky posts with a box-ordinal-group value of 1 and all other posts with a box-ordinal-group of 2 or lower. It might look something like this:

article {
box-ordinal-group: 2;
}

article.sticky {
box-ordinal-group: 1;
}

So, any article with class="sticky" is moved to the top of the list, without the need for any front-end or back-end jiggering. That’s pretty impressive and incredibly useful.

We’ve used this code in our example to stick a recent blog post to the top of the home page:

screenshot

box-pack and box-align

The box-pack and box-align properties help us position boxes on the page.

The default value for box-align is stretch, and this is what we’ve been using implicitly so far. The stretch value stretches the box to fit the container (together with any other siblings that are flexible boxes), and this is the behavior we’ve seen so far. But we can also set box-align to center and, depending on the box-orient value, the element will be centered either vertically or horizontally.

For example, if a parent inherits the default box-align value of horizontal (inline-axis), then any element with box-align set to center will be centered vertically.

We can use this in our blog example to vertically center the search box in the header. Here’s the mark-up:

<header>
  <form id="search">
    <label for="searchterm">Search</label>
    <input type="search" placeholder="What’s your favourite fruit…" name="searchterm" />
    <button type="submit">Search!</button>
  </form>
</header>

And to vertically center the search box, we need just one line of CSS:

header {
display: box; box-align: center;
}

header #search {
display: box; box-flex: 1;
}

The height of #search has not been set and so depends on the element’s content. But no matter what the height of #search, it will always be vertically centered within the header. No more CSS hacks for you!

screenshot

The other three properties of box-align are start, end and baseline.

When box-orient is set to horizontal (inline-axis), an element with box-align set to start will appear on the left, and one with box-align set to end will appear on the right. Likewise, when box-orient is set to vertical (block-axis), an element with box-align set to start will appear at the top, and one with box-align set to end will move to the bottom. However, box-direction: reverse will flip all of these rules on their head, so be warned!

Finally, we have baseline, which is best explained by the specification:

Align all flexbox items so that their baselines line up, then distribute free space above and below the content. This only has an effect on flexbox items with a horizontal baseline in a horizontal flexbox, or flexbox items with a vertical baseline in a vertical flexbox. Otherwise, alignment for that flexbox item proceeds as if flex-align: auto had been specified.

Another property helps us with alignment: box-pack. This enables us to align elements on the axis that is perpendicular to the axis they are laid out on. So, as in the search-bar example, we have vertically aligned objects whose parent have box-orient set to horizontal.

But what if we want to horizontally center a box that is already horizontally positioned? For this tricky task, we need box-pack.

If you look at the navigation on our fruit blog, you’ll see that it’s only 880 pixels wide, and so it naturally starts at the left of the container.

screenshot

We can reposition this ul by applying box-pack to its parent. If we apply box-pack: center to the navigation element, then the navigation moves nicely to the center of the container.

screenshot

This behaves much like margin: 0 auto. But with the margin trick, you must specify an explicit width for the element. Also, we can do more than just center the navigation with box-pack. There are three other values: start, end and justify. The start and end values do what they do for box-align. But justify is slightly different.

The justify value acts the same as start if there is only one element. But if there is more than one element, then it does the following:

  • It adds no additional space in front of the first element,
  • It adds no additional space after the last element,
  • It divides the remaining space between each element evenly.

box-flex-group and box-lines

The final two properties have limited and/or no support in browsers, but they are worth mentioning for the sake of thoroughness.

Perhaps the least helpful is box-flex-group, which allows you to specify the priority in which boxes are resized. The lower the value (as a positive integer), the higher the priority. But I have yet to see an implementation of this that is either useful or functional. If you know different, please say so in the comments.

On the other hand, box-lines is a bit more practical, if still a little experimental. By default, box-lines is set to single, which means that all of your boxes will be forced onto one row of the layout (or onto one column, depending on the box-orient value). But if you change it to box-lines: multiple whenever a box is wider or taller than its parent, then any subsequent boxes will be moved to a new row or column.

Vendor Prefixes and Cross-Browser Support

It will come as no surprise to you that Internet Explorer does not (yet) support the flexbox model. Here’s how CanIUse sees the current browser landscape for flexbox:

screenshot

The good news is that Internet Explorer 10 is coming to the party. Download the platform preview, and then check out some interesting examples.

Also, we need to add a bunch of vendor prefixes to guarantee the widest possible support among other “modern” browsers. In a perfect world, we could rely on the following:

#parent {
display: box;
}

#child {
flex-box: 1;
}

But in the real world, we need to be more explicit:

#parent {
display: -webkit-box;
display: -moz-box;
display: -o-box;
display: box;
}

#child {
-webkit-flex-box: 1;
-moz-flex-box: 1;
-o-flex-box: 1;
flex-box: 1;
}

Helper Classes

A shortcut to all of these vendor prefixes — and any page that relies on the flexbox model will have many of them — is to use helper classes. I’ve included them in the source code that accompanies this article. Here’s an example:

.box {
display: -webkit-box;
display: -moz-box;
display: -o-box;
display: box;
}

.flex1 {
-webkit-flex-box: 1;
-moz-flex-box: 1;
-o-flex-box: 1;
flex-box: 1;
}

.flex2 {
-webkit-flex-box: 2;
-moz-flex-box: 2;
-o-flex-box: 2;
flex-box: 2;
}

This allows us to use this simple HTML:

<div class='box'>
  <div class='flex2' id="main">
   <!-- Content here -->
 </div>
  <div class="flex1" id="side”>
    <!-- Content here -->
  </div>
</div>

Using non-semantic helper classes is considered bad practice by many; but with so many vendor prefixes, the shortcut can probably be forgiven. You might also consider using a “mixin” with Sass or Less, which will do the same job. This is something that Twitter sanctions in its preboot.less file.

Flexie.js

For those of you who want to start experimenting with flexbox now but are worried about IE support, a JavaScript polyfill is available to help you out.

Flexie.js, by Richard Herrera, is a plug-and-play file that you simply need to include in your HTML (download it on GitHub). It will then search through your CSS files and make the necessary adjustments for IE — no small feat given that it is remapping much of the layout mark-up on the page.

screenshot

A Word on Firefox

The flexbox model was, at least originally, based on a syntax that Mozilla used in its products. That syntax, called XUL, is a mark-up language designed for user interfaces.

The irony here is that Firefox is still catching up, and its rendering of some flexbox properties can be buggy. Below are some issues to watch out for, which future releases of Firefox will fix. Credit here must go to the uber-smart Peter Gasston and Oli Studholme, giants on whose shoulders I stand.

  • Flexbox ignores overflow: hidden and expands the flexbox child when the content is larger than the child’s width.
  • The setting display: box is treated as display: inline-box if there is no width.
  • The outline on flexbox children is padded as if by a transparent border of the same width.
  • The setting box-align: justify does not work in Firefox.
  • If you set box-flex to 0, Firefox forces the element to act like it’s using the quirks-mode box model.

Summary

The flexbox model is another exciting development in the CSS3 specification, but the technology is still very much cutting-edge. With buggy support in Firefox and no support in Internet Explorer until version 10 moves beyond the platform preview, it is perhaps of limited use in the mainstream.

Nevertheless, the spec is still a working document. So, by experimenting with these new techniques now, you can actively contribute to its development.

It’s hard to recommend the flexbox model for production websites, but envelopes need pushing, and it might well be the perfect way to lay out a new experimental website or idea that you’ve been working on.

Offering a range of new features that help us break free of the float, the flexbox model is another step forward for the layout of modern Web pages and applications. It will be interesting to see how the specification develops and what other delights for laying out pages await the Web design community in the near future.

Further Reading

From floats to flexbox, here’s everything else you need to know:

Special thanks to Tim Davey for the artwork.

(al)


© Richard Shepherd for Smashing Magazine, 2011.

:: Read More
(Published: Mon, 19 Sep 2011 03:30:04 -0700)

An In-Depth Study Of Symbols In Illustrator CS5

  

For drawing and painting digital illustrations, Adobe Illustrator is a favorite among designers for many reasons. One of the reasons is some of the amazing time-saving features that come with it. The Symbols feature in Illustrator does just this: it saves valuable time by creating a “symbol,” or copy, of an object. This means that all of the time you have spent creating a minutely detailed flower does not have to be repeated. Instead, simply save the flower as a symbol for future use. Plus, symbols greatly reduce the size of image files.

Illustrator makes it easy to use symbols multiple times within a document as well. With the Symbols tools, you can add and alter several symbols at once. And in CS5, you can now change the settings for a symbol while editing. Another benefit of symbols in Illustrator CS5 is that you can change a symbol to a movie clip, making it easy to export to Adobe Flash. You can also make sure that the symbol scales correctly for your interface design by choosing 9-Slice Scaling while still in Illustrator.

CS5 makes working with symbols even easier by adding a few new features, explained below. If you are working in an earlier version of Illustrator, you will still be able to follow along and become as much a master of symbols in Illustrator as the next guy.

The topics covered in this article are:

  1. Basic Symbol Use
    • Symbols panel 101
    • Creating symbols
    • Symbol libraries
    • Placing symbols
    • Breaking links
    • Changing symbol options
    • Adding or duplicating symbols
    • Deleting symbols
    • Redefine a symbol
    • Swap/replace a symbol
  2. Advanced Symbol Use
    • Control window
    • Editing as a graphic
    • Registration point edits
    • 9-Slice Scaling edits
    • Sub-layer for symbols
  3. Symbolism Tools
    • Symbol sets
    • Symbol Sprayer tool
    • Symbol Shifter tool
    • Symbol Scruncher tool
    • Symbol Sizer tool
    • Symbol Spinner tool
    • Symbol Stainer tool
    • Symbol Screener tool
    • Symbol Styler tool
  4. Symbolism Tools Advanced Options
    • Options available to all symbol tools
    • Symbol Sprayer options
    • Symbol Sizer options
  5. Make Symbols Your Best Friend
    • More resources

Basic Symbol Use

Some of the actions for Symbols are quite easy to figure out just by playing around with them, while others take some explanation. Below is an overview of how to use symbols, but remember that you can move, scale, rotate, reflect and skew (shear) symbols just like other objects.

Symbols Panel 101

To open the Symbols panel, click on the button that looks like a clover, located in the menu on the right side of the Illustrator screen. Or go to WindowSymbols. As always the case with Adobe software, there are several ways to complete a task with Symbols.

The drop-down menu in the upper-right corner of the Symbols panel offers access to nearly every action for the panel, including creating a symbol, editing a symbol, breaking links, changing the view in the panel and more. To save you time, along the bottom of the Symbols panel are a few shortcuts to the most commons actions. You can also use the options in the Control window at the top of the screen.

To select a symbol in the panel, click on the icon. With a symbol selected, you can now edit it, place it on your artboard, delete it and more.

You can also organize the symbols in the panel by clicking and dragging them around. Or choose “Sort by Name” to change the view of the icons from within the drop-down menu.

Creating Symbols

Nearly any object can be made into a symbol. A couple of exceptions are art that is not linked and groups of graphics. Make sure the Symbols panel is open.

Click on the “New Symbols” icon (it looks like two white squares, one smaller than the other) at the bottom of the Symbols window, or drag an object directly into the Symbols panel. Illustrator will automatically turn the object you have selected into a symbol and also add the object to the Symbols window.

If you do not want your original object to become a symbol, then hold down Shift while creating the new symbol. This allows you to quickly create a symbol while retaining editable work on your artboard.

In the Symbols dialog box that appears, first specify a name, one that you will easily remember later.

Next, select the “Type” of symbol you want to create: a graphic or movie clip. If you will be using the symbol only in Illustrator, it does not matter which you select. The only reason why the two options are available is if you want to use the symbol in Adobe Flash: a movie-clip symbol in Flash can be manipulated for animation purposes, while a graphic symbol in Flash will remain static.

Symbol Libraries

The Symbol Libraries provide a clean way to organize the symbols that you acquire. To open them, click on the Symbols Library menu in the far left of your Symbols tools, or go to WindowSymbol Libraries[symbol]. The library that you select will open in a new window. When you choose a symbol from an open library, it is automatically added to the Symbols panel.

Remember that you can change the symbol once it is in your panel, but the original symbol in the library will never change.

Adding symbols from the panel to your library is easy but can be confusing at first. Begin by deleting any symbols that you do not want to add. (To quickly remove unused symbols, choose “Select All Unused” from the Symbols panel menu.) Then choose “Save Symbols” from the Symbols Library menu button, or go to the Symbols panel menu and select “Save Symbol Library.” Name your symbol library, and save it to the default Symbols folder. You can now find your new library folder in Symbols Library MenuUser Defined[symbol].

Note: You can create a new library from any symbols, whether default Illustrator symbols or your own. Just drag the desired symbols into the Symbols panel, and follow the steps above to create a new library.

Saving symbol libraries in locations other than the default library folder enables you to more easily share your created symbols with other designers. First, create your library as explained in the section above. When you get to the step where Illustrator asks you to choose a name and location for your library, choose a location other than the default folder (such as the desktop or “My Documents”). Remember that you can always access the symbols in this alternate location when working in Illustrator by choosing “Other Library” from the Symbols Library menu.

Placing Symbols

To place a symbol on your artboard, simply click on the icon in the panel and drag the symbol onto your board, or select the Symbol icon in the panel and then click the “Place Symbol Instance” button. Dragging the symbol is helpful if you have a specific place for it, whereas the “Place Symbol Instance” button works well when you want to place several on the board but are not yet sure where.

Breaking Links

The “Break Link to Symbol” button simply turns the symbol that you’ve placed on your artboard back into a regular graphic. While changes such as move, scale, rotate, reflect and skew (shear) can be made to a symbol’s instance on the artboard without changing the original symbol in the panel, more advanced edits will affect both the instance and the symbol if they are linked. By clicking on the “Break Link to Symbol” button, you can now modify the symbol in the panel without affecting the graphic on your artboard. The opposite is also true: edits made to an instance with a broken link will no longer affect the symbol.

Changing Symbol Options

The “Symbol Options” button opens the Options dialog box, where you can change the symbol to “Graphic” or “Movie Clip,” change it to 9-Slice Scaling, and make the symbol automatically align to a grid. See the section above on “Creating Symbols” for more explanation. You can also change the name, which is helpful if you duplicate a symbol.

Adding or Duplicating Symbols

The “New Symbol” button allows you to change a selected object into a symbol. Or, to quickly duplicate a symbol, just select it in the panel and drag it onto the “New Symbol” button. Illustrator will automatically name it the original symbol’s name plus a number, such as “Cube 1,” but you can change the name with the Options button.


Drag the symbol to the “New Symbol” button.


A new symbol will appear with a numbered name.

Deleting Symbols

Drag a symbol onto the Delete button to delete it from the panel. This will not delete it from your library, so if you need to use it again, just open the library and drag it back onto the panel. You can also click on the “Delete” button when a symbol is selected to delete it; a dialog box will appear asking “Delete the selected symbol?”

If you delete a symbol that has instances on the artboard, an alert dialog box will appear saying that the symbol cannot be deleted until its instance in use is either deleted or expanded. Choose “Expand Instances” to break the link to the symbol; this option will turn the instance on the artboard into a regular graphic and will delete the symbol from the panel. Choose “Delete Instances” to remove the instance from the artboard and delete the symbol from the panel.

Redefine Symbol

“Redefine Symbols” (located in the drop-down menu of the Symbols panel) allows you to change a symbol to the selected graphic on your artboard. Keep in mind that this action will change only the appearance of the symbol, while the name and other options (such as the type) will remain the same.


With the symbol selected on the artboard, select one of the previously defined symbols in the Symbols panel. In this example, we have selected the bow-tie symbol.


The bow-tie symbol now looks like the grime symbol, but the name and other options remain unchanged.

Swap/Replace a Symbol

To swap a symbol with another, select the symbol on your artboard, then select the symbol icon in the panel that you want to use in its place. From the drop-down menu, select “Replace Symbol.”

2. Advanced Symbol Use

Symbols can be edited several ways. In fact, CS5 now offers more editing options than previous versions of Illustrator, including 9-Slice Scaling (see below) and much more.

Control Window

One way to edit symbols is with the options in the Control window, located along the top (or bottom, depending on how you have arranged your Illustrator window) of your artboard. Simply click on the symbol that you want to edit, and you will notice that many of the Control window options for symbols are similar to the options for other objects, such as “Opacity,” “Recolor Artwork,” “Transform” and “Align to Selection.” You might also notice that you can break links and replace symbols from this menu.


The Control window’s options change depending on what type of graphic is selected, so some of these options are available to normal graphics, while others are exclusive to symbols.

To undo transformations, just select the symbol on the artboard and click “Reset” on the Control window; or choose “Reset Transformation” from the drop-down menu in the Symbols panel; or simply right-click on the symbol’s instance on the artboard and choose “Reset Transformation” from the context menu.

Editing as a Graphic

To edit a symbol with your primary editing tools just as you would any other graphic, click on a symbol in the panel (or, to be safe, duplicate the symbol and then edit the duplication), and select “Edit Symbol” in the drop-down menu. (Alternatively, double-click on the symbol in the panel.) You will now be able to modify the symbol in your panel as well as any instances on your artboard.

To modify only the instance(s) on your artboard and not the symbol in your panel, select the instance(s) on the artboard and break the link first. The instance will now be regular artwork that you can edit using any tool in the Tool menu.

You can always turn your edited graphic back into a new symbol by selecting the graphic and clicking “New Symbol” in the symbol’s palette.

To break links to all symbol instances at once, select the symbol’s icon in the Symbols panel, then choose “Select All Instances” from the drop-down menu.

You can also edit all symbol instances along with the symbol in the panel. Simply double-click the symbol on the artboard; or select the instance and click the “Edit Symbol” button in the Control window; or select “Edit Symbol” from the fly-out menu. An alert dialog box will appear, warning you that you are about to edit the symbol and that any changes will be made to all instances of that symbol.

You can choose “OK” or “Cancel.” This means what it says: all instances and the symbol in the panel will be changed according to the edits you make while in this “Isolation Mode.” Check the “Don’t Show Again” checkbox to prevent this warning from appearing again.

To exit the Edit Symbol mode, click on the “Back” arrow in the edit bar at the top of the artboard, or hit the “Escape” key. You can also right-click on the instance that you are editing and choose “Exit Isolation Mode.”

Registration Point Edits

In CS5, editing the registration point of symbols is possible. For those of you familiar with Flash, no more explanation is needed. For those who know nothing of Flash, the registration point basically allows you to select where to place the anchor point, which determines how a symbol will be placed within a screen coordinate.

One time when the registration grid makes a difference in Illustrator is when rotating symbols. If your registration is set to the upper-right corner of your symbol, then the symbol will rotate around that corner. You can see the location of the registration point simply by selecting the symbol on the artboard using the Selection tool. It looks like a small crosshair.

You can set the registration point by selecting a point on the registration grid when you create a new symbol. In the example below, the registration is set to the bottom-left corner. The default is centered. Just click the “New Symbol” button, and the Symbol options dialog box will pop up.

To edit the registration point or to fine tune the location, simply double-click the symbol on the artboard, and you will enter Isolation Mode. Move the graphic around; the registration point will remain stationary. When finished, click the “Back” button in the Control window. In this example, the symbol has been moved to the left, which has the effect of shifting the registration point to the right on the symbol.

Illustrator automatically uses the registration grid’s settings on a symbol, but you can turn this off. Say that you want to set the registration point to the left side of a symbol for Flash purposes, but while in Illustrator you do not want to use the grid. With the symbol selected, click on “Transform” in the Control window. Then click on the drop-down menu in the upper-right corner of the Transform panel. From this menu, select “Use Registration Point for Symbol.” With it deselected, this setting is now off.

9-Slice Scaling Edits

You can select 9-Slice Scaling for a symbol, either when you first create it or later through the Symbol options.

You can also edit the 9-Slice Scaling grid on a symbol when in “Edit (Isolation) Mode.” Double-click the symbol on the artboard to enter “Edit (Isolation) Mode.” Then hover the Selection tool over any of the gridlines until it changes to the move cursor.

Sub-Layers for Symbols

In CS5, you can now create sub-layers for symbols. The reason this is possible is that CS5 has given symbols an independent layer hierarchy, even when you expand symbols. Also, the “Paste Remember Layers” setting works when pasting objects in the symbol’s Edit Mode.

3. Symbolism Tools

One of the best aspects of symbols in Illustrator is the Symbol tools (referred to as “Symbolism Tools” by Adobe). Using symbol sets and the tools available, designing even the most detailed graphics is quick and easy.

Symbol Sets

Although you can use the Symbolism tools in a single symbol’s instance, they really shine when you use them with symbol sets. A symbol set is a group of symbol instances, often sprayed onto the artboard using the Symbol Sprayer tool. To select an entire set, just click on that symbol’s icon in your panel, or click on more than one symbol icon to select more than one symbol set.


In this example, a symbol has been sprayed onto the artboard. To select the set, simply use the Selection tool, and click on any of the symbols.

Symbol Sprayer Tool

With the Symbol Sprayer tool, you can add single instances, add single or multiple sets of instances, and delete individual or sets of symbol instances. To spray symbol instances onto the artboard, select the symbol from the panel, select the Symbol Sprayer tool from the toolbar, and click to add one instance at a time, or drag to spray several at a time.

To delete symbols from the artboard, hold down Alt or Option while clicking or dragging on the instances that you want to remove.

Symbol Shifter Tool

To move entire sets of symbols, use the Symbol Shifter tool. Just select the set or individual symbol instances that you want to shift, and with the Symbol Shifter tool selected, drag the instances in any direction on the board. You can also change the stacking order of symbols with this tool. Simply hold down Shift while clicking on an instance or a set to move it forward. Hold down Alt/Option + Shift while clicking on an instance or set to move it backward.

Symbol Scruncher Tool

The Scruncher tool is helpful for when you want to adjust the space between symbols in a set. To move symbol instances closer together, select the Symbol Scruncher tool, and click or drag in the areas between symbols. To push symbols apart, hold down Alt/Option while clicking or dragging between symbols.

Symbol Sizer Tool

Quickly resize entire sets of symbols by selecting the Symbol Sizer tool and then clicking or dragging on the symbols in the set that you want to resize. Keep in mind that only those symbols within the brush’s dimensions will change size. To decrease in size, hold down Alt/Option while clicking or dragging on symbol instances.

Hold down Shift while clicking or dragging the tool over several symbols in the set to preserve their density. You have to be careful with this shortcut, though. If you are enlarging symbols and hold down Shift, they will often be deleted to keep the density the same. But if you are downsizing symbols and use the Shift key, more symbols of the same size will be added to the set.

Symbol Spinner Tool

Another way to create variety in a symbol set made up of the same symbols is to select the Symbol Spinner tool and rotate the symbols in different directions. Click on a group of symbols and drag and rotate the cursor to turn the symbols in different directions.

Keep in mind that, just as when using the Rotate tool on symbol instances, with the Symbol Spinner tool, instances in a set will rotate based on the registration grid settings. So, if you’ve selected the upper-right corner of the registration grid when creating symbols, then your symbols will “lock” on the upper-right corner and rotate around that locked position.

Symbol Stainer Tool

This is an incredible tool for creating a naturally random color variety within a symbol set. It uses both the color’s hue and luminosity to “stain” symbol instances. Therefore, both black symbols (low luminosity) and white symbols (high luminosity) do not change at all; the higher or lower the luminosity, the less drastic the change in color.

First, you will need to select a staining color from the Color panel. With the Symbol Stainer tool selected, click or drag across the symbol instances that you want to colorize. If you want to reverse the stain effect, hold down Alt/Option and click or drag across symbols.

With the Stainer tool, the longer you hold it over a symbol set, the greater the amount of tint change. But if you want the same amount of tint no matter how much you drag the tool across a symbol set, hold down Shift. This works well when you want to change an entire set to a new shade without much variation.

Symbol Screener Tool

To change the transparency of symbol instances, select the Symbol Screener tool and click or drag across symbols. Hold down Alt/Option to reverse the transparency effect.


In this example, we have duplicated the Symbol layer several times and used the Symbol Stainer tool to add color depth. The Symbol Screen tool allows us to tone down the effect.

Symbol Styler Tool

The Symbol Styler tool allows you to add or remove graphic styles from symbol instances. First, select the Symbol Styler tool (if you select a graphic style first, then Illustrator will apply the graphic style to the entire selected symbol set). Then choose a graphic style from the Graphic Styles panel by going to WindowGraphic Styles, and click or drag across symbol instances for a gradual increase in a graphic style.

Hold down Alt/Option while clicking or dragging to reverse the style effect. Keep in mind that if you want to keep the graphic style changes the same throughout the symbol set, hold down Shift while using the Symbol Styler tool.


Here, we’ve opened a standard Graphics Style library called Illuminate Styles, by going to Windows → Graphic Styles Library → Illuminate Styles.

4. Symbolism Tools Advanced Options

To access the Symbolism tool’s options, double-click on any of the tools. It doesn’t matter which tool you double-click, because all of them can be accessed from the Options dialog box.

Options Available to All Symbolism Tools

At the top of the dialog box are options that stay the same, no matter which tool is selected. Some are fairly self-explanatory. “Diameter” determines the brush size. “Intensity” sets the change rate. “Symbol Set Density” sets the amount of symbols placed within a given area based on a formula; the higher the number, the denser the symbols will be.

“Method” (not available for all tools) adjusts the symbol’s instances: “User Defined” allows a gradual adjustment, determined by the location of the cursor; “Random” adjusts the symbols at a random rate; and “Average” smoothens the symbols gradually. Select “Show Brush Size and Intensity” to see these options while using the tools.

Click on each of the tool icons within the options dialog box to see individual adjustments and shortcuts. Not all of the tools have adjustments, and not all have shortcuts.

Symbol Sprayer Options

The Symbol Sprayer tool contains the most options. All six options contain two choices: “User Defined” and “Average.” If you already have symbol instances in place, the “Average” setting allows the sprayer to spray according to the settings of instances within the brush’s area. For example, with “Average” as the setting, spraying next to instances with variegated sizes will cause your symbol’s instances to spray in variegated sizes, depending on which ones fall within the brush’s radius.

“User Defined” means that the sprayer will place symbols using preset settings:

  • Scrunch”: The density based on the size of the original symbol.
  • Size”: Once again, based on the original symbol size.
  • Spin”: Symbols will orient themselves based on the movement of the mouse.
  • Screen”: 100% opacity automatically.
  • Stain”: A full amount of tint and the current color of the symbol.
  • Style”: This is determined by the current style of the symbol.

Symbol Sizer Options

The Symbol Sizer options include only two choices. When the “Proportional Resizing” checkbox is selected, the symbol instance’s size will remain uniform when resizing. When “Resizing Affects Density” is selected, the symbol’s instances will move further away when enlarged and closer together when shrunk.

5. Make Symbols Your Best Friend

If you plan to create illustrations that repeat a lot of graphics, such as trees, grass, flowers, floating shapes and swirls, to name a few, then symbols should become your best friend in Illustrator. Rather than just copying and pasting a graphic that you have created, you can use a symbol to quickly spray hundreds to millions of copies on your artboard and make changes to them in a matter of minutes. Even if you have used symbols before, taking the time to really play around with them and maybe even following some tutorials will help you grasp this gem of an Illustrator tool.

More Resources

(al) (il)


© Tara Hornor for Smashing Magazine, 2011.

:: Read More
(Published: Fri, 16 Sep 2011 03:00:17 -0700)

Freebie: Facebook Fan Page GUI PSD

  

Today we are glad to release a yet another freebie: a Facebook Fan Page GUI PSD, designed by Hike and released for Smashing Magazine and its readers. The PSD will speed up the process of creating previews, thus sparing you from drawing all the comps and letting you customize all the texts, buttons and data as you need. All layers are vectorized, allowing you to scale up the GUI without loss of quality. The mock-up is 100% pixel-accurate, it has 4 viewing modes (default wall, wireframe wall, default tab, wireframe tab), all layers labeled and grouped. Smart guides are included. The PSD is compatible with Adobe Photoshop CS3+.

With every update Facebook performs to its fan page design, Hike reproduces it 24 hours later and updates its download link with the latest version. The main idea behind this PSD was to provide all designers and agencies with a useful tool that will improvs their daily workflow when it comes to preparing Facebook-related previews for their clients or internal presentations. As usual, the goodie is absolutely free to use in private and commercial projects.

Download the PSD for free!

You can use the freebie for all your projects for free and without any restrictions. Please link to this article if you want to spread the word. You may modify the file as you wish.

Screenshot

Features

  • 100% pixel-accurate
  • 4 viewing modes (default wall, wireframe wall, default tab, wireframe tab)
  • Fully vectorized
  • Limitless scaling
  • All layers labeled
  • Smartly grouped
  • Completely editable
  • Includes smart guides
  • CS3+ compatible
  • Always up to date

Previews

tab_wireframe
Tab wireframe (large preview)

wall_default
Default wall (large preview)

wall_wireframe
Wall wireframe (large preview)

layerpalette
Layer Pallett (large preview)

Behind the Design

As always, here are some insights from the designer:

“From our own experience we knew how time consuming it could be to have to recreate or prepare a decent Facebook template that allows you to implement custom tab graphics, profile banners etc. It’s a real pain and waste of time and it only takes away your focus from the actual artwork. At Hike we once decided to invest multiple days into creating a complete Photoshop template that would allow us to create design previews on the fly.

What sets this PSD apart from similar files is the fact that with every update Facebook performs to its fan page design, Hike reproduces it 24 hours later and updates its download link with the latest version. As listed under Features above, we actually reproduced each and every pixel of Facebook’s fan page UI. The PSD includes 4 viewing modes for the most common design tasks and it’s fully vectorized. Thanks to smart grouping and clever labeling, everybody will easily get along in our PSD. If you have suggestions for improving the file or feel like something is still missing, feel free to post it on our Fan Page wall and we will respond. Follow @HikeSocialApps for updates!”

Thank you, guys! We appreciate your work and your good intentions.


© Smashing Editorial for Smashing Magazine, 2011.

:: Read More
(Published: Fri, 16 Sep 2011 01:20:53 -0700)

Improving The Online Shopping Experience, Part 1: Getting Customers To Your Products

  

Amazon turned sweet sixteen this year, and, by extension, so did online shopping as we know it. As online shopping has grown over the past 16 years, so have user needs and expectations related to the online shopping experience. Setting up shop online is easy, but creating an experience that satisfies target users is a different story altogether.

In the traditional journey of a purchase, commonly depicted as a funnel, a business loses potential customers as they move closer to the purchasing stage. While this is natural and expected, improving the user experience can reduce this loss by removing unnecessary barriers to shopping online.

The purchase funnel and ways to improve the online experience
Ways to improve the online shopping experience and reduce the drop in the purchase funnel.

The guidelines, techniques and best practices in this two-part series address common user experience issues on e-commerce websites. They are intended as a starting point; books have been written on many of these topics, and a few are recommended at the end. Improving the user experience requires a good understanding of your users and their goals on your website. Use that lens as you read through, to see which of the techniques will improve the online shopping experience for your users.

This first part covers the upper part of the funnel: getting customers to your website and helping them find your products. Part 2 will address the lower part of the funnel: guiding customers through the decision-making process and check-out.

Promote Your Online Presence

Make it easy for customers to find your website by using a combination of online and offline marketing tactics. Analytics will show you how users are coming to your website — for most websites, search engines and other online referrals, including social media, play a big role. What these reports will not show you are missed opportunities, such as customers ending up on your competitors’ websites instead of yours because of their search keywords.

  • Analyze your website and the websites of key competitors to compare how you rank on the search terms used by your target users and to identify areas for optimization. Personas, which are representative profiles of target users, can be used as a tool for search marketing efforts, helping you to identify and prioritize keywords, offers and features and to create targeted landing pages. Digital consultancy Roundarch has an example of a keyword persona that it uses when working on search engine optimization (SEO) for Avis.
  • If your business is selling in a competitive market, supplement your SEO efforts by buying relevant keywords for paid placement alongside search results, using services like Google AdWords and Microsoft adCenter.
  • Create business profile pages on services such as Google Places, Bing Business Portal and Yahoo Local: these will be highlighted in search results and on location-based social networking services. In addition to your business name, include your physical address, phone number, URL and hours of operation.
  • Use email campaigns to attract new customers and draw previous customers back to your website. In a recent Forrester study, retailers ranked email as having the highest return on investment (ROI) among their marketing efforts, including paid search, affiliate marketing and Facebook marketing.
  • Create, join or support communities and social networks related to your products or related to issues that your product addresses. An example is Aspirin manufacturer Bayer’s involvement in and sponsorship of the Strong @Heart community on Facebook.
  • Go where your customers are; these days, that includes social networks. Companies are experimenting with Facebook ads and check-in coupons, offering promotions on their Facebook walls, and tweeting time-limited deals to their followers. Although companies such as JCPenney and 1-800-Flowers.com have set up Facebook storefronts, their ROI is questionable in value.

    JCPenney’s storefront on Facebook
    JCPenney’s Facebook storefront allows users to shop on the social network.

  • Use a short, simple, intuitive and memorable Web address, and secure alternate spellings (walmart and wal-mart) so that users can get to your website even if they misspell your name (jcpenny, jcpenney, jcp).
  • Increase visibility in search engine results using SEO techniques, including picking the right keywords and creating keyword-rich and search-friendly page URLs, titles, headings, tags and content. SEO is not a dirty acronym if done the right way. Trying to fool search engines may work for a while, but you will eventually be penalized, as JCPenney and Overstock recently discovered.
  • Feature the URL prominently offline: in printed material, while people are on hold on the phone waiting for service or support, in offline advertising and promotion, and in brick-and-mortar stores where appropriate. Quick Response (QR) codes give smartphone users quick access to a website, a sub-section or a particular page without having to type in a long address.

Instill Confidence In Customers

Instill confidence and trust in customers by prominently displaying clear policies, trust certificates, security badges and contact information. Customers are cautious when asked for personal information, and rightly so, with news of hacked websites being so common. Even established brands that customers recognize and trust can use these techniques to reinforce confidence.

  • Looks matter, and your website’s design is often the first impression that a customer will get of your business. Creating a professional-looking website is easy and inexpensive, so get the basics right and make a good first impression. This includes designing for accessibility and especially ensuring that your website renders well on mobile devices.
  • Highlight security on secure areas of the website to remind customers that their information is safe; even though browsers have small built-in indicators to show secure areas, reiterate it on the page. Amazon does this through its sign-in button; other websites display a padlock icon near the log-in area.
    Amazon’s sign-in button reinforces security
    Amazon’s sign-in button reinforces a sense of security.
  • Clearly state your business practices (including privacy, security and return policies), and make them accessible from every page. Don’t make users hunt for this information; rather, present these links contextually where appropriate (for example, display a link to your privacy policy near the email-address field).
  • Visible contact information instills confidence, even if the customer does not have to use it. Offer contact options and alternatives: even though Amazon does not publicize its customer-service phone number, it makes up for it by offering excellent support via email, chat and call-backs.
  • Lesser-known brands should do all of the above, as well as instill confidence by displaying trusted third-party certification and affiliations. These include trust certificates (e.g. TRUSTe), security badges (e.g. VeriSign), accreditation (e.g. BBB) and ratings (e.g. Bizrate).

    Build confidence using trusted third-party certifications and affiliations
    Instill confidence with trusted third-party certification and affiliations.

Enhance Product Findability

Enable customers to quickly find and discover products by offering robust search and navigation. Customers will not always start on your home page — a search engine or QR code could drop them many levels deep on your website — but good navigation and search should help them find their bearings.

  • Create a strong foundation through distinct product categories and user-centric labels that help users explore other areas of the website. Involve users in the design process by conducting exercises such as card-sorting to understand their mental model and to create an architecture that is intuitive to them.
  • Mega-menus can be used to expose multiple category levels without making users drill down. See Econsultancy’s article “25 E-Commerce Mega-Menus Dissected” for more examples. Keep in mind, though, that mega menus aren’t a panacea, they also require profound usability considerations.

    Officemax mega-menus facilitate category scanning
    OfficeMax’s mega-menus facilitate the scanning of categories.

  • Breadcrumb navigation enables customers to identify where they are on your website and helps them backtrack or broaden their search results if needed.
  • Keep the search box consistently in the same location across the website. Customers expect it to include a text field, followed by a button labeled “Search,” usually in the top right of the screen.
  • Accept colloquial synonyms and common misspellings as search keywords, and match results accordingly. On Amazon, a search for “iTouch” brings up the iPod Touch, and a search for “polar bear book” (as information architects so lovingly call it) brings up Information Architecture for the World Wide Web (which happens to be a great resource that looks closely at many concepts mentioned in this section).
  • Help users get faster and more relevant search results. Predictive type-ahead options help users select the appropriate term before running a search. Providing related search terms helps with typos and more common alternatives.
  • Display results based on relevance, but give users the options to refine, filter, compare and sort results based on various criteria and to control the number of results displayed at a time.
  • Display a summary of key product information in the search results to speed up identification and selection. In addition to the name and image that the user expects, provide pricing, availability, ratings, shipping details and other relevant information.

    Best practices in Amazon’s search results
    The search results for “polar bear book” on Amazon, which include: (1) predictive type-ahead; (2) tolerance for synonyms; (3) sorting options; (4) filtering options; (5) summary of key product information (ratings, reviews, formats, pricing, availability).

Stay tuned for the second part, which will focus on guidelines and techniques to help customers make purchasing decisions and to guide them through the check-out process.

Further Reading

(al) (vf)


© Lyndon Cerejo for Smashing Magazine, 2011.

:: Read More
(Published: Thu, 15 Sep 2011 07:07:55 -0700)

The Guide To CSS Animation: Principles and Examples

  

With CSS animation now supported in both Firefox and Webkit browsers, there is no better time to give it a try. Regardless of its technical form, whether traditional, computer-generated 3-D, Flash or CSS, animation always follows the same basic principles. In this article, we will take our first steps with CSS animation and consider the main guidelines for creating animation with CSS. We’ll be working through an example, building up the animation using the principles of traditional animation. Finally, we’ll see some real-world usages.

screenshot

CSS Animation Properties

Before diving into the details, let’s set up the basic CSS:

Animation is a new CSS property that allows for animation of most HTML elements (such as div, h1 and span) without JavaScript or Flash. At the moment, it’s supported in Webkit browsers, including Safari 4+, Safari for iOS (iOS 2+), Chrome 1+ and, more recently, Firefox 5. Unsupported browsers will simply ignore your animation code, so ensure that your page doesn’t rely on it!

Because the technology is still relatively new, prefixes for the browser vendors are required. So far, the syntax is exactly the same for each browser, with only a prefix change required. In the code examples below, we use the -webkit syntax.

All you need to get some CSS animation happening is to attach an animation to an element in the CSS:

/* This is the animation code. */
@-webkit-keyframes example {
   from { transform: scale(2.0); }
   to   { transform: scale(1.0); }
}

/* This is the element that we apply the animation to. */
div {
   -webkit-animation-name: example;
   -webkit-animation-duration: 1s;
   -webkit-animation-timing-function: ease; /* ease is the default */
   -webkit-animation-delay: 1s;             /* 0 is the default */
   -webkit-animation-iteration-count: 2;    /* 1 is the default */
   -webkit-animation-direction: alternate;  /* normal is the default */
}

First, we have the animation code itself. This can appear anywhere in the CSS, as long as the element that you’re animating can find the relevant animation-name.

When assigning the animation to your element, you can also use the shorthand:

div {
-webkit-animation: example 1s ease 1s 2 alternate;
}

We can cut this down further by not entering all of the values. Without a value specified, the browser will fall back to the default.

Those are the basics. We’ll work through more code in the following section.

Applying Principles of Traditional Animation

Disney — the masters of traditional animation, in my opinion — developed the 12 principles of traditional animation early on and documented them in its famous book The Illusion of Life. These basic principles can be applied to all manner of animation, and you needn’t be an expert in animation to follow along. We’ll be working through an example of CSS animation that uses the 12 principles, turning a basic animation into a more believable illusion.

These may just be bouncing balls, but you can see a world of difference between the two versions.

This example demonstrates the features of CSS animation. In the code below, we use empty divs to show how it works; this isn’t the most semantic way to code, as we all know, but the point is to show how simple it is to bring a page to life in a way that we haven’t been able to do before in the browser.

Squash and Stretch

screenshot

The crude bouncing ball is a great demonstration of this first point. If the ball falls at a high velocity and hits the floor, you’ll see it squash down from the force and then stretch back out as it bounces up.

At a basic level, this should give our animation a sense of weight and flexibility. If we dropped a bowling ball, we wouldn’t expect it to flex at all — it might just damage the floor.

We can apply this squash and stretch effect through a CSS3 property, transform:

@-webkit-keyframes example {
   0% { -webkit-transform: scaleY(1.0); }
   50% { -webkit-transform: scaleY(1.2); }
   100% { -webkit-transform: scaleY(1.0); }
}

This will scale the object lengthwise (on the y axis, up and down) to 1.2 times the original size, and then revert to the original size.

We’re also using more complex timing for this animation. You can use from and to for basic animations. But you can also specify many actions for your animation using percentages, as shown here.

That covers the squashing. Now we need to move the object using translate. We can combine transforms together:

50% {
-webkit-transform: translateY(-300px) scaleY(1.2);
}

The translate property allows us to manipulate the object without changing any of its base properties (such as position, width or height), which makes it ideal for CSS animation. This particular translate property makes it look like the ball is bouncing off the floor at the mid-point of the animation.

(Please note: to view the sample animations, you’ll need the latest version of Firefox, Chrome or Safari. At the time of writing, Safari provides the best viewing experience of CSS animation.)

Yes, it still looks rubbish, but this small adjustment is the first step in making this animation more believable.

Anticipation

Anticipation adds suspense, or a sense of power, before the main action. For example, the bend in your legs before you jump helps viewers anticipate what will come next. In the case of our bouncing ball, simply adding a shadow beforehand suggests that something is falling from above.

We’ve added another div for the shadow, so that we can animate it separate from the ball.

To create anticipation here, we keep the ball from dropping into the scene immediately. We do this simply by adjusting the percentage timings so that there is no movement between the start point and the first action.

@-webkit-keyframes example {
   0% { -webkit-transform: translateY(-300px) scaleY(1.2); }
   35% { -webkit-transform: translateY(-300px) scaleY(1.2); } /* Same position as 0% */
   65% { -webkit-transform: translateY(0px) scaleY(1.2); }    /* Starts moving after 35% to this position */
   67% { -webkit-transform: translateY(10px) scaleY(0.8); }
   85% { -webkit-transform: translateY(-100px) scaleY(1.2); }
   100% { -webkit-transform: translateY(0px); }
}

At the 35% point of the animation, the ball is in the same location, positioned off the stage, not moving. Then, between 35% and 65%, it suddenly moves onto the stage, and the rest of the animation follows.

You can also use animation-delay to create anticipation:

div {
-webkit-animation-delay: 1s;
}

However, this could have an undesired effect. The animation-delay property simply ignores any animation code until the specified time. So, if your animation starts in a position different from the element that you are animating, then the object will appear to suddenly jump as soon as the delayed animation starts.

This property works best for looping animations that begin and end in the same location.

Staging

screenshot

Try to give a stage to the scene; put the animation in context. Thinking back to Disney films, what would they be without the fantastic background artwork? That’s half of the magic!

The stage is also key to focusing attention. Much like on a theater stage, lighting will be cast on the most important area. The stage should add to the illusion. With our bouncing ball, I’ve added a simple background to focus on where the ball will land. Now the viewer knows that the action will take place in the center, and the scene is no longer lost in snow.

Straight-Ahead vs. Pose to Pose

In traditional animation, this is a choice in how to construct your animation. The straight-ahead option is to draw out every frame in the sequence. The pose-to-pose option is to create a few keyframes throughout the sequence, and then fill in the gaps later. Filling in these gaps is known as “in-betweening,” or “tweening,” a familiar term for those used to animating in Flash.

With CSS animation, we typically use the latter, pose to pose. That is, we’ll add keyframes of action, and then the browser will “tween” the intermediate frames automatically. However, we can learn from the straight-ahead technique, too. The browser can do only so many effects; sometimes, you have to do it the hard way and put in more animation hard-graft to get the desired effect.

Follow-Through and Overlapping

Also known as physics! Follow-through and overlapping are more commonly used in character animation for body movement, such as to show arms swaying as the character drops them or long hair falling. Think of someone with a big stomach turning quickly: their body will turn first, and their bulging gut will follow shortly after.

For us, this means getting the physics right when the ball drops. In the demonstrations above, the ball drops unnaturally, as if beyond the control of gravity. We want the ball to drop and then bounce. However, this is better achieved through the next principle.

Slow In and Out

This has to do with speeding up and slowing down. Imagine a car that is speeding along and has to come to a stop. If it were to stop instantly, it wouldn’t be believable. We know that cars take time to slow down, so we would have to animate the car braking and slowly coming to a stop.

This is also relevant to showing the effect of gravity. Imagine a child on a swing. As they approach the highest point, they will slow down. As they come back down and gain speed, their fastest point will be at the bottom of the arc. Then they will rise up on the opposite side, and the action repeats.

screenshot

Back to our example, by adjusting the in and out speeds, we can make the ball much more believable (finally).

When the ball hits the floor, the impact will make it bounce back up instantly. As it reaches its highest point, it will slow down. Now it looks like the ball is really dropping.

In CSS, we can control this with the animation-timing-function property:

-webkit-animation-timing-function: ease-out;

This property takes the following values:

  • ease-inSlow at the beginning, and then speeds up.
  • ease-outFast at the beginning, and then slows to a stop.
  • ease-in-outStarts slow, speeds up in the middle, and then slows to a stop.
  • linearMoves at an even speed from start to finish.

You can also use the bezier-curve function to create your own easing speeds.

Arcs

screenshot

Similar to the follow-through principle of physics, arcs follow the basic principle of “what goes up must come down.” Arcs are useful in thinking about the trajectory of an object.

Let’s throw the ball in from the left of the stage. A convincing animation would predict the arc along which the ball will fall; and in our example it will have to predict the next arc along which the ball will fall when it bounces.

This animation can be a bit more fiddly to adjust in CSS. We want to animate the ball going up and down and side to side simultaneously. So, we want our ball to move in smoothly from the left, while continuing the bouncing animation that we’ve been working on. Rather than attempt to capture both actions as one animation, we’ll do two separate animations, which is easiest. For this demonstration, we’ll wrap our ball in another div and animate it separately.

The HTML:

<div class="ball-arc">
   <div class="ball"></div>
</div>

And the CSS:

.ball-arc {
-webkit-animation: ball-x 2.5s cubic-bezier(0, 0, 0.35, 1);
}
   /* cubic-bezier here is to adjust the animation-timing speed.
   This example makes the ball take longer to slow down. */

@-webkit-keyframes ball-x {
   0% { -webkit-transform: translateX(-275px); }
   100% { -webkit-transform: translateX(0px); }
}

Here, we have one animation to move the ball sideways (ball-x) and another animation to bounce the ball (ball-y). The only downside to this method is that if you want something really complex, you could end up with a code soup with poor semantics!

Secondary Action

A secondary action is a subtlety that makes the animation much more real. It addresses the details. For example, if we had someone with long hair walking, the primary action would be the walking, and the secondary action would be the bounce of the hair, or perhaps the ruffling of the clothes in the wind.

In our example, it’s much simpler. By applying more detail to the ball, we make the secondary action the spinning of the ball. This will give the illusion that the ball is being thrown in.

Rather than add another div for this animation, we can be more specific by adding it to the new img element that we’re using to give the ball texture.

.ball img {
-webkit-animation: spin 2.5s;
}

@-webkit-keyframes spin {
   0% { -webkit-transform: rotate(-180deg); }
   100% { -webkit-transform: rotate(360deg); }
}

Timing

screenshot

This is simply the timing of your animation. The better the timing of the animation, the more realistic it will look.

Our ball is a perfect example of this. The current speed is about right for a ball this light. If it were a bowling ball, we would expect it to drop much more quickly. Whereas, if the animation were any slower, then it would look like we were playing tennis in space. The correct timing basically helps your animation look realistic.

You can easily adjust this with the animation-duration property, and you can adjust the individual timings of your animation using percentage values.

Exaggeration

Cartoons are known for exaggeration, or impossible physics. A cartoon character can contort into any shape and still manage to spring back to normal. In most cases, though, exaggeration is used for emphasis, to bring to life an action that would otherwise look flat in animation.

Nevertheless, use exaggeration modestly. Disney had a rule to base its animations on reality but push it slightly further. Imagine a character running into a wall; its body would squash into the wall more than expected, to emphasize the force of impact.

We’re using exaggeration in combination with squash and stretch to make it really obvious when the ball hits the floor. I’ve also added a subtle wobble to the animation. Finally, we also stretch the ball in and out as it bounces up and down to emphasize the speed.

Just as when we added one animation onto another, here we’ll add another div, which will wobble in sync with the ball hitting the floor:

@-webkit-keyframes wobble {

0%, 24%, 54%, 74%, 86%, 96%, 100% {
   -webkit-transform: scaleX(1.0);
/* Make the ball a normal size at these points */
}

25%, 55%, 75% {
   -webkit-transform: scaleX(1.3) scaleY(0.8) translateY(10px);
/* Points hitting the floor: squash effect */
}

30%, 60%, 80% {
   -webkit-transform: scaleX(0.8) scaleY(1.2);
/* Wobble inwards after hitting the floor */
}

75%, 87% {
   -webkit-transform: scaleX(1.2);
/* Subtler squash for the last few bounces */
}

97% -webkit-transform: scaleX(1.1);
/* Even subtler squash for last bounce */
}

}

The code looks more complex than it is. It’s simple trial and error. Keep trying until you get the right effect!

Solid Drawing and Appeal

I have nothing more to teach you… at least not in code. These final two animation principles cannot be shown in code. They are skills you will have to perfect in order to make truly amazing animations.

When Disney started production on Snow White, it had its animators go back to life drawing classes and learn the human form again. This attention to detail is evident in the film, which goes to show that good animation requires solid drawing skills and sound knowledge of the form you are animating.

Most CSS animation will likely not be as complex as intricate figure animations, but the basic principle holds true. Whether a door is opening to reveal content or a “contact us” envelope is being sealed and delivered, the animation should be believable, not robotic… unless you’re animating a machine.

The appeal, or charisma, of each character will be unique. But as Disney has always shown, anything can have character: a teapot, a tree, even spoons. But with CSS, consider how the overall animation will contribute to the design and make the overall experience more satisfying. We don’t want to make clippy animations here.

Go Forth And Animate!

CSS animation is a great new feature. As with every new CSS feature, it will be overused and misused at first. There is even the slight danger that we’ll see a return of those long-winded Flash-style animated splash pages. Although I have faith in the Web community not to do this.

CSS animation can be used to really bring a website to life. While the code for our bouncing ball may not be the most semantic, it hopefully shows how simple it can be to bring almost anything on the page to life with CSS.

It can bring much-needed interaction to your elements (sans Flash!); it can add excitement to the page; and in combination with JavaScript, it can even be an alternative way to animate for games. By taking in the 12 principles above and working away at your animation, you can make your websites more convincing, enticing and exciting, leading to a better experience overall.

CSS Animation Tools

While knowing the CSS itself is great, plenty of tools are popping up that will help you animate. The 12 principles apply regardless, but if you’re worried about the code, these great tools let you try out CSS animation without getting too technical.

CSS Animation in the Wild

Finally, to get you excited about what is possible, here are some great examples of CSS animation being used on live websites:

(al) (vf) (kw)


© Tom Waterhouse for Smashing Magazine, 2011.

:: Read More
(Published: Wed, 14 Sep 2011 04:34:22 -0700)

The S.M.A.R.T. User Experience Strategy

  

I was a competitive road cyclist for four years. My bikes were good, but my race results were much less impressive. Instead of medals and trophies, all I had to show for it were shaved legs and a farmer’s tan.

Regardless, on the road to becoming a competitive athlete, I followed a rigorous training plan with concrete goals. These goals were specific, measurable, attainable, realistic and timely. With this training plan, I was able to quantitatively and qualitatively assess my progress and adjust my routine to match.

Cycling race.
(Image: Stig Nygaard)

In the years since, I’ve hung up my racing jersey and replaced it with a designer’s hat. While wearing this hat, I (and many others) have been told to “create a good user experience.” We’ve heard this in creative briefs, project kick-off meetings and critiques. It may have been a bullet point in a PowerPoint presentation or uttered by someone trying to sell a client or company on the value of their services. But there’s a fundamental problem with stating that your goal is to “create a good user experience.”

It’s not specific, directly measurable, actionable, relevant or trackable. Thus, it will create disagreement and disorganization, sending many projects into chaos. However, we can avoid this by using S.M.A.R.T. goal-setting criteria when defining user and business goals.

Bad Vs. Good Methodology

Before we get started, let’s look at how a poor methodology can derail an entire project.

There was once a project to redesign a significant section of a company’s website. This section introduced visitors to the brand’s history and technology, and analytics indicated that customers who visited this section had a much higher conversion rate. Stakeholders believed that improvements to the content and navigation could result in even higher conversions. This was seen as a golden opportunity to increase sales by improving the awareness and presentation of the brand’s story. Thus, a complete project to redesign this section of the website was born.

Here is a summary of the project from the stakeholders’ perspective:

  • High-level project goal
    Increase conversions and sales.
  • High-level project strategy
    Leverage the history and technology section of the website.
  • High-level project tactic
    Improve the content and navigation of the section to increase user engagement, better communicate the benefits of the products, and drive users into the conversion funnel.

Unfortunately, rather than communicate this to the design team, the goal for this redesigned section of the website was presented as follows:

Create a good user experience.

Sigh. There’s that phrase again.

The Problem

The designers were given a nebulous tactic masquerading as a goal. This meant that they had minimal understanding of the true objective of the project, which put them in a poor position to understand the problem and to hone the strategy and tactics to solve it.

To make matters worse, the lack of well-defined high-level goals, strategies and tactics made it difficult for the designers to define the architecture of the experience, in turn making it nearly impossible to set user goals and business goals for every page that needed to be designed.

Banksy art.
(Image: numberstumper)

To make a long story short, the designers spent four months working through unsuccessful concept pitches and design revisions. The concept behind the designs constantly changed, and the content and features failed to support a cohesive user story. Meanwhile, designers and stakeholders had different expectations of what this section of the website was meant to accomplish, so solutions rarely satisfied both parties. Nobody knew the needs of the user, and the needs of the business were but a neglected thought in the shadow of “creating a good user experience.”

After these four months, there was zero progress. Not only was the project’s situation dire, but the lack of approved and delivered work was eroding the team’s morale. With no concrete user or business goals to satisfy, the team aimlessly pursued a “good user experience.” It was like being told to drive but not given a destination.

The Solution

I was subsequently pulled into this team as the project and design lead. My first priority was to bring awareness and understanding of the high-level project goals, and then lead the team through a comprehensive exercise to document the user goals. Although we didn’t have access to detailed user studies and customer information to create data-driven personas, we did our best with anecdotal experiences, competitive analyses, and website analytics to create user goals for each page. We then worked with the cross-functional teams to understand the business goals and KPIs.

Using these goals, I led the designers to write thorough content and feature requirements. The benefit to this approach was that all content and features were made to serve documented user or business goals. This encouraged product simplicity and reduced scope creep. These goals and requirements were then reviewed and refined with all stakeholders. Once expectations were universally understood and accepted, the team proceeded to create the architecture, interactions and designs.

This comprehensive methodology took less than three months. But the magic is not the methodology itself, but the discipline to identify concrete goals that satisfy five basic criteria.

UX S.M.A.R.T. Goal Criteria

As I mentioned earlier in my competitive cycling example, my improvement as an athlete was based on goals that each met the five criteria of the S.M.A.R.T. goal-setting technique:

  1. Specific,
  2. Measurable,
  3. Attainable,
  4. Realistic,
  5. Time-based.

This technique can be applied to documenting the criteria for user goals and business goals:

  1. Specific,
  2. Measurable,
  3. Actionable,
  4. Relevant,
  5. Trackable.

With these criteria in mind, what would be considered a S.M.A.R.T. goal?

UX S.M.A.R.T. goal criteria.

S.M.A.R.T. User Goal Examples

Let’s use the product detail page for a fictional e-commerce website to illustrate. A product detail page is a page on which shoppers can learn more about a product for sale and add it to their shopping cart. It typically includes images of the product, the price, a description, and an “Add to Cart” button. Here is an example from a well-known fruit company:

A product detail page at store.apple.com.
The product detail page for earbuds in the Apple Store. Notice the images, price, description and “Add to Cart” button.

Based on a competitive analysis of many e-commerce product detail pages (and on personal experience from working with and studying how consumers make purchasing decisions), here are some user goals for the product detail page of a fictional e-commerce website.

Primary user goal (UG1):

I want to learn more about this product’s design, features and specifications to determine whether it fits my budget, needs and preferences.

Secondary user goal (UG2):

I want to purchase this product.

These goals meet the UX S.M.A.R.T. goal criteria because they are:

  • Specific
    By stating exactly what the user needs to accomplish, these goals help us maintain scope and stay focused on designing content and functionality that is critical to our user’s success.
  • Measurable
    For the primary goal, we can measure clicks to determine how users are engaging with the content. Alternatively, one-on-one interviews or customer surveys could provide qualitative insight into whether your content is relevant to the user’s interests. For the secondary goal, we can measure the percentage of visitors to the page who click “Add to Cart.”
  • Actionable
    Because the goal is specific, we can readily identify content and functionality that satisfies the user’s goals. In this example, because users want to learn more about the product’s design, large product images should be included.
  • Relevant
    These goals are appropriate for a product detail page, but not for a return policy or terms and conditions page. By keeping the goals highly relevant, the content and features that we introduce to satisfy those goals will be relevant, too.
  • Trackable
    There’s no point being measurable if the data cannot be tracked over time. This is essential to determining the immediate, short-term and long-term success of our design and its future iterations.

In contrast, here’s a DUMB user goal:

I want a Web page that’s easy to use. (i.e. I want a good user experience.)

That’s not a witty acronym, and it doesn’t hide the fact that this user goal is not specific, measurable, actionable, relevant or trackable. It fails all five criteria because it fails the first: specificity. A good user experience has many facets, and without targeting a specific aspect of the page or product experience, there’s no action (strategy and tactic) to address it. If a goal is not actionable, then it has no reason to exist because there is no end towards which effort and action can be directed. Similarly, if the goals are not measurable, then there is no way to gauge the successes or failures of our actions, and subsequently no way to understand the product’s performance over time.

S.M.A.R.T. Business Goal Examples

UX S.M.A.R.T. goal criteria can also be applied to business goals. They are particularly relevant because businesses are run by numbers: number of clicks, number of customers, number of dollars, the list of measurable metrics continues. So, let’s take real-life business goals for the same product detail page of our e-commerce website as an example:

Primary business goal (BG1):

We want to increase the ratio of add-to-carts to page views for the product detail page to x%.

Secondary business goal (BG2):

We want to increase cross-sells to y% of total add-to-carts.

Just like the preceding user goal examples, these business goals meet the UX S.M.A.R.T. goal criteria because they are:

  • Specific
    By stating exactly what metrics the design needs to affect, these goals help us maintain scope and stay focused on designing content and functionality that will put us in a position to hit our targets.
  • Measurable
    For the primary goal of increasing conversions, we can measure the number of page views and how many resulted in an add-to-cart. For the secondary goal of increasing cross-sells, we can measure the number of clicks on cross-selling products.
  • Actionable
    Because the goals are specific, we can create more targeted strategies to accomplish them. For the primary goal of increasing add-to-carts, this could mean making the content on the page more relevant to users’ goals, or something as simple as improving the success of the add-to-cart button. For the secondary goal of increasing cross-sells, this could entail changing the visibility of cross-selling items (assuming we have already done a good job of selecting which related products to promote).
  • Relevant
    The relevance of this goal depends on the high-level objectives of the project. If the objective is to reduce the number of customer support calls each day, then this goal might not be relevant. But if the objective is to increase total sales revenue across all products, then it is very relevant.
  • Trackable
    We can count the number of page views and add-to-carts over an extended period of time.

By contrast, here’s a dumb business goal for the product detail page:

I want to make more money.

This is a poor business goal because it’s not specific and might not be relevant to this page at all. There are many ways to make more money, and without specificity in the strategy to accomplish this, creating a successful plan of action will be much more difficult. Remember, if a goal is not actionable, then it has no reason to exist because there’s no end towards which effort and action can be directed.

UX S.M.A.R.T. Goals Applied

So, now we understand the criteria behind well-defined S.M.A.R.T. goals and have applied them to the user and business goals for the product detail page of a fictional e-commerce website. How can we use this to our advantage as we move forward with the architecture and design of the page?

Associated Content and Feature Requirements

Because the goals we’ve defined are specific and actionable, we are able to propose content and features that directly satisfy them. Let’s revisit the four high-level goals of our product detail page and attach appropriate requirements to them.

Primary user goal (UG1):

I want to learn more about this product’s design, features and specifications to determine whether it fits my budget, needs and preferences.

Content and features required to satisfy this goal:

  • Relevant images that represent the product as a whole;
  • Relevant images (such as enlarged views and alternate angles) that show the product in detail;
  • General description that provides a brief overview of the product’s purpose and benefits;
  • Specifications that are relevant to consumers of this product type;
  • Product variations or options (such as color, size);
  • Selling price.

Secondary user goal (UG2):

I want to purchase this product.

Content and features required to satisfy this goal:

  • Selector for product variations or options;
  • Customer satisfaction guarantee (such as return policy, privacy policy);
  • Quantity selector;
  • “Add to Cart” function.

Primary business goal: (BG1):

We want to increase the ratio of add-to-carts to page views for the product detail page to x%.

Content and features required to satisfy this goal:

  • Reference user goal 1,
  • Reference user goal 2.

Secondary business goal (BG2):

We want to increase cross-sells to y% of total add-to-carts.

Content and features required to satisfy this goal:

  • Related products that the user might also be interested in (for example, if the user is looking at the detail page for a small digital camera, recommend a small case to put it in).

Because everything must serve a documented goal, scope creep during the project’s lifecycle is reduced. This is not to suggest that content and features beyond these goals cannot be included. Components such as global navigation or a site-wide search box might be required even though they are not the purpose of the page. Determining what belongs on a page is admittedly not as black and white as these example might lead one to believe.

That said, setting content and feature requirements based on S.M.A.R.T. goals does help to determine the visual hierarchy of information on the page. This is extremely helpful during the wireframing stage.

Product detail page wireframe.
A wireframe for the product detail page of a fictional e-commerce website. The user goals (UG1 and UG2) and business goals (BG1 and BG2) correspond to those outlined above. Download the complete wireframe for this example.

As we can see in the above annotated wireframe, the content and features that satisfy primary user and business goals (labelled UG1 and BG1) are more prominent in scale and placement than those that satisfy the secondary goals (UG2 and BG2).

Now, having applied S.M.A.R.T. goals across the planning and architectural phases of a project, we can see the benefits of this UX strategy, as follows:

  • Goals are specific, measurable, actionable, relevant and trackable.
  • Because the goals are specific and actionable, we can attach appropriate content and feature requirements to each one. Because the goals are relevant, these requirements are relevant, too.
  • The hierarchy of the content and features is determined by the hierarchy of the goals that they are attached to. This informs the architecture of the wireframes.

With these benefits in mind, we can begin to understand how this positively affects other stages in the project’s lifecycle:

  • Wireframes with well-informed structures and content are solid foundations on which to design higher-fidelity mock-ups.
  • Because the goals are measurable and trackable, we can determine the success of the design during testing, learn from it, and make improvements in subsequent iterations.

Ultimately, these all contribute to our ability to understand the problem and craft an appropriate strategy and tactic to solve it. Our discipline in gaining focus in the earliest stages of a project will determine our ability to maintain focus when designing the functional aspects of the product at the end.

Conclusion

A great user experience is the result of setting concrete goals that meet both user goals and business goals. Unfortunately, I have seen many teams kick off a project with nothing more than a goal of, “Let’s create a great UX!” While a noble thing to strive for, it’s not specific, actionable or measurable. It contributes nothing to the planning or design phases, and it is the UX equivalent of a motivational high-five.

Banksy flower thrower.
(Image: Dickson Fong. Original artwork: Banksy.)

Banksy once said:

“Artwork that is only about wanting to be famous will never make you famous. Fame is a byproduct of doing something else. You don’t go to a restaurant and order a meal because you want to have a shit.”

Likewise, a good user experience is the byproduct of many brand, product, design and development decisions. As designers, we must collaborate with our clients and ensure that we thoroughly understand the needs of their business and target audience. Only then can we be empowered to create appropriate strategies and tactics to achieve them.

So, don’t try to “create a good user experience.” Create a S.M.A.R.T. one.

Additional Resources

(al)


© Dickson Fong for Smashing Magazine, 2011.

:: Read More
(Published: Tue, 13 Sep 2011 07:47:58 -0700)

Upcoming Web Design and Development Conferences in 2011-12

  

We spend a lot of time learning and thinking about the designs we see online, yet what we miss quite often are practical insights into the design process and workflow of our colleagues. This is why conferences are great for our industry. We meet people who think very much like we do and most probably struggle with similar problems; and perhaps they’ve found a solution which can inspire others. We learn how our colleagues work and what they have experienced; we can exchange our thoughts and ideas directly — something that we might struggle finding time for on Twitter or via email. Networking is great, and it’s powerful. And this is why every now and again we present an overview of upcoming conferences on Smashing Magazine.

In fact, it’s that time of year again when the Web design conference schedule really heats up. As we’ve always done in the past, here we present to you a chronological list of all the upcoming events and conferences that are of specific interest to Web designers and developers. We’ve also put together a Google Calendar as well as an Events iCal (.ics) file for you to use as a reference for your schedule. If you know of an event taking place between now and February, please add it to the comments. You can jump to a section using the links below:

September Events

Flash on the Beach
“Three days of design, code, inspiration and networking for digital designers, developers and artists.”

When: September 11 – 14
Where: Brighton, UK at the Brighton Dome

Flash on the Beach

Breaking Development
“Breaking Development is coming to Nashville with an awesome lineup of mobile speakers and challenging topics. We’ll follow two days of incredible sessions with a day of workshops where you can roll up your sleeves and get elbow deep in the latest coding and design practices.”

When: September 12-14, 2011
Where: Nashville, TN, USA at the Gaylord Opryland

Breaking Development

Future of Mobile
“The Future of Mobile (FOM) is a one day conference aimed at mobile designers, developers, and entrepreneurs. FOM brings together mobile visionaries to discuss cutting edge topics such as HTML5 for mobile design, UX for mobile interfaces, tips on how to make your mobile App successful and much more.”

When: September 16, 2011
Where: London, UK at the Mermaid Conference Centre

Future of Mobile

Google Developer Day
“Google Developer Day is a one-day event featuring advanced technical content on Google platforms and products from the teams that work on them. Join us for the latest developments in Android, Chrome, HTML5, Cloud and more.”

When: September 16, 2011
Where: Sao Paulo, Brazil at the Sheraton WTC Hotel

Google Developer Day

London Design Festival
“First staged in 2003, the London Design Festival is one of the world’s most important annual design events. The nine-day Festival programme is made up of over 280 events and exhibitions staged by 200 partner organisations across the design spectrum and from around the world.”

When: September 17-25, 2011
Where: London, UK at a number of different venues across the city

London Design Festival

Kings of Code
“On September 19th 2011, 300 developers will gather in Amsterdam to explore and discuss the latest trends, developments and best practices in web and mobile development technologies. We’ve invited leading international speakers & developers to share their knowledge and visions on development and coding.”

When: September 19, 2011
Where: Amsterdam, The Netherlands at Felix Meritis

Kings of Code

Search Engine Strategies
“SES Conference & Expo is the leading global event series that educates delegates in search and social marketing, putting a special focus on tactics and best practices. SES Events provide instruction from the industry’s top experts, including representatives from the Search Engines themselves.”

When: Six Dates in six cities starting on September 21
Where: Hong Kong, Amsterdam, New York, Berlin, Chicago, and Singapore

Search Engine Strategies

EuroIA
“EuroIA invites your participation to this premier European event on Information Architecture. Join us in Prague, Czech Republic, September 22-24, 2011, for three incredible days of workshops, presentations, panels, and networking with information architects from across Europe and around the world.”

When: September 22-24, 2011
Where: Prague, Czech Republic at the Prague Marriott Hotel

EuroIA

WebExpo
“Meet your community. Get inspired by opinion-leaders in your field. Get new contacts and ideas. Enjoy unique atmosphere, which is not replaceable by YouTube. Recharge energy at the biggest Central European web conference for a great price.”

When: September 22-24, 2011
Where: Prague, Czech Republic at the University of Economics

WebExpo

Node.js Conference
“Node.js is an event-driven I/O framework for the V8 JavaScript engine. It is intended for writing scalable network programs such as web servers. This conference is born with this spirit : not strictly a commercial or promotional event, but rather a gathering organized using time, passion and willingness taken away from our daily working life. From the community for the community.”

When: September 24, 2011
Where: Brescia, Italy

Node.js Conference

Accessibility Summit
“Environments for Humans brings together some of the Web’s most notable experts in Accessibility for an all-new, one-day only online conference, the Accessibility Summit! Bring the experts to your desktop September 27th from 9AM to 5PM (CT).”

When: September 27, 2011
Where: Online

Accessibility Summit

Do-It-Yourself Usability Testing: The Workshop
“In this day-long session, I’ll teach you how to do your own low-cost/no-cost testing that’s simple enough to make it a routine part of your design process.”

When: September 27, 2011
Where: Seattle, WA, USA at Seattle Public Library’s Central Library

Do-It-Yourself Usability Testing: The Workshop

Back to the Front
“Back to the Front is a one day Front End Conference organized in Cesena by From The Front with the support of the University of Bologna. Speakers include Jeremy Keith and Lea Verou.”

When: September 29, 2011
Where: Cesena, Italy at Universitŕ di Bologna

Back to the Front

RubyConf
“RubyConf is the official International Ruby Conference. Founded in 2001, RubyConf has provided an annual venue for the ever-growing Ruby community to meet face to face to share, collaborate, and socialize.”

When: September 29 – October 1, 2011
Where: New Orleans, LA, USA at the Astor Crowne Plaza

RubyConf

Over the Air
“Over the Air is a unique tech-agnostic event for and by the developer community, featuring technical workshops where attendees can roll up their sleeves and tinker with new platforms, operating systems, APIs & SDKs; and tutorial sessions that feature real business cases, new insights and a healthy dollop of inspiration.”

When: September 30 – October 1, 2011
Where: Bletchley, UK at Bletchley Park

Over the Air

A Better World by Design
“A Better World by Design is a three-day internationally acclaimed conference held annually at Brown & RISD campuses in Providence, RI that connects students, professionals, and individuals from a variety of disciplines in order to build a global community of socially conscious and passionate innovators.”

When: September 30 – October 2, 2011
Where: Providence, RI, USA

A Better World by Design

Usability Week 2011
“Many conferences offer cavernous exhibit halls, brief seminars on second-hand discoveries, and a sense of anonymity that can be truly alienating. Usability Week takes a different approach.”

When: Various dates in September, October and November
Where: San Francisco, CA, and Austin, TX, USA and London, UK

Usability Week 2011

October Events

Pittsburgh Web Design Day
“Pittsburgh Web Design Day is a one-day, web design conference to highlight local talent as well as those with strong ties to Pittsburgh who have gone on to be leaders in our industry. Web Design Day is designed to be an intimate and affordable event. We feature a number of high-end web design presentations, a tasty lunch catered by our friends at Franktuary and great networking opportunities.”

When: October 1, 2011
Where: Pittsburgh, PA, USA at the Left Field Meeting Space

Pittsburgh Web Design Day

jQuery Conference
“jQuery Conferences are so exciting because of the speakers that contribute talks during the conference. This year, speakers include Doug Neiner, Ben Alman, Elijah Manor, and Yehuda Katz.”

When: October 1-2, 2011
Where: Boston, MA, USA at the Royal Sonesta Hotel

jQuery Conference

JSConf EU
“JSConf is a conference devoted to the programming language we all love to hate and hate to love, JavaScript. This is conference will be thoughtful, content driven, and exemplify the very nature of JavaScript. The core focus of this conference is to expose some of the details about JavaScript that are often overlooked and present them more as a discussion with the audience.”

When: October 1 – 2, 2011
Where: Berlin, Germany at Alte Münze Berlin

JSConf EU

Adobe MAX
“MAX is an opportunity unlike any other, where you can discover the latest tools and techniques, connect with potential clients, new partners, and old friends, and be inspired by the brightest minds in the industry.”

When: October 1-5, 2011
Where: Los Angeles, CA, USA at the Los Angeles Convention Center and the Nokia Theatre L.A. LIVE

Adobe MAX

Phoenix Design Week[s]
“Phoenix Design Week was started in 2009 to help connect the Phoenix design community. Each year we put together a conference and a week of events and exhibitions meant to bring our community together.”

When: October 1-18, 2011
Where: Phoenix, AZ, USA

Phoenix Design Week[s]

FITC Unconference
“The Unconference is a way for attendees to convene in a casual setting to share ideas as well as host their own discussion groups. This year FITC has once again been chosen as one of the organizations to run one of the Unconference areas.”

When: October 3-5, 2011
Where: Los Angeles, CA, USA at the Los Angeles Convention Center

FITC Unconference

Future of Web Apps
“The Future of Web Apps London (FOWA) is a 3 day conference aimed at Web Developers and Entrepreneurs. FOWA brings together web visionaries to discuss the technologies, platforms and business models you should be using to launch the next generation of successful web apps.”

When: October 3-5, 2011
Where: London, UK

Future of Web Apps

Do-It-Yourself Usability Testing: The Workshop
“In this day-long session, I’ll teach you how to do your own low-cost/no-cost testing that’s simple enough to make it a routine part of your design process.”

When: October 5, 2011
Where: London, UK at The Institute of Contemporary Arts (ICA)

Do-It-Yourself Usability Testing: The Workshop

Fronteers
“Founded in 2007, Fronteers is the non-profit trade organization of Dutch front-end developers. Its goals include the professionalisation of our trade, (improved) recognition of the front-end discipline, and improving the position of Dutch front-end developers in their company and the web design/development world in general.”

When: October 6-7, 2011
Where: Amsterdam, The Netherlands, at the Pathé Tuschinski

Fronteers

T3CON11
“We invite you to a stunning event with a broad range of topics and professional speakers. This will be a great opportunity to learn more about the powerful TYPO3 CMS, the FLOW3 framework and to connect with other managers, developers and designers from all over the world. Many internationally known leaders of the TYPO3 community will attend and present.”

When: October 6-8, 2011
Where: Frankfurt, Germany in the Congress Park Hanau

T3CON11

HTML5tx
“HTML5.tx is the premier event for web designers, developers and technologists in Texas. This event will be a place for people of all disciplines and backgrounds to learn from web experts and each other about HTML, CSS, JavaScript and the future of the web.”

When: October 8, 2011
Where: Austin, TX, USA at St. Edwards University, Ragsdale Center

HTML5tx

International PHP Conference
“The International PHP Conference is the global recognized event for PHP developers, webworkers, IT managers and everyone interested in web-technology. Again, the conference will focus on main topics for developers and core-technologies for decision makers.”

When: October 9-12, 2011
Where: Mainz, Germany at the Rheingoldhalle

International PHP Conference

PHPNW 2011
“The heart and soul of a conference is the community that it serves. PHPNW is run by passionate volunteers, bringing an annual conference that benefits both developers and their companies.”

When: October 7th,8th & 9th, 2011
Where: Manchester, UK at the Ramada Manchester Piccadilly

PHPNW 2011

FRONTEND 2011
“A conference that includes masterclasses and two days of conference material. Speakers this year include Simon Collison, Sarah Parmenter, Andy Budd, and Vitaly Friedman.”

When: October 10-12, 2011
Where: Oslo, Norway at the Clarion Hotel Royal Christiania

FRONTEND 2011

Web Directions South
“Our philosophy is simple — bring together the best local and international independent experts, covering the most relevant topics for practicing web designers, developers and decision makers. To keep up with HTML5, CSS3, JavaScript, mobile app development and all the latest in design, development and the big picture, there’s only one event to attend: Web Directions South 2011.”

When: October 11-14, 2011
Where: Sydney, Australia at the Masonic Centre and the Convention and Exhibition Centre

Web Directions South

Brooklyn Beta
“Brooklyn Beta is a small, friendly web conference aimed at the “work hard and be nice to people” crowd. Last year, our first year, we had a simple message. “Make something you love.” We think the more people who work on their own ideas, the better place the Web and the world will be.”

When: October 12-14, 2011
Where: Brooklyn, NY, USA at the Invisible Dog

Brooklyn Beta

Do It With Drupal
“Do It With Drupal is a three-day educational seminar presented by Lullabot that connects attendees with practical information and resources for building Drupal-based websites. Presenters are rockstar Drupal community leaders and authors, as well as renowned experts in fields such as user experience and design, social publishing, and the business of Open Source.”

When: October 12-14, 2011
Where: New York City, NY, USA

Do It With Drupal

Design by Fire
“The Design by Fire Conference provides a stage for inspiring professionals to share their passion for interaction design with peers, refueling knowledge and competence to cope with the challenges of IxD’s professional practice.”

When: October 13-14, 2011
Where: Utrecht, The Netherlands

Design by Fire

edUi Conference
“Focusing on the universal methods and tools of user interface and interaction design, as well as the unique challenges of producing websites and applications for large institutions, edUi is a perfect opportunity for Web professionals at institutions of learning—including higher education, K-12 schools, libraries, museums, government, and local and regional businesses—to develop skills and share ideas.”

When: October 13-14, 2011
Where: Richmond, VA, USA at the Marriott hotel

edUi Conference

Pivot: AIGA Design Conference
“Join more than 1,500 designers at “Pivot” this fall to share what is inspiring about design, how to succeed in meeting your clients’ needs, and how design can be more effective than ever as society, the economy and the context for design evolves.”

When: October 13-16, 2011
Where: Phoenix, AZ, USA at the Phoenix Convention Center

Pivot: AIGA Design Conference

Design Philadelphia
“As a cultural initiative partnered with the University of the Arts, DesignPhiladelphia aims to further this region’s creative economy and retain jobs locally. It places Philadelphia in the spotlight as an unrivalled city of innovation and vibrancy – an excellent place in which to live, work, play, and grow!”

When: October 13-23, 2011
Where: Philadelphia, PA, USA at various locations

Design Philadelphia

decoded
“The decoded conference stands for the combination of design and code. It combines creative and technological aspects of our everyday life and brings them all together on a one day kick ass event in the heart of Munich. International speakers from the field of generative design, computational art, information visualization and hardware tinkering are teaming up to share some insights of their work and tell their very own stories.”

When: October 15, 2011
Where: Munich, Germany at Freiheizhalle

decoded

Wakanday Conference
“Come make JavaScript the singular language for business solutions, from top to bottom. Wakanday is a conference for developers who believe in JavaScript beyond the front end, who want to see JavaScript on the back-end, in the datastore, and in between: JavaScript everywhere. Join the minds who are working to make this a reality.”

When: October 15, 2011
Where: Boston, MA, USA at the Omni Parker House Hotel

Wakanday Conference

ZendCon
“The Zend PHP Conference (ZendCon) is the largest gathering of the PHP Community and brings together PHP developers and IT managers from around the world to discuss PHP best practices and explore new technologies. The conference will include a variety of technical sessions and in-depth tutorials covering cloud computing, mobile, and enterprise PHP.”

When: October 17-20, 2011
Where: Santa Clara, CA at the Convention Center

ZendCon

Blackberry Devcon Americas
“The BlackBerry® Developer Conference is the showcase for the latest innovations and breakthroughs with the BlackBerry Development Platform. Thousands of BlackBerry enthusiasts come together for sessions, demonstrations, hands-on labs and keynotes — all focused on creating mobile applications for the powerful BlackBerry platform.”

When: October 18-20, 2011
Where: San Francisco, CA, USA at the Marriot Marquis

Blackberry Devcon Americas

Asbury Agile
“Asbury Agile’s goal is to bring together a group of creative doers and makers in the web industry down to the Jersey Shore to hang out in an informal and friendly environment, 2 stories above the Asbury Park boardwalk, overlooking the ocean, to learn, network and share experiences.”

When: October 19, 2011
Where: Abury Park, NJ, USA

Asbury Agile

TYPO London
“TYPO London is a three day conference offering up to 40 presentations from the heart of London. TYPO conferences were birthed in the desktop publishing revolution of the 1990s and overtime, events have become a broad based representation of the creative industry, cultural and social issues and as the name suggests, a contemporary commentary on graphic design, typography and communication from the word up.”

When: October 20-22, 2011
Where: London, UK at Logan Hall

TYPO London

The ExpressionEngine and CodeIgniter Conference
“For the second time, EECI is going to the US and this time we’re heading for the East Coast. Fabulous Brooklyn, NY will be ExpressionEngine and CodeIgniter flavored for three exciting days. With a new line-up, fresh topics, a couple of fringe events and the EECI2010 hit “DevDay”, EECI will be the premier ExpressionEngine event of the year.”

When: October 19-21, 2011
Where: Brooklyn, NY, USA at the Invisible Dog Art Center

The ExpressionEngine and CodeIgniter Conference

Front Row Conference
“Front Row is a two-day, one-track conference made by the people and for the people who want to shape the future of the web.”

When: October 20-21, 2011
Where: Kraków, Poland at the Park Inn Kraków

Front Row Conference

WDC2011
“The aim of the WDC events is to bring together a mix on professionals and students and to teach both levels something new and introduce a bespoke networking opportunity and social gathering.”

When: October 21, 2011
Where: Brisol, UK in the Odeon Bristol, Screen 1.

WDC2011

An Event Apart DC
“An Event Apart is an intensely educational two-day conference for passionate practitioners of standards-based web design. If you care about code as well as content, usability as well as design, An Event Apart is the conference you’ve been waiting for.”

When: October 24-26, 2011
Where: Washington, DC, USA at the Westin Alexandria

An Event Apart DC

VIEW Conference
“VIEW Conference is the premiere international event in Italy on Computer Graphics, Interactive Techniques, Digital Cinema, 3D Animation, Gaming and VFX. Through lectures, meetings, tributes, exhibits, screenings and demo presentations VIEW will reveal the new digital frontier sweeping from cinema to architecture, from automotive design to advertisement, from medicine to videogames.”

When: October 25-28, 2011
Where: Turin, Italy at TorinoIncontra

VIEW Conference

RIA Unleashed Boston
“Flex, AIR, ColdFusion, and more. FITC is VERY excited to be involved with RIA Unleashed! Guests and speakers from New England and throughout North America will be coming to the 5th Annual RIA Unleashed event this October. This popular, low-cost event is accessible to every budget, and last year’s event was a super success.”

When: October 27-28, 2011
Where: Waltham, MA, USA at Bentley College

RIA Unleashed Boston

PDN PhotoPlus International Conference + Expo
“Get ready for the hottest industry event for photographers and image-makers, PhotoPlus International Conference + Expo, brought to you by PDN. It’s the only place where you have infinite access to emerging technology, trends and talent while test driving new imaging tools, discovering creative solutions and expanding your network. ”

When: October 27-29, 2011
Where: New York, NY, USA at the Jacob K. Javits Convention Center

PDN PhotoPlus International Conference + Expo

Creative Camp
“Creative Camp NZ is a non-profit, 2-day and multiple-track event in Wellington happening later this year and successor of the Flash Platform Camps we’ve held in the past two years in Wellington.”

When: October 28-29, 2011
Where: Wellington, New Zealand at Natcoll Design Technology

Creative Camp

DevConnections
“Join us and explore the latest trends and get the most up to date information and training available. All while networking with your colleagues and building a valuable network of peers in one of the most entertaining cities in the world”

When: October 31 – November 3, 2011
Where: Las Vegas, NV, USA at the Mandalay Bay Resort & Casino

DevConnections

November Events

HTML5 Live
“Unlike most “other” HTML5 events that are geared towards web design, HTML5 Live is designed for enterprise web application developers and architects. The HTML5 Live program dives into areas of Browser Support, Architecture, Communication, Mobile and Web Applications.”

When: November 1, 2011
Where: New York, NY, USA at New World Stages

HTML5 Live

YUIConf 2011
“The YUI team is excited to announce YUIConf 2011! We’ll be hosting the YUI developer community at Yahoo’s Santa Clara, CA campus for a two-day technical conference November 3-4. We’re also putting together a couple days of hands-on training workshops November 1-2.”

When: November 1-4, 2011
Where: Santa Clara, CA, USA at at Yahoo’s Santa Clara campus

YUIConf 2011

HOW Interactive Design Conference
“HOW magazine is delighted to introduce HOW Interactive Design Conference, a three-day event dedicated to helping print designers expand their skill set to confidently navigate web, digital, mobile and other forms of interactive media. This info-packed conference will keep you on top of today’s fast-paced design evolution by helping you capitalize on the new technology and trends that are changing design.”

When: November 2-4, 2011
Where: San Francisco, CA, USA

HOW Interactive Design Conference

Star TechConf
“StarTechConf is a large conference that brings together worldwide stars in software development and local experts in technologies to talk about HTML5, CSS3, JavaScript, Ruby, Java, Python, Open Data, and more.”

When: November 4-5, 2011
Where: Santiago, Chile

Star TechConf

Future of Web Design
“FOWD New York: three days of cutting-edge web design learning and initimate, expert-led workshops. Give your
Design Team the edge, with sessions from the industry’s leading speakers, the hottest topics and some world-class networking opportunities.”

When: November 7-9, 2011
Where: New York, NY, USA at New World Stages

Future of Web Design

User Interface 16
“3 days of design techniques, insights, and inspiration. Full-day immersive workshops on advanced UX topics. Top UX experts
sharing their real-world experience.”

When: November 7-9, 2011
Where: Boston, MA, USA at the Renaissance Hotel

User Interface 16

Build Conference
“Build is a five-day design event made up of three days of conference, workshops, lectures, exhibitions, meetups and parties?–?bookended by a day of film and another of music.”

When: November 7-11, 2011
Where: Belfast, Northern Ireland

Build Conference

Řredev
“Řredev is the Premier developer’s conference in Europe focused on the whole software development process. Řredev means Quantity and Quality, bringing the best speakers on subjects such as Java, .Net, Project Management, Web development and Testing. We cover the topics you are working with today as well as the ones you will be using tomorrow!”

When: November 7-11, 2011
Where: Malmö, Sweden at the Slagthuset, Jörgen Kocksg

Řredev

Velocity Europe
“The Velocity Conference provides you with real-world best practices for optimizing your web pages, specifically the performance of Ajax, CSS, JavaScript, and images. Even sites that had already been optimized can benefit, making for both a better customer experience and bottom line.”

When: November 8-9, 2011
Where: Berlin, Germany

Velocity Europe

RubyConf
“RubyConf Argentina is a two-day event designed to cover the interests of a wide spectrum of programmers, from the new developer who is interested in learning Ruby for the first time to the long-time Ruby expert. The event is designed to open a dialogue between developers in Argentina and the rest of the world.”

When: November 8-9, 2011
Where: Buenos, Aires, Argentina

RubyConf

How To Web
“How to Web 2011 helps Eastern European web entrepreneurs and professionals get the inspiration, knowledge and connections they need for creating global valuable web businesses and apps. You will get hands-on information about success models in Eastern Europe, global web trends and building great web and mobile apps.”

When: November 9-10, 2011
Where: Bucharest, Romania at the Crystal Palace Ballrooms

How To Web

Design City
“Design City, a “show within a show”, will bring together graphic designers with vendors who sell to the graphic design market. It connects buyers with sellers in a modern, interactive, results-driven environment. Design City aims to further strengthen the graphic design community and bring together buyers and sellers in the industry.”

When: November 10-12, 2011
Where: Toronto, Canada at the International Centre

Design City

Full Frontal JavaScript Conference
“Full Frontal is a conference held in Brighton UK, for the front end developers with JavaScript skills ranging from beginner to advanced. If you’ve dabbled with JavaScript in the past and wanted to learn more about how the language works and what makes it tick, then this conference is for you.”

When: November 11, 2011
Where: Brighton, UK at the Duke of York’s cinema

Full Frontal JavaScript Conference

Voices That Matter: iOS Developers Conference
“You’ll be able to devote a weekend to polishing your skills, picking up new techniques from the experts, learning about new technologies, and networking with your fellow developers. Voices That Matter provides the perfect forum to access industry leaders, many of whom have written books on iOS development. You’ll participate in interactive discussions that provide the perfect environment for an effective learning experience.”

When: November 12-13, 2011
Where: Boston, MA, USA at the Harvard Medical School Conference Center

Voices That Matter: iOS Developers Conference

Screens 2011
“After two successful FITC Mobile conferences we have transformed the event into SCREENS, now dedicated to mobile, tablet and set top box development. Jam packed with information and a massive networking opportunity, SCREENS consists of presentations, demonstrations and panel discussions.”

When: November 14-15, 2011
Where: Toronto, Canada at the Metro Toronto Convention Centre

Screens 2011

WordCamp NL
“WordCamp is a conference that focuses on everything WordPress. WordCamps are informal, community-organized events that are put together by WordPress users like you. Everyone from casual users to core developers participate, share ideas, and get to know each other. WordCamps are open to WordPress.com and WordPress.org users alike.”

When: November 19-20, 2011
Where: Utrecht, The Netherlands at Seats2Meet

:: Read More
(Published: Tue, 13 Sep 2011 06:04:11 -0700)

Interaction Design Tactics For Visual Designers

  

Anyone designing Web-based properties today requires a basic understanding of interaction design principles. Even if your training is not formally in human-computer interaction, user experience design or human factors, knowing the fundamentals of these disciplines greatly enhances the chances of your design’s success. This is especially true for visual designers. Many visual designers are formally trained in art school and informally trained at interactive agencies.

While these institutions focus on designing communications, neither typically provides a strong interaction design foundation. Having a broader skill set not only makes your designs more successful but makes you more valuable and employable (i.e. you become the unicorn). While in no way exhaustive, to get you started, here are five key tactics to understand and implement in your next project.

A Graphic Designed Sculpture
Image credit: Kristian Bjornard

1. Talk To Your Customers

The most important thing to understand when designing an online experience is your audience. Understanding who they are, what they do for a living, how old they are, how they work, what they know about the Web, how they use it, on what devices, where and so on provides invaluable insight into their pain points that you are out to solve.

Setting clear constraints on your design also helps. For example, if your audience will predominantly be using mobile devices to access the Web in hospitals, then your design must be responsive to those devices and be compatible with the environments where the devices will be used. In addition, understanding your audience builds on a communication design foundation by revealing your users’ sensitivities (physical or cultural, for example) to things like color and typography.

Understanding your audience requires conversation with target users. These conversations can happen in a variety of forums. While impersonal approaches such as surveys work well enough, nothing beats face-to-face conversations with your customers. Depending on who you’re targeting with your work, finding your target audience may be as simple as going down to the local coffee shop, buying a handful of $5 gift cards and striking up conversations with the patrons there. Most people will gladly exchange 10 to 15 minutes of sharing their opinion for a coffee shop gift card. Other ways to find users are to post ads on websites like Craigslist, pull names off your customer lists, reach out to trade organizations (for specific user types, like nurses) and spend time in locations where your audience spends time (for example, music fans at a concert).

The initial conversations will be awkward, but as more and more take place, a rhythm develops to the questions. Also, patterns begin to emerge, allowing you to tailor the questions more appropriately with each interview. The lessons you take away from these activities can be used to create personas — i.e. aggregate representations of typical users of your design — that can help provide context to future design decisions.


A persona document. (Image: Todd Zaki Warfel)

2. Orient The User

Now that you’ve got an understanding of who your user is, orienting them when they use your design is important. Orienting your users gives them a sense of place in a non-static experience. To effectively provide that sense, your design should tell users three things:

  1. Where they are
    Critical to any online experience is understanding where, in the broader context of the website, the user is currently transacting. If it’s clear to the user where they are, then there is a greater chance they’ll understand what you need them to do on that page. For example, if the user is aware they are on a “product page,” they should expect to see a purchase link and perhaps some other product options.
  2. How they got there
    If providing clarity on the user’s current location provides context for expected actions, then showing them the path they took to get there provides a safety net. That safety net is the comfort of knowing that if the user has wound up in the wrong place, they can back out and try again.
  3. Where they can go from here
    You’ve made it clear where they are and how they got there; if they are in the wrong spot they can backtrack and try another path. But if they’re ready to move forward or they believe the path back won’t provide the content they desire, then letting your users know what options are available from this point on is imperative. Never leave a user in a dead end. There should always be an option to proceed. A perfect example of this is a search results page that yields no results. While you should let the user know that nothing matches their search query, there should be options that lead them to the answers they seek (for example, related search terms). Ways forward can be manifested in your website’s navigation but can also be implemented as affordances. Affordances are elements in the interface that are obviously clickable, such as buttons and sliders.

Amazon no results page
Amazon does a good job with its no-results page.

(For a great primer on affordances, pick up Don Norman’s The Design of Everyday Things. While a bit dated, it lays a solid foundation for how product designers should think about their products.)

Clear website orientation provides comfort to users. It also reduces the chances that users will make mistakes and increases the chances that, when they do, they’ll be able to recover quickly.

3. Simpler Is Better

Visual designers are driven to add elements to a layout that may be aesthetically pleasing but don’t necessarily serve an interaction purpose. While certainly much is to be said for aesthetics adding to the polish and feel of an experience, when designing an interactive experience, consider opting for simpler design. Simplification means reducing the elements on the screen down to the most basic ones, the ones that will facilitate the task that the user has to complete. Start with that as a baseline, and then add ornamentation sparingly. Consider the brand of the website. The brand is a reflection not only of the aesthetic but of the experience. If a website is gorgeous, but its beauty makes completing a transaction impossible, then the website (and brand) will ultimately fail.

Aesthetics will always have a place and powerful purpose in any experience, yet ensuring that the experience is usable first is critical.

4. Design For A Dialog

Where visual design training focuses primarily on communication, interaction design puts a heavy focus on feedback loops — in essence, a conversation between the user and the website. As you work out an experience, provide ways for the system to communicate back to the user when they’ve done something right or wrong. Ensure that your experience makes clear when the user has succeeded and when an action is required to complete a transaction. Use your visual design and communication skills to build a visual language for this feedback dialogue. Ensure that no matter where the user is in the experience, any information that is coming from the website is consistent in design and presentation method. Different types of information will require different treatments. The user will learn the system quickly, and a dialogue with the website will begin to occur. In essence, you’re humanizing the experience (and the company behind it) by proactively predicting your users’ needs and presenting information and actions that mitigate user frustration.

Think Vitamin
Think Vitamin keeps the conversation going with its readers.

5. Workflow: Understanding The Before And After

Visual design is beautiful. It’s also static. Interaction design builds a workflow from page to page and from state to state. As you design each page, consider what the user can do on this page and how the next step in the process fits into the workflow. If you’ve just added a sign-up form to the page, think about what will happen when the user presses the “Submit” button. Will the page refresh? Will there be a confirmation page? What if there are errors in the form? What if the user hits the “Back” button? These are all components of the workflow of the experience. Each page or state is just one small component in the user’s click stream. The challenge is that each user might have a relatively unique click stream, depending on how they got to your website and why they came. You’ve used your knowledge of the user to orient them, and you’ve provided a simple interface that creates a successful dialogue with them: now ensure that each interaction has a logical next step. That next step should fit into the experience and visual language that you’ve created, so that the experience feels whole and consistent. These elements are what add credibility to the brand and increase users’ trust in your design.

Bonus Tip: Understand Your “Materials”

Jonathan Ive, designer of the iPod (among other things), promotes the idea that designers of all types must understand the material they’re working with. This hold true for interaction design as well. Understanding the “materials” that make up the Web is critical. A cursory education in HTML, CSS, JavaScript and related technologies will only enhance your understanding of the medium and provide a realistic perspective on your designs. A great resource for this is the group of developers who will be implementing your work. Strike up regular conversations with them about your design, and get a taste of whether your proposals are feasible given the technologies they employ. Even better, start learning the basics yourself. You don’t have to become a star coder, but knowing enough about how the medium in which you work behaves can greatly shape the interactions you design.

Summary

Interaction design is a multi-faceted discipline that links static communications together to form an experience. Understanding the basic principles of this discipline is core to designing websites that are not only aesthetically pleasing but that actually solve business problems and bring delight to their users. This article just scratches the surface of interaction design. For Web designers of any kind, considering these fundamentals when designing any transaction or interaction is imperative.

(al)


© Jeff Gothelf for Smashing Magazine, 2011.

:: Read More
(Published: Fri, 09 Sep 2011 07:16:24 -0700)

An Introduction To LESS, And Comparison To Sass

  

I’ve been using LESS religiously ever since I stumbled upon it months ago. CSS was never really a problem for me, in and of itself, but I was intrigued by the idea of using variables to create something along the lines of a color palette for my websites and themes. Having a color palette with a fixed number of options to choose from helps prevent me from going color crazy and deviating from a chosen style.

As it turns out, LESS — and Sass for that matter — are so much more than that. LESS and Sass share a lot of similarities in syntax, including the following:

  • Mixins – Classes for classes.
  • Parametric mixins – Classes to which you can pass parameters, like functions.
  • Nested Rules – Classes within classes, which cut down on repetitive code.
  • Operations – Math within CSS.
  • Color functions – Edit your colors.
  • Namespaces – Groups of styles that can be called by references.
  • Scope – Make local changes to styles.
  • JavaScript evaluation – JavaScript expressions evaluated in CSS.

The main difference between LESS and Sass is the way in which they are processed. LESS is a JavaScript library and is, therefore, processed client-side.

Sass, on the other hand, runs on Ruby and is processed server-side. A lot of developers might not choose LESS because of the additional time needed for the JavaScript engine to process the code and output the modified CSS to the browser. There are a few ways around this. The way I get around it is to use LESS only during the development process. Once I’m finished, I copy and paste the LESS output into a minifier and then into a separate CSS file to be included in place of the LESS files. Another option is to use LESS.app to compile and minify your LESS files. Both options will minimize the footprint of your styles, as well as avoid any problems that might result from the client’s browser not running JavaScript. While this is not likely, it’s always a possibility.

LESS Is More

Installation

Including LESS in something that you’re building is about as easy as it gets:

  1. Go get yourself a copy of less.js;
  2. Create a file to put your styles in, such as style.less;
  3. Add the following code to your HTML’s <head>:
<link rel="stylesheet/less" type="text/css" href="styles.less">
<script src="less.js" type="text/javascript"></script>

Note the rel attribute of the link. You are required to append the /less to the end of the value in order for LESS to work. You are also required to include the script immediately after the link to the style sheet. If you’re using HTML5 syntax, and I can’t imagine why you wouldn’t be, you can leave out the type="text/css" and the type="text/javascript".

There’s also a server-side version of LESS. The easiest way to install LESS on the server is with Node Package Manager (NPM).

Variables

If you’re a developer, variables are one of your best friends. In the event that you’ll be using information repeatedly (in this case, a color), setting it to a variable makes sense. This way, you guarantee yourself consistency and probably less scrolling about looking for a hex value to copy and paste. You can even do some fun little adding and subtracting of hex values that you want to render. Take this example:

@blue: #00c;
@light_blue: @blue + #333;
@dark_blue: @blue - #333;

If we apply these styles to three divs, we can see the gradated effect created by adding and subtracting the hex values to and from the original blue:

A screenshot illustrating the transition from 3 shades of blue

The transition from @light_blue to @blue to @dark_blue.

The only difference in variables between LESS and Sass is that, while LESS uses @, Sass uses $. There are some scope differences as well, which I’ll get to shortly.

Mixins

On occasion, we might create a style that’s intended to be used repeatedly throughout the style sheet. Nothing is stopping you from applying multiple classes to the elements in the HTML, but you could also do this without ever leaving your style sheet, using LESS. To illustrate this, I have pasted some sample code that one might use to style two elements on the page.

.border {
border-top: 1px dotted #333;
}

article.post {
background: #eee;
.border;
}

ul.menu {
background: #ccc;
.border;
}

This will give you something similar to what you would get if you had gone back to the HTML file and added the .bordered class to the two elements there — except you’ve done it without leaving the style sheet. And it works just as well:

A screenshot illustrating two elements that share a border style

Both the article and the unordered list share the border style.

With Sass, you declare @mixin prior to the style to identify it as a mixin. Later, you declare @include to call it.

@mixin border {
border-top: 1px dotted #333;
}

article.post {
background: #eee;
@include border;
}

ul.menu {
background: #ccc;
@include border;
}

Parametric Mixins

Like having functions in your CSS (*swoon*), these can be immensely useful for those seemingly redundant tasks of modern-day CSS. The best and most useful example of their use relates to the many vendor prefixes that we struggle with during this transition from CSS2 to CSS3. Nettuts+ has a wonderful webcast and article by Jeffrey Way, with details on including a file consisting entirely of useful parametric mixins that cover most of your favorite CSS3 properties in the respective vendor prefixes. For example, a simple mixin to handle rounded corners in their various forms:

.border-radius( @radius: 3px ) {
-webkit-border-radius: @radius;
-moz-border-radius: @radius;
border-radius: @radius;
}

In this case, the .border-radius class has a default radius of 3 pixels, but you can pass whatever value you like to get a rounded corner of that radius. Something like .border-radius(10px) will round the corners by 10 pixels.

The syntax in Sass is very similar to that of LESS. Just use the $ for variables, and call the mixins with the @mixin and @include method mentioned earlier.

Selector Inheritance

Here’s something not provided in LESS. With this ability, you can append a selector to a previously established selector without the need to add it in a comma-separated format.

.menu {
	border: 1px solid #ddd;
}

.footer {
	@extend .menu;
}

/* will render like so: */
.menu, .footer {
	border: 1px solid #ddd;
}

Nested Rules

Nesting classes and ids in CSS can be one of the only methods to keep your styles from interfering with and from being interfered with any other styles that may be added along the way. But this can get very messy. Using a selector like #site-body .post .post-header h2 is unappealing and takes up a lot of unnecessary space. With LESS, you can nest ids, classes and elements as you go. Using the example above, you could do something like this:

#site-body { …

    .post { …

        .post-header { …

            h2 { … }

            a { …

            	&:visited { … }
            	&:hover { … }
            }
        }
    }
}

The above code is essentially the same as the ugly selector in the previous paragraph, but it’s much easier to read and understand, and it takes up much less space. You can also refer in element styles to their pseudo-elements by using the &, which in this case functions similar to this in JavaScript.

Operations

This is about what you would expect: using fixed numbers or variables to perform mathematical operations in your styles.

@base_margin: 10px;
@double_margin: @base_margin * 2;

@full_page: 960px;
@half_page: @full_page / 2;
@quarter_page: (@full_page / 2) / 2;

For the record, I am aware that I could have also divided by four to get the @quarter_page variable, but I wanted to illustrate that the parentheses rule from the “order of operations” also applies. Parentheses are also required if you’re going to perform operations within compound properties; for example, border: (@width / 2) solid #000.

Sass is a lot more versatile with numbers than LESS. It has built into it conversion tables to combine comparable units. Sass can work with unrecognized units of measurement and print them out. This feature was apparently introduced in an attempt to future-proof the library against changes made by the W3C.

/* Sass */
2in + 3cm + 2pc = 3.514in

/* LESS */
2in + 3cm + 2pc = Error

Color Functions

Earlier, I mentioned how LESS helps me stick to a color scheme in my coding process. One of the parts that contributes to this the most is the color function. Suppose you use a standard blue throughout your styles, and you want to use this color for a gradated “Submit” button in a form. You could go into Photoshop or another editor to get the hex value for a slightly lighter or darker shade than the blue for the gradient. Or you could just use a color function in LESS.

@blue: #369;

.submit {
    padding: 5px 10px;
    border: 1px solid @blue;
    background: -moz-linear-gradient(top, lighten(@blue, 10%), @blue 100%); /*Moz*/
    background: -webkit-gradient(linear, center top, center bottom, from(lighten(@blue, 10%)), color-stop(100%, @blue)); /*Webkit*/
    background: -o-linear-gradient(top, lighten(@blue, 10%) 0%, @blue 100%); /*Opera*/
    background: -ms-linear-gradient(top, lighten(@blue, 10%) 0%, @blue 100%); /*IE 10+*/
    background: linear-gradient(top, lighten(@blue, 10%) 0%, @blue 100%); /*W3C*/
    color: #fff;
    text-shadow: 0 -1px 1px rgba(0,0,0,0.4);
}

The lighten function literally lightens the color by a percentage value. In this case, it will lighten the base blue by 10%. This method enables us to change the color of gradated elements and any other elements with that color simply by changing the base color itself. This could prove immensely helpful in theming. Plus, if you used a parametric function, like the ones listed above, you could alleviate some of that browser-prefix tedium with something as simple as .linear-gradient(lighten(@blue), @blue, 100%);.

Either way, you get an effect that’s rather nice:

Screenshot of a styled submit button

Our nicely gradated, variable-based “Submit” button.

There are a lot of other color functions for darkening and saturating colors and even spinning the color wheel to other colors. I recommend trying them out to see what you can come up with.

Sass seems to have a lot more color options — not that I would need them all. Lighten and darken are the only ones that I see myself using often. For more detail, Nex3 has an in-depth article on the topic.

Conditionals and Control

This is rather nifty, and another thing not provided by LESS. With Sass, you have the ability to use if { } else { } conditional statements, as well as for { } loops. It supports and, or and not, as well as the <, >, <=, >= and == operators.

/* Sample Sass "if" statement */
@if lightness($color) > 30% {
  background-color: #000;
} @else {
  background-color: #fff;
}

/* Sample Sass "for" loop */
@for $i from 1px to 10px {
  .border-#{i} {
    border: $i solid blue;
  }
}

Namespaces

Namespaces can be used to add another level of organization to our CSS, by allowing us to create groups of commonly used styles and then pick from them along the way. For instance, if we created a group of styles called defaults, we could pull from this group when we come across an element that needs it.

#defaults {
	.nav_list () {
		list-style: none;
		margin: 0; padding: 0;
	}
	.button () { … }
	.quote () { … }
}

Later, in our code, if we come across a ul element within a nav element, we would know that we’ll need our default style. So, we can simply call it, and it will be applied.

nav ul {
	#defaults > .nav_list;
}

Scope

Scoping is standard throughout programming and thus standard in LESS. If you define a variable at the root level of your style sheet, it will be available and consistent throughout the document. If, however, you redefine the variable from within a selector such as an id or class, then it will be available — with the new value — only within that selector.

@color: #00c; /* blue */

#header {
	@color: #c00; /* red */

	border: 1px solid @color; /* will have a red border */
}

#footer {
	border: 1px solid @color; /* will have a blue border */
}

Because we’ve restated the variable within the #header selector, the value for that variable will be different and will apply only within that selector. Anything before or after it will retain the value of the original statement.

Scope is handled a little differently in Sass. In the above code, when the @color variable is changed to red, it will be interpreted as such from that point on within the code.

Comments

This part is pretty basic. Two types of comments are valid in LESS. The standard CSS comment, /* comment */, is valid and will get passed through the processing and outputted. Single-line comments, // comment, work as well but will not get passed and outputted and, as a result, are “silent.”

Importing

Importing is pretty standard, too. The standard @import: 'classes.less'; works just fine. If, however, you’re importing another LESS file, then the file extension is optional, so @import 'classes'; would work as well. If you want to import something without LESS processing it, you can use the .css extension (for example, @import: 'reset.css';).

String Interpolation

String values can also be used in variables and called within styles via @{name}.

@base_url = 'http://coding.smashingmagazine.com';
background-image: url("@{base_url}/images/background.png");

Escaping

There will be times when you need to include a value that is not valid CSS syntax or that LESS doesn’t recognize. More often than not, it will be some crazy Microsoft hack. To avoid throwing errors and breaking LESS, you will need to escape them.

.class {
	filter: ~"progid:DXImageTransform.Microsoft.Alpha(opacity=20)";
}

/* Will actually be outputted like this: */
.class {
	filter: progid:DXImageTransform.Microsoft.Alpha(opacity=20);
}

JavaScript Evaluation

This is one of my favorite parts of LESS: using Javascript in style sheets — simply brilliant. You can use expressions and also reference aspects of the environment using backticks.

@string: `'howdy'.toUpperCase()`; /* @string becomes 'HOWDY' */

/* You can also use the previously mentioned interpolation: */
@string: 'howdy';
@var: ~`'@{string}'.topUpperCase()`; /* becomes 'HOWDY' */

/* Here we access part of the document */
@height = `document.body.clientHeight`;

Output Formatting

Whereas LESS has no output settings, Sass provides four output versions: nested, compact, compressed and expanded.

Final Thoughts

These two libraries share a lot of basics. Both of them are fantastic tools for designers who code, and they can also help developers work more efficiently and quickly. If you’re a fan of Ruby or HAML, then Sass might be right up your ally. For me, being a PHP and JavaScript geek, I tend to lean towards LESS for its ease of inclusion and access to JavaScript’s expressions and document attributes. I doubt that I’ve even come close to truly grasping the possibilities of programming in my style sheets, but I am intent on trying. If you’ve been using either, or both, of these in your work, I’d love to hear more about it and see some of your results. Tips, tricks and corrections are, of course, always welcome as well.

(al)


© Jeremy Hixon for Smashing Magazine, 2011.

:: Read More
(Published: Fri, 09 Sep 2011 02:57:58 -0700)

Behind The Scenes of Smashing Magazine: Interview With Our Writers
Smashing-magazine-advertisement in Behind The Scenes of Smashing Magazine: Interview With Our WritersSpacer in Behind The Scenes of Smashing Magazine: Interview With Our Writers
 in Behind The Scenes of Smashing Magazine: Interview With Our Writers  in Behind The Scenes of Smashing Magazine: Interview With Our Writers  in Behind The Scenes of Smashing Magazine: Interview With Our Writers

In the Web design scene, the sense of community is extremely strong. We always talk about “giving back” and about how much we learn from those who do. A few names are popular and dropped here and there. But it’s all still just a bit too impersonal, isn’t it? Here at Smashing Magazine, we’ve decided to give you a more intimate look at our writers.

Among the people who regularly write for us, 15 agreed to answer our questions. We also challenged them to take a picture of themselves on the spot, with no time for make-up. This interview is not meant to give you any particular professional insight, even though we cover that ground a bit. Rather, it’s meant to introduce you to these people on a personal level. The illustrations for this article were created by Andrea Austoni, an illustrator from Poland who we are regularly working with.

A Word About The Community

We still have very little information about the Web design community itself. How many professionals are there around the world? Where do they live? These questions are still difficult to answer precisely. A List Apart publishes an annual survey, whose 2008 edition received responses from more than 30,000 people (2009 edition wasn’t published yet). We can perhaps imagine the Web design community as an entity, which is what A List Apart does to a large extent. But what if we focused on personality? What’s the first thing they do in the morning? What do they love and hate about Web design? What is their biggest strength and worst flaw?

Composite1 in Behind The Scenes of Smashing Magazine: Interview With Our Writers

If we could combine our writers into a single person, what kind of person would it be?

  • A male in his early 30s,
  • Physically, he would have brown eyes, brown hair. He would be about 5′7″ tall (175 cm), 155lbs (70 kg),
  • He would maybe wear glasses and will surely be right-handed (there is only one left-handed person out of the 14 writers that replied).

C0109 Junkfood 01-e1278337172278 in Behind The Scenes of Smashing Magazine: Interview With Our Writers

Who said working from home implies eating all the time? Our typical writer would be quite reasonable with junk food, eating only a kg a week.

Question: What is your mission and personal philosophy while on Earth?

D96335287ff55cbbfda8cc087058482b in Behind The Scenes of Smashing Magazine: Interview With Our Writers
Paul Boag: Wow, that is a hard question to answer without sounding pretentious! My primary focus is to help and inspire others. There seems little point in spending my life simply accumulating stuff for myself. I get much more joy out of encouraging others to be better. I will never change the world, but I might inspire someone who does. That is my hope.
09872729d329fed8a004b877159da580 in Behind The Scenes of Smashing Magazine: Interview With Our Writers
Julia May: When I think about my mission on Earth, I tend to agree with George Carlin’s suggestion of why we are all here. As for my personal philosophy, I guess it changes during life, but at the moment I have a constant feeling that something good is in the air, and I try to keep my eyes open so that I don’t miss it when it comes.
Schneider in Behind The Scenes of Smashing Magazine: Interview With Our Writers
Speider Schneider: Aside from an odd leaning towards nihilistic schadenfreude, I have learned to let the bad things slide off my back. I just enjoy what I’ve done with my career and I believe between working for MAD Magazine and creating numerous Pokémon products, I have ruined at least a generation of kids. I guess my philosophy is to create as much havoc as possible. I like to live on the edge because the rent is cheap and there are few neighbors. What will be my philosophy when I leave the Earth? Depends on the planet to which I am heading.
C6d49292eef345ec8fa9ceb4f1cc80c5 in Behind The Scenes of Smashing Magazine: Interview With Our Writers
Robert Bowen: My current mission is to see true equality for all beings who share this planet and find the harmonious balance that can bring about a peace. My personal philosophy is that all beings on this Earth deserve to be respected and looked after.
C14a2511b58ff483ffaeed672b79c4cc in Behind The Scenes of Smashing Magazine: Interview With Our Writers
Janko Javanovic: My mission here is to reach true warp speed and see aliens in distant galaxies. Until then, I’ll design user interfaces and learn the importance of user experience every day.
B8eb0184e62e8a6e71a2d1d7be558248 in Behind The Scenes of Smashing Magazine: Interview With Our Writers
Louis Lazaris: I believe in the Bible and what it says about man’s destiny, and I like to reveal that most religions today do not tell the truth about the Bible’s message.

Christian Heilmann:
Do good things, make myself redundant in doing them, and inspire and train others to take over to get the same great experiences.

Thomas Giannattasio:
When I look back on my life, I hope to see that I’ve improved people’s lives: making them simpler, more fulfilling and more enjoyable.

Paul Andrew:
Difficult question. Without being philosophical, I would simply say personal contentment.

Cameron Chapman:
I’m just along for the ride, trying to do as much of the things I love as possible, and avoiding the rest.

Jean-Baptiste Jung:
I’m a Christian, so most of my philosophy comes from that. I’m also an animal-rights supporter.

Inayaili de León:
Be nice. Put myself in other people’s shoes before criticizing them.

Jacob Gube:
My personal philosophy in life is to enjoy doing what you love doing.

Kat Neville:
I want to love what I do every day. I don’t want any day to go by where I think, “Wow, what an absolute waste of time.”

Aquil Akhter:
I want to do something innovative and creative, work on design and blogging. This is my current mission.

Nationalities, Languages And Localization

Most of our regular writers live in Europe:

Authors03-copy2 in Behind The Scenes of Smashing Magazine: Interview With Our Writers

Many live in the US:

Authors01-copy in Behind The Scenes of Smashing Magazine: Interview With Our Writers

But there is also Aquil, who is from Pakistan:

Authors02-copy1 in Behind The Scenes of Smashing Magazine: Interview With Our Writers

Because we are an English-speaking magazine doesn’t mean that the people who write for us are all American or British. In fact, most of them come from another country and therefore speak a different native language. If we combine them all together, we’d able to speak:

  • English, French, German, Grenglish (yes, this new language is a mix of English and broken Greek), Italian, Portuguese, Russian, Serbian, Spanish, Ukrainian, Urdu and Uzbek.

Flags in Behind The Scenes of Smashing Magazine: Interview With Our Writers

Question: What does writing mean to you? Please give us some insight into your working process.

D96335287ff55cbbfda8cc087058482b in Behind The Scenes of Smashing Magazine: Interview With Our Writers
Paul Boag: For me, writing is a means to an end. I don’t like writing: I like sharing ideas. Writing is just one way I can do that. I also podcast, run workshops and speak at conferences. To be honest, writing is the method I find least exciting. Part of the problem is that I am not a natural writer. I am terrible at spelling, and my grammar sucks. As for my writing process, I am not sure I have one.

I guess I constantly keep a list of possible writing topics, with a few bullets outlining what each post would cover. I then tend to flesh these out into a better structure before writing an initial draft. Finally, I read through, correcting mistakes, adding illustrations and trying to tighten it up. Then it’s just a matter of deciding the best place to publish it. I think I spread myself a bit thin at times, with content all over the place.

07fcd228af02d476b1b8367d85a903b2 in Behind The Scenes of Smashing Magazine: Interview With Our Writers
Christian Heilmann: Writing to me means structuring ideas and finding the interesting story and easy explanation in complex matters. My process is to write down everything I want to put in, and then go through it three times, removing all the unnecessary parts.

If you can’t take anything out, then you’ve done a great job. I also tend to write down the outline first — headings, mostly — and then fill in the gaps. This allows me to jump from section to section should I get stuck or bored with one. I’ve outlined the process in the Developer Evangelism Handbook.

B3873205cde1deab3ec00d9f0ec9b34a in Behind The Scenes of Smashing Magazine: Interview With Our Writers
Thomas Giannattasio: For me, writing is about spreading ideas and information. It’s also a great way to connect yourself to a community, which is the main reason I love writing for Smashing. My working process is pretty random because my time is limited. I start by outlining my content and doing a little research. Then, I typically try to set aside a Saturday or Sunday to write the bulk of the article. In the evenings, after my 9:00 to 5:00 gig, I try to polish the writing and create my images.
6b81bf10ddf97c1a224dde2ef9b8666f in Behind The Scenes of Smashing Magazine: Interview With Our Writers
Paul Andrew: Writing is a universally accessible method of sharing knowledge and learning more. From an early age, my father taught me that when writing you should visualize every word, sentence and paragraph, physically. He recommended building a house as you write. I have used this ever since.

Initially, I search for every resource on a subject, using every possible channel open to me (that is the foundation). I then collate everything and filter the bad out of the good and the pointless out of the useful. I then read as much as possible, categorize resources and start taking notes (these are the bricks). Now I have an idea of the layout, rhythm and direction of the article. I put everything together (the roof). Once that is done, I revisit and edit, and I edit again and again, until I am happy with the result (which is a watertight and livable home). Time to move in: publish.

Schneider in Behind The Scenes of Smashing Magazine: Interview With Our Writers
Speider Schneider: It’s therapy. I get angry because of something that happened and I sit down and bang on my keyboard like a deaf Beethoven pounding out a symphony and eventually fall into a comatose state. When I awake, I look at what I’ve written, shrug my shoulders and send it off to the Smashing staff to test the patience of the editor and drive the proofreaders into fits of insanity. Then it’s time to drink.

If anything, through my articles on Smashing Magazine, I feel I’m not only mentoring less experienced creatives, but striking a blow against not only bad business people, but against the mistakes we creatives make along the road that reflect on the entire industry. Is it easy? No. Is it satisfying? Well, to quote Dorothy Parker, “I hate writing but love having written.”

C6d49292eef345ec8fa9ceb4f1cc80c5 in Behind The Scenes of Smashing Magazine: Interview With Our Writers
Robert Bowen: Writing to me is a powerful outlet that not only allows me to exercise my demons but affords me an opportunity to connect with and help others. Writing is a part of who I am. Whenever I begin working on a writing project, whether personal or work-related, I always begin with a question and an outline. The question is a variant of “Where is this going” or “What is it saying?” Once I know the answer, I begin to outline — brainstorming on various approaches to take and elements to include until I have a pretty solid foundation to work from. Then I charge forward…
3788d5a944fc3c389f5e3e6806c14c4f in Behind The Scenes of Smashing Magazine: Interview With Our Writers
Cameron Chapman: Writing is something I’ve always done, for as long as I can remember. Putting thoughts and concepts on paper in a way that others can understand is as close to telepathy as humans have gotten (as far as I know, anyway). My working process usually starts out with 10 to 15 minutes of research, followed by 30 or so minutes of brainstorming and outlining. Then I go back to research and fill in the outline as much as I can, sometimes expanding it as I go.

Short articles might take me only a morning or afternoon to complete, while longer ones might require a day or two of work. Of course, sometimes I break this up over the course of a few days, working on multiple projects simultaneously.

C14a2511b58ff483ffaeed672b79c4cc in Behind The Scenes of Smashing Magazine: Interview With Our Writers
Janko Javanovic: Writing is a powerful tool for expressing your thoughts and knowledge and for questioning yourself and others. I note all my ideas in a sketchbook. It helps me remember everything and explore ideas further. When I find some free time, I pick one and elaborate on it.
84f25aced089a434f91dbb3cb9d5f55a in Behind The Scenes of Smashing Magazine: Interview With Our Writers
Jean-Baptiste Jung: Writing is sharing. I’ve learned my job that way, by reading books and blog posts, so being able to give back to the community is a great thing. When writing long articles, such as the ones I write for SM, I generally start by creating an article map that shows the different steps to talk about in the post. Then I develop each step until I have a complete article.
F02818c9213ae2161bcbabd7f6bd4301 in Behind The Scenes of Smashing Magazine: Interview With Our Writers
Inayaili de León: For me, writing means organizing my thoughts on a particular idea. After finishing an article, I feel I can put that aside and start thinking about something else. Before starting, I tend to do some research to see what’s been written. The time this phase takes depends on the type of article. Then I’ll write down a few of the main points I want to cover, particular quotes to refer to. Finally, I start writing the article itself.
96c6e03a2cd8961c56e3dcc663d6ea23 in Behind The Scenes of Smashing Magazine: Interview With Our Writers
Jacob Gube: Writing is sharing knowledge in an organized way. I start writing by doing some research and outlining the things I want to say. Then I start writing. I edit several times, focusing on what I can cut out, how well the story flows, and whether the reader will gain something from reading it.
7855a2784ba42f149b775a8ef911f83e in Behind The Scenes of Smashing Magazine: Interview With Our Writers
Kat Neville: I don’t consider myself a writer, so writing for me is just about explaining something using the clearest possible language. But I think as a Web designer, you really should learn a lot about writing, because every second with a user counts. When I write for SM, I always try to think about what I would find useful. It’s so easy to let your ego get in the way and start writing your own opinions. Even though my articles tend to be long, I hope they are always useful, with a lot of interaction and examples.
09872729d329fed8a004b877159da580 in Behind The Scenes of Smashing Magazine: Interview With Our Writers
Julia May: Writing is a puzzle: for hours I can sit and shuffle words to find the right combination. Writing is a science: profound research and bold experiments lead to progress. Writing is an art: there is always someone who likes one thing and another who doesn’t. Finally, writing is a creative process: no inspiration means no success.As for my working process, in short, it’s always dozens of open browser tabs, thousands of “Backspace” and “Delete” hits and millions of doubts. If all this results in at least one satisfied reader, then it was worth doing.
B8eb0184e62e8a6e71a2d1d7be558248 in Behind The Scenes of Smashing Magazine: Interview With Our Writers
Louis Lazaris: Writing is an art based on standards and principles, just like Web design. I believe each article should be its own unique entity, one that never makes the reader say, “Oh, I’ve read this before.” This would make each article a truly creative and inspiring experience for both author and reader.

As for my working process, I like to start formulating my articles with a very general theme, then a four-to-six point outline. Then I slowly put the “meat on the bones” through research and development of the theme in a very specific and focused manner. This helps prevent my articles from rambling too much and going off topic near the end, which happens to many writers online.

84d137485470fee5c00e274213b86764 in Behind The Scenes of Smashing Magazine: Interview With Our Writers
Aquil Akhter: In my opinion, writing an article means providing something interesting and unique to our readers. Because I mostly do design- and photography-related articles, I always keep in my mind that a picture is worth a thousand words.

What is the first thing you do when you wake up in the morning?

M31 in Behind The Scenes of Smashing Magazine: Interview With Our Writers
Ignore the buzzer and keep sleeping!

M21 in Behind The Scenes of Smashing Magazine: Interview With Our Writers
Checking e-mails, Twitter and Facebook

M11 in Behind The Scenes of Smashing Magazine: Interview With Our Writers
Drinking coffee.

Question: Where did you start, and what principles and skills helped you get to where you are now?

D96335287ff55cbbfda8cc087058482b in Behind The Scenes of Smashing Magazine: Interview With Our Writers
Paul Boag: I started as a graphic designer who was very fortunate to get a placement as a student with IBM. This happened around the time that the Web was created, so I got to work on it from day one. My skills as a print designer were extremely valuable, and those early days of the Web taught me loads about coding. It made me the all-rounder I am today.

Bizarrely, I think the most valuable skills didn’t come from design school or IBM but actually from my local church. It was there that I learned how to do public speaking, communicate and empathize. These are all skills I use every day in my job.

07fcd228af02d476b1b8367d85a903b2 in Behind The Scenes of Smashing Magazine: Interview With Our Writers
Christian Heilmann: I always had various “jobs” during school: organizer of summer camps for the council, brick layer, packer in a chainsaw factory, ice-cream maker, waiter, DJ, plumber, pizza delivery guy… My first real full-time job after high school was working for the Red Cross for 15 months, instead of doing 12 months of mandatory army service. There I learned a lot about what can go wrong with the human body, and I also learned how to work with people with learning and physical disabilities, which taught me a lot about life.

I then went on to work at a local radio station, where I learned how to crunch a lot of information into a few lines for the news, where each sentence needed to be an entity on its own — because nobody consciously listens to the radio. This taught me a lot about writing for the Web, too. I also learned how to use my voice and to ask the right questions to get real answers, which helped me with my public-speaking skills. I then started Web development very early and was lucky to jump from job to job, taking on as much as I could, to get where I am now.

Generally, I can say that the main skills needed for all this are an ability to adapt to situations, not being scared to physically move and to get excited (rather than scared) about new things. I also learned that forcing myself to understand something properly before applying it was much more useful than waiting for official training. Asking the right questions and taking advice — even when it is annoying — was another big factor.

B3873205cde1deab3ec00d9f0ec9b34a in Behind The Scenes of Smashing Magazine: Interview With Our Writers
Thomas Giannattasio: I like to think that my career in art and design began back in the second grade. Every Saturday morning, I could be found lying in front of the TV with a sketchbook and pencils, recreating scenes from my favorite cartoons. My first commercial endeavor evolved from these sketches, when I learned that classmates were willing to sacrifice their lunch money to buy some drawings of Ninja Turtles.

As I got older, my passion for art and design grew stronger, but in a different direction. I became fascinated with the interconnectedness and reach of the Internet. When I was 12, I begged my parents to let me get my own website. After weeks of nagging, they finally caved and bought me an “HTML for Dummies” book, which I studied every day after school as I worked on my Geocities site.

My early days were really exciting, and that excitement eventually grew into a passion that lives to this day. I think it’s that passion that drives me to learn and do more. The skills, knowledge and experience I’ve developed have just been byproducts of that passion.

C6d49292eef345ec8fa9ceb4f1cc80c5 in Behind The Scenes of Smashing Magazine: Interview With Our Writers
Robert Bowen: I started writing poetry when I was a teenager, and as my love for the arts grew, my pen carried me towards the stage and screen. After writing plays and short stories, I began to expand my pen and write projects larger in scope (scripts and novels). Along the way, Angie began getting into Web design, and I found my interests piqued as well.

Soon, we both found our focus shifting towards the blogosphere, and that’s when we found the communities that were thriving there. As we began to learn so much from the community, we decided that we had found our proverbial home and that we really wanted to give back. I began to shift my writing style to fit the Web more, and I may still have some work to do in that arena. I know that no matter the medium, my poetic nature tends to add a flourish or two to the text.

Our mission quickly became to return the favors from the community by striving to enrich it and be as helpful as we can be. Through it all, my writing skills have helped me get to where I am now and leave my mark on it.

Schneider in Behind The Scenes of Smashing Magazine: Interview With Our Writers
Speider Schneider: I started at the bottom. I worked hard, had some good breaks and some bad but I built on each success and with a strong network, built on trust and respect, I was able to keep increasing my projects, clients and fees. Naturally, my network was earned through hard work volunteering with artists organizations and such. I met the right people and made sure, at all times, my work spoke for itself. I also tried, whenever allowed, to break all the design rules I could. It created pieces that intrigued people because it worked but was obviously a mess of broken rules.

A teacher once told my class that we needed to be kind to those we met on the way up the ladder, because we would meet them on the way down. Aside from an angry stumble here and there, I was careful to be very kind to people, except the guy with cat liter in his portfolio. Being kind has created a network of the top people in design. That and always buying the coffee.

6b81bf10ddf97c1a224dde2ef9b8666f in Behind The Scenes of Smashing Magazine: Interview With Our Writers
Paul Andrew: I started the hard way, by leaving school at 16, thinking I could do anything. How wrong I was. The only way you can achieve personal satisfaction and success is by working hard, working honestly, learning from your mistakes, learning from others and never giving up.
3788d5a944fc3c389f5e3e6806c14c4f in Behind The Scenes of Smashing Magazine: Interview With Our Writers
Cameron Chapman: I got into Web and graphic design through my husband, who went to college for graphic and multimedia design. The only formal design training I have is in interior design, which has been a big help in certain aspects (spatial relationships and color being two of the biggest). I pretty much just learn to do things as I need to. The only drawback to that is that I tend to forget them as soon as I don’t need them anymore.
C14a2511b58ff483ffaeed672b79c4cc in Behind The Scenes of Smashing Magazine: Interview With Our Writers
Janko Javanovic: I started as a freelance programmer in the early 1990s. During the crisis in Serbia, I, along with my cousin, somehow managed to earn a decent living. Huge ambition and persistence helped me get to where I am now.
84f25aced089a434f91dbb3cb9d5f55a in Behind The Scenes of Smashing Magazine: Interview With Our Writers
Jean-Baptiste Jung: I started alone, in my room. :) I’m 90% self-taught. I’m constantly learning, and that’s a very exciting thing in the Internet world.
F02818c9213ae2161bcbabd7f6bd4301 in Behind The Scenes of Smashing Magazine: Interview With Our Writers
Inayaili de León: I started learning about Web design by myself. I was working, so I had to do it after work, in the evenings, and I may have sacrificed a few nights out, but I think the hard work and perseverance paid off.
96c6e03a2cd8961c56e3dcc663d6ea23 in Behind The Scenes of Smashing Magazine: Interview With Our Writers
Jacob Gube: I started as a graphic designer and ended up being a Web developer.
7855a2784ba42f149b775a8ef911f83e in Behind The Scenes of Smashing Magazine: Interview With Our Writers
Kat Neville: I used to do print work, but it really wasn’t nerdy enough for me. One day I designed a website for the print company I was working for. They asked me, “Can you build that?” and I said “Yes,” even though I’d done only a bit of HTML. Although I made a few mistakes when I started, I really enjoyed the combination of design, interaction, usability and coding. I guess I always try to do what I feel I’ll love doing and challenge myself every day. It’s been working out well for me.
09872729d329fed8a004b877159da580 in Behind The Scenes of Smashing Magazine: Interview With Our Writers
Julia May: In terms of my career, I don’t think I’ve gotten far from the start yet. But, in general, I’m curious by nature, and I learn pretty fast. I think these qualities are the main forces behind my progress.
B8eb0184e62e8a6e71a2d1d7be558248 in Behind The Scenes of Smashing Magazine: Interview With Our Writers
Louis Lazaris: For years, I rarely paid attention to Web design news, trends and developments, which held me back. Reading articles and books by top designers and developers has helped me learn the most important skills I have today.
84d137485470fee5c00e274213b86764 in Behind The Scenes of Smashing Magazine: Interview With Our Writers
Aquil Akhter: I started by designing websites, and I always believe in dedication and constant attention to my work.

What is your strongest quality…

3 1 Quality in Behind The Scenes of Smashing Magazine: Interview With Our Writers

… and your worst flaw?

3 2 Flaw in Behind The Scenes of Smashing Magazine: Interview With Our Writers

Question: What distracts you from working these days and how do you handle these distractions?

D96335287ff55cbbfda8cc087058482b in Behind The Scenes of Smashing Magazine: Interview With Our Writers
Paul Boag: My biggest distractions are my family and the youth group I run. However, I wouldn’t describe these as distractions from work. Instead, I would call work a distraction from them. I work to live, not live to work. I have been married for 11 years to a gorgeous woman named Catherine. We have a seven-year-old son named James. Without a doubt, they are my priority in life.

The youth group I run is for teenagers who live in Blandford. Because Blandford is so small and rural, it is possibly the most boring place on the planet to be a teenager. I try to rectify this shortcoming. :) Although I love it dearly, it does take up a lot of time. Most Monday, Wednesday and Saturday evenings are taken up with it. Combined with church and work, I don’t have a lot of free time.

When I do find some free time, I tend to burn it watching TV. I lack energy for anything else. Like all good geeks, I am obsessed with sci-fi. Favorites include Battlestar Galactica, Doctor Who and, more recently, V.

07fcd228af02d476b1b8367d85a903b2 in Behind The Scenes of Smashing Magazine: Interview With Our Writers
Christian Heilmann: I don’t realize I’m working when I do my “work.” I actually relax. What stops me from doing my work can be politics, meetings, technical failures and volcanoes. I sleep five hours a day, and I don’t own a TV, which gives me a lot of time to achieve what I want and also to plan for time to see a play or have fun with my friends. Not being tethered down by normal working hours helps, too (I live in Europe but report to the US).
B3873205cde1deab3ec00d9f0ec9b34a in Behind The Scenes of Smashing Magazine: Interview With Our Writers
Thomas Giannattasio: My biggest and most pleasant distraction has to be my wife. She really supports all the work I do, but she also keeps me balanced by taking me away from it. I tend to get really wrapped up in a project and neglect other responsibilities around the house, but she’s always there to step in and pick up my slack. My second distraction is a bit more guilty. I’m nearing 30, but I’ve definitely not grown out of video games yet. Currently, Modern Warfare 2 has a tight grip on me, ha ha.
6b81bf10ddf97c1a224dde2ef9b8666f in Behind The Scenes of Smashing Magazine: Interview With Our Writers
Paul Andrew: Kids are my main distraction. I have a four-year-old little boy, and my wife (who is in a full-time nursing course) also has two older kids. I am essentially a stay-at-home dad, which I do love, but it does make it very difficult to get any continuous or scheduled work done.This is my typical Monday to Friday working day:

  • 5:00 am: Wake up and start work.
  • 7.30 am: Stop work and get the two older kids ready and off to school.
  • 12:00 pm: Off to school nursery. Return home and work.
  • 3:00 pm: Stop work and pick up all the kids from school.
  • 8:00 pm: Kids off to bed and I start working again.
  • 11:00 pm: Off to bed.

It is a very stop-start schedule, which can be very frustrating. I do have the occasional day when I can work on a normal schedule (9:00 to 5:00), but they are few and far between.

On top of all that, when it is the school holidays, things become even harder. A few weeks back, during the school Easter holidays, I fell so far behind my writing commitments that I am only now just recovering.

Thankfully, there is a light at the end of the tunnel. After this summer, my son starts school full time, and my wife will have finished her nursing course and will be working only two or three days a week, which will finally allow me to work freely and with no time constraints. I am counting down now!

Family aside, my big love in life is football, and with the World Cup happening, I fear this may affect work. That gives me a couple of ideas for an article: “Designer’s Guide to the 2010 World Cup” and “How to Deal With World Cup Distractions as a Designer.”

C6d49292eef345ec8fa9ceb4f1cc80c5 in Behind The Scenes of Smashing Magazine: Interview With Our Writers

Robert Bowen: I think that my biggest distractions come from my side projects. I tend to work on several writing projects and non-design-related podcasts apart from actual “work.” These are all personal projects that I care deeply about, and so pulling myself away from them is sometimes hard, especially if I am inspired on a particular project.

I finished my first fiction novel at the end of last year and released it as a free e-book, which was a major distraction throughout the year; and it has turned into a trilogy, so more digressions are looming on that front. My screenplays and teleplays also keep me from fully focusing on work, but I guess they always have the potential to be sold and turned into legitimate “work,” so they could retroactively be taken out of the “distraction” category.

Two of the podcasts I produce are socio-political commentary on the world at large and are a bit angry and ranty, while the third ’cast (which is actually a spin-off of my main show) is more of a science-based show that serves as an outreach program to make science and the scientific method more accessible and approachable. I do that show with an amazing evolutionary biologist who teaches at the University of Edinburgh in Scotland.

The way I handle these distractions is to give in to them… Probably not the best way to do it, but I have always believed that the inspiration and muses will take me where they want, and if I try to fight it, my words and work tend to suffer.

Schneider in Behind The Scenes of Smashing Magazine: Interview With Our Writers
Speider Schneider: Shiny objects distract me. Pop ups on the web distract me. Facebook distracts me. Life distracts me. It’s my ability to focus while I rant and rave in writing that keeps me working. Once I start typing, I find I won’t look up or blink for several hours and 2,500-4,000 words later. If I have writer’s block, lemon juice sprayed in my eyes is the current punishment and motivator to get back to work. Poverty is another good motivator. Being paid, having money for food usually reminds me to write faster.

As with my design work, eating and deadlines are always a good motivator. I’ve never missed a deadline in my life, but I look forward to my first one. Everyone should have a missed deadline at some point in their lives. I would like to miss the deadline for my funeral.

3788d5a944fc3c389f5e3e6806c14c4f in Behind The Scenes of Smashing Magazine: Interview With Our Writers
Cameron Chapman: My biggest distractions at the moment are Tumblr and We Heart It. I spend way too much time on both. I also love getting out of the house as much as possible, because I work from home. I sometimes have to force myself to go out for a ride or whatever after having worked for an hour or two.
C14a2511b58ff483ffaeed672b79c4cc in Behind The Scenes of Smashing Magazine: Interview With Our Writers
Janko Javanovic: I’d say that different sides of my knowledge, while diverse, are somehow related to each other, so it is not always hard to manage all obligations. But I am always focused on those aspects that are highly related to each other and relevant to current projects. So, carefully choosing and adapting different knowledge to current situations helps me stay focused and efficient. Oh, and yes, my working day lasts a minimum of 12 hours. :)

Over the past decade, I have completely moved from development to design. I am now focused on learning about user experience design and implementing knowledge that I gain from ongoing projects. Learning new skills makes me really happy. But I am not always efficient. A big workload sometimes results in my being unable to manage all obligations, from project-related activities to writing and speaking. Because projects are always the priority, other activities suffer.

84f25aced089a434f91dbb3cb9d5f55a in Behind The Scenes of Smashing Magazine: Interview With Our Writers
Jean-Baptiste Jung: Well, my current distraction is your questions. ;) But that’s just me being funny. Distractions are often a problem to those who, like me, are used to working alone at home. You have to be very motivated and focused to handle them correctly.
F02818c9213ae2161bcbabd7f6bd4301 in Behind The Scenes of Smashing Magazine: Interview With Our Writers
Inayaili de León: Twitter, Facebook, Tumblr, RSS feeds, TV, a blank wall. I handle them by setting specific tasks for each day, and I don’t go to bed until everything’s done… most of the days.
(Published: Fri, 16 Jul 2010 12:40:51 -0700)

Showcase of Sweet Chocolate Websites
Smashing-magazine-advertisement in Showcase of Sweet Chocolate WebsitesSpacer in Showcase of Sweet Chocolate Websites
 in Showcase of Sweet Chocolate Websites  in Showcase of Sweet Chocolate Websites  in Showcase of Sweet Chocolate Websites

The word chocolate can be associated with many words: dark, white, milk, hot, sweet, spicy, etc. But have you tried to combine it with the word web design? We did. We searched the Web for websites in any way related to chocolate and what we found is worth to be collected in this showcase. The interesting thing is that you would probably never stumble upon some of the sites, so the overview below may provide you with a unique perspective and get your creative juices flowing.

As one would expect, chocolate website often use an appetizing brown dominant color. If you take time to look at the panel of colors associated with it, you will find out that there is a lot of combination working really well. Apart from this component, each site is unique and features an original identity, depending on product presentation and given information.

Feel free to explore the designs featured below. Some of them are nice examples for Flash used for product presentation. Some designs are very classy while others are more artistically designed. But they all have in common this fascinating sweetness everyone loves.

[Offtopic: by the way, did you know that there is a Smashing eBook Series? Book #2 is Successful Freelancing for Web Designers, 260 pages for just $9,90.]

Similarities In Chocolate Website Designs

We found out that there are three common techniques that seem to crop up over and over again on various chocolate-related websites. A vast majority of the sites use a horizontal top-navigation, brilliant product and ingredient images as well as a dark brown color scheme which is often combined with vivid, strong colors.

Chocolate-40 in Showcase of Sweet Chocolate Websites
CharlesChocolates: the bright blue color scheme here is fun and fresh, but the thick footer navigation is what really makes the CharlesChocolates’ site stand out.

The navigation patterns are mostly common and convenient, however we’ve noticed quite a few uncommon navigation menus as well. The interesting part is that we’ve seen only a couple of typical boring stock templates. Apparently, most chocolate and confectionery website owners do care about their branding and their unique presentation on the Web. In fact, many sites try to be playful, creating an engaging, interactive and memorable user experience. That’s not something you will see in every industry, e.g. certainly not among medical websites.

Horizontal Top Navigation

Because chocolate websites vividly highlight product and ingredient images and therefore fill a large part of the layout with visuals, the choice of horizontal top navigation seems quite appropriate. The number of navigation options varies from five to nine links per navigation menu (excluding sub-navigation links). The most common navigation links lead to pages describing the manufacturor of the chocolate, shops where the chocolate is available and “gifts” pages where users can order business gifts, wedding gifts etc. Sometimes the navigation also contains a link to the recipes page.

Jeff de Bruges
Offsetting each navigation element with it’s own double border makes each link stand out and adds visual interest to the header.

Chocolate-32 in Showcase of Sweet Chocolate Websites

Godiva Chocolatier
Placing the navigation directly under the header works well on the Godiva Chocolatier site.

Chocolate-7 in Showcase of Sweet Chocolate Websites

Jacques Torres Chocolate
Having the top navigation highlighted by a thin orange border makes it more visible to new visitors.

Chocolate-31 in Showcase of Sweet Chocolate Websites

TCHO: Buy Dark Chocolate and Gifts
The top navigation here is simple and a bit on the minimalist side. Placing it above the bold header text makes it stand out a bit more.

Chocolate-5 in Showcase of Sweet Chocolate Websites

Chocri chustomized chocolate bars
Classic tabbed navigation works well with multi-colored text and a subtle gradient.

Chocolate-34 in Showcase of Sweet Chocolate Websites

Daskalides
Simple horizontal navigation is combined with a playful Flash-based navigation in the middle of the page.

Daska2 in Showcase of Sweet Chocolate Websites

Cadbury: Cadbury Chocolate
A simple, traditional top navigation bar is user-friendly and almost always looks good.

Chocolate-23 in Showcase of Sweet Chocolate Websites

Product and Ingredient Images

The quality of product photography on chocolate websites is remarkable. Images are often large and dominant and are given a lot of both horizontal and vertical space. In fact, chocolate, especially gourmet chocolate, is often very visually interesting. The ingredients that go into it can also be very aesthetically pleasing. So it only makes sense that a lot of designers are opting to include mouth-watering images of the chocolate being sold on a given site.

Festival Internacional de Chocolate de Obidos
This site of a chocolate festival uses a striking background image as well as a nice chocolate photos on its main page.

Chocolate-21 in Showcase of Sweet Chocolate Websites

Green & Blacks Organic Chocolate
The broken chocolate bar used here gives a casual look to the site, while the embossed logo helps reinforce the brand.

Chocolate-27 in Showcase of Sweet Chocolate Websites

Dagoba Organic Chocolate
The combination of chocolate with blueberries and lavender reinforces the organic nature of Dagoba’s chocolate bars.

Chocolate-24 in Showcase of Sweet Chocolate Websites

Mindy’s Hot Chocolate
An almost-macro image of chocolate shavings in a chocolate martini, combined with other images of their offerings sets apart the Mindy’s Hot Chocolate website.

Chocolate-33 in Showcase of Sweet Chocolate Websites

Patrick Roger

Chocolate-20 in Showcase of Sweet Chocolate Websites

Toblerone
Toberlone opts for limited product images, but including just a couple of well-placed images can have a positive impact.

Chocolate-2 in Showcase of Sweet Chocolate Websites

Haigh’s Chocolates
A large, close-up image of the product adds a ton of interest here without overwhelming the otherwise simple and minimalist design.

 in Showcase of Sweet Chocolate Websites

Chocomize
Showing the variety of possible chocolate bar customizations can go a long way toward enticing visitors to create (and order) their own customized chocolate bars.

Chocolate-41 in Showcase of Sweet Chocolate Websites

Brown Color Scheme

Obviously, dark brown color scheme dominates on chocolate websites. However, very often the scheme is complemented with vibrant, dynamic colors such as bright green or red. In general, most sites do stick to the dark scheme, often with tiled or photographic backgrounds which are closely related to the main theme.

Dove Chocolate
The Dove Chocolate site has an almost exclusively brown website design, with varying shades used to offset different parts of the site.

Chocolate-4 in Showcase of Sweet Chocolate Websites

Divine Chocolate
The Divine Chocolate site uses brown in limited quantities, but it’s still prominent in the design.

Chocolate-6 in Showcase of Sweet Chocolate Websites

Valrhona
Dark brown used throughout the design of Valrhona’s site makes one think of dark, high-end chocolate.

Chocolate-42 in Showcase of Sweet Chocolate Websites

Hemmankonditor
Varying shades of brown, from the very dark brown (almost black) of the background to the lighter browns of the navigation and header are all evocative of the many varieties of chocolate out there, and what can be made with them.

Chocolate-13 in Showcase of Sweet Chocolate Websites

Promise Me Chocolate…
The combination of dark brown and pink works really well together, especially on a site specifically targeting brides-to-be.

Chocolate-14 in Showcase of Sweet Chocolate Websites

The Cocoa Tree
Using brown as an accent color sets apart The Cocoa Tree’s site. It feels fresh and light, something that’s often hard to accomplish while still bringing to mind chocolate.

Chocolate-19 in Showcase of Sweet Chocolate Websites

Brookside Foods
The Brookside Foods site brings together various shades of brown with black and gold to create a high-end looking site.

Chocolate-16 in Showcase of Sweet Chocolate Websites

Unique Designs

Some chocolate websites fight for user’s attention with striking design elements and unconventional navigation schemes. Some of them are presented below. In these cases, (for site owners) the engaging and memorable user experience seems to play a very important role.

Max Brenner
The Max Brenner website is set apart for a few reasons. The right-hand vertical navigation is one reason. But also the retro, grungy design with the animated eye (you’ll have to visit the actual site to see it).

Chocolate-30 in Showcase of Sweet Chocolate Websites

Bloomsberry
The animation used on the Bloomsberry site is interesting and very well-done. The navigation is also atypical, with links easily identifiable but scattered throughout the main part of the home page.

Chocolate-38 in Showcase of Sweet Chocolate Websites

Pierre Marcolini
The Pierre Marcolini site is very minimalist, with not a trace of brown showing up in the main part of the design.

Chocolate-45 in Showcase of Sweet Chocolate Websites

Wispa
Another site that uses no brown in the main design, but instead opts for colors reminiscent of the product’s packaging rather than its contents. The hand-drawn elements also make it stand out.

Chocolat-47 in Showcase of Sweet Chocolate Websites

Chocolate Research Facility
The animated chocolate dripping onto the screen is a bit gimmicky, but also adds a lot of interest to what would otherwise be a very simple site.

Chocolate-15 in Showcase of Sweet Chocolate Websites

More Chocolate Website Examples

zchocolat

Chocolate-3 in Showcase of Sweet Chocolate Websites

Kommunarka

Chocolate-39 in Showcase of Sweet Chocolate Websites

Pionir

Chocolate-10 in Showcase of Sweet Chocolate Websites

Chocolate Editions

Chocolate-11 in Showcase of Sweet Chocolate Websites

Icam

Chocolate-12 in Showcase of Sweet Chocolate Websites

Spartak

Chocolate-1 in Showcase of Sweet Chocolate Websites

Chocolatfrey

2010-04-13 18 35 06 in Showcase of Sweet Chocolate Websites

Kambly SA

Chocolate-18 in Showcase of Sweet Chocolate Websites

Askinosie Chocolate

Chocolate-43 in Showcase of Sweet Chocolate Websites

Related Posts

You may be interested in the following related showcases:

(jb) (cs) (mm) (cc) (vf)


© Smashing Editorial for Smashing Magazine, 2010. | Permalink | Post a comment | Add to del.icio.us | Digg this | Stumble on StumbleUpon! | Tweet it! | Submit to Reddit | Forum Smashing Magazine
Post tags: ,

:: Read More
(Published: Thu, 15 Jul 2010 02:24:23 -0700)

When One Word Is More Meaningful Than A Thousand
Smashing-magazine-advertisement in When One Word Is More Meaningful Than A ThousandSpacer in When One Word Is More Meaningful Than A Thousand
 in When One Word Is More Meaningful Than A Thousand  in When One Word Is More Meaningful Than A Thousand  in When One Word Is More Meaningful Than A Thousand

You may be wondering why you’re reading about the good old semantics on Smashing Magazine. Why doesn’t this article deal with HTML5 or another fancy new language: anything but plain, clear, tired old semantics. You may even find the subject boring, being a devoted front-end developer. You don’t need a lecture on semantics. You’ve done a good job keeping up with the Web these last 10 years, and you know pretty much all there is to know.

I’m writing about HTML semantics because I’ve noticed that semantic values are often handled sloppily and are sometimes neglected, even today. A huge void remains in semantic consistency and clarity, begging to be filled. We need better and more consistent naming conventions and smarter ways to construct HTML templates, to give us more consistent, clearer and readable HTML code. If that doesn’t sound like paradise, I don’t know what does.

[Offtopic: By the way, did you know that Smashing Magazine has a mobile version? Try it out if you have an iPhone, Blackberry or another capable device.]

The Bare Necessities Of Semantics

With all the functional mumbo jumbo hidden away in HTML5, some of us seem to have forgotten what HTML is really all about. Native video support is considered way cooler than the new header tags, somewhat understandably, but from a semantic and structural point of view, these latter elements present the most valuable improvement.

Semantic importance got a serious boost when accessibility became a big deal to us Web developers. But its powers go way beyond making our content available to those lacking the skills to surf the Web in regular ways. For one, making content recognizable to all kinds of crawlers (but most importantly search engines) could greatly improve the results of search queries on the Web. Rather than wading through trailers, film websites and product pages, wouldn’t it be much nicer to filter reviews directly and find out how a certain film has been received? Currently, no trustworthy mechanism exists to recognize or filter a broad range of content types, which is a serious loss for the Web as a whole.

Sm-img1 in When One Word Is More Meaningful Than A Thousand
When looking for reviews, you don’t want to end up on a page with grayed-out links.

If all of that sounds like a far-off dream, then note that once you’ve distinguished between all the elements on your website, you will have little to no trouble styling or adding functional behavior to the page. The combination of context and proper semantics ensures a solid structure for all further front-end work, which is only made stronger by making sure every element is defined correctly.

The (Very Simple) Basics

Absolutely nothing is complex about semantics, and the basics have been preached for a long time now. A recap of the bare minimum won’t hurt anybody, though, so here it goes.

The HTML language has a range of tags with semantic meaning. If none of the available tags suits your needs, then two generic tags (span and div) are the HTML equivalents of the word “thing,” which can be used in combination with one or more classes to add (not necessarily standardized) semantic value to your elements. It’s the microformats idea without the actual microformats. Some basic examples:

  • Main navigation: nav.main (HTML5) or div.navMain;
  • An article: article (HTML5) or div.article;
  • Article header: article>header (HTML5) or div.article>div.header

That’s all there is to it, really. Adding semantic value is about choosing the correct tag(s) and/or applying the correct label(s) to an element. It really makes you wonder why applying this simple concept consistently to professionally developed websites has proven to be so difficult, even today.

For those of you who don’t like the microformats ideology, you could also go all HTML5 and look at the HTML5 Microdata proposition. What follows in this article reflects both methodologies equally, so the choice is entirely up to you.

Sampling The Web

To illustrate my point, I took some quick samples from some of today’s leading websites. By no means do these samples hold any scientific validity, nor is this a purposeful bash of the websites I’ve singled out. They are simply chosen because I believe they best represent their kind. I hope the data speaks for itself either way.

To grasp the semantic consistency within a website, I tried finding some common content types. Content types are easy to recognize and even easier to label. Before I get to the data, though, let’s look at one way we could label products in a Web store:

  • Product detail: div.product;
  • Products added to your basket: .basket li.product;
  • Promo product in a list: .categoryList .product.promo;
  • Etc.

Products are everywhere in a Web store, so it seems logical that the product class would reappear across the pages for every instance of a product on the website. After all, whether a product is located in a “Related items” list, added to a basket or shown in full doesn’t really change its semantic nature, so why change its structure or class name?

Sm-img2 in When One Word Is More Meaningful Than A Thousand
These are all products, appearing as variants or in different contexts.

For my sample, I picked five content types (story, product, video, person, blog post) and picked four websites to represent each content type. To check for semantic consistency, I looked at the labels on a shortlist (a list of content type instances) and the content type’s detail. The following table summarizes my findings:

TypeWebsiteShortlistDetail
StoryBBCdiv.hpDatatable.storycontent
StoryNew York Timesdiv.storydiv#article
StoryCNNul.cnn_bulletbin lidiv.cnn_storyarea
StoryMSNli.terdiv.w649 (?)
ProductAmazondiv.asinItem-
ProductApple Storeli.productdiv.product-selection
ProductPlay.comdiv.infodiv.dvd
ProductYesAsiadiv.itemdiv#productpage
VideoYouTubediv.video-celldiv.video-info
VideoVimeodiv.itemdiv.video_container_hd
VideoDailymotiondiv.videodiv.dmco_box
VideoeBaum’s Worlddiv.mediaitemdiv#videoContentContainer
PersonFacebookdiv.UIFullListingdiv.profile_top_wash and div.profile_bottom_wash
PersonLast.fmdiv.userdiv.user
PersonVirbtable.people tddiv#profile_wrapper.artist
PersonTwitterdiv#following_list span.vcarddiv#profile
Blog postZeldman--
Blog postA List Apartdiv.item- or body.articles
Blog postJens Meiertdiv.item.content .col-1
Blog postWebaimdiv#featuresdiv.section

Apart from last.fm, none of the websites I checked got it right, even though the content types I chose were very easy to label. Apple and the New York Times came quite close, but some of the others are miles away from what you’d expect to find. And that’s just looking at the root tag of the content type. The structure and classes within are often even worse, bordering on complete randomness. Another thing to note is that blogs about Web design seem to score the worst.

Think Components, Not Pages

There is, of course, not one single cause of this problem, nor is the solution simple. But you can make one important mental shift as a front-end developer to give your work more semantic consistency. The key is to stop thinking of a website as a collection of pages and to instead look for common components.

Front-end developers tend to work the same as designers: start with the home page, finish that, and then move on to the second wireframe — copy the reusable components, adapt if needed, and then repeat until all pages are done. This process requires a lot of copying, adapting and checking older pages to find reusable elements. It is a true killer of consistency — invoking spur-of-the-moment labels and destroying semantic consistency.

Because we want consistency, both in structure and semantics, focusing on a single component at a time is better. When you need to write the HTML code for a product, check each wireframe for variations within and across products. Write code that can handle all existing variants. Once that is done, you will have a consistent and solid model to describe your component that you can used wherever you want.

Making It All Happen

I know from experience that this mental shift takes some time to get used to, and the only way to get it working is to throw yourself in and practice. I’ll share some quick pointers to make the whole process a little less daunting.

Think Beyond Styling Needs and Performance

.productList li or .products li

ul li.product

Consider the example above. As Web developers, we’ve been taught that the first option should be preferred. From a performance and styling perspective, this is indeed the case. But putting on your semantic hat, you’ll notice that to recognize the list items in the first example as products, you need to make a deduction. Singling out all products on a page isn’t as easy as looking for the product class. Automated systems should also account for the possibility that a product is defined as a list item inside a parent that refers to a collection of products. Not such a big deal for the human brain, but writing a foolproof, fully automated implementation isn’t as easy.

On top of that, the second option allows for more flexibility because it makes it possible to drop instances of other content types into the same list without running into styling hell, while at the same time ensuring semantic integrity. It wouldn’t be the first time I was asked to merge a news and event shortlist into one big list just because there wasn’t sufficient content to warrant separate lists. The second option would give you a smaller headache, especially if you’re nearing an important deadline.

Bottom line: try to minimize semantic deductions, and keep the code clear and simple. Pick unique class names for components, and stick with them throughout the entire project.

Don’t Mix Responsibilities

I know that many people like to mix wireframing, HTML and even design into one organic and homogeneous process. The downside to this is that you will have a hard time not compromising your work. When you’re designing, writing HTML and CSS is not priority number one; and once the design is done, you’ll find it tough to go back and rework your code to match HTML and CSS standards.

It’s also refreshing to try to build a website based purely on a set of wireframes, without the slightest notion of design. It helps you focus on meaning and makes it easier to spot components that are actually the same but could differ wildly design-wise. And if you’ve done it right, you’ll find that during CSS development, you don’t have to adapt the HTML at all, unless the design calls for major structural changes.

Try to build your HTML templates based on wireframes, and save the design and CSS for when your static HTML templates are completed.

Automate Your Job

Automation is a major key to success. Whether you use existing tools (such as a CMS) or build your own (as we do), automating the job of building static templates could help you to define a component once and reuse the code everywhere that the component is featured in your templates. The process itself (when done right) ensures semantic consistency and is sure to bring you new insight when constructing HTML templates.

At my current job, we build such a tool based on components (recurring HTML code blocks) and schemes (outlines of each template that refer to these components). Thrown in some simple program logic (if and loop statements, parameters) and allow for proper nesting methods, and you’re good to go.

Semantic Consistency Across Projects

Finally, keep a list of components you’ve made over multiple projects. Many components will be relevant for each new project and will be semantically identical, meaning that the HTML structure should be identical just as well (save some wrappers for visual CSS trickery, if you’re into that).

Once you have such a list of components, starting up a new project will be a lot faster, and you’ll have the added benefit of semantic consistency across all of your projects.

Banana ≠ Curvy Yellow Fruit

Semantics is all about identifying objects, but it goes beyond simply slapping a label on every object that comes your way. If you have a blog, and you randomly throw around classes like article, story, blogpost and news, then your website will lack semantic consistency, making all your hard work amount to very little. Semantics have no point when they are not applied consistently, even though today’s technology does very little with them — which, by the way, is no surprise given that locating a simple “product” on most Web stores is nearly impossible these days.

Sm-img3 in When One Word Is More Meaningful Than A Thousand
People looking for bananas might think twice before buying these.

The next time you begin a project, try to view a Web page as a collection of building blocks. Start by constructing these building blocks first, and worry about building the pages later. Come up with a single label for an HTML component, and use it consistently across your website. It won’t make styling harder, and it won’t affect the way you write JavaScript. Over time, you can take it further by being semantically consistent over multiple projects.

If your main job is to develop static HTML templates, try to automate your work. You’ll find that you spend more time writing flexible and solid HTML structures and less time copying and adapting code from point A to point B. It makes your job more interesting and makes the Web a better and more meaningful place.

Further Resources

  • Microformats
    Summarizes the microformats ideology. Read more about using class names as semantic aids.
  • HTML5 Microdata
    Explains how HTML5 is built to standardize the use of flexible semantics.

(al)


© Niels Matthijs for Smashing Magazine, 2010. | Permalink | Post a comment | Add to del.icio.us | Digg this | Stumble on StumbleUpon! | Tweet it! | Submit to Reddit | Forum Smashing Magazine
Post tags:

:: Read More
(Published: Wed, 14 Jul 2010 06:23:42 -0700)

gCons: Free All-Purpose Icons for Designers and Developers (100 icons + PSD)
Smashing-magazine-advertisement in gCons: Free All-Purpose Icons for Designers and Developers (100 icons + PSD)Spacer in gCons: Free All-Purpose Icons for Designers and Developers (100 icons + PSD)
 in gCons: Free All-Purpose Icons for Designers and Developers (100 icons + PSD)  in gCons: Free All-Purpose Icons for Designers and Developers (100 icons + PSD)  in gCons: Free All-Purpose Icons for Designers and Developers (100 icons + PSD)

Today we are glad to release gCons, a set of free all-purpose 32×32px icons for designers and web developers (100 icons). The icons come in 12 different colors and are available in PSD, PNG, JPG and GIF formats. This set was designed by Sarfraz Shoukat especially for Smashing Magazine and its readers.

Release in gCons: Free All-Purpose Icons for Designers and Developers (100 icons + PSD)

Download the icon set for free!

You can use the set for all of your projects for free and without any restrictions. You can freely use it for both your private and commercial projects, including software, online services, templates and themes. The set may not be resold, sublicensed, rented, transferred or otherwise made available for use, Please link to this article if you would like to spread the word.

White-preview in gCons: Free All-Purpose Icons for Designers and Developers (100 icons + PSD)

Behind the design

As always, here are some insights from the designer:

“The open-source world is overwhelmed with design resources. For UI designers and website developers, there are a huge number of nice icon collections, but most of these collections are designed for a specific purpose, theme or industry. Most of the time, designers have to mix and match desired icons and customize them according to the requirements resulting in a lot of effort, un-balanced designs, and sometimes mere frustration. As a designer, I often feel the need of a set of generic icons that I can use easily in any design theme without having to customize their design, combination or color.

gcons is my contribution to the world of open source resources for designers and web developers. These icons are multi-purpose and can be a good fit in a number of scenarios like UI themes, technical diagrams, website design, prototype development etc.

Thank you very much, Sarfraz! We appreciate your efforts.

[Offtopic: by the way, did you know that Smashing Magazine has one of the most influential and popular Twitter accounts? Join our discussions and get updates about useful tools and resources — follow us on Twitter!]

Related Posts

You may be interested in the following related releases:


© Smashing Editorial for Smashing Magazine, 2010. | Permalink | Post a comment | Add to del.icio.us | Digg this | Stumble on StumbleUpon! | Tweet it! | Submit to Reddit | Forum Smashing Magazine
Post tags:

:: Read More
(Published: Wed, 14 Jul 2010 02:43:02 -0700)

CSS3 Design Contest Results
Smashing-magazine-advertisement in CSS3 Design Contest ResultsSpacer in CSS3 Design Contest Results
 in CSS3 Design Contest Results  in CSS3 Design Contest Results  in CSS3 Design Contest Results

To get you really excited about CSS3, last month we announced the CSS3 Design Contest and encouraged designers to experiment and get creative with CSS3. As expected, we have received many creative and original submissions. To choose the winners of the contest, we considered the originality of the technique or approach and its uniqueness. The idea mattered more than the execution.

This process has taken a lot of time as it wasn’t easy, because we received quite a few creative submissions: however, a decision had to be taken and so we thoroughly went from one competition entry to another. And the decision was made. So today, it’s time to announce the winners and present the submissions to the contest.

Please notice that the contest results are experimental and may not necessarily look or work alike in different browsers. The techniques presented below should be considered as innovative, creative approaches showcasing what can be achieved with pure CSS3 and a bit of creative thinking. Please feel free to build upon these ideas to create further techniques and design solutions and make them available for the design community.

[Offtopic: by the way, did you already get your copy of the Smashing Book?]

First place: CSS3 Charts

CSS3 Charts [ preview | download ]
This technique is an example of experimental CSS3 charts, without JavaScript and images in use. We miss cleaner markup and proper markup for tabular data here, but the use of CSS3 selectors is truly impressive: nth-child, :target, transformations, gradients and transitions in use. Designed by Sean Oh from USA.

Css3-charts-full 1 in CSS3 Design Contest Results

Css3-charts-full 2 in CSS3 Design Contest Results

Second place: CSS3 Rubik’s Cube

CSS3 Rubiks Cube [ preview | download ]
Interesting idea for a CSS3 design. The designer’s idea was to create a navigation menu: although it’s not very user-friendly for regular navigation, it may be interesting for engaging portfolio sites. Gradients and transforms in use. Designed by Francesco Benanti and Maicol Zenatti from Italy.

Rubik in CSS3 Design Contest Results

Third place: CSS3D

CSS3D [ preview | download ]
Do you have your 3D glasses at hand? If yes, put them on and observe this stereoscopic 3D effect, created with CSS3. Works in all modern browsers, and also on iPhone. 3D red-cyan glasses required. Designed by simurai from The Netherlands.

Css3d-full in CSS3 Design Contest Results

Fourth place: CSS3 Monsters Blob

CSS3 Monsters Blob [ preview | download ]
A CSS monster, created with pure CSS3. Also check out Blob’s brother, CSS3 Monsters Dragon. It goes without saying that the CSS monster is scalable. The eye is animated with jQuery’s Parallax effect. Designed by Sebastien Plaignaud from France.

Css3-monsters-blob-full in CSS3 Design Contest Results

Fifth place: CSS3: A Rift in Time

CSS3 A Rift in Time [ preview | download ]
Interesting experimental layout: standard HTML/CSS web sites have always been vertical and horizontal. This entry shows what can be achieved if a site is flipped on to a 45 degree angle. Transitions and transforms in action. Designed by Maxwell Burton from USA.

Css3-a-rift-in-time-full in CSS3 Design Contest Results

Congratulations!

We congratulate the winners of the CSS3 design contest and we again sincerley thank you for all the great entries that we’ve received. We appreciate your time, creative thoughts and we do respect your work and efforts. All winners will be contacted within the next 24 hours. Below you’ll find a detailed overview of the other entries of the contest. Thank you very much, and please join in next time!

CSS3 Jewelcase

CSS3 Jewelcase [ preview | download ]
“I love music and cover art, so this was a nice little project to explore some CSS3 features.” Designed by Bouke Regnerus from The Netherlands.

Killers in CSS3 Design Contest Results

CSS3 Vicero

CSS3 Vicero [ preview | download ]
“I came up with this idea when I was sorting all my movies on my movie-stream-server. It would be so nice to have a web interface that’s rolling on a web server on the same machine. But if you dont have a server and just have regular DVD/BR, then you can type where the movie is in the shelf. So, what should we watch today? This theme is best experienced in Safari/Chrome because of some CSS3 effects; but it works also in FF, IE and Opera.” Designed by Adis Kurtalic from Sweden.

Css3-vicero-full in CSS3 Design Contest Results

CSS3 iPad with Shadow

CSS3 iPad with Shadow [ preview | download ]
“I got a bit crazy at this contest. I’ve been experimenting a bit with CSS3. But when I saw this contest, I though for my self.. hey, let’s check this specifications at w3. There got be more to it than just rounded corners (which is great by the way). After using a couple of hours reading. I was stunned..whow! 3D effects, shadows. And I was thinking.. what can be painted can also be made in css3 using squares, circles… I was sitting with an iPAD in my hands reading about CSS3. I put it on the table… and thought; this image I am seeing right now, should be possible to make just with CSS3. The solution is best viewed in Google Chrome.” Designed by Morten Dischington Carlsson aka Mr.Jones.

Css3-ipad-with-shadow-full in CSS3 Design Contest Results

CSS3 Time Machine

CSS3 Time Machine [ preview | download ]
“A small example of using jQuery to trigger CSS3 animations in a ‘Time Machine’-fashion.” Designed by Nathan Burnett from USA.

Css3-time-machine-full in CSS3 Design Contest Results

CSS3 CSS Effects

CSS3 CSS Effects [ preview | download ]
“This started as an experimental playground when I started learning CSS3 — CSS animation. There are five simple looping effects (animations). Each one uses JavaScript to initially setup the environment, but after that, everything is looped through CSS animation.” Designed by Yohei Shimomae from Canada.

Css3-css-effects-full in CSS3 Design Contest Results

CSS3 Book

CSS3 Book [ preview | download ]
“This design allows you to place any amount of content in the ‘columnified’ DIV of the layout, allowing for a site-wide flexible and fully customisable ‘book-like’ feel. It uses the CSS3 multi-column module for the multi-column layout (and a JavaScript solution for Opera and IE, two browsers that, to date, do not support this module — this solution is a modified version of Cédric Savarese’s css3-multi-column.js, and uses a combination of CSS shapes, border-radius, transforms, box-shadows and gradients to create the book appearance.

Page turning is achieved via Javascript (pageturn.js). The different stylesheets are fed to browsers via Javascript as well, so as to detect whether the multi-columns are supported or not (stylesheet.js — basic browser detection only, on the assumption that Opera, Firefox, Safari and Chrome users update their browsers regularly). As no images have been used in this template, total customisation of the appearance is easily achieved (moreover, the CSS is annotated). For a full explanation of how the two-column, multi-page layout works, please visit the following tutorial.” Designed by Peter Craddock from Belgium.

Css3-book-full in CSS3 Design Contest Results

CSS3 Rocket Man

CSS3 Rocket Man [ preview | download ]
“Whenever I work on a project for myself, I like to try and learn something new. This contest gave me a chance to play with CSS3 without having to worry about clients asking why it works in some browsers and not in others. The main thing I was curious about was the keyframe animations, this was something I had heard about but not played with at all. I am glad that I entered the contest for the sole reason that I learned a lot. I did not realize how easy it was to work with transitions and animations with CSS. This exercise has me really excited about the future. I can’t wait to see tomorrows rookie designers using this for spinning swords and dragons that breathe fire.” Designed by James Vecchio from USA.

Css3-rocket-man-full in CSS3 Design Contest Results

CSS3 Wii-ish Idea

CSS3 Wii-ish Idea [ preview | download ]
“Just a little bit of CSS3 as an idea for holding some images. Would work really nice alongside some JS.” Designed by Stephen Cook from UK.

Css3-wii-ish-idea-full in CSS3 Design Contest Results

CSS3 Video CSS

CSS3 Video CSS [ preview | download ]
“It is interleaved video in a jpeg file. Instead of having each frame in its common order, each row is interleaved with the next frames rows. So, the you can see the first row of the first frame, then the first row of the second frame, the first row of the third frame and so on. Jpeg files are size limited, so to be able to have a lot of frames, I’ve reordered the rows in a 16×16 grid. The top left of the grid is the first row, the next to the right is the second row, the next the third, and in the next colunm we have the n+16th row. This is the code to generate the jpeg file. The frames where named a0001.jpg, a0002.jpg, a0003.jpg…

<php
	$num_img=128;
	$out2=imagecreatetruecolor(256*16, 16*$num_img);

	for ($j=0; $j<$num_img; $j++)
		{
		$num=$j*4+10001;
		$filename="xplsv/a".substr($num, -4).".jpg";
		$out=imagecreatetruecolor(256, 256);
		$img=imagecreatefromstring(file_get_contents($filename));
		imagecopyresampled($out, $img, 0, 0, 0, 0, 256, 256,
		imagesx($img),
		imagesy($img));
		for ($i=0; $i<16; $i++)
			{
				for ($n=0; $n<16; $n++)
				{
					imagecopy($out2, $out, $n*256,
					$i*$num_img+$j, 0, $n+$i*16, 256, 1);
				}
			}
		imagedestroy($img);
		imagedestroy($out);
	}

	imagepng($out2, 'test.png');

?>

Then, I’m using the CSS displacement maps I’ve used in the Coke Can and the other displacement maps I did for Ajaxian. The displacement maps de-interleave the jpeg file. Then, displacing the background-position with CSS3 for each row, I get the video effect. Finally, I added a Smashing Magazine transparent png on top on the video to create the overlay effect. I really like to add video on websites with shapes, it looks really good. I would like to add that this is a crazy way to add video and that it should not be used for any real purpose. When I do things like that is just for pure geek entertainment and to show it is possible. I would suggest for CSS3/HTML5 to have a background-video tag.” Designed by Javier Roman from Spain.

Css3-video-css-full in CSS3 Design Contest Results

CSS3 Megans RADius Font

CSS3 Megans RADius Font [ preview | download ]
“I am a print/web designer who likes to play with CSS+HTML from time to time. I have a passion for experimental typography, and like to explore new ways of creating type. For this project, the font can be adjusted to change the into a totally different face just by changing a few small images.” Designed by Megan Brown-Taylor from Honolulu, HI, USA.

Css3-megans-radius-font-full in CSS3 Design Contest Results

CSS3 Monsters Dragon

CSS3 Monsters Dragon [ preview | download ]
“CSS Monsters are vector images created only with CSS.” Designed by Sebastien Plaignaud from France.

Css3-monsters-dragon-full in CSS3 Design Contest Results

CSS3 iMac

CSS3 iMac [ preview | download ]
“A pure CSS iMac – no images. You can use it to display anything on the screen. In the example I setup a Flickr Feed of images as a slideshow. It is also completely resolution independent. All relative sizes – feel free to scale it up or down by changing your font size. I used some cool techniques including CSS gradients (and Safari Radial Gradients), CSS border-radius, text-shadow, even used a Safari CSS 3D transform for kicks! I used some jQuery to make a slideshow with the Flickr images and image title overlays. Overall, I think it turned out great. I am sure people out there could take this to the next level. It’s really easy for anyone to change the flickr feed and put in their own photos if they want. I hope to see this out there somewhere. Exciting! I love CSS3! Works in: Firefox 3.5+, Opera 10.5+, Safari 4+, Google Chrome 4.0+, but of course – looks the best in Safari.” Designed by Joshua Gatcke from México.

Css3-imac-full in CSS3 Design Contest Results

CSS3 A Book Full of HTML5, CSS3, and JavaScript

CSS3 A Book Full of HTML5, CSS3, and JavaScript [ preview | download ]
“I wanted to use the bleeding-edge 3d capabilities of CSS3 & animations while working with JavaScript to trigger interactive events. Using CSS animations for a game is something that I also find intriguing.” Designed by Kurt Zenisek from USA.

Css3-a-book-full-full in CSS3 Design Contest Results

CSS3 Camera

CSS3 Camera [ preview | download ]
“This “camera” was created solely with CSS3, with fallback gradients for browsers that do not support CSS3 gradients. Tested (and working) on:
Google Chrome
Opera 10.54
Firefox 3.6.6.”
Designed by Oscar Lemstr?m from Finland.

Css3-camera-full in CSS3 Design Contest Results

CSS3 Under the Sea in CSS3

CSS3 Under the Sea in CSS3 [ preview | download ]
“A webpage using CSS3 in an under the Sea theme.” Designed by Carlo Rosati from USA.

Css3-under-the-sea-in-css3-full 2 in CSS3 Design Contest Results

CSS3 90s

CSS3 90s [ preview | download ]
“Description: My idea was to create a design very 90’s style, like David Carson with the desconstruction of the form using CSS3 Transform. It’s still only working on Webkit because of the transitions.” Designed by Fabio Sasso from Brazil.

Css3-90s-full in CSS3 Design Contest Results

CSS3 Magazine

CSS3 Magazine [ preview | download ]
“A Magazine design inspired from Wired. Built using A4 dimensions. Uses the following features: transparent colors, even-odd selectors, rotation, text shadow, box shadow, border radius, custom font faces. Would’ve liked to used more if not for the differences in Webkit and Mozilla support Concept, Design and HTML in 6 hours. CSS3 rocks!” Designed by Anand Gorantala from USA.

Css3-magazine-full in CSS3 Design Contest Results

CSS3 Lightsaber

CSS3 Lightsaber [ preview | download ]
“I’m a huge Star Wars nerd, as well as a web standards geek. Naturally, these two *ahem* interests were bound to collide eventually. I’m just glad it resulted in a CSS3 lightsaber rather than my admittance into a mental hospital. I actually wrote a tutorial on how I made this CSS3 lightaber, and that can be found at.” Designed by Max Luzuriaga from USA.

Css3-lightsaber-full in CSS3 Design Contest Results

CSS3 Smashing Magazine Logo

CSS3 Smashing Magazine Logo [ preview | download ]
“The Smashing Magazine logo using CSS3 and a little Javascript to replace the “G” in “Smashing” with a “C”" Designed by Niko de Luna from The Philippines.

Css3-smashing-magazine-logo-full in CSS3 Design Contest Results

CSS3 Expert Cook

CSS3 Expert Cook [ preview | download ]
“Simple as it may seem this template relies heavily on css3 for animations, transformations and gradients it uses all sorts of selectors and different css3 effects to achieve the design you see.” Designed by Andrei Oprea from Romania.

Css3-expert-cook-full in CSS3 Design Contest Results

CSS3 Visoki Decani Temple

CSS3 Visoki Decani Temple [ preview | download ]
“CSS3 web design showcase dedicated to Serbian Orthodox monastery Visoki Decani.” Designed by Milos Zekovic from Serbia.

Css3-visoki-decani-temple-full in CSS3 Design Contest Results

CSS3 Pseudo 3D Radial Buttons

CSS3 Pseudo 3D Radial Buttons [ preview | download ]
“Easy to use 3D Radial Buttons.” Designed by Denis Arkhipov from Russia.

Css3-pseudo-3d-radial-buttons-full in CSS3 Design Contest Results

CSS3 Moving Stick Figure

CSS3 Moving Stick Figure [ preview | download ]
“Use CSS 3 border-radius and animation to create a stick figure and add moving control using jQuery.” Designed by Jeffri Hong from Indonesia.

Css3-moving-stick-figure-full in CSS3 Design Contest Results

CSS3 Image-less Warp Shadows

CSS3 Image-less Warp Shadows [ preview | download ]
“A simple CSS3 technique to apply warped shadows to elements.” Designed by Tyler Dawson from USA.

Css3-image-less-warp-shadows-full in CSS3 Design Contest Results

CSS3 Rabbit

CSS3 Rabbit [ preview | download ]
“Just playing with CSS3 properties (and rabbits).” Designed by Fabien Vauthey

Css3-rabbit-full in CSS3 Design Contest Results

CSS3 – The future is here

CSS3 – The future is here [ preview | download ]
“My wish was to create design that shows the full concept, presenting the different capabilities and aspects of CSS3. Probably the design would seem familiar to you and that’s it because I used the vision of the template published at your website. I considered that design as extremely appropriate for the case because it’s functional and catches the eye of the user. Honestly, I didn’t have time to think of my own design but I think that I accomplished my mission to show designers and developers what they can do with little more effort and that’s how I even learned some new stuff. I hope that my design will make others reconsider the usability of the browser they use and motivate them to do some action and step forward.” Designed by Antonio Stoilkov from Bulgaria.

Css3-the-future-is-here-full 1 in CSS3 Design Contest Results

Css3-the-future-is-here-full 3 in CSS3 Design Contest Results

Css3-the-future-is-here-full 4 in CSS3 Design Contest Results

CSS3 Rainbow Template

CSS3 Rainbow Template [ preview | download ]
“Web template design with sky and rainbow theme.” Designed by Anggun Pribadi from Indonesia.

Css3-rainbow-template-full in CSS3 Design Contest Results

CSS3 Totally Fresh

CSS3 Totally Fresh [ preview | download ]
“Totally Fresh is a fun project created not only to display the capabilities of CSS3, but to show an exciting design that pops off the 2-dimensional canvas that is cleanly and properly marked up. I tend to design simple, typographic pieces, but I wanted this design to feel “fresh.” The design, therefore, resembles a car air freshener. It reflects a tangible print piece in a 3-dimensional space.” Designed by Chris Nager from USA.

Css3-totally-fresh-full in CSS3 Design Contest Results

Further entries

Here is a brief overview of further entries submitted to the contest.

  • CSS3 Nav-Trick [ preview | download ]
    “Here is a simple method of letting visitors know which page they are on using simple CSS to move the List Items of a navigation menu to the right. I added a fancy arrow to enhance the effect. By giving each page a unique ID in the body tags and each list Item a unique class, when your browser sees the ID for the body, the matching class for the List Item will use the CSS. The fancy Arrow will be used as long as it is in the same directory as the html files. The CSS for the List Item position “Inside” will cause the List Item to move to the right which will visually show the visitor which page they are on. I used this method on the following website, the client was thrilled.” Designed by Greg Spence.
  • CSS3 Cant Skate Dont Care [ preview | download ]
    “A 90s skate/grunge theme designed to explore which of the CSS3 rules could be used across a decent range of browsers without all the usual browser constraints we get in the day-to-day grind of business.” Designed by Josh Campbell from New Zealand.
  • CSS3 3D Tribute [ preview | download ]
    “This is my first jump into CSS3,… and I’m liking it!. I’ve incorporated font embedding, transforming events, multi-column paragraphs, utilized rounded corners, and included background gradients. The transforming forest only works on webkit browsers, creating a nice 3D effect, but renders-down nicely on other browsers, while the hover animation below jumps in different ways on all required browsers.” Designed by Walter Beardwood from Canada.
  • CSS3 Loading Bar [ preview | download ]
    “A CSS3 Loading Bar. CSS Animation only works in Chrome and Safari.” Designed by Joel Schwarting from USA.
  • CSS3 Personal Portfolio [ preview | download ]
    “” Designed by Sikandar Aazam from India.
  • CSS3 Taped-off Coming Soon [ preview | download ]
    “A coming soon page themed with cardboard, duct tape, and wood. Make sure you click “Submit” in a webkit browser to see the full effect!” Designed by Robert D’Ercole from USA.
  • CSS3 Smashing CSS3 Effects [ preview | download ]
    “A typographic based design which combines newly CSS3 features.” Designed by Tamer Aydin from Turkey.
  • CSS3 This Menu Item [ preview | download ]
    “The most basic navigation menu cleverly styled into a tabbed top menu.” Designed by Dan Beeston from Australia.
  • CSS3 Call of Duty Style [ preview | download ]
    “Inspired by Call of Duty Modern Warfare 2 loading screens. Fixed header and footer with no content blocks, animated.” Designed by Jason from USA.
  • CSS3 Image-less 3D Menu [ preview | download ]
    “My entry for this contest is more of a concept than a design. I’ve seen people use CSS3 to create 2D art and thought of doing so myself, yet the idea seemed too easy. However, 3D art using CSS3 is something I have yet to see! I wanted to create an image-less 3D page layout using CSS3. It took some playing around with the code to find the best method of producing an image-less 3D element, but I’m definitely happy (and excited) with my findings. Although, after the 3D elements were introduced, I felt as through it was still lacking. I needed more, I needed interaction within the 3D space. I then created a 3D navigation bar which acts as buttons. Through CSS3’s scaling method I created the illusion of buttons going back within the 3D space on a mouse hover, and on an active state the link creates more of an interactive feel for the user. This is only the beginning of this layout, and I plan to expand upon it to create a fully designed page template which will incorporate more “button-like” interaction throughout the design. Overall, this contest has definitely pushed me to play with CSS3 more and I am truly excited for this to become a web standard!” Designed by Chris Johnson from USA.
  • CSS3 Dreamer Blog [ preview | download ]
    “I feel CSS3 is great & exploring technique in modern web era.” Designed by Vijay N. Vanve.
  • CSS3 Alien Menu [ preview | download ]
    “Of course this is not for contest..(had no time to invent somethink outstanding T_T ) this is just to cheer you up :) he makes me smile. hope his ability will affect you too :D” Designed by Taras Kharuk.
  • CSS3 OSX-like Dock [ preview | download ]
    “Mac OSX-like Application Dock for page/tab switching.” Designed by Aleksi Grön from Finland.
  • CSS3 Autom.ato [ preview | download ]
    “The idea was to use only code to do the graphic design of this peace.The tipographic poster that Smashing Magazine once published was my inpiration. I only tried to do differently from that one. I was also inspired by a brazilian artist Abraham Palatnik (google it:)). He is known as a pioneer of technological art. His works with light are very beautiful and I watched them a little bit before I did this work. Oh! Autom.ato, I almost forgot, is an art group which I belong.We don’t have our blog yet, probably a good motive to continue the css3 learning.” Designed by Haidée Lima from Brazil.

Last Click

CSS3 Super Mario 3D Animated [ preview | download ]
Unfortunately, this entry was submitted too late and couldn’t participate in the contest, but it is certainly worth mentioning. Here are the insights from the developer: “After my latest CSS3 experiment without images (Internet Explorer Pure CSS Logo), a friend suggested to create an animated 3D Super Mario Icon based on the 3D Retro Mario GIF image by Cezkid. Well, this is the result of two weeks of work — an animated 3D Super Mario Icon built completely in CSS3 without images.” Designed by Andreas Jacob from Germany.

Css3-super-mario-3d-animated-full in CSS3 Design Contest Results

(mm), (vf)


© Smashing Editorial for Smashing Magazine, 2010. | Permalink | Post a comment | :: Read More

(Published: Tue, 13 Jul 2010 08:40:09 -0700)

What Is The Last Thing You Do Before You Launch A Website?
Smashing-magazine-advertisement in What Is The Last Thing You Do Before You Launch A Website?Spacer in What Is The Last Thing You Do Before You Launch A Website?
 in What Is The Last Thing You Do Before You Launch A Website?  in What Is The Last Thing You Do Before You Launch A Website?  in What Is The Last Thing You Do Before You Launch A Website?

One thing that can be said about human beings is that we are, by and large, creatures of habit. We establish routines, consciously and subconsciously, that help us accomplish tasks or move us more quickly or comfortably through our day. Habits are formed in the design and development community just as they are in nearly every other professional and personal environment, and they serve any number of purposes. In design and development circles, one established habit is seen with the launch of a website or project.

Naturally, each of us has developed a process that we engage in as we wrap up a project, but a few procedures tend to be used over and over again by the masses. We know this because we ran a poll on this very topic on Twitter. We got many great responses, but the community tends towards a few common practices. We could see as we looked through the list of entries that certain wrap procedures seem to have mass appeal (judging by the number of times they were given as answers), so we began to examine the benefits they offered and what they say about those who fall back on them.

Designers and developers obviously adopt routines for a reason — perhaps because they suit their personalities or even their other routines — so it is possible to gain a little insight into those who follow them. There certainly was quite a range of responses, and we really appreciate everyone who took the time to get back to us with an answer.

Consider our previous posts:

Now, let’s examine the final steps that handfuls of people in the design and development community take when the clock says that it is officially “go time.”

[By the way, did you know we have a brand new free Smashing Email Newsletter? Subscribe now and get fresh short tips and tricks on Tuesdays!]

Freak Out!

One of the responses that seemed to resonate among so many was, basically, to freak out as the launch date draws nearer. Who needs a calm and collected approach when you can run screaming back and forth in front of the computer and pull your hair out as the final hour draws near? The time-honored (even if impractical) tradition of panicking, which flies in the face of the hitchhiker’s motto, is not without its merits. However, for sanity’s sake and the sake of those who share your space, another approach near launch time might prove a bit better.

Freakout in What Is The Last Thing You Do Before You Launch A Website?
Image source, by Maks Karochkin.

What our friends on Twitter said:

  • “Panic!”
  • “Cry.”
  • “Simple answer: pray!”

Benefits

  • There is a great release of pent-up energy when you freak out, which can have numerous benefits — one of which is no longer holding nervous energy inside.
  • A last-minute chaotic whirlwind of panic can also benefit the project because it ensures that you are alert and ready should any fault be found.

What This Says About You

Perhaps panic mode teaches us that those who fall back on such an approach lack organizational skills. The tendency to freak out more than likely stems from a lack of confidence that everything is in place. It could also indicate a slightly pessimistic outlook (ŕ la Murphy’s Law): no matter how prepared you feel for launch, you have a nagging feeling that something will go wrong — not because you neglected something, but just because it can. A comprehensive check list could help to curb this tendency in some cases.

Relax

A somewhat different approach — in fact the exact opposite of the previous tactic — taken by many is to just kick back and relax. Though it may seem reasonable, relaxing just as a project will be introduced to the online world might not be an easy approach. In fact, achieving your desired level of calmness could take a lot of effort. If you can find your center and bask in relaxation during the pre-launch phase, then this approach might refresh you before you throw yourself into the next project.

Bench2 in What Is The Last Thing You Do Before You Launch A Website?
Image source, by VinothChandar.

What our friends on Twitter said:

  • “Get a good night’s sleep. Launch when you’re fresh, not tired.”
  • “Relax. Have a smoke, read some jokes online.”

Benefits

  • Peace of mind is naturally a welcome benefit of this approach, especially given how hectic things can get upon launch.
  • Mental decompression often helps because, as your mind is switches gears, your subconscious is free to review the project and scan for any missed elements.

What This Says About You

Being calm in the face of a wrap-up is not always easy. If this is your approach, it says one of two things about you: either you are extremely confident in your abilities, and therefore at ease because you know the job is as complete as you could have made it; or you simply don’t care — you’ve done your part, things are out of your hands, and you’re free to move on or just kick back. Confidence is not a bad thing; it could mean that you are prepared and thorough. Not caring, though, may not necessarily be a good thing — but you don’t care, so why harp?

Await Final Payment

Some of those who responded to our query take another route altogether: their final moves are all about the financial aspects of the project. They try to get paid. These people have run all their normal checks, and now they’ve turned for the final check from the client. Most professionals in the design and development community hold off on launching until the client has made their final payment. Whether that would be the final installment or full payment, the last thing on the check list for many is to collect everything owed for their work — and to stay in a holding pattern until that is done.

What our friends on Twitter said:

  • “Wait for final payment confirmation.”
  • “Send an invoice.”
  • “Get the cash!”

Benefits

  • One benefit of this approach is that you get to move on until payment is received, being freed up for other things.
  • It also puts the responsibility for ultimately launching the website on the client.
  • Finally, by not launching until you get paid, you ensure that final payment does actually come.

What This Says About You

One thing this tells us about the person who uses this approach is that they are trusting… to a point. They are willing to meet the client halfway and do most of the remaining work for them on good faith. But it also shows that good faith will carry the project only so far; this professional is not willing to give up their only leverage to the client. It also shows a certain level of professionalism, seeing as some sort of contract was agreed on before the project began.

Run Diagnostics

Some members of the community opt to run a final set of comprehensive diagnostics. They go through a full range of tests to determine whether any areas are still exposed to the elements as it were (speed tests, script checks, link trials, spell checks and so on). The list of oft-overlooked yet ever important details can be quite long and intimidating to tackle. But tackle we must, and some save this daunting diagnostic imperative until they are on the verge of launching. Several members of the community even create a helpful check list to aid in this phase.

What our friends on Twitter said:

  • “Test, test, test!”
  • “I go through my check list and see that I just forgot something. I check or preview the project before launch. I do simple and wide checks.”
  • “Test whether everything works properly and look for spelling mistakes. Tick off the project check list.”

Benefits

  • Of course, a full project diagnostic test will be beneficial, but doubly so if you’ve saved it for last, because no little changes you’ve made will fall through the cracks.
  • A thorough examination also brings peace of mind, especially when you use a comprehensive check list to ensure that everything is covered.

What This Says About You

Running diagnostics on your projects simply says that you are professional, sensible and efficient. While that may seem an impressive peek into your personality, those are not surprising qualities in the design and development field. But the depth of your diagnostics process gives a little more insight into who you are. If you take the time to conduct a meticulous check on a project, then you are more than efficient: you are anal, and your personality reflects that perfectionism. If you take a more lackadaisical approach and cover only a few key areas, then you may be efficient but have some traits of a slacker.

Final Cross-Browser Compatibility Check

One obvious and important check to perform at some point during any Web-based project is cross-browser compatibility, and according to the responses we received, some members of the community repeat this frustrating step before the project goes live. In fact, it is usually a safe bet that at least one browser will give you some sort of headache before all is said and done. Some resources can make these checks quicker and easier (we’ll link to them later).

Browser in What Is The Last Thing You Do Before You Launch A Website?

What our friends on Twitter said:

  • “Do a quick cross-browser check…”
  • “Make sure it doesn’t totally explode in IE6.”
  • “Run through a quick check — analytics, etc. — and a last x-browser check.”

Benefits

  • The benefit of this kind of testing is self-evident. Saving it for last, though, generally gives you a sound starting point for the testing. However, it is always a good idea to test early, and test often. The earlier you test your working protoypes, the more likely you are to avoid compatibility issues in the long run.

What This Says About You

Checking for cross-browser compatibility is unavoidable. Leaving it for last simply speaks to your knowledge and ability to handle the full range of browser checks. What you check tells us even more. If you do a comprehensive test, it shows that you are responsible enough to see your tasks to completion. If you do everything but ignore IE6 (leaving its glitches in place), it shows you are responsible but have limited patience for idiocy.

Get An Outside Opinion

Another oft-mentioned approach is to turn to outside sources for opinions and feedback (always important whenever you do it). There is a reason why the saying about having a second set of eyes around has become so entrenched. Getting someone else in your field, whose opinion you value and insight you trust, to look at a project when you feel it’s ready is always useful. Given the size of the online design and development community and the willingness of its members to offer feedback, all you have to do is ask.

What our friends on Twitter said:

  • “Have someone test the website out, check for bugs and give you a quick review.”
  • “Pass the website over to a network of Web dev friends for them to pull apart and find anything you’ve missed.”
  • “Delete and start over (kidding). Send out a password-protected URL to a select group of Web buddies for a last look.”

Benefits

  • Getting feedback from someone who is not close to the project, someone who would see things you have overlooked, is always helpful.
  • A second look can reveal elements that don’t work as well as you would like or believe.
  • Feedback from people who are actually in your field is invaluable. Most other feedback tends to be vague and superficial.

What This Says About You

Anyone who makes this their wrap-up routine plays well with others. Those who seek input from others also possess confidence and understanding and rarely rely solely on their own judgment. They are secure enough in their abilities and know enough about their field to be able to handle professional criticism of their work. These qualities are also needed to implement the recommendations that they get. Also, you are at least somewhat likeable, having a network of trusted friends in the community.

Back Up

The final approach we’ll feature here is an extremely important step that is often forgotten: backing up all relevant data and materials before launching. Backing up all the parts of your project before handing over the files not only is sound and sensible, but in the event of an unforeseen catastrophe, it saves you from losing the entire project and having to start at square one. Backing up is an easy way to play it safe and cover your bases. You cannot know what will happen once the project is in the hands of your client.

Backup in What Is The Last Thing You Do Before You Launch A Website?

What our friends on Twitter said:

  • “Make a snapshot of it (including data) and put it somewhere in case you need to restore at a moment’s notice.”
  • “I take an SQL dump of the database and store it somewhere safe.”
  • “Back up and archive! Twice!”

Benefits

  • Backing up is beneficial in and of itself, but it also saves you the headache of repetition if your diagnostics uncover an issue.
  • Backing up too early could inadvertently cause you to save an inferior version of the project. Then, if you need to restore the website, you won’t have the launch-ready version ready.

What This Says About You

Relatively few people tend to back up last. Doing so indicates a thoughtful nature and a completist approach to work. It also shows that you prepare for the worst-case scenario, either because you are a bit paranoid and pessimistic or because you like to play it safe (or a combination of both).

A Final Word

Thanks again to everyone who contributed to this post and made it possible, including all of you who have taken the time to read it. We have a few related resources for you to check out. After that, feel free to share your thoughts and your final steps before launching below.

Further Resources

As always, here are a few more posts and tools that might assist you in your final hours. Enjoy these helpful check lists:

(al)


© Robert Bowen for Smashing Magazine, 2010. | Permalink | Post a comment | Add to del.icio.us | Digg this | Stumble on StumbleUpon! | Tweet it! | Submit to Reddit | Forum Smashing Magazine
Post tags: ,

:: Read More
(Published: Tue, 13 Jul 2010 05:18:13 -0700)

Showcase of Beautiful Photography
Smashing-magazine-advertisement in Showcase of Beautiful PhotographySpacer in Showcase of Beautiful Photography
 in Showcase of Beautiful Photography  in Showcase of Beautiful Photography  in Showcase of Beautiful Photography

Sometimes, a picture can be powerful enough to be inspirational material all by itself. To provide you with some inspiration for the upcoming week, this sunday we feature some truly beautiful and impressive images from talented artists and photographers worldwide.

Whether in black and white or in colors, they are all related by a strong sense of composition and an emphasis on lightening and colors work. All images are linked to their sources, which you are encouraged to visit. Other work of the photographers we have featured here is certainly worth discovering as well. Please notice that some images are available as prints as well.

[Offtopic: by the way, did you know that Smashing Magazine has one of the most influential and popular Twitter accounts? Join our discussions and get updates about useful tools and resources — follow us on Twitter!]

Beautiful Photography

Dreaming
Amazing sleeping beauty, where the beauty is actually also the beast, by Peter ツ. Prints are available as well.

102 in Showcase of Beautiful Photography

Blue Sky

107-photos in Showcase of Beautiful Photography

Far And Away

110-photos in Showcase of Beautiful Photography

Inside Capitol Hill

114-photos in Showcase of Beautiful Photography

The Endpoint
By Jeannette Oerlemans.

115-photos in Showcase of Beautiful Photography

Falling Up

163 in Showcase of Beautiful Photography

Song of Tide
By Wira Nurmansyah from Indonesia.

33004 in Showcase of Beautiful Photography

Blue
By Earl A. Jones.

168 in Showcase of Beautiful Photography

Bunny Bokeh
Happy bunny bokeh wednesday, by Little Miss Patricia.

145 in Showcase of Beautiful Photography

The Cat

122 in Showcase of Beautiful Photography

Abstract
By tanakawho.

167 in Showcase of Beautiful Photography

Ink Sea
By Hermin Abramovitch.

161 in Showcase of Beautiful Photography

Fan’s Eye
A macro shot by LauHi.

Eye in Showcase of Beautiful Photography

falltuer

Falltuer By 5letters in Showcase of Beautiful Photography

Painter
By Konrad BÄ…k.

120 in Showcase of Beautiful Photography

Ant, The Driver
By Raphael Guarino.

136 in Showcase of Beautiful Photography

A purple leaf
By National Geographic.

137 in Showcase of Beautiful Photography

Flower Petal
By Alistair Campbell.

148 in Showcase of Beautiful Photography

Keeper
By Wysseri.

149 in Showcase of Beautiful Photography

Who Feels Love
By Ciuky.

157 in Showcase of Beautiful Photography

In The Mood 4 Love
By Antonio Navarro Wijkmark.

159 in Showcase of Beautiful Photography

Tunnel
By Kleemass.

171 in Showcase of Beautiful Photography

Eyjafjallajökull
By Skarphéđinn Ţráinsson.

Eyjafjallajokull-plinian Eruption in Showcase of Beautiful Photography

Susanna Majuri
A disturbing yet insteresting serie of images by Susanna Majuri.

113 in Showcase of Beautiful Photography

San Torini

105-photos in Showcase of Beautiful Photography

Abandoned
By tEdGuY49.

Ab in Showcase of Beautiful Photography

blue canary
By Ursula I Abresch.

111-photos in Showcase of Beautiful Photography

Bearded Dragon
A macro shot by LauHi.

Ph in Showcase of Beautiful Photography

Ant (by Unknown)
Please let us know who is the author of this image in the comments.

Ameise in Showcase of Beautiful Photography

Light Paintings by Twin Cities Brightest

Icarusbytcb in Showcase of Beautiful Photography

Last Click

The Plugs
Well, that’s not a beautiful photo per se, but we are confident that this image will spark your imagination for a more productive workflow — at least when it comes to handling cabels and plugs!

109-photos in Showcase of Beautiful Photography

Would you like to see more similar inspirational posts?



© Smashing Editorial for Smashing Magazine, 2010. | Permalink | Post a comment | Add to del.icio.us | Digg this | Stumble on StumbleUpon! | Tweet it! | Submit to Reddit | Forum Smashing Magazine
Post tags: ,

:: Read More
(Published: Sun, 11 Jul 2010 08:33:34 -0700)

Web Designer as The Artist, Scientist And Philosopher
Smashing-magazine-advertisement in Web Designer as The Artist, Scientist And PhilosopherSpacer in Web Designer as The Artist, Scientist And Philosopher
 in Web Designer as The Artist, Scientist And Philosopher  in Web Designer as The Artist, Scientist And Philosopher  in Web Designer as The Artist, Scientist And Philosopher

Web professionals have to be both flexible and creative to meet the needs of each client — and these characteristics often transcend the design and development process. Each of us has a unique approach to our work. The particular mindset and methods by which each of us turns a mental image into a delightful and usable website is worthy of investigation.

In this article, we’ll discuss three approaches taken by many Web designers and developers. While a creative individual usually falls into more than one of the three categories, each of us is still likely more heavily weighted towards one. These approaches might help determine what paths someone is best suited for and might shed light on how they achieve their goals. So, without further ado, we introduce you to the artist, the scientist and the philosopher.

[Offtopic: by the way, did you know that there is a Smashing eBook Series? Book #2 is Successful Freelancing for Web Designers, 260 pages for just $9,90.]

The Artist

SM-01-example in Web Designer as The Artist, Scientist And Philosopher

Sitting in a studio apartment, engrossed in Adobe Photoshop, ruminating on the powers of shape and color, is a person like no other. The artist is a creature of great creative power, who sees beauty in their surroundings and attempts to reflect it in their work while meeting the requirements of their clients. The artist might not be inclined to write the next Google killer, but everything they produce is inspired by their care and keen eye.

Definition: Artists are best defined as those who are more interested in the presentation itself than in the mechanics of the mode of presentation. Graphic artists, Web designers, content writers and podcasters often fall into this category.

Passion and the need to create are the hallmarks of the artist. Her wish is to satisfy her love of the visual elements of the Web industry. She relishes showcasing her skills and stays at the forefront of exploration in the field of design. Her imagination is matched only by that of children and children-at-heart.

Living in a fantastical world of beauty — which can actually breed sensible design — is not the only characteristic of the artist. Visitors are drawn to her work and feel an emotional connection to it. The artist also acts as a muse for other designers.

With a range of tools, the artist conveys emotion in a beautiful and professional design. Here are some examples:

SM-06-example in Web Designer as The Artist, Scientist And Philosopher

Single-page animated websites powered entirely by Flash are common.

SM-07-example in Web Designer as The Artist, Scientist And Philosopher
Typography that goes beyond Web-safe conventions can enhance artistic value.

SM-08-example in Web Designer as The Artist, Scientist And Philosopher
Clean, visually appealing designs that attract many eyes.

SM-09-example in Web Designer as The Artist, Scientist And Philosopher
Minimalism and a focus on content demonstrate a keen use of space.

SM-10-example in Web Designer as The Artist, Scientist And Philosopher
jQuery animations and colorful focal points increase visual interest.

The Scientist

SM-02-example in Web Designer as The Artist, Scientist And Philosopher

A cup of something caffeinated and some snacks lie on the desk. It’s the middle of the night, and a man is furiously typing away at his computer, producing line upon line of code to meet an looming deadline for “the next big social network.”

The scientist is a creature of habit, working longer hours than other colleagues. He has the stamina to render thousands of lines of PHP in an engaging, thought-provoking and memorable project filled with complexities and structured progress.

Web developers — their term — are well known for late nights and working at ungodly hours. They can produce code at the drop of a hat. While these habits may seem rather unhealthy, the scientist’s willingness to solve complex problems, his enviable powers of memory and his ability to solve problems logically make him a different but still inspiring creature in the technological world and workplace.

Definition: Scientists are best defined as those with an interest in code. Making things work and creating structure tend to be their top priorities. Think of programmers, developers, database workers and their kin.

Pictures of a coding monkey might come to mind, but remember that writing code is just as involved and requires as much creativity (though perhaps of a different sort) as the work of the artist and philosopher. It’s also just as much of a gift. To give you an idea of the inner beauty of the scientist’s work and of how this driven mindset can be a powerful asset, see the examples below.

SM-11-example in Web Designer as The Artist, Scientist And Philosopher
Following specifications shows the scientist’s commitment to presenting code properly.

SM-12-example in Web Designer as The Artist, Scientist And Philosopher
Server-side scripts process forms silently and in the background.

SM-13-example in Web Designer as The Artist, Scientist And Philosopher
Innovation and careful planning lead to elegant and complex search mechanisms.

SM-14-example in Web Designer as The Artist, Scientist And Philosopher
Keeping things simple increases speed and minimizes redundant code.

SM-15-example in Web Designer as The Artist, Scientist And Philosopher
Frameworks and microformats facilitate well-maintained, elegant, optimized code.

The Philosopher

SM-03-example in Web Designer as The Artist, Scientist And Philosopher

Our friend the philosopher sits on a train. He is on his way to meet a company. His laptop is open, and he is reading the business plan — or so it seems. Underneath, the wheels are turning; he is dreaming up a revolutionary way to help the business evolve. The philosopher, a unique breed, incorporates the skills of the artist and scientist while bringing to the table his keen insight into trends and target audiences. He is engaging and friendly, and he shows empathy, that rare and valuable gift.

Definition: Philosophers are consultants, officially and unofficially. They are masterful advocates and are able to coordinate and empathize with both artists and scientists. Think of accessibility and usability gurus, UX and IA advisors, SEO planners and information architects.

Those who design and build websites tend to receive the most credit in our industry. The philosopher knows that if he does his job well, he is invisible. His work should integrate seamlessly with the work of his colleagues. He is the person who performs UX and usability tests, audits websites and advocates for the end user.

The skills of such a person might seem questionable, but their understanding of the end user’s needs and their ability to help execute the team’s vision for the Web are attributes worthy of distinction. The philosopher is calmly neutral and can sense what is best for everyone involved.

Below are a few examples of contributions made by philosophers to the evolution of the Web.

SM-16-example in Web Designer as The Artist, Scientist And Philosopher
Techi highlights that a well-structured navigation menu is paramount.

SM-17-example in Web Designer as The Artist, Scientist And Philosopher
Jakob Nielsen is a famous master of usable Web design.

SM-18-example in Web Designer as The Artist, Scientist And Philosopher
Philosophers put a great deal of thought into simplifying information requests.

SM-19-example in Web Designer as The Artist, Scientist And Philosopher
Accessibility gurus consider the potential of mobile and handheld devices.

SM-20-example in Web Designer as The Artist, Scientist And Philosopher
Looking for errors and potential improvement is all part of the job.

Which Are You?

The world is full of job titles that are meant to define people’s roles and usefulness. While a title can delineate a person’s skill set, it doesn’t come close to explaining how each professional sees themselves or what they mean to a community. A question inevitably left unanswered is: what makes an individual’s style and approach unique?

Bridge the Gap

Under the right circumstances, each of us gets to be all three: artist, scientist and philosopher. Being a Web professional often requires an equal measure of skills related to art and design, development and theory. Still, the way we conduct ourselves and perform our duties hints at our true “inner being.”

SM-04-example in Web Designer as The Artist, Scientist And Philosopher

You’ve met these three equally gifted professionals (in this article and probably in real life), but keep in mind that distinguishing between these three types is simply an exercise in professional development. None are in any way better than the others; this field has a genuine need for all three. It goes without saying that approaching tasks in different ways helps us to be innovative. If you’re just entering the industry, perhaps a little self-analysis will help you find your niche.

We are all a bit of everything. Most of us can draw; even if we’re limited to stick figures and finger paintings, we all have an artistic outlet when we need it. We can all think logically, even if we don’t always show it; and our ability to work and code within parameters is helped along with HTML and CSS. We are all social beings, able to interact and understand one another, and we all have personal tastes. Everyone also has bad habits and prejudices. Stay open-minded and accept that “it takes all kinds”; a variety of skills and personalities makes the workplace vibrant.

We possess the knowledge and skills required to undertake the work our clients pay for, and acknowledging these three approaches can aid us in our work. In doing so, we might feel driven to learn new skills or find ourselves better able to understand and cooperate with our colleagues, and we might gain enough insight to take a step back from a project to get a fuller view of our goals.

SM-05-example in Web Designer as The Artist, Scientist And Philosopher

Be proud of your unique approach (if it’s working), whether you’re an artist, a scientist or a philosopher. We are, each of us, unique, and we are more than the sum of our qualifications.

(al)


© Alexander Dawson for Smashing Magazine, 2010. | Permalink | Post a comment | Add to del.icio.us | Digg this | Stumble on StumbleUpon! | Tweet it! | Submit to Reddit | Forum Smashing Magazine
Post tags:

:: Read More
(Published: Fri, 09 Jul 2010 04:55:02 -0700)

Renegotiating The Contract (And Other Tales Of Horror)
Smashing-magazine-advertisement in Renegotiating The Contract (And Other Tales Of Horror)Spacer in Renegotiating The Contract (And Other Tales Of Horror)
 in Renegotiating The Contract (And Other Tales Of Horror)  in Renegotiating The Contract (And Other Tales Of Horror)  in Renegotiating The Contract (And Other Tales Of Horror)

You’ve met with the client, done the creative brief and gotten some kind of written agreement or contract. Work has been creative and progressing nicely. The joy and hope for life slowly return as the scent of money looms. So, with an overdose of sleeping pills no longer your retirement plan, you start to delete your suicide note and dispose of the envelopes containing instructions on terminating your accounts on Twitter, Facebook and LinkedIn.

Then, someone crunches some numbers and realizes that you can’t be paid what was agreed on. Suddenly, your contract becomes either a weapon in a brutal fight or a token to keep the job going in the hope of some pay and a return client.

[Offtopic: by the way, did you know that Smashing Magazine has one of the most influential and popular Twitter accounts? Join our discussions and get updates about useful tools and resources — follow us on Twitter!]

The Hard Part Is Behind You

Many people start an assignment only after a percentage of the job has been paid. 50% is nice, but convincing the big clients that they are not your bank is becoming harder and harder, and the promise of payment in 30 days does not give you a warm feeling inside.

I am currently awaiting word from a client who has to evaluate some concepts and inform me of which to invoice (per piece). I am now in my sixth week of waiting, and then I have to wait 30 days beyond that to receive payment. I’ll be paid faster than the waiting period for approval for a large corporation. If you have the deposit fee, walking away is an option, but if you don’t, then you’re in a tough spot.

For hourly jobs, I always include a summary in each email of my hours spent. Sometimes, they actually pay attention and step on the brakes so hard that you can hear the job screeching to a halt. I have never worked on a project that didn’t go around and around and rack up the hours. Clients rarely connect the hours spent on committee decisions to the many extra hours they eat up. When they do and the budget is dried up, who do they turn to to make the project fit the budget?

When this happens, the strongest contract is worthless if you’re trying to finish the project, educate the client and show them a better method of coming in under budget while getting exactly what they want. The alternative is a collection agency or small-claims court (check your local laws for limits on small claims and civil claims); I prefer collection agencies, but you still may never see the money.

My Story Of Horror Averted… For Now

This story involves a website for a mid-sized company. Because the boss’ son knew my wife, his cousin asked for the “family discount.” The discount wasn’t enough to sting, so I agreed on an hourly rate and began. I was to work with the boss’ secretary as my contact person. A couple of weeks rolled by, with changes and odd requests coming in. The requests were implemented, and more requests came in, sometimes reverting the project to a previous version. This went on for a while until I got a call from the boss one weekend. He was angry that I wasn’t following his directions and wanted to know what my problem was.

I sent him several emails showing the instructions for the changes. There was some silence on the phone before he muttered, “Oh… my… God.”

He said he’d get back to me and hung up. Monday afternoon he calls to relate a story that is unfortunately not entirely unfamiliar. His secretary, it seems, has always wanted to be an art director. She had no formal training but apparently loved the idea of having the power to hold meetings and tell designers what to do, because apparently that was her impression of what art directors did. That and drink a lot of gourmet coffee.

She ignored what the boss wanted so that she could run the project and present it to him as her “art direction.” When I told him that she had wracked up about $2,000 in changes, he hit the roof.

“You can’t expect me to pay that!?” he boomed.

“I did everything I was told to do by the point person you assigned to me,” I answered softly, hoping my tone would bring him down a little. I knew he was furious and wasn’t about to part with another $2,000 (family discount included).

“I can’t afford another $2,000 in the budget.”

“I can’t afford to walk away from $2,000 of work I did, forsaking other work, so the money can’t be replaced or forgotten.”

“You’re going to have to work with us on this,” said the client, a little more down to earth, but obviously worried I hadn’t given in right away and cut my bill.

“May I suggest you take it out of your secretary’s pay?” I gently suggested. “I’m sure she’s worried about losing her job right now, and she’d probably prefer to pay out of pocket than just be fired.”

“I’ll get back to you,” said the boss before hanging up. His tone indicated that he hadn’t decided whose head would roll.

After about a week, he called back and informed me that I would be working directly with him. He told me what he had asked for before the secretary (whose name he never brought up again) messed with his directions. We completed the whole thing in a week. I don’t know what ever happened internally. Later on, they called a couple of times to revise a page or two on the website, but eventually they stopped calling and later redid the website with someone else very cheaply — probably in cost and certainly in look.

I did get paid the entire amount, minus the family discount, and it led to more work. I never renegotiated, but I would have to save the client. My gamble may or may not have paid off because the relationship went on for a brief period, but I was prepared to renegotiate to keep this client with the “dysfunctional family discount.”

I’m Often Asked to Renegotiate

Sometimes renegotiating gives you a better deal. Sometimes you just have to take a lower fee and hope it leads to something better down the road. And sometimes you have to cut your losses, take some money and learn a lesson. I wish I knew what that lesson was. I think it’s to say, “Yes.”

A good client of mine, a huge corporate entity, assigned me the challenge of coming up with innovative initiatives. I could submit up to three, and each idea accepted would pay me enough to buy all the fast food lunches I wanted for the rest of the hour. I submitted three, but the point person felt that one of them wasn’t quite there and so would pay me a fifth of the agreed-upon slave wages. What kind of candy bar would I buy with that money?

“I could never, in good conscience, invoice you for something that you are not 100% happy with and will not invoice you for that initiative,” I wrote. “I must also state that this negates our contract for ownership on this piece only.”

He agreed and was obviously happy with the renegotiation because he has since sent me better-paying work, and I was happy to retain the rights to the initiative, which I shopped elsewhere.

What if he had insisted on paying less for ownership of the third idea? I would have given in. The client was too important, and all that would happen is my pride would be hurt and the client might have made a huge windfall from the idea and looked forward to cheating me again… well, you know what I mean. They would see my value, and obviously I’m willing to be “flexible.”

Being “flexible,” in my experience with work and life, means inconveniencing myself because someone else screwed up. I use different words, but never in mixed company.

In negotiating a contract with another client, the partners agreed that I should include “… and anything else we deem necessary.” (People who have heard this story love it.) Obviously, entering the slave creative trade wasn’t acceptable to me, and so they told me they needed to work with someone “more flexible.”

My guess is that either they never found someone to launch their business or some poor soul is owed many thousands of dollars.

What To Do When Asked For a “Flexibility” Mid-Project?

There are many schools of thought on what to do when you’re asked to be “flexible” with your work and invoice right in the middle of a project, ranging from quiet acceptance to violent government overthrow. Let’s explore the middle road.

When you’re asked out of the blue to reduce an invoice or provide extra unpaid work, the first thing you have to do is think. It’s okay to sit on your response overnight, depending on the deadline. If it comes via a phone call, then you can say to the client, “I understand your dilemma. I’ll need to crunch some numbers and come up with an option or two that will make us both happy and allow us to finish the project on time. Let me call you tomorrow with some great solutions.”

They may press for an answer right away. You’ll feel the pressure. Explain that a lot is at stake, and you want to be sure that everyone walks away from the renegotiation happy.

If they press further still, well then, think quickly and engage them in a negotiation. Here are some possible responses you can give:

— The first thought off the top of my head is to cut the number of changes by having one point person draw together the requests and decide what is necessary. That would cut the number of hours. Does that help you out?

— I can’t really reduce the invoice because it’s time that I can’t make up with other projects. What if I stretch out the payments over six months so that the overage falls into another budget period?

— I’ll give you a discounted rate on the next assignment to even it out.
[Wouldn't it be something to use that line on a client for a change?]

— If you can get me two dozen items of the product, I could easily agree to changing the monetary part of our agreement.

— You carry some products that we could use to barter.

— You have a service I could use, so let’s barter.

(Check your local laws on the value of bartered goods for taxation purposes, and always barter at the wholesale cost, not the retail cost.)

There are several ways to get paid while remaining “flexible.” When asked to renegotiate, think of what you want. Do you want the client to be a regular client? Do they give you enough work to even be regular? Has working with them been a positive experience? Is the fee structure good? What are you really giving up? Do you have another project waiting? Will a few unpaid hours dent your income from other clients? Is the client the type that would appreciate your sacrifice? Will you get referrals from this client? Does the 50% deposit cover your output so far, and could you just walk away now and leave them to find another freelancer?

Big Lies About Being “Flexible”

I became very close with many ad agency art buyers, and when they would get liquored up, I could easily get them to spill the industry lingo. They would laugh as they spat out slogans that had no meaning to anyone. I think back to the many times I heard those slogans thrown my way and how the laughs must have mounted at my expense as I left.

If you hear this:
“We’ll remember that you did us this favor…”

Insert the following:
“… and avoid you like the plague because of it.”

If you hear this:
“We ran over budget on this project, but you can add it to the next invoice…”

Insert the following:
“… which will never be happen because we’ll never run out of freelancers to screw.”

If you hear this:
“It will take you 10 minutes to do this…”

Insert the following:
“… But it will take you six weeks to listen to me say ‘I’ll know it when I see it’ and to listen to all my stories about my vacation to Fiji and my new Maserati.”

If you hear this:
“I just don’t understand how a design for one simple movie poster could cost more than $500?…”

Insert the following:
“… After all, it’ll only be used for the worldwide rights to all merchandise for this blockbuster film, and we expect the poster image will bring in only $485 million.”

(It’s long been the practice that illustrators, photographers and designers would charge more for work that would be licensed out. Licensing rights are just as important as the money earned from time spent on the actual work. The story of the Nike logo shows a happier ending.)

If you hear this:
“Oops! I typed $500 instead of $5,000 on my budget report. Could you give me a break here?…”

Insert the following:
“… so that I’m not fired when you show the contract to my boss.”

If you hear this:
“The client loves your work and wants to use you for further projects, but could you lower your fee as a kind of test?…”

Insert the following:
“… which you will fail, even if the work is great. Ha-ha! Satan wins again!”

It seems Satan has quite a following in advertising. As if we didn’t know that. How do you think agencies get work for the Super Bowl?

People will tell you all kinds of things to get what they want. We do it, too. The key is to know when to keep one’s mouth shut and when to negotiate one’s way to a happy solution, with as little of Satan’s influence as possible. You may not be cowering from him in subservient terror, but you’re stuck next to him on a cramped bus for the entire ride.

Related Posts

You may be interested in the following related posts:


(al)


© Speider Schneider for Smashing Magazine, 2010. | Permalink | Post a comment | Add to del.icio.us | Digg this | Stumble on StumbleUpon! | Tweet it! | Submit to Reddit | Forum Smashing Magazine
Post tags: , ,

:: Read More
(Published: Thu, 08 Jul 2010 07:07:26 -0700)

Designing A Facebook Fan Page: Showcases, Tutorials, Resources
Smashing-magazine-advertisement in Designing A Facebook Fan Page: Showcases, Tutorials, ResourcesSpacer in Designing A Facebook Fan Page: Showcases, Tutorials, Resources
 in Designing A Facebook Fan Page: Showcases, Tutorials, Resources  in Designing A Facebook Fan Page: Showcases, Tutorials, Resources  in Designing A Facebook Fan Page: Showcases, Tutorials, Resources

Despite its privacy issues, Facebook clearly has a key role in global Internet activity. It has become a kind of universal social network, being used for both personal and business needs. For many individuals, companies and organizations, Facebook has become an integral part of their branding strategy and promotional campaigns.

Facebook provides many tools for maximizing the effect of your presence on the social network, most of all by means of business pages, also known as fan pages. Using a variety of applications and Facebook API tools, one can get creative not only with the page content, but with the design, too.

In this post, we’ll give you an idea of how to use Facebook for your business and self-promotional efforts. Below, you will find best practices for custom Facebook fan page designs, with various approaches to creating an attractive, descriptive and engaging Facebook business page. In addition, the selection of tutorials and resources for Facebook fan page development might help you get started with your own effective Facebook presence.

By the way, it’s been two years since Smashing Magazine’s Facebook fan page launched (now with 18,500 fans). We have worked hard to integrate discussions, useful tips and give-aways to make the fan page more appealing and engaging.

[Offtopic: by the way, did you know that there is a Smashing eBook Series? Book #2 is Successful Freelancing for Web Designers, 260 pages for just $9,90.]

Showcase Of Well-Designed Facebook Fan Pages

Giants of the Industry

Big brands demonstrate the best use of Facebook by far. Getting millions of fans may not seem like a big deal for Coca-Cola or Victoria’s Secret, but these companies managed to create fan pages that engage users on a much deeper level than by just asking them to click the “Like” button. An interesting trend seen across this category is of large companies taking Facebook to a new level, putting it at the center not only of their social media campaign, but of their entire online presence.

Starbucks
Currently with the number one fan page for a brand on Facebook (with almost 8 million fans), Starbucks takes a distinctive approach, focusing less on loud entertaining apps and more on high-quality content and beneficial offers for its fans. Starbucks has learned how to effectively use status updates and how to share a lot of interesting, useful and engaging material aside from its product updates. The company also offers a couple of interactive apps that not only are fun (e.g. the Instant Story tab) but that offer tangible benefits (e.g. discount coupons, and functionality that allows fans to manage their Starbucks accounts right in Facebook). The fan page also has an interactive map that links to the company’s regional Facebook pages (just as BlackBerry does, as we’ll see). With no unusual visual indicators on its fan page, Starbucks demonstrates that functionality is at least as important as aesthetics.

Starbucks in Designing A Facebook Fan Page: Showcases, Tutorials, Resources

Red Bull
The fan page for Red Bull is by far one of the best on Facebook. By implementing a number of innovative ideas and engaging apps, Red Bull makes the best of its Facebook presence and thus stands out from business pages for other brands. A good example of this is its Twitter stream, which, instead of featuring just Red Bull’s corporate feed, assembles tweets from sponsored sports athletes and allows fans to connect with them beyond Red Bull’s domain. Live Web TV that anyone can view right on Facebook and a variety of fun games also encourage users to interact with the brand. While the welcome page is not in the default menu bar, it’s quite informative and serves as a compact graphic map of the entire Facebook page. Red Bull is also a pioneer of using Facebook as a recruiting tool; adding a careers board to a profile with so many fans makes sense indeed. Bravo Red Bull!

Redbull in Designing A Facebook Fan Page: Showcases, Tutorials, Resources

Skittles
Although Skittles’ fan page features two brightly designed, eye-catching tabs (one a graphic presentation with links, the other promoting its “Mob The Rainbow” campaign), the company has set its Wall tab as the default. This is typical of popular brands that don’t require an introduction. It allows fans and visitors to the page to immediately follow the company’s updates and join the conversation.

Skittles in Designing A Facebook Fan Page: Showcases, Tutorials, Resources

Coca-Cola
Another giant with a million-plus Facebook fans, Coca-Cola has a fan-centric Facebook page. It encourages active user participation and interaction between the brand and its fans. The landing tab is set to the Coca-Cola introduction, which contains a dynamic box with latest updates and a “Like” button, links to other social network profiles for the brand, a fan highlights strip, and info about the product and the page’s creators (by the way, this Facebook page was created by two Coke fans and then later supported officially by the company). Another highlight of the Coke fan page is photo albums: in addition to some standard product shots and event photographs, many other albums are included, presenting Coca-Cola not only as a popular beverage but as a multi-generational icon. Here is a good example of how to make use of photos on Facebook.

Cocacola in Designing A Facebook Fan Page: Showcases, Tutorials, Resources

Twilight Saga
The default tab for the official fan page of the blockbuster series Twilight Saga is a large graphical tab promoting the latest episode, Eclipse. The custom tab incorporates elements of the movie’s website and the trailer, live Twitter updates, links to official websites and other info. Two other custom tabs are dedicated to the second film, New Moon, and the official movie soundtrack. The entire page is rich in content and delivers its information effectively.

Twilight in Designing A Facebook Fan Page: Showcases, Tutorials, Resources

More Beautiful and Engaging Facebook Pages

Room 214
A nice approach to the Facebook welcome page is demonstrated by social media agency Room 214, based in Boulder, Colorado. The default tab, with its nice duo-tone and sketchy font, looks minimalist and attractive, and it focuses on introducing its team members. The “About” tab has a clean two-column layout, with some basic info about the company in the left column and cute roll-over links to the staff’s Twitter accounts, official website, blog, contact page and corporate Twitter page. Another graphic tab covers the agency’s clients. A simple yet well-executed fan page design.

Room214 in Designing A Facebook Fan Page: Showcases, Tutorials, Resources

Porsche
The ColorStyler tab on the fan page for Porsche is so darn great that one immediately wonders why on Earth they didn’t make it the default tab? The pure FBJS tab allows users to select a Porsche model and customize its look in a live preview mode, with a nifty color and rims picker. One then can send the Porsche image to a friend or publish it on the page’s wall. This hidden gem makes the entire page shine.

Porsche in Designing A Facebook Fan Page: Showcases, Tutorials, Resources

Digital Turf
The fan page for Digital Turf is an interesting and rather confusing case. The page design itself is wonderful: the excellent company presentation, two-level sub-navigation, diverse data and cute style is a feat of FBJS and makes this one of the most attractive business pages you’ll see on Facebook. Here’s the confusing part: Digital Turf specializes in developing Web-building and media solutions for political campaigns and organizations (maybe not exclusively, but that does figure prominently in its list of services). The question is whether this design style communicates the company’s strengths well enough to attract its target audience. If it solved this concern, Digital Turf could turn its fan page, which is awesome as it is, into a Facebook promo bomb.

Digitalturf in Designing A Facebook Fan Page: Showcases, Tutorials, Resources

Revision Eyewear
The main tab of the Revision Eyewear fan page features an impressive Flash intro, with bold photographs and transitions and a dynamic “Become a Fan” link. The eye-wear manufacturer also uses Facebook for its charity work; a custom graphic tab on the page explains its causes and displays donation links (the “Become a Fan” button turns into a donation button—very clever).

Revision-eyewear in Designing A Facebook Fan Page: Showcases, Tutorials, Resources

Thurston & Betts PLLC
The Facebook page for law firm Thurston & Betts is notable for its “Like Us!” tab. A simple informational scheme in the center, with nice roll-over buttons leading to the company’s website, is a clever solution: neat yet substantial. The tab also includes the firm’s main contact info and a map of its location. It’s difficult to imagine a better Facebook page design for a law consultancy.

Thurston-and-Betts in Designing A Facebook Fan Page: Showcases, Tutorials, Resources

Daddy Design
The fan page of Miami-based Web design studio Daddy Design includes two custom tabs: “About” and “Portfolio.” Both tabs use the page’s entire width, which, along with the striking orange color scheme, makes this page hard to pass by. The business page is tied closely to the company’s official website design, and it highlights a neat FBJS portfolio, with links to Daddy Design’s social profiles. It actually creates the feeling of a website within the Facebook page. Great work.

Daddy-design in Designing A Facebook Fan Page: Showcases, Tutorials, Resources

1-800-Flowers
In our opinion, this is one of the best uses of a Facebook business page for e-commerce. By becoming a fan of 1-800-Flowers on Facebook, you can access up-to-date content, send virtual gifts to friends and shop for flowers right on Facebook (via the Flash-based application Alvenda). The company’s “Welcome” page has a simple and attractive grid, consisting of four sections that engage visitors with various activities. Also, the cool promo code field offers a discount to anyone who hits the “Like” button.

1800flowers in Designing A Facebook Fan Page: Showcases, Tutorials, Resources

The Game – Team A
The Game, for the Sony PS3, has two beautiful fan pages on Facebook, dedicated to each of the two teams in the game. The two pages have a similar design, featuring beautiful graphical tabs (and especially fine typefaces) that link to the interactive Facebook applications. The “About” tab includes an interactive worldwide game stats map, which is a nice touch.

Thegame in Designing A Facebook Fan Page: Showcases, Tutorials, Resources

Oxelo
Oxelo’s fan page would be rather generic if not for the inventive Diabolo Roller tab, which promotes its new model of roller blades. Built with a Flash app, it allows a nifty 360-degree view of the product.

Diabolo in Designing A Facebook Fan Page: Showcases, Tutorials, Resources

Teesey Tees
Teesey Tees use its Facebook presence effectively: it partially implements an e-commerce element from its website that allows Facebook users to browse t-shirt designs in a sleek FBJS gallery, directing them to the regular store for purchases. The fan page also includes a blog and a charming fan-only tab containing a discount code. There is no “About” or “Welcome” tab, and the default tab is set not to the product gallery (which one would expect) but to the Wall. While this is normal for big brands, it’s not so clear why a company with a smaller audience, such as Teesey Tees, would do this. Still, this is an attractive and well-executed fan page.

Teeseytees in Designing A Facebook Fan Page: Showcases, Tutorials, Resources

Threadless
Popular t-shirt producer Threadless takes the e-commerce on its Facebook fan page to the next level. Here, the native Facebook tee design gallery is supplemented by a size-selection menu and shopping cart buttons, which direct the user to the cart on Threadless’ website. The customer review section, with its “Share” and “Like” buttons, enhance the shopping experience of this fan page. Threadless also makes good use of the video and photos tabs, which, along with the live webcast section and active discussion board, make for an engaging, community-oriented Facebook presence.

Threadless in Designing A Facebook Fan Page: Showcases, Tutorials, Resources

Cranium
Board game Cranium has a beautiful Facebook fan page, which includes several promotional FBML pages. It doesn’t have any JavaScript gimmicks, just cutely drawn illustrations and cheerful colors that make for a positive visual experience.

Cranium in Designing A Facebook Fan Page: Showcases, Tutorials, Resources

Mark Meyer Photography
Mark Meyer’s business page is a good example of how to promote one’s personal brand effectively on Facebook. Using FBML and FMJS, the Alaska-based photographer outfits his custom tab with sub-tabs for his blog and photo gallery and an exquisite image slideshow. Status updates are also cleverly done, so that the Wall (the default tab) takes on the appearance of a photoblog.

Markmeyer in Designing A Facebook Fan Page: Showcases, Tutorials, Resources

Livescribe
The “Buy Now” tab on the Livescribe Smartpen fan page has an Amazon-ish design: it’s rich in content and options, but may require the touch of someone like Jacob Nielsen to be truly usable. Livescribe effectively uses multimedia on its Facebook page, which certainly presents its product favorably and is good for fan interaction on the page. But we would suggest that the company rearrange the position of its tabs, putting some interesting sections (such as the Pencasts, which are animated Flash videos of handwritten notes and audio captured by the Smartpen) in the main bar, instead of, say, the standard “Boxes” tab.

Livescribe in Designing A Facebook Fan Page: Showcases, Tutorials, Resources

Bodum USA
The highlight of Bodum’s Facebook business page is its excellent use of an iFrame to embed the company’s online store and interactive catalogue, which is powered by iPaper, onto the Facebook profile. In other words, Facebook users can shop for Bodum products without leaving the page.

Bodum in Designing A Facebook Fan Page: Showcases, Tutorials, Resources

Soul City Church
The “Welcome” tab of the Soul City Church Facebook page is by far the smoothest pearl in our collection of fan page designs. The clean layout, the neat typography and icons and, of course, the awesome combination of black-and-white photography and energetic green elements result in a stunning intro page. It portrays the church as a progressive and contemporary community. Credit for the great job goes to Monster Eyes.

Soulcitychurch in Designing A Facebook Fan Page: Showcases, Tutorials, Resources

Diesel
Famous apparel brand Diesel has three out-of-the-mold tabs, the most noteworthy of which is the one labelled “Sex Sells.” It is built on a Flash app and provides a stylish and original showcase for the denim collection of the same name.

Diesel in Designing A Facebook Fan Page: Showcases, Tutorials, Resources

Lancome Germany
This one will appeal to those who admire good typography. The “About” section of Lancome Germany’s Facebook page takes on a website-within-a-tab format. It features elegant and polished typography, accompanied by high-quality photography.

Lancome in Designing A Facebook Fan Page: Showcases, Tutorials, Resources

Eco-Artware.com
The Facebook business page for Eco-Artware.com features a nice FBJS “Shop” tab. It’s a pseudo-shop, though; in fact, it’s just a featured product gallery, in which both product thumbnails and catalogue categories are linked to the official online store. Nevertheless, the clean grid layout and nice roll-overs for the product images make this a beautiful and useful fan page tab. Eco-Artware.com also makes good use of the “Boxes” tab by setting it as the default.

Ecoartware in Designing A Facebook Fan Page: Showcases, Tutorials, Resources

311
The official Facebook page of music band 311, particularly the “News & Multimedia” tab, is eye candy. Designed in a cool retro poster style, it contains basic info about the band and a built-in multimedia player. A large “Fan Photos” section reflects the band’s commitment to communicating with its fans. Well done!

311 in Designing A Facebook Fan Page: Showcases, Tutorials, Resources

Rei
Outdoor gear and clothing provider REI uses its Facebook profile to foster strong interactivity, rather than merely to present a plain front. Its fan page is basically a community portal where the company engages people with its social campaigns and projects. The fan page includes two Flash tabs that feature community pictures, links and fun family games.

Rei in Designing A Facebook Fan Page: Showcases, Tutorials, Resources

Desigual
The fan page for Spanish apparel brand Desigual is bursting with color, freshness and style. It is versatile, with various types of promotional and entertaining content, yet not overwhelming. The mood is set equally by great content and classy design elements. Desigual points out that the page was started by fans and then made official by the brand; this is clearly illustrated on the Wall feed, where user-created updates are set to default along with the company’s messages.

Desigual in Designing A Facebook Fan Page: Showcases, Tutorials, Resources

Volkswagen
Currently featuring its soccer fan campaign, VW shows amazing use of FBJS on its page. Rich in content, up to date, well designed and heavily supportive of user-created content, this is the best Facebook business page that a popular automotive brand could have.

Vw in Designing A Facebook Fan Page: Showcases, Tutorials, Resources

Living Proof
The fan page of cosmetics manufacturer Living Proof is all about interactivity and dialogue between the company and its customers. Chief among its many features is the dynamic Flash introductory tab, containing basic info about the company,a lab tour,a mini blog, links to customer support services and a corporate Twitter feed. The business page also includes an interactive app that helps customers choose the most suitable products.

Living-proof in Designing A Facebook Fan Page: Showcases, Tutorials, Resources

Inspired Magazine
Inspired Magazine is one of the few Web design blogs that have customized their Facebook fan page. No fancy applications or high-volume presentations here; a minimalist FBML tab is quite enough to grab the attention of a random Facebooker and give them reasons to “Like” the page.

Inspired-mag in Designing A Facebook Fan Page: Showcases, Tutorials, Resources

Sony Ericsson
Current Sony Ericsson promotions are presented via beautifully designed tabs, with videos, contest forms and interactive applications inside.

Sony-ericsoon in Designing A Facebook Fan Page: Showcases, Tutorials, Resources

BlackBerry
Besides its several promotional tabs built with Facebook Javascript and Flash, the BlackBerry fan page features a nice FBJS map with links to local Facebook business pages. This does a good job of integrating the company’s Facebook presence and promoting its local pages.

Blackberry in Designing A Facebook Fan Page: Showcases, Tutorials, Resources

Resources And Tutorials

Here is a list of websites and tutorials to help you understand the basics of developing and promoting your Facebook business page.

Facebook Developers
This is the ultimate resource for anyone who wants to take advantage of the variety of opportunities offered by Facebook. Related documentation, forum discussions, wikis and a showcase of best practices for Facebook integration are all aggregated in one place for both beginners and advanced developers.

Hyperarts
A lot of excellent tutorials related to Facebook fan page development can be found in the Static FBML & FBML archive on the Hyperarts Blog. The tutorials are geared to both beginners and advanced developers. The blog also features a series of video tutorials, which we’re sure will come in handy for many of you. Some of the most interesting tutorials from Hyperarts are highlighted below.

All Facebook
On the unofficial Facebook Blog, you will find news, articles, tips and stats related to the world’s fastest-growing social network. An extensive guide titled How to Develop a Facebook Page That Attracts Millions of Fans addresses its subject well.

How to Use Facebook for Business and Marketing
This guide takes a look at the potential of Facebook for business and reviews the various options business owners have in order to be effective with Facebook business marketing. Recommended reading.

Reeses-facebook in Designing A Facebook Fan Page: Showcases, Tutorials, Resources

How to Create a Facebook FBML Template
In this tutorial, you’ll learn how to create a Facebook fan page in Photoshop. It uses a page for a photographer as an example. This is the first in a series; the second lesson covers the coding part. The source files, including the code, are available for download.

Photographer-fan-page-tutor in Designing A Facebook Fan Page: Showcases, Tutorials, Resources

Facebook Programming step-by-step tutorial
This tutorial series consists of 22 lessons and covers all aspects of Facebook programming, including application development, displaying fan-only content and creating an interface for a Facebook page.

Static FBML: Not Every Facebook Fan Page Needs an Application
In this tutorial the well-known blogger Alison Gianotto walks you through what a Static FBML is and why it’s sometimes quite enough to create an attractive and efficient Facebook fan page.

Extending Facebook Static FBML Tabs with Dynamic Content
Continuing from the previous guide, this tutorial explains how to add some spice to your Facebook fan page using the DynamicFBML function. You can build an image or video gallery or even a micro-site inside a Static FBML tab quite easily.

Taking Your Static FBML Microsite to the Next Level

Learn how to create sub-nav tab navigation within your Static FBML microsite using only DynamicFBML.

Creating a Custom Facebook Page
This useful guide gives you a head start on building your own fan page on Facebook. The tutorial includes such basics as Facebook page creation, restrictions on Facebook, creating tabs and displaying navigation and content elements using FBML and FBJS.

Google Analytics for Facebook Fan Pages
Another great post by Webdigi.co.uk, in which they show you how to get around Facebook’s limitations. Even though Facebook supports only restricted JavaScript, which is usually not enough for Google to correctly track visitors, the guys from Webdigi.co.uk successfully managed to get all functions of Google Analytics working on their fan page. You can learn how they did it by reading this tutorial.

How To: Build a Facebook Landing Page for Your Business
This is Mashable’s brief guide on how to add and configure a Static FBML tab on your Facebook fan page.

Mashable-image in Designing A Facebook Fan Page: Showcases, Tutorials, Resources

Internet Explorer and Static FBML: Using External Style Sheets for CSS
This insightful article discusses aspects of applying CSS styles to your Static FBML application in Internet Explorer versions and other browsers. The post includes an important update that takes into account changes in Facebook’s API that affect the implementation of CSS styles in static tabs.

8 Essential Apps for Your Brand’s Facebook Page
This article suggests a number of Facebook apps you could use to attract fans to your brand’s landing page and to make them return repeatedly.

Add a Custom Tab to Your Facebook Fan Page (Starter Template Included)
Like some of the aforementioned tutorials, this one teaches you how to embed a custom tab in your Facebook fan page. But this tutorial is a bit more detailed than previous ones, explaining how to build HTML and CSS that adheres to the new 520-pixel width requirements set by Facebook, how to add a YouTube video and how to avoid using iFrames. Also, it contains a starter template code with comments.

Facebook Best Practices for Non-Profit Organizations
This Facebook fan page guide is written by Diosa Communications, a company that specializes in social-media consulting for non-profit institutions and small businesses. It’s not exactly a list of best practices in the traditional sense, but rather a number of recommendations on how to set up and promote a fan page to the best effect.

How To Create the Perfect Facebook Fan Page
Some tips you can apply to your Facebook marketing strategy that will put your Facebook Page leaps and bounds ahead of the competition.

Adding iFrames to Your Facebook Applications: 2010
Recent modifications in Facebook’s API further restricted the use of iFrames. For instance, you can’t embed one in Static FBML anymore. iFrames can still be used in the Canvas Pages application, though, which is the topic of this tutorial.

Developing a Facebook Application for Absolute Beginners
Applications have proven to be an essential component of successful Facebook fan pages. They’re an effective tool for enhancing interactivity and engaging users. Fortunately, creating a Facebook application is not that difficult. Learn how to do it by reading this thorough tutorial by Emanuele Feronato.

App-tutorial-image in Designing A Facebook Fan Page: Showcases, Tutorials, Resources

Showcase

Not many galleries of Facebook pages exist yet. Still, the ones that do give us a pretty good idea of trends in this area.

Facebook Designs
This gallery is rarely updated, but it features some really cool Facebook page designs that we haven’t seen in other showcases.

Facebook-designs in Designing A Facebook Fan Page: Showcases, Tutorials, Resources

Custom Facebook Page gallery
Custom Facebook Page is run by the social media marketing group North Social. The gallery contains over 60 Facebook page designs, sorted into several categories. The most recent showcase is dated December 2009.

Custom-facebook-page in Designing A Facebook Fan Page: Showcases, Tutorials, Resources

Facebook Showcase
Facebook Showcase is the most frequently updated gallery of the ones covered here. A lot of inspirational Facebook page designs can be found here.

Facebook-showvase in Designing A Facebook Fan Page: Showcases, Tutorials, Resources

Facebook Platform Showcase
This showcase is slightly different. Here you can explore how companies around the world integrate Facebook on their websites.

Platform-showcase in Designing A Facebook Fan Page: Showcases, Tutorials, Resources

Customize Your Facebook Fan Page: Tips, Tricks, Applications
A quick overview of basic tips and tricks for customizing and improving your Facebook fan page.

Facebook Fan Page Templates

Many freelance designers and design studios offer customization services for Facebook pages. Standalone fan page templates are less widespread, at least so far. To provide you with the best possible starter kit, we’ve collected Facebook business page themes that you can get either free or at a cost.

Free Templates

Free PSD Facebook Template | Preview | Details
This 520-pixel Photoshop layout of Facebook fan page tab is available for free downloading. If you are looking for a simple graphical presentation for your Facebook page, this template may come in handy.

Layoutspacks-free-template in Designing A Facebook Fan Page: Showcases, Tutorials, Resources

Free PSD: Facebook Fanpage Template | Preview | Details
This is a free mock-up Facebook fan page with editable text, posting times and other elements.

FYC-psd-template in Designing A Facebook Fan Page: Showcases, Tutorials, Resources

Absolutely Free Cool Facebook Template | Preview| Details
This graphic FBML template, along with the PSD file, fonts and HTML mark-up, is available for free downloading. The package also includes an installation manual.

01-free-facebook-fbml-templ in Designing A Facebook Fan Page: Showcases, Tutorials, Resources

Free FBML Template | Preview | Details
You can use this multi-tabbed Facebook page template for free only if you maintain the links to its creators and the copyright info in the footer.

Homegainbusiness-template in Designing A Facebook Fan Page: Showcases, Tutorials, Resources

Facebook Template Page | Details
This is quite a different Facebook page template. Basically, it’s a worksheet available in text and PDF formats, allowing school students to construct a Facebook page for a character from a story or some other purpose. The template has been downloaded over 10,000 times and has gotten a lot of positive feedback because it is a new and exciting way for students to comment on their readings. You have to register to download the template.

Tes-template in Designing A Facebook Fan Page: Showcases, Tutorials, Resources

Commercial Templates

Photographer Facebook Template | Preview | Details | All FB templates
A sleek graphical FBML tab, with an image gallery, text sections, social networking buttons and a reminder to “Like” the page. The template package consists of source files and the Facebook installation guide. Price: $15.

Graphic-fbml-template in Designing A Facebook Fan Page: Showcases, Tutorials, Resources

Corporation Number 1: Facebook Tab | Preview | Details | All FB Templates
A minimalist Facebook page theme, with space for one main image, the company’s logo or tagline, two paragraphs of text and links to social media resources, including an optional RSS feed. The user can also add images, contact forms, videos and other elements to the template (no coding skills are required). Price: there are two subscription plans to choose from, although only one of them (Standard) is active at the moment – $14.99 per month. Free trial option is available, too.

Fan-page-builder-template in Designing A Facebook Fan Page: Showcases, Tutorials, Resources

My Style Facebook Flash Template | Preview | Details | All FB Templates
Among the highlights of this Flash-based FBML template are diverse transitions, multi-tab sub-navigation and a large image gallery in the tab header (760 pixels in width, of course). Instructions on how to upload the template are attached; and the developer offers additional customization services. Price: $18.

Flash-fbml-template in Designing A Facebook Fan Page: Showcases, Tutorials, Resources

Website Image Gallery Template | Preview | Details | All FB Templates
This FBML template features a FBJS image gallery, horizontal top menu navigation, social networking links and side images. The website does not mention whether installation documentation is provided; perhaps it is provided upon purchase. Price: $20.

Image-gallery-template1 in Designing A Facebook Fan Page: Showcases, Tutorials, Resources

Facebook Flash Template | Preview | Details
This is another version of the Flash-based “Welcome” tab for Facebook fan pages. It’s actually a mini-site, 520 pixels in width, with three sub-pages, including a slideshow and image gallery. It comes with step-by-step instructions on setting it up on Facebook. Price: $13.

Flashscope-flash-template in Designing A Facebook Fan Page: Showcases, Tutorials, Resources

(al)


© Julia May for Smashing Magazine, 2010. | Permalink | Post a comment | Add to del.icio.us | Digg this | Stumble on StumbleUpon! | Tweet it! | Submit to Reddit | Forum Smashing Magazine
Post tags:

:: Read More
(Published: Thu, 08 Jul 2010 00:26:53 -0700)

What You Need To Know About Behavioral CSS
Smashing-magazine-advertisement in What You Need To Know About Behavioral CSS
 in What You Need To Know About Behavioral CSS  in What You Need To Know About Behavioral CSS  in What You Need To Know About Behavioral CSS

Spacer in What You Need To Know About Behavioral CSS
As we move forward with the Web and browsers become capable of rendering more advanced code, we gradually get closer to the goal of universal standards across all platforms and computers. Not only will we have to spend less time making sure our box model looks right in IE6, but we create an atmosphere ripe for innovation and free of hacks and heavy front-end scripting.

The Web is an extremely adaptive environment and is surrounded by a collaborative community with a wealth of knowledge to share. If we collectively want to be able to have rounded corners, we make it happen. If we want to have multiple background images, we make it happen. If we want border images, we make that happen, too. So desire is not the issue. If it was, we would all still be using tables to lay out our pages and using heavy over-the-top code. We all know that anything can be done on the Web.

Made for the Web

CSS 3 properties like border-radius, box-shadow, and text-shadow are starting to gain momentum in WebKit (Safari, Chrome, etc.) and Gecko (Firefox) browsers. They are already creating more lightweight pages and richer experiences for users, not to mention that they degrade pretty gracefully; but they are only the tip of the iceberg of what we can do with CSS 3.

In this article, we will take those properties a step further and explore transformations, transitions, and animations. We’ll go over the code itself, available support and some examples to show exactly how these new properties improve not only your designs but the overall user experience.

CSS Transformations

CSS transformations are a W3C oddity. It is the first time I have sat down to read the full specifications on something and didn’t feel like I had a handle on the subject afterward. The specs are written with the level of technical jargon you would expect from the W3C, but it focuses on the graphic (as in graph drawing) element of transformations and matrices. Having not dealt with a matrix since freshman-year Calculus, I had to do a lot of good old-fashioned browser testing and guessing and checking for this section.

After going through every tutorial I could find and too many browser tests to count, I came out with some useful information on CSS transformations that I think we can all benefit from.

transform();

The transform property allows for the kind of functions also allowed by SVG. It can be applied to both inline and block-level elements. It allows us to twist, zoom in on and move elements, all with one line of CSS.

One of the biggest complaints about cutting-edge design is that the text is not selectable. This is no longer a problem when you use the transform property to manipulate text, because it is pure CSS and so any text within the element remains selectable. This is a huge advantage of CSS over using an image (or background image).

Some interesting and useful transform functions (that are supported):

  • rotate
    Rotate allow you to turn an object by passing a degree value through the function.
  • scale
    Scale is a zooming function and can make any element larger. It takes positive and negative values as well as decimals.
  • translate
    Translate essentially repositions an element based on X and Y coordinates.

Let’s look at each of these in more detail.

Rotate

The transform property has many uses, one of which is to rotate. Rotation turns an object based on a degree value and can be applied to both inline and block-level elements, It makes for a pretty cool effect.

Transform Rotate in What You Need To Know About Behavioral CSS

#nav {
    -webkit-transform: rotate(-90deg);
    -moz-transform: rotate(-90deg);
    filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
    }

Please notice that in IE 8 (when not in standards mode) it’s required that you type “-ms-filter” instead of just “filter” in your CSS.

Support
Support for transform: rotate is surprisingly widespread. In the CSS snippet above, we directly target -webkit- and -moz- and rotate the #nav element by -90 degrees.

Pretty straightforward, right? The only problem is that the rotation is for a pretty important design element, and many designers will be reluctant to use it if Internet Explorer does not recognize it.

Luckily, IE has a filter for this: the image transform filter. It can take four rotation values: 0, 1, 2, and 3. You won’t get the same fine-grained control that comes with Webkit and Gecko, but your design will remain consistent across older browsers (even IE6).

Is it okay to use?
Yes, but make sure it is thoroughly tested.

Scale

Scaling does exactly what you think it would do: zoom in and out on an element. The scale function takes both width and height values, and those values can be positive, negative or decimals.

Positive values scale up the element, as you would expect, based on the width and height specified.

Negative values do not shrink the element, but rather reverse it (e.g. text is turned backwards) and then scaled accordingly. You can, however, use decimal values lower than 1 (e.g. .5) to shrink or zoom out of an element.

Transform Scale in What You Need To Know About Behavioral CSS

#nav {
/* The nav element width and height will double in size */
-webkit-transform: scale(2);
-moz-transform: scale(2);
}

#nav {
/* The nav element width will double in size, but the height will remain unchanged*/
-webkit-transform: scale(2, 1);
-moz-transform: scale(2, 1);
}

#nav {
/* The nav element width will double in size and flip horizontally,
but the height will remain unchanged */
-webkit-transform: scale(-2, 1);
-moz-transform: scale(-2, 1);
}

Support
The scale transformation is supported in Firefox, Safari and Chrome, but not any version of Internet Explorer (yet) as far as I could tell. Scaling an object is a fairly significant design choice, but it can be applied with progressive enhancement using :hover, which can add a little pop to your navigation especially.

#nav li a:hover{
/* This should make your navigation links zoom slightly on hover */
-webkit-transform: scale(1.1);
-moz-transform: scale(1.1);
}

Is it okay to use?
From time to time, yes. But not with critical design elements.

Translate

The name “translate” is a little misleading. It is actually a method of positioning elements using X and Y values.

It looks much the same as the other kinds of transformation but adds an extra dimension to your website.

Transform Translate in What You Need To Know About Behavioral CSS

#nav{
/* This will move the #nav element left 10 pixels and down 20 pixels. */
-moz-transform: translate(10px, 20px);
-webkit-transform: translate(10px, 20px);
}

Support
Translate is currently supported in Firefox, Safari and Chrome when you use the vender extensions -moz- and -webkit-.

Is it okay to use?
Yes, but normal X/Y positioning is just as effective in many situations.

Chaining Transformations

Transformations are great individually, but if you want multiple transformations, the code can pile up pretty quickly, especially with the vendor extensions. Luckily, we have some built-in shortcuts:

#nav{
-moz-transform: translate(10, 25);
-webkit-transform: translate(10, 25);
-moz-transform: rotate(90deg);
-webkit-transform: rotate(90deg);
-moz-transform: scale(2, 1);
-webkit-transform: scale(2, 1);
}

These transformations can be chained together to make your CSS more efficient:

#nav{
-moz-transform: translate(10, 25) rotate(90deg) scale(2, 1);
-webkit-transform: translate(10, 25) rotate(90deg) scale(2, 1);
}

The real power of these properties is in combining and chaining them. You can move, turn, zoom in on and manipulate any inline or block-level element without JavaScript. Once support for these properties becomes widespread, we’ll be able to build and design even richer and more lightweight interfaces and applications.

Transition

A basic transition refers to a CSS property that define and moves an element from its inactive state (e.g. dark-blue background) to its hover or active state (e.g. light-blue background).

Transitions can be coupled with transformations (and trigger events such as :hover or :focus) to create a kind of animation. Fading the background color, sliding a block and spinning an object can all be done with CSS transitions.

#nav a{
background-color:red;
}

#nav a:hover,
#nav a:focus{
background-color:blue;

/* tell the transition to apply to background-color (looks like a CSS variable, doesn't it? #foreshadowing)*/
-webkit-transition-property:background-color;

/* make it 2 seconds long */
-webkit-transition-duration:2s;
}

Support
As cool as the transition property is, support is mostly limited to WebKit browsers. -moz-transition already works in the latest nightly build of Firefox 3.7 (so it’s guaranteed for the future). So it’s safe to assume that it is right behind WebKit on this. So you may as well add -moz-transition to your CSS for future enhancements. And even a version without a vendor extension, just in case.

Is it okay to use?
For subtle enhancements, yes, but not for dramatic effects.

Animation

Animations are where the real action in CSS 3 is. You can combine all of the elements we’ve talked about above with animation properties like animation-duration, animation-name and animation-timing-function to create Flash-like animations with pure CSS.

#rotate {
margin: 0 auto;
width: 600px;
height: 400px;

/* Ensures we're in 3-D space */
-webkit-transform-style: preserve-3d;

/*
Make the whole set of rows use the x-axis spin animation
for a duration of 7 seconds, running infinitely and linearly.
*/

-webkit-animation-name: x-spin;
-webkit-animation-duration: 7s;
-webkit-animation-iteration-count: infinite;
-webkit-animation-timing-function: linear;
}

/* Defining the animation to be called. */
@-webkit-keyframes x-spin {
   0%    { -webkit-transform: rotateX(0deg); }
   50%   { -webkit-transform: rotateX(180deg); }
   100%  { -webkit-transform: rotateX(360deg); }
}

All this fantastic CSS animation code and a live example can be found at CSS3.info demo. The demo is viewable in any browser, but the animation works only in the nightly build of WebKit. It looks just like the video above, but it’s worth installing WebKit to see it for yourself (it’s pretty awesome).

SupportThere is, unfortunately, only a limited support for CSS animations yet. 2D CSS animations work in Safari 4 (Leopard), Chrome 3, Safari Mobile, Shira and other Webkit browsers. Safari 4 (Snow Leopard) supports 3D animations.

Conclusion

Right now, JavaScript bridges the gap until CSS 3 comes into full effect. Unfortunately, getting full browser support for these great properties will be a long journey. Until that day comes, we can take advantage of some serious progressive enhancement and rely on JavaScript to enhance our websites and applications. That’s not a bad thing; just how it is at the moment.

With the recent announcement of IE9, I wouldn’t be surprised if the IE team include some of these properties in the new version of the browser especially since talks for CSS3 integration have already begun (border-radius).

The future of the Web is bright, especially with these highly experimental properties such as animation. Although many of the properties are not usable for client or high-level production work, they sure are fun to play with! We can all look forward to the day when we have support across the board to build some really great lightweight applications.

References And Resources

We express sincere gratitude to Andy Clarke and Hugh Isaacs II for corrections to this article.

(al)


© Tim Wright for Smashing Magazine, 2009. | Permalink | 23 comments | Add to del.icio.us | Digg this | Stumble on StumbleUpon! | Tweet it! | Submit to Reddit | Forum Smashing Magazine
Post tags: , ,

:: Read More
(Published: Sat, 19 Dec 2009 11:12:06 -0800)

My Website Design Was Stolen! Now What?
Smashing-magazine-advertisement in My Website Design Was Stolen! Now What?
 in My Website Design Was Stolen! Now What?  in My Website Design Was Stolen! Now What?  in My Website Design Was Stolen! Now What?

Spacer in My Website Design Was Stolen! Now What?

Designers spend hours perfecting websites, whether their own or their clients’. When you’ve invested anywhere from a few days to months in a website, the last thing you want is for someone else to steal the design without even giving you proper credit (or compensation). And if you’re a template or theme designer, it’s an even bigger problem. After all, if your templates are available online for free, a lot of people won’t bother paying for them.

So what can you do if you’ve discovered that one of your designs has been ripped off? What should you do? Read on for a complete guide to steps you can take to protect your intellectual property.

I am not a lawyer, nor do I pretend to be one on TV, so the advice here should not be taken as legal advice. Before taking any of the actions mentioned below, check with a lawyer or other legal expert to see what is allowable in your state or country or to see if additional options are available to you.

1. Why People Steal Designs

Not everyone who steals a design is out to rip you off. There are a variety of reasons; one of the most common is that many people just don’t understand that stealing someone else’s design is illegal and unethical. Of course, if you’re selling templates or themes, that probably isn’t the case, but if a one-off design of yours has been stolen, it’s always a possibility.

Copyright in My Website Design Was Stolen! Now What?
Image source

The myth persists that if content is put online, it’s fair game. Others think that if a copyright isn’t explicitly stated, then it doesn’t exist. In either case, the person who has taken your design likely doesn’t realize that they’ve done anything wrong.

In other cases, someone might take your design because they feel it’s an excellent example of what a website in their niche should look like or because the company behind the website is a leader in the industry. These people may or may not realize that what they’re doing is wrong or at least may not realize just how wrong it is.

Some people steal designs because they can’t afford to hire a website designer but have just enough technical know-how to copy a website themselves. These people rarely suspect they’ll be caught. The same sometimes happens with people who have been hired to design a website but lack the skills to do the job. And so they copy another website, hoping their client has never seen it.

Sometimes, someone will steal the bulk of your design but change small parts and then claim they were merely inspired by the design and didn’t really steal it. Unless they completely recreated the website from scratch and made significant changes (and even then…), this isn’t a good defense, and you can still treat them as though they they stole it outright.

If you sell templates, and someone has used one of them on their website, they may not realize that this is wrong. Plenty of forums and other websites out there make templates available for anyone to download, and some make no mention that these are not licensed to be distributed in this way. So don’t jump to the conclusion that someone intentionally stole your design. Of course, the people distributing your templates are probably guilty.

I tend to give people the benefit of the doubt when it comes to intellectual property theft. If it’s happening to you for the first time, then it can be tempting to go after them with full force, but in many cases you’ll have better luck educating the offender.

2. Initial Steps

So, you’ve discovered that someone has stolen one of your designs. Whether you’ve discovered it yourself or someone has reported it to you, it can be a jarring experience. Your first reaction might be to fire off an angry email, make a comment on their website or out them publicly. But step back for a moment and think through your options.

Magnifyingglass in My Website Design Was Stolen! Now What?
Image source

The way you handle this situation will largely determine how satisfied you are with the resolution. If you attack the person, their immediate reaction will be to get defensive or dig in their heels and refuse to deal with you. They may even contact a lawyer to get you off their back, and that could result in expensive legal fees and even litigation for you: Not exactly what most designers want to spend their money and energy on.

Finding the Website Owner

The first place to check is the website itself. In most cases, you’ll find some kind of contact information there. If not (or you find only a contact form), you can usually find the website owner by looking up the Whois information about the domain. If the domain is privately registered, though, you may have to contact the Web host to obtain contact information. If that fails, your last option may be to use legal channels.

The First Contact

Remember, the person ripping off your design might not even know they’re doing something wrong. Your first contact is an opportunity to educate them on intellectual property rights. Don’t accuse. Let them know that the design they’re currently using is copyrighted and that unless they can prove they’ve paid for it, you’ll need them to take the website down immediately.

Email in My Website Design Was Stolen! Now What?
Image source

It’s possible that the website owner is unaware that their design is not original. If they’ve hired a less-than-reputable designer, they might have been led to believe that their design is completely original, and your email will come as quite a shock to them. Keeping your first email friendly and polite can make a huge difference in how they respond.

If You Don’t Hear Back

If you don’t hear back from the website owner after a few days, you can always contact their ISP to request that it take the website down. If you can provide proof that the design is yours and that they aren’t licensed to use it, many ISPs will suspend the website to avoid being sucked into litigation should you decide to sue.

Issue a DMCA Take-Down Notice

This only applies in the United States, but the Digital Millennium Copyright Act has provisions for dealing with intellectual property theft online. You can get a template of the formal notice, fill it out and send it to the website’s host. Most hosts will immediately comply, to protect themselves from litigation.

Call Them Out Publicly

If you’re 100% positive that the person has copied your website intentionally, and they aren’t responding to your requests to take it down, you could call them out publicly on your blog, in a forum or on another website.

This is riskier, though. First of all, they could sue you for libel. Whether they’d win or not is irrelevant: fighting a lawsuit is almost always expensive and time-consuming. They don’t have to be right to file a lawsuit; so even if everything you say is true and accurate, nothing is stopping them from following that course.

But this kind of action has its upsides. If your blog has a lot of readers or the forum has a lot of followers, you might get others to join your cause and act on your behalf to get the offending website taken down. The offender might relent, not wanting the negative publicity. But again, weigh the pros and cons carefully, and take this step cautiously.

Document Everything!

Document any actions you take regarding the theft. Note when you discovered the offending site, when you contacted the owner and whether they responded. This will help if you end up having to take further action.

3. Getting Legal Help

If you still aren’t getting anywhere on your own, it might be time to contact a lawyer. A lawyer will probably begin by sending an official cease and desist letter to the offender. The letter would likely state that the design they’re using is copyrighted material and that they need to take the website down immediately or face further legal action.

Gavel in My Website Design Was Stolen! Now What?
Image source

In many cases, an official letter from a lawyer is enough to scare off just about anyone, and you’ll find the design is quickly changed or taken down altogether.

However, if there’s still no response, the lawyer might send a similar letter to the website’s host, demanding that the website be suspended due to copyright infringement. Hosts are usually responsive to this kind of letter, because they don’t want to be sued.

If neither action works, the next step may be a lawsuit. In many cases, though, it’s just not work the time, effort or money involved. This is when you should sit down and really think about how far you’re willing to go.

If the person who stole your design is simply using it on their own website, you probably won’t want to bother with a lawsuit. The effect on your income probably won’t be big enough to warrant this kind of action. But if the offender is redistributing your design or passing it off as their own (for example, in their portfolio), then the lawsuit might be worth it. Ask your lawyer what they think your chances of winning are and what the costs will be.

Depending on your country of residence, you may be able to get assistance from the government in taking down the design. Check with the office responsible for copyright and intellectual property rights in your country to find the proper authorities to contact.

4. Preventing Theft

You can do a number of things to prevent your designs from being stolen. Some are technical solutions, while others relate more to the front end.

Combinationlock in My Website Design Was Stolen! Now What?
Image source

Non-Technical Solutions

Simply posting a copyright notice on your website will deter many would-be offenders, especially people who don’t realize that online content is copyrighted unless specified otherwise. It might also deter people who know it is illegal but hope they won’t be caught. It shows you’re more proactive than other website owners.

Technical Solutions

One thing you can do to prevent theft of your designs is to block screenscraper apps from accessing your code. While blocking every screenscraper out there is impossible, the article “Preventing Design Theft: A Few Tricks of the Trade” has both PHP and ASP code that can help you block most of them.

Use your .htaccess file to prevent images on your website from being hotlinked, because some thieves will go so far as to link images directly from your website, rather than use their own bandwidth.

Finding Out if Your Website Has Been Ripped Off

Usually, you won’t know that your design has been stolen unless you come across it on a website (which is very unlikely) or unless someone has reported it to you (only slightly more likely). Watchdog websites are out there, but the most popular one, Pirated-Sites, was hacked and has been taken offline.

By including unique text in your footer or elsewhere in the design, you might be able to find thieves by searching for those key phrases. This is not always effective, but you might get lucky.

One other option is to use a website such as CopyScape, which looks for duplicate websites. Just enter your website’s URL and it looks for websites out there that have copied your content (and possibly your design).

5. If You Can’t Beat ’Em, Join ’Em

If you’re spending more time chasing down thieves than actually designing, you might want to consider making your designs publicly available. Releasing them under a Creative Commons license or other open-source license removes the temptation for many thieves.

Openpadlock in My Website Design Was Stolen! Now What?
Image source

Even designers who make a living selling templates could benefit from open licenses, if only in part. Selling your templates under a non-commercial Creative Commons license and then offering additional services to customers who purchase the designs directly from you (such as set-up, customization and support) can prevent others from profiting from your work (and entirely remove the temptation for many). After all, if someone can get your template for free, why would they pay someone else for it? (This is different than paying you for it, because you’re offering added benefits and services, and many people believe in compensating the original designer or artist for their work).

If nothing else, a no-derivatives license can at least help ensure that you’re getting credit for your work. As strange as it sounds, a template released under a Creative Commons license is no longer a motivation for many pirates.

Further Resources

(al)


© Cameron Chapman for Smashing Magazine, 2009. | Permalink | 78 comments | Add to del.icio.us | Digg this | Stumble on StumbleUpon! | Tweet it! | Submit to Reddit | Forum Smashing Magazine
Post tags: ,

:: Read More
(Published: Fri, 18 Dec 2009 06:23:31 -0800)

Unveiling Photoshop Masks
Smashing-magazine-advertisement in Unveiling Photoshop Masks
 in Unveiling Photoshop Masks  in Unveiling Photoshop Masks  in Unveiling Photoshop Masks

Spacer in Unveiling Photoshop Masks
Design is a fluid and shifting process in which layers are constantly modified and tweaked. As complexity builds, so does the need for preserving data in a flexible way. Learning non-destructive editing techniques helps you produce documents that bend along with your creativity. Photoshop Masks are the cornerstone of this process. Not only do they preserve important pixel data, but they allow for the creation of flexible interface elements as well. In this article, we’ll explore the technical aspects and creative advantages of incorporating masks into your workflow.

Title-img in Unveiling Photoshop Masks

Photoshop offers five methods of masking: Pixel Masks, Vector Masks, Quick Masks, Clipping Masks and Clipping Paths, all of which define pixel opacities without affecting the original data. Each of them has its own pros and cons, and knowing which method to use is extremely important for creating clean, flexible and properly masked layers.

Pixel Masks

Pixel masks determine opacity values based on a raster image with grayscale values that correspond pixel for pixel to the original layer. This makes them ideal for masking complex photographic imagery (e.g. the hair on a model or leaves on a tree). Pixel masks allow 100 shades of gray, which correspond directly to opacity percentages. The ability to vary opacities is unique to pixel masks, making them an invaluable tool.

Pixel-mask in Unveiling Photoshop Masks
Pixel Masks are ideal for extracting complex photographic imagery. (Image Source)

While pixel masks can be easily modified, they aren’t ideal for every situation. Because of their raster format, scaling them can cause unwanted artifacts and interpolated bluriness. Smooth curves and perfect edges can also be tricky to create when painting a mask. Under such circumstances, vector masks would be preferable.

Blurry-pixel-mask in Unveiling Photoshop Masks
Pixel masks should not be used when you might have to rescale.

Creation

Creating a pixel mask is as easy as selecting the layer or layer group and clicking the “Add Layer Mask” button at the bottom of the layer’s palette. A second thumbnail will be added to the layer, giving you a preview of the mask. By default, this will be entirely white. However, if you happen to have a selection active when creating the mask, the selection will be used to define the grayscale values of the mask.

Once a mask is created, it can be edited as if it were any other pixel data by clicking on the mask’s thumbnail. You can then paint in black to hide areas or white to show them. The mask can also be tweaked using adjustments and filters such as Curves, Threshold, Unsharp mask and Gaussian blur.

Painting-mask in Unveiling Photoshop Masks
Painting the mask black is much like using the eraser tool. (Image Source)

View Modes

While creating a mask, there are a number of ways to view the mask data. Option + clicking on the thumbnail will display only the mask on the canvas; this is great for fine-tuning areas but doesn’t allow you to see the actual layer as you work. If you’d like to see both the mask and the layer at the same time, you can view the mask as a Ruby overlay. Simply press with the layer selected to toggle the overlay on and off. The color and opacity of the overlay can also be changed by double-clicking the mask’s thumbnail. Additionally, if you’d like to temporarily remove the mask, you can toggle it on and off by Shift + clicking on the mask’s thumbnail.

Mask-view-modes in Unveiling Photoshop Masks
Turning the mask off and the overlay on can help with fine-tuning. (Image Source)

Channels

Every time a layer with a mask is selected, the mask is shown as a temporary alpha channel in the Channels palette. From here, you can save the channel for later use by dragging the channel to the “Create new channel” button at the bottom of the palette or by selecting “New Channel” from the fly-out menu. You can also change the mask’s Ruby overlay settings by double-clicking the channel’s thumbnail. Because a temporary channel becomes available whenever a masked layer is selected, you can use some keyboard shortcuts to toggle between the actual layer and its mask. Pressing Command + will select the mask and Command + 2 will bring you back to the layer data.

Temp-channel in Unveiling Photoshop Masks
A temporary channel is available whenever a layer with a mask is selected.

Vector Masks

Vector masks pick up where pixel masks fall short. By defining the mask’s shape using paths, vector masks provide a superior level of finesse and flexibility. They’re ideal for defining shapes with clean, crisp lines, such as interface elements.

Vector-mask in Unveiling Photoshop Masks
Vector Masks are ideal for masking crisp-edged objects. (Image Source)

The disadvantage of vector masks is that they are unable to vary pixel opacities; they are basically either 0 or 100. For this reason, many masking jobs require a hybrid implementation. By using a vector mask to define the solid edges and a pixel mask for the more complex areas or for varying opacities, you can effectively extract objects while maximizing flexibility.

Creation

To add a vector mask to an existing layer, simply Command + Click the “Add Layer Mask” button at the bottom of the layer’s palette. If a path is currently active, the mask will be created using it. Otherwise, the mask will be empty. Paths can then be added, subtracted or modified by clicking the mask’s thumbnail.

Being able to create flexible interface elements is one of the best advantages of vector masks. Using the Shape Tool (U) set to Shape Layers allows you to quickly create a fill layer with a Vector Mask. These layers are far more flexible than a raster level and are perfect for creating buttons, rules and other elements that can be resized without interpolating data.

Vector-buttons in Unveiling Photoshop Masks
The flexibility offered by Vector Masks make them perfect for interface elements such as buttons.

View Modes

By clicking on the Vector Mask’s thumbnail in the the Layer’s palette, you can show or hide the paths saved in the mask. These paths can also be accessed from the Path’s palette, but only if the layer itself is selected. Toggling the mask on and off can be done by Shift + clicking the thumbnail.

Paths

Much like how layer masks appear in the Channels palette, a temporary work path would be displayed in the Paths palette when a layer with a vector mask is selected. You can then save the mask by dragging it to the “Create new path” button at the bottom of the palette or selecting “Save Path” from the fly-out menu. This temporary path can be accessed at any time by first selecting the Path Selection tool (A) and then pressing Enter; it can be dismissed by pressing Enter again. You can also quickly create a selection from an active path by pressing Command + Enter.

Applying

Before a vector mask can be applied to a layer it must first be rasterized by right-clicking the vector mask thumbnail and choosing Rasterize Vector Mask. If the layer already has a pixel mask, the two masks will be composited together to create a single pixel mask. It can then be applied like any other layer mask (right-clicking the thumbnail and choosing “Apply Layer Mask”).

Quick Masks

The Quick Mask mode allows you to create a selection using pixel editing tools as opposed to the primitive selection tools. This is a more logical approach to creating a complex mask with variable opacity. You can access this mode by clicking on the “Quick Mask” button in the Tools bar or by pressing Q.

Once in Quick Mask mode, you’ll no longer be editing the current layer. Instead, you’ll be editing a Ruby overlay that can be edited as if it were regular pixel data. By default, entering this mode will cover the entire canvas with a semi-transparent red color. You can then paint white to remove the overlay and black to add it back. The Quick Mask is essentially a more visual representation of a selection. Therefore, every area that you remove from the overlay is added to the selection.

Quick-mask in Unveiling Photoshop Masks
Quick Mask mode allows you to quickly paint a selection. (Image Source)

Options

You can modify how the Quick Mask mode is displayed by double-clicking the “Quick Mask” button in the Tools bar. Here you can change the color and opacity of the mask as well as whether the mask color indicates masked areas or selected areas. Personally, I find painting selected areas more intuitive than painting masked areas, which is the default.

Quick-mask-options in Unveiling Photoshop Masks
The Quick Mask Options menu allows you to change the color, opacity and target of the overlay.

Saving

After creating a quick mask, you can immediately apply it to a layer by creating a layer mask or save it for later use. By selecting Selection → Save Selection, you can save your selection as a new channel or apply it to an existing channel. This allows you to come back to the selection at any time by Control + clicking the channel in the Channel’s palette or by selecting Selection → Load Selection

Saving-quick-mask in Unveiling Photoshop Masks
Saving a Quick Mask creates a new channel.

Clipping Masks

You’ll often run into situations in which multiple layers require the same mask. You could group the layers and mask the layer group, but that is not always ideal. Clipping masks allows for a layer simply to adopt the opacity of an underlying layer. This is extremely helpful when using adjustment layers; by clipping them to a layer, you can apply adjustments to a single layer without affecting those below it.

The easiest way to create a clipping mask is to Option + click between the two layers in the Layer’s palette when the clipping mask cursor appears. Alternatively, you could press Command + Option + G to clip a layer to the one below it. Any number of layers can be clipped to one master layer, but a clipped layer can’t be used as a clipping mask itself.

Clipping-mask in Unveiling Photoshop Masks
Clipping Masks are great for constraining Adjustment Layers. (Image Source)

Clipping Paths

Clipping Paths are a lot like Vector Masks except that they apply to an entire document rather than a layer or layer group. They are primarily used by print designers to specify uniquely shaped objects that are imported into a page layout program. The path is imported along with the image to ensure a crisp clean edge.

To create a clipping path, first be sure that you have a path saved; having a temporary Work Path does not suffice. You must select “Save Path” from the fly-out menu in the Paths palette if your path is not saved. Then, from the fly-out menu, choose “Clipping Path.” Your document’s appearance will not change, but if you were to import the document into Illustrator using the Place command, it would be clipped to the path.

Masks Palette

The Masks palette, introduced in CS4, adds some useful features to help with creating and refining both pixel and vector masks. For the first time, you can feather a mask and change its density without losing the original mask.

Masks-palette in Unveiling Photoshop Masks
The Masks palette was a great addition to Photoshop CS4.

Create/View Buttons

At the top of the palette are two buttons that can be used to select the layer mask or vector mask or to create one if one doesn’t exist.

Density

The density slider basically controls how strong the mask is. At 100%, fully masked areas will be completely transparent. When density is set to 50%, those same areas would be only 50% transparent.

Density in Unveiling Photoshop Masks
The Density slider controls the strength of the mask. (Image Source)

Feather

Feathering the edges of a mask used to require applying a Gaussian Blur, which would destroy the original mask shape. With the Masks palette you can now change the amount of feathering at any time while maintaining the original mask data.

Feather in Unveiling Photoshop Masks
With the Feather slider, you can now change the mask’s softness on the fly. (Image Source)

Mask Edge

The Mask Edge menu provides some long-desired features that aid in refining a mask’s perimeter. They come in extremely handy when the extracted object is still picking up color from the masked background.

Radius
The Radius setting is similar to feathering, but it retains some of the edge’s crispness. This can be helpful with reducing awkward or overly sharp edges on complex shapes.

Contrast
Contrast simply modifies the contrast of edge elements, which helps crispen any soft edges. Using this in conjunction with Radius can help remove unwanted artifacts in the mask.

Radius-contrast in Unveiling Photoshop Masks
Radius and Contrast can be used to remove unwanted artifacts. (Image Source)

Smooth
Smooth simplifies the complexity of the mask’s edges. This can be useful if you’ve painted the mask by hand and need to quickly clean up some rough edges.

Feather
This feather command is nearly identical to the Mask palette’s primary feather command, but it restricts the blur more to the edge of the mask. The difference is slight yet noticeable.

Contract/Expand
The Contract and Expand slider allows you to grow and shrink the edges of the mask. This is extremely useful for reducing unwanted color fringes.

Smooth-contract in Unveiling Photoshop Masks
Smooth and Contract helps tighten up masks to reduce color fringes. (Image Source)

Preview Mode
At the bottom of the palette are five different preview modes that allow you to view the mask as a (1) selection with marching ants, (2) quick mask ruby overlay, (3) black matte, (4) white matte or (5) grayscale mask.

View-modes in Unveiling Photoshop Masks
Check the mask in different views to ensure its quality. (Image Source)

Color Range

The Color Range menu is one of the most powerful ways to extract an image from an evenly colored background. With only a few clicks and adjustments, even the most complex object can be cleanly masked. For further details, see the “Techniques” section just below.

Techniques

Each masking job is unique and requires a different method of creation and refinement. However, some common techniques can drastically improve the efficiency and maximize the flexibility of your masks.

Color Range

When your masking task requires an object to be extracted from an evenly colored background (much like the video editing process of Chroma keying), the quickest means is often the Color Range command. First, use the Eyedropper Tool to select the primary color of the background. Then, you can use the “Add to sample” and “Remove from sample” tools to refine the color selection. The fuzziness slider lets you broaden the range of colors selected. If the color data is there to support it, this process makes short work of an otherwise tedious task.

Color-range-dialog in Unveiling Photoshop Masks
The Eyedropper tools allow you to easily select the sky in the photo.

Color-range-trio in Unveiling Photoshop Masks
Color Range can make quick work of complex masks. (Image Source)

Channels

A mask is often hiding in one of the layer’s channels, just waiting to be unlocked. Depending on the image you’re using, you may be able to find a channel with strong contrast between the target object and its surroundings. You may even want to try temporarily changing the color mode to Lab or CMYK to provide alternative channel options. Once you find a channel with a strong enough contrast, Command + click it to create a selection. Then, apply the selection as a layer mask. You’ll then be able to tweak it as you would any other mask.

As the image below demonstrates, simply selecting a channel is not always sufficient for a clean mask. You may need to do some mixing with other channels.

Channel-mixing in Unveiling Photoshop Masks
(Image Source)

  1. The original image has strong vibrant colors, making it a great opportunity to create a mask using channels.
  2. The red channel has the foreground-to-background contrast, so we’ll start there. We’ve copied and pasted it onto a new layer and then inverted it.
  3. The green cup is still very prominent, so we’ve converted the blue channel to a layer and will use it to negate the green and red cups.
  4. By setting the Blending Mode on the blue channel’s layer to Multiply, we can effectively erase any extraneous white areas.
  5. The two layers are then flattened and applied as a layer mask to the original image. This leaves us with a cleanly masked blue mug.

Pixel/Vector Hybrid

Objects will quite often have a combination of sharp edges and soft feathered edges. In instances like these, using both a pixel and a vector mask may be best. One common example of this is extracting a figure. You can use the pen tool to draw all of the smooth edges along the figure’s body and then use a pixel mask to paint in the fine details such as hair.

Multiple Masks

There may be times when you want to apply more than one mask to a layer. You could choose to apply the mask by right-clicking the layer and selecting Apply Layer Mask, after which you could apply a new mask. This, however, is not ideal because the data behind the mask will be lost.

A far better method is to create a Smart Object from the layer and mask the new layer. This allows you to apply two masks to one layer without losing data. In fact, if needed, you could repeat this process over and over.

Double-masked in Unveiling Photoshop Masks
Converting a layer to a Smart Object allows you to add multiple masks without losing data.

Layer Styles

If you have ever added a mask to a layer with layer styles, things may have gotten messy, especially if the mask had soft edges or varying opacities. This is because, by default, Photoshop uses a composite of the layer’s opacity along with any masks on it to define the area used by the layer styles. This is desirable but can also be a nuisance. To counter the default behavior, open the Blending Options menu for the layer, and apply either “Layer Mask Hides Effects” or “Vector Mask Hides Effects.”

Layer-styles in Unveiling Photoshop Masks
Messes can often be tidied by using the “Layer Mask Hides Effects” option.

Blend Clipped Layers as Group

By default, Photoshop assumes that all layers in a clipping stack should be blended with the base layer before the base layer is blended with the layers below it. This makes sense sometimes, but other times you may need the clipped layers to adopt the shape of the base layer but not the blend mode. To prevent this behavior, open the Blending Options menu for the base layer (right-click the layer and choose “Blending Options”), and uncheck the “Blend Clipped Layers as Group” option. Now, each of the clipped layers will blend with underlying layers as if they weren’t clipped.

Blend-clipped in Unveiling Photoshop Masks
The “Blend Clipped Layers as Group” causes all clipped layers to blend together first and then blend with underlying layers using the base layer’s Blend Mode.

Type Masks

Grouped with the Type tool in the Tools bar is the deceptively named Type Mask tool. It allows you to create type just like the regular type tool; but once committed, the type is converted to a selection. This selection can be converted to a layer mask but will no longer be editable. This is not ideal. If editability is important, you may want to create a regular type layer and use it as the base of a clipping mask. This is the only way to mask objects to the shape of type without losing the ability to edit the text. Perhaps someday Photoshop will let us create an editable Type Mask for a layer.

Removing Edge Fringes

Even after using the “Refine Edge” command in the Masks palette, you may find random color fringes left along the edge of your mask. This is where some manual brushwork comes in handy. The Paintbrush tool can be used here, but I recommend the Healing Brush, Stamp Tool or Smudge Tool because they will blend better with the subject.

First, create a new layer and clip it to the masked layer. Then, set your tool of choice to sample all layers. You can now select your sample area and paint the fringes out; the original layer data will be preserved. Often, changing the brush’s Blend Mode will help preserve the detail of the layer.

Color-fringes in Unveiling Photoshop Masks
Color Fringes can usually be smudged or painted away on a clipped layer. (Image Source)

Keyboard Shortcuts


  • View Layer Mask as an overlay
  • Command +
    Set layer focus to Layer Mask
  • Command + 2
    Set layer focus to layer data
  • Command + Option +
    Create selection from Layer Mask
  • Command + Option + G
    Make/Release Clipping Mask
  • A, then Enter
    Activate/Dismiss Vector Mask
  • Command + Enter
    Create selection from active vector mask
  • Command + Click Mask Thumbnail
    Create selection from mask
  • Command + Option + Click Mask Thumbnail
    Subtract mask from selection
  • Command + Option + Shift + Click Mask Thumbnail
    Intersect mask from selection
  • Q
    Toggle Quick Mask mode

Inside the Color Range Menu

  • Option
    Toggle the Reset button and the “Subtract from Sample” tool
  • Command
    Toggle between the Selection view and Image view
  • Shift
    Toggle the “Add to Sample” tool

Further Reading

(al)


© Thomas Giannattasio for Smashing Magazine, 2009. | Permalink | 39 comments | Add to del.icio.us | Digg this | Stumble on StumbleUpon! | Tweet it! | Submit to Reddit | Forum Smashing Magazine
Post tags: ,

:: Read More
(Published: Thu, 17 Dec 2009 08:10:04 -0800)

Stronger, Better, Faster Design with CSS3
Smashing-magazine-advertisement in Stronger, Better, Faster Design with CSS3
 in Stronger, Better, Faster Design with CSS3  in Stronger, Better, Faster Design with CSS3  in Stronger, Better, Faster Design with CSS3

Spacer in Stronger, Better, Faster Design with CSS3

Stronger, Better, Faster Design with CSS3 (via @smashingmag) -

In our last article about CSS3, “Pushing Your Buttons With Practical CSS3, we talked about using new CSS3 techniques like gradients, border-radius and drop-shadows to create compelling, flexible and (in some cases) hilarious buttons.

In this second article we’re going to focus on using those CSS techniques (and a little JavaScript) to create some practical elements and layouts. As before, caveat coder — a lot of the CSS properties we’re going to use have limited support, if any, in IE6/7 and probably 8. Firefox 3.5+ and Safari 4 are your best bet right now to see all the cool stuff going on in CSS right now (Chrome does a pretty good job, too).

Why bother with CSS that has such limited support? It won’t always have limited support, and these articles are all about preparing for the future of web design (and just doing some really cool stuff). Apparently, if you are one of those people who is waiting until using progressive CSS is safe because all major browsers support the same CSS at the same time, you are living in a fantasy world, so it’s just the right time to get things rolling with CSS3.

Ready? Let’s roll.

Inline Form Labels

Everyone’s familiar with inline form labels — storing the label of the field in the value attribute and using some minor JavaScript to erase the text when the field gains focus. This works…okay, but the major problem is that as soon as the user clicks, they lose the label entirely. If they tabbed right into it they may not even have read the label, in which case they’re just guessing.

The first site we saw that fixed this was MobileMe from Apple, on their login screen.

Inline-1 in Stronger, Better, Faster Design with CSS3

What happens with Apple is that clicking into the field fades the label back, but doesn’t erase it. Cooler still is that the cursor stays positioned left so you can start typing, and the JavaScript making that happen is not overly complex — it’s just layout tricks. They position a label behind the input containing the name of the field.Inline-2 in Stronger, Better, Faster Design with CSS3 When you click into the field they use JavaScript to apply a class to the label that knocks it back, and another class as you start typing to make the label vanish.

We wrote a blog post about this effect some time ago, describing how you could replicate it yourself. The problem is that over time setting up the page to support this isn’t as turnkey as we’d like, so we’ve revised and rebuilt it just for you (and, of course, for us).

The New Inline Label

Our new approach is considerably easier — to use it in our own products (like Notable and Scrumptious) we simply add class="inlined" to the label and voila! Here’s how we do it.

Start with a regular label and input:

	<label for="demoForm1">Email Address</label>
	<input class="input-text" id="demoForm1" />

In previous iterations of this technique we went to the trouble of wrapping the label and input in a block-level element and used absolute positioning to put the label behind the input. Not anymore. First, we’ll add the “inlined” class to only the label:

	<label for="demoForm1" class="inlined">Email Address</label>
	<input class="input-text" id="demoForm1" />

Now we need to do a couple of things to get our labels to display correctly. First, we use negative margins to pull the input up and over the label. We’ll do this by using the CSS adjacent selector, which looks like this:

	label.inlined + input.input-text {
		margin-top: -22px;
		background-color: transparent;
		position: relative; z-index: 2;
	}

That code tells the browser to apply the style to any input.input-text which immediately follows a label.inlined — this way we can use the negative margin to pull the input up and over the label itself. We also set the background color to transparent and give the input a relative position and a z-index value.

Next we need to style the label itself. You’ll need to adapt the styling here to mirror your input text style — the goal is for the text inside the label to appear as though it is actually part of the input. Here are the critical pieces:

	label.inlined {
		padding-left: 6px;
		font: normal 12px/18px "Helvetica Neue";
		position: relative; z-index: 1;
		opacity: 0.75;
		-webkit-transition: opacity 0.15s linear;
	}

Let’s break that down. Padding and font are simply to mirror the input style. The positioning and z-index make sure the label stays behind the input — otherwise the input can’t be selected. Now the fun parts: opacity and -webkit-transition.

Our form labels work by fading back the label at different points. We start with the label faded back a little, hence the opacity: 0.75. You could also use color to drop the label back, but opacity works regardless of the font color. We add in the -webkit-transition so that whenever the opacity changes, the browser (Safari or Chrome, in this case) will change the opacity smoothly over about 1/8th of a second. So when does the opacity change?

Two times — when the user focuses on the field, and when they start typing. Let’s create two CSS classes we can apply for those states: focus and has-text.

	label.focus {
		opacity: 0.35;
	}

	label.has-text {
		opacity: 0.0;
		-webkit-transition-duration: 0s;
	}

As you can see, we reduce the opacity of the label when the user clicks in, then make it invisible when they start to type. We change the duration of our transition so that as a user starts to type, the label disappears immediately, rather than fading back as they type. Now that we have our fields structurally set up and styled the way we want, the last step is a little bit of JavaScript.

Adding the JavaScript

Even though CSS3 has added new tricks like animations and transitions, JavaScript is still king when it comes to interaction. To get our labels to behave, we need to use a few simple JavaScript functions. In these examples we’ll be writing for jQuery, but they’re easy to adapt to Prototype or straight JavaScript.

The JavaScript needs to do three things:

  1. Add the focus class to the label when the user clicks into a field
  2. Add the has-text class as soon as they start typing
  3. Bring the label back if they leave the field empty and switch to another field.
$(document).ready(function(){
	$("label.inlined + input.input-text").each(function (type) {

		$(this).focus(function () {
			$(this).prev("label.inlined").addClass("focus");
		});

		$(this).keypress(function () {
			$(this).prev("label.inlined").addClass("has-text").removeClass("focus");
		});

		$(this).blur(function () {
			if($(this).val() == "") {
				$(this).prev("label.inlined").removeClass("has-text").removeClass("focus");
			}
		});
	});
});

We won’t pore over the JavaScript much — it’s pretty self-explanatory. jQuery let’s us quickly target the inputs we want by recognizing the same selector we’re using in CSS, but otherwise it’s all cut and dried. And there it is: inline labels that appear as refined versions of standard inline labels, but have much smoother interaction. Going forward now we can make any label inline by adding class="inlined" to the label — CSS and JavaScript will take care of the rest.

Inline-form-labels in Stronger, Better, Faster Design with CSS3

See the Live Demo »

We’ve created a live demo page for these forms in our Playground, a place for us to create small side projects and examples of cool toys. We’ll be linking to the Playground examples throughout this post and the rest of the series.

Fast, Easy Drop-in Modals

Next we’ll show you how to create easy modals that you can control with just one line of JavaScript. We use modals to great effect in our feedback tool, Notable, and while in Notable we use Ajax to load modals on the fly, this example will show you how easy it is to create an on-page modal.

The basic structure of our modals is a div.modal containing whatever we want. It could be an alert triggered by your page, a sign-in or sign-up form, or other information or actions that we don’t want to trigger a full page load. We’ll use some of our new CSS3 styles to make the modals look awesome and feel…well, modal, then turn them on with a single line of JavaScript.

The Simple Modal

Our first modal example is a simpler style, with a simpler animation. We’ll style the div to resemble a padded, floating box with a standard drop shadow so it appears to hover over the page. To make it appear, we’ll fade it up from an opacity of 0, and to close it, we’ll dismiss it immediately.

Modal-1 in Stronger, Better, Faster Design with CSS3

The modal style here uses a couple new CSS3 elements: -webkit-box-shadow to create the drop shadow and -webkit-transition (which you’ll recognize from the inline labels above) to fade it in without using JavaScript animation. Below are the styles for the modal; we’ll go over the new pieces in a second.

	div#simpleModal {
		width: 560px;
		position: absolute; top: 40px; left: 170px;
		padding: 20px;
		border: solid 1px #bbb;
		background: #fff;
		-webkit-box-shadow: 0px 3px 6px rgba(0,0,0,0.25);
		-webkit-transition: -opacity 0.0s ease-out;
	}

	div#simpleModal.shown {
		opacity: 1.0;
		z-index: 100;
		-webkit-transition-duration: 0.25s;
	}

Most of the styling here is pretty standard — size and position as well as decent padding and a light grey border. The new pieces here are -webkit-box-shadow and -webkit-transition. We covered both of those new attributes in our article on CSS3 buttons so we’ll go over them quickly.

-webkit-box-shadow (or box-shadow as it will be called when the CSS3 spec is finalized and implemented) takes a few arguments. The first two properties are the offset, X and Y. In this case no X offset, 3px of Y offset. This puts the shadow just below the object. The next argument, 6px, sets the spread size: 6 pixels out from the box shape.

Finally we set a box-shadow color using RGBa, which lets us set an RGB color (black, in this case) and then set an opacity, or alpha channel. By using black with 25% opacity we can be sure it will darken whatever color it overlays; if we used something like #333 it would actually appear to glow on a black background, rather than look like a shadow.

The Fancy Modal

That modal is okay — it gets the job done and once you know it, the pieces can be put together in less than 5 minutes. We wanted to do a little more for Notable, so we cooked up a fancier style using a few other CSS tricks like -webkit-gradient and -webkit-transform.

Modal-2 in Stronger, Better, Faster Design with CSS3

This modal is a little flashier and more akin to a desktop app in terms of interaction: it slides down from the top and gets a little more chroming than the simple modal. We accomplish this through a couple of cool tricks.

	div#fancyModal {
		display: block; width: 560px;
		position: absolute; top: -310px; left: 170px;
		padding: 90px 20px 20px 20px;
		border: solid 1px #999;
		background: -webkit-gradient(linear, left top, left bottom, from(rgb(255,255,255)), to(rgb(230,230,230)));
		-webkit-box-shadow: 0px 3px 6px rgba(0,0,0,0.25);
		-webkit-border-bottom-left-radius: 6px;
		-webkit-border-bottom-right-radius: 6px;
		-webkit-transition: -webkit-transform 0.25s ease-out;
		-webkit-transform: translateY(-570px);
		-moz-box-shadow: 0px 3px 6px rgba(0,0,0,0.25);
		-moz-border-radius: 0 0 6px 6px;
		-moz-transform: translateY(-570px);
	}

First we generate a gradient for the background. Obviously we could just create a tiling background image for the gradient, but where’s the fun in that? We’ll have the browser create one using -webkit-gradient, which is a CSS function that creates a gradient you can use anywhere you would use an image. As you can see above, -webkit-gradient has quite a few attributes; it’s not as bad as it seems. Let’s break it down:

  • linear means that this gradient goes from one point to another, in a straight line. You can also use radial to create a circular gradient.
  • left top, left bottom are the coordinates for starting and stopping, in this case going from top to bottom with no angle. If we used left top, right bottom the gradient would stretch diagonally across the div.
  • from(rgb(255,255,255)) is the starting color, in this case white.
  • to(rgb(230,230,230)) is the ending color. We could also put color-stop elements in between if we wanted to vary the color as we went.

That wasn’t so hard! Gradients are going to be a great way to add those flourishes to design without having to futz around with image backgrounds – these are easily created and modified in just a couple of lines. Now let’s look at the fancier part of this modal: the appearance animation.

	div#fancyModal {
		…
		-webkit-transition: -webkit-transform 0.25s ease-out;
		-webkit-transform: translateY(-570px);
	}

What we’re doing here is using a property called -webkit-transform to move the modal up and out of the viewport. Since transforms don’t impact the DOM we don’t get any weird effects or problems — the div just moves up without impacting anything else. So when the page loads, our div will be located above the page. When we add class="shown" to the div, it will get a new transform position, and the -webkit-transition will cause the transformation to be applied over a quarter of a second — this is what causes the modal to slide down from the top of the page.

As you can see, creating a fairly fancy modal style is pretty easy with these new CSS3 effects. Our last step is a simple line of JavaScript to apply a shown class to the modal. For our simple modal, it changes the opacity to 1; for our fancy modal, it changes the transform position to 0 (rather than -570px). Our transition then takes care of the actual animation.

Drop-in-modals in Stronger, Better, Faster Design with CSS3

See the Live Demo »

You can check out the live demo on the Playground. We’ve got the source code and clickable examples of the two modals (requires WebKit).

Newspaper Layouts with Columns and Image Masks

Our final example in this article will demonstrate how to use a couple of new CSS attributes and functions to create a cool newspaper layout — in this case the Super Awesome Times.

The faux-newspaper look goes in and out of style online pretty frequently, but these tricks can be used for quite a few cool applications. What we’ll talk about here is using -webkit-mask-image and -webkit-column-count.

Using Image Masks

Image masking is a way to affect the alpha channel of a block-level element by masking it with another image (or anything that can take the place of an image, like a gradient). For the Super Awesome Times we wanted to apply a subtle gradient to the masthead. We could simply render an image, but that’s no fun. Instead we masked the text (which in this case is an image, but with @font-face you could use text instead) with a generated gradient. Check it out:

	div#masthead img {
	-webkit-mask-image:
		-webkit-gradient(
			linear,
			left top, left bottom,
			from(rgba(0,0,0,.75)), to(rgba(0,0,0,1)));
	}

The only property we need is -webkit-mask-image — the browser will use whatever you supply to create an alpha mask for the image or block element you’ve applied the mask to. In this case we use a gradient, which causes the masthead to fade from 75% opacity to 100%. Below is the masthead with the mask, and without — so you can see the difference:

Newspaper-1 in Stronger, Better, Faster Design with CSS3

It’s a subtle change, but some added depth can go a long way. There’s a great introduction to using masks over on Surfin’ Safari, the official WebKit blog. You can see how masks can be used for all sorts of interesting effects — even masking out an actual playing video.

Stunningly Easy Text Columns

Finally, we’ll show you how to use a new (and very poorly supported, so far) property in CSS3: text columns. Not the floated div kind, but the kind where you can simply set the number of columns and the gutter and have the browser do the rest.

Newspaper-2 in Stronger, Better, Faster Design with CSS3
3 columns, no fuss.

In the example above you can see three columns of text, but if you click through to the live example and view the source code, you’ll see that we’ve used just one div containing a number of paragraphs. Nothing tricky, no floats, no bizarre height manipulations — we’re just telling the browser to put the content of that block into 3 columns with 15px of space between them. Here’s how:

	div.three-col {
		-webkit-column-count: 3;
		-webkit-column-gap: 15px;
		-moz-column-count: 3;
		-moz-column-gap: 15px;
	}

That’s it! Simple, easy markup and styling. The catch here is that even in forward-thinking browsers this property has pretty poor support — there are a number of other properties (like dividers, breakers, etc) that haven’t been implemented or at all supported yet. This is just a taste of what’s to come — simple columns are on the way, but not here just yet.

Newspaper-layout-th in Stronger, Better, Faster Design with CSS3

See the Live Demo »

Check out the Super Awesome Times on the Playground – just creating this prototype got some cool ideas kicking for our own site and blog.

Coming Up in CSS3…

We hope you enjoyed this further foray into CSS3. You can still check out our article on CSS3 buttons (including one which, no kidding, glows radioactively). Stay tuned for the third and final article in the series, where we’ll take the CSS properties and really go to town with polaroids, an OS X dock, vinyl album music players and more.

References and Resources:


© ZURB for Smashing Magazine, 2009. | Permalink | 81 comments | Add to del.icio.us | Digg this | Stumble on StumbleUpon! | Tweet it! | Submit to Reddit | Forum Smashing Magazine
Post tags: ,

:: Read More
(Published: Wed, 16 Dec 2009 05:53:52 -0800)

ˇViva Mexico! Showcase Of Web Design In Mexico
Smashing-magazine-advertisement in ˇViva Mexico! Showcase Of Web Design In Mexico
 in ˇViva Mexico! Showcase Of Web Design In Mexico  in ˇViva Mexico! Showcase Of Web Design In Mexico  in ˇViva Mexico! Showcase Of Web Design In Mexico

Spacer in ˇViva Mexico! Showcase Of Web Design In Mexico

This post is the third article of our new series “Global Web Design“. Throughout this series we’ll be covering various continents, featuring web developers and web designs from different countries of the world and taking a close look at what’s happening in the web design scene worldwide. We started with Russian Web Design and Web Design in Ireland. We continue now with Mexico and next week with Israel. If you would like to prepare an article for this series, please contact us so we can discuss the details.

Land of tequila and mariachi, home of Chichén Itza (one of the new seven wonders of the world), amazing beaches, cheerful people, beautiful women… and last but not least, inspirational and creative Web designs for the entire world. Ours is a great country, with more than 110 million inhabitants, over 30% of which to date are connected to the Web.

Design has always been integral to our culture: the majestic pyramids built by the Aztecs; the numeric symbol “zero” created by the Mayans (who, by the way, were the architects of the great Chichén Itza); the colonial buildings influenced by the Spaniards and French; beautiful paintings by well-known artists such as Diego Rivera and Frida Kahlo; and now today’s great architects and artists, design firms, interactive agencies and software engineers.

Mondo-mexico in ˇViva Mexico! Showcase Of Web Design In Mexico
The portfolio of Roberto Avila, a designer from Mexico.

To gain greater insight into Web design happening in Mexico today, we interviewed many people in the industry: freelancers, digital marketing managers, creative interactive agency reps and a few bloggers.

State Of Affairs

A lot is going on in our country, and many companies and brands in Mexico are definitely noticing the impact of great Web design. Digital marketing is growing fast. People working in this industry have not had to face a crisis. Mexico grew 20% in the first quarter of 2009. Why? Because everyone recognizes the importance of shifting to digital.

According to the Interactive Advertising Bureau of Mexico (IAB), in 2008 only 4% of budgets were designated for digital marketing. If we compare this to countries like the UK, where digital marketing budgets were bigger than TV budgets, then we have a good reason to be optimistic about the future of digital marketing and Web design in Mexico. Bianca Loew, Managing Director of IAB Mexico, states, “The Internet is the ideal platform for companies to interact with consumers.”

Dwm-mexico in ˇViva Mexico! Showcase Of Web Design In Mexico
DesignWeek Monterrey 2009, an original design from Mexico.

Most companies understand the value and power of good design. We have seen different brands try out a lot of digital marketing strategies, but still much work is to be done on coding standards, usability and persuasion. Few websites are truly prepared for the social media revolution. But great agencies are willing to provide quality information to help everyone get ready!

“Near-shoring” has become a must for many US and Canadian companies. A lot of work is being outsourced to Mexico for digital marketing and Web design and development. We have seen a lot of Argentinean agencies in our market, which has been a very good push for competition, and this will surely drive innovation and creativity.

Voices of People In The Industry

To gain some insights from the people working in the web design industry in Mexico, we asked Miguel Calderon (founder of Group W), Gustavo Ross (founder of Activamente) and Rodrigo Gama (founder of Publicidadenlinea.com) to share with us some insights about the current state of web design in Mexico.

Q: What is your perception of the Web design environment in Mexico?

Miguel: It’s improving, perhaps slowly, but there are interesting developments. What happened with traditional design years ago is happening with Web design today: we are following international trends instead of creating new and better proposals. We’ve missed our identity as a country. Therefore, there is a big opportunity to create proposals that will be followed abroad in the near future. However, the incursion of big designers and illustrators from traditional media to digital media will trigger great websites.

Trost-mexico in ˇViva Mexico! Showcase Of Web Design In Mexico
Trost

Gustavo: With the introduction of pre-fabricated and self-service platforms, such as WordPress and Joomla, designers must become more specialized. Whether they start by creating professional templates aimed at the Mexican public or with professional design interfaces for business applications and portals, deeper knowledge is needed to improve usability and front-end technologies such as AJAX.

Some time ago, we left behind websites for which only graphic design mattered. Today, designers have to be much more comprehensive and knowledgeable about technology and the needs and habits of the common consumer.

Rodrigo: The market for Web design in Mexico is growing significantly every year. The quality in design is improving fast, but the larger companies are the ones willing to invest in and pay for experts who develop attractive Web designs. Websites for small companies and independent projects are usually made by students, independent designers and freelancers, and their owners do not yet have a comprehensive understanding of attractive Web design: usability, programming, social networking, search engine optimization, etc.

Carrera-mexico in ˇViva Mexico! Showcase Of Web Design In Mexico
Carrera Bonafont

A lot of effort needs to be made by organizations such as AMIPCI (Mexican Association of Internet) and IAB Mexico (Interactive Advertising Bureau Mexico) to publicize the benefits of digital marketing. This causes the market to mature, and developers are taking advantage of this knowledge. I strongly believe that in a couple of years, the quality of many Mexican websites will have a greater impact in Latin America.

I would like to stress that many of the Web design projects in Mexico are done by traditional advertising agencies. Most of the time, such agencies have neither the knowledge nor experience of the Web to develop effective websites, and they work only on what they have committed to their customers. Most of the time, they don’t introduce best practices or standards or even do usability testing.

Monterrey-mexico in ˇViva Mexico! Showcase Of Web Design In Mexico
Monterrey Fashion

Q: What makes an outstanding design agency in Mexico?

Miguel: Fortunately, designers and illustrators are already becoming vital for Web design environments. Every day, traditional and digital design become more integrated. It is a broad topic, but I encourage you to look deeper into Alberto Cerriteńo & Zoveck. They do very few Web projects, but their websites could not be understood if it wasn’t for their extraordinary work and creativity.

Rodrigo: In my personal opinion, the best agencies are the ones whose core business is the Internet. They usually have a team of experts in different areas, such as design, programming, usability, marketing and online advertising.

Nrmal-mexico in ˇViva Mexico! Showcase Of Web Design In Mexico
Nrmal

Gustavo: I am thrilled to see that website producers have become more professional, leaving behind the Flash and intros in favor of functional pages designed for the user rather than the designer.

Outstanding design agencies… Those with a more holistic view of the needs of their clients, notwithstanding conflicts of interest, and who focus on generating good business results. The best designers are those who think of the end user, not of the prize.

Enough! Show Me The Good Stuff

Tequila can really fuel creativity, as you’ll see! Web designers and interactive agencies here have done a great job. Here is a taste of what we Mexicans are capable of.

GOAL by Gonzalo Alonso, a Mexican in Argentina. What’s really cool about his blog is that he has two skins: one of Asterix and another of Star Wars.

Goal1-mexico in ˇViva Mexico! Showcase Of Web Design In Mexico

Goal2-mexico in ˇViva Mexico! Showcase Of Web Design In Mexico

Tu Deseo Bon O Bon

Tu-mexico in ˇViva Mexico! Showcase Of Web Design In Mexico

Alberto Cerriteńo

Alberto-mexico1 in ˇViva Mexico! Showcase Of Web Design In Mexico

Modena

Modena-mexico in ˇViva Mexico! Showcase Of Web Design In Mexico

Detective Stripes

Detectives-mexico in ˇViva Mexico! Showcase Of Web Design In Mexico

Tixinda

Tix-mexico in ˇViva Mexico! Showcase Of Web Design In Mexico

Face Face Face

Face-mexico in ˇViva Mexico! Showcase Of Web Design In Mexico

Movistar

Ele-mexico in ˇViva Mexico! Showcase Of Web Design In Mexico

Ed Fladung

Ed-mexico in ˇViva Mexico! Showcase Of Web Design In Mexico

Banamex

Banamex-mexico in ˇViva Mexico! Showcase Of Web Design In Mexico

Campus Vida

Campus-mexico in ˇViva Mexico! Showcase Of Web Design In Mexico

Catalina Estrada Paralevis

Catalina-mexico in ˇViva Mexico! Showcase Of Web Design In Mexico

Vtbic

Vtbic-mexico in ˇViva Mexico! Showcase Of Web Design In Mexico

Bicentenario Nuevo Leon

Bicentenario-mexico in ˇViva Mexico! Showcase Of Web Design In Mexico

Danup

Danup-mexico in ˇViva Mexico! Showcase Of Web Design In Mexico

8reclutas

8reclutas-mexico in ˇViva Mexico! Showcase Of Web Design In Mexico

Nextel Rock

Nextel-mexico in ˇViva Mexico! Showcase Of Web Design In Mexico

Poster Media

Poster-mexico in ˇViva Mexico! Showcase Of Web Design In Mexico

Showdown Interactive

Show-mexico in ˇViva Mexico! Showcase Of Web Design In Mexico

Energy Lab

Energy-mexico in ˇViva Mexico! Showcase Of Web Design In Mexico

Rexona Clinical

Rexona-mexico in ˇViva Mexico! Showcase Of Web Design In Mexico

Oscar Carnicero

Oscar-mexico in ˇViva Mexico! Showcase Of Web Design In Mexico

Ivana Breu

Ivana-mexico in ˇViva Mexico! Showcase Of Web Design In Mexico

Mandalah

Mandalah-mexico in ˇViva Mexico! Showcase Of Web Design In Mexico

Interactive Agencies In Mexico

High-quality interactive agencies can be found all over Mexico. Some have won prestigious international prizes, including the acclaimed Cannes Lions. Here are some of our most renowned agencies, listed in alphabetical order.

Abargon

Abargon-mexico in ˇViva Mexico! Showcase Of Web Design In Mexico

Códice

Codice-mexico in ˇViva Mexico! Showcase Of Web Design In Mexico

Crossmedia

Crossmedia-mexico in ˇViva Mexico! Showcase Of Web Design In Mexico

D10 Studio

D10-mexico in ˇViva Mexico! Showcase Of Web Design In Mexico

Element Studios

Elemennt-mexico in ˇViva Mexico! Showcase Of Web Design In Mexico

Gamol

Gamol-mexico in ˇViva Mexico! Showcase Of Web Design In Mexico

GrupoW

Grupow-mexico in ˇViva Mexico! Showcase Of Web Design In Mexico

Gelattina

Gelatinna-mexico in ˇViva Mexico! Showcase Of Web Design In Mexico

IA Interactive

IAInteractive-mexico in ˇViva Mexico! Showcase Of Web Design In Mexico

Interalia

Interalia-mexico in ˇViva Mexico! Showcase Of Web Design In Mexico

Kansei Lab

Kansei-mexico in ˇViva Mexico! Showcase Of Web Design In Mexico

Latin3

Latin-mexico in ˇViva Mexico! Showcase Of Web Design In Mexico

Media Agency

Media-mexico in ˇViva Mexico! Showcase Of Web Design In Mexico

Design Bloggers in Mexico

Blog Vecindad

Blogvecindad-mexico in ˇViva Mexico! Showcase Of Web Design In Mexico

Dementez

Dementez-mexico in ˇViva Mexico! Showcase Of Web Design In Mexico

Bioxd

Bioxd-mexico in ˇViva Mexico! Showcase Of Web Design In Mexico

Therror

Therror-mexico in ˇViva Mexico! Showcase Of Web Design In Mexico

Infected FX

Infected-mexico in ˇViva Mexico! Showcase Of Web Design In Mexico

Yolisto

Yolisto-mexico in ˇViva Mexico! Showcase Of Web Design In Mexico

Asfalto Tecnicolor

Asfalto-mexico in ˇViva Mexico! Showcase Of Web Design In Mexico

<thinkinginweb/>

Thinking in ˇViva Mexico! Showcase Of Web Design In Mexico

Related posts

You may be interested in the following related posts:


© Pablo Hernández O’Hagan for Smashing Magazine, 2009. | Permalink | 70 comments | Add to del.icio.us | Digg this | Stumble on StumbleUpon! | Tweet it! | Submit to Reddit | Forum Smashing Magazine
Post tags:

:: Read More
(Published: Wed, 16 Dec 2009 02:08:46 -0800)

50 Beautiful Free Icon Sets For Your Next Design
Smashing-magazine-advertisement in 50 Beautiful Free Icon Sets For Your Next Design
 in 50 Beautiful Free Icon Sets For Your Next Design  in 50 Beautiful Free Icon Sets For Your Next Design  in 50 Beautiful Free Icon Sets For Your Next Design

Spacer in 50 Beautiful Free Icon Sets For Your Next Design

Round-ups of beautiful and useful icons are almost legendary here, on Smashing Magazine. While some readers complain about the annoying “list”-style of some of our articles, we are confident that useful round-ups of relevant resources are very valuable and useful for designers. This is why over months we collect useful links and then present them in posts in the magazine. Like it or hate it, but the feedback that we get from the design community when we publish such posts is mostly positive which is why we keep doing it.

This round-up covers 50 beautiful and useful icons that may turn out to be life-savers for your next design. We present photorealistic icons, mini icons and pictograms, symbols and signs, free templates as well as Christmas icon sets and desktop replacement icons. Please make sure to read the license agreements before using the icons – they may change from time to time. Did you find this post useful? Would you like to see more similar posts in the future? Let us know in the comments to this post!

You may be interested in the following related posts:

Free High Quality Icons

iMod
146 freely available PNG-icons in the resolutions 256×256px and 512×512px.

Icons-07-icon-sets in 50 Beautiful Free Icon Sets For Your Next Design

Leica Camera Icon
A Leica rangefinder camera icon, available in the resolution 512×512px. Mac- and Win-versions are available.

Leica-icon-sets in 50 Beautiful Free Icon Sets For Your Next Design

Gifts boxes (Registration required)
9 various gift icons in the resolution 256×256px, .PNG. Free for private use; for commercial use a link to the designers’ site is required.

Icons-12-icon-sets in 50 Beautiful Free Icon Sets For Your Next Design

Musicons Icon Set (Registration required)
A set of 8 music-related icons. Available in the resolutions 256×256, 128×128, 48×48, 32×32, 16×16 as png, .ico, .hqx and .icns. Free for private use; for commercial use a link to the designers’ site is required.

Music-icon-sets in 50 Beautiful Free Icon Sets For Your Next Design

Gamble icons

Free-high-quality-icon-sets-134 in 50 Beautiful Free Icon Sets For Your Next Design

PixelShop Icon
Remake of Pixelmator icon in three different variations for Photoshop (or any other application).

Brush-icon-sets in 50 Beautiful Free Icon Sets For Your Next Design

Free Portfolio Icon Set
A set of 5 icons with portfolio sites in mind. The set includes PNG files of 512 pixels and 256 pixels, plus the source files (Illustrator). The icons are free for use in both personal and commercial projects.

Icons-08-icon-sets in 50 Beautiful Free Icon Sets For Your Next Design

MacBook

Icons-05-icon-sets in 50 Beautiful Free Icon Sets For Your Next Design

Pre Desktop Goodie
They’re not amazingly detailed or even polished at their maximum size of 512 pixels, but that wasnít my intention, either. Consider that a disclaimer before you start commenting that they donít look nice enough to you at that size ;).

Icons-10-icon-sets in 50 Beautiful Free Icon Sets For Your Next Design

STACKS

Free-high-quality-icon-sets-205 in 50 Beautiful Free Icon Sets For Your Next Design

Sketchy Icons
…I’ve been doing this for quite a while. I’ve recently bought a tablet, and it turned out that my hand isn’t listening as it used to. So I’ve been doing this for practice. I designed some of the icons, modified some and just redraw the ones that i found pleasing. These are all the Icons I use at the moment, so if you want some other icons, just let me know.

Free-high-quality-icon-sets-215 in 50 Beautiful Free Icon Sets For Your Next Design

iWork.com

Free-high-quality-icon-sets-181 in 50 Beautiful Free Icon Sets For Your Next Design

Icons by Chris Williams
Various icons designed by Chris Williams and available for free download. Among them is this Jack Daniels icon in .ico and .icontainer.

Icons-11-icon-sets in 50 Beautiful Free Icon Sets For Your Next Design

Exclusive Free LBOI Icon Set For Designers
A little while back Iconshock contacted me and offered to do an exclusive icon set for LBOIís readers. So I set off to browse their website and their work. They do some amazing work in the icon industry. Their website boasts of 803824 unique icons in 232 categories. That is pretty impressive in itself. What I really liked was their active design community and blog where they offered significant number of free high quality icons for downloads every week, featured interesting articles about design and icons and showcased great designer talent. Go check out IconShock ís royalty free icons and custom icon design services.

Free-high-quality-icon-sets-217 in 50 Beautiful Free Icon Sets For Your Next Design

Stock icons

Free-high-quality-icon-sets-218 in 50 Beautiful Free Icon Sets For Your Next Design

Graphic River Webset Icons
Designed by Turbomilk, this set contains various social media icons that are available for free personal and commercial use. However, you must link back to the release page if using these icons in a commercial project. Available as .png in the resolutions 16×16px – 48×48px.

Turb-icon-sets in 50 Beautiful Free Icon Sets For Your Next Design

Kal Michael’s Icons
Various icons in various resolutions, designed by Kal Michael, available for free download and use.

Worlds-icon-sets in 50 Beautiful Free Icon Sets For Your Next Design

178 Amazing Web Design Icon
The WooFunction Icon Set includes 178 amazing web-related icons in a sophisticated and glossy design style. All 178 icons are available as 32?32 pixel PNG files and we can assure you that they are indeed pixel-perfect. If you have an in-depth look at the individual icons, youíll notice that Liam has spent a lot of time paying attention to the finer details, which means that this is a really classy icon set. Here; have a look for yourself:

Icons-01-icon-sets in 50 Beautiful Free Icon Sets For Your Next Design

Gentle Romantic icons
This set contains 5 .png-icons in the resolution 512×512px. The icons are tiara on royal pillow, rose, champagne glasses (looks good on black and white background), heart with ribbon, Tiffany key.

Icons-15-icon-sets in 50 Beautiful Free Icon Sets For Your Next Design

Hand-Drawn Social Media Icon
The set comprising of 24 different icons, should cover most of the social networks that you frequent regularly and the default icon size has been set at 64 x 64 pixels.

Icons-02-icon-sets in 50 Beautiful Free Icon Sets For Your Next Design

Soda Pop Caps Icons
Together with the obvious Coca Cola, Fanta, Sprite and Pepsi caps (including Pepsiís horrible redesign), the set features Vita Cola, a Coca Cola knockoff created in Eastern Germany in the mid-Fifties under the Communist regime.

Soda-icon-sets in 50 Beautiful Free Icon Sets For Your Next Design

Jacal’s Castle (Win)
This castle icon is available as .ico and .icontainer. Free for personal use, free for public use with a link to the designer’s site. Mac-version.

Free-high-quality-icon-sets-178 in 50 Beautiful Free Icon Sets For Your Next Design

Jacintosh (Win)
This castle icon is available as .ico. Free for personal use, free for public use with a link to the designer’s site. Only Win-version is available.

Free-high-quality-icon-sets-179 in 50 Beautiful Free Icon Sets For Your Next Design

Designer’s tools icon – WD2

Free-high-quality-icon-sets-110 in 50 Beautiful Free Icon Sets For Your Next Design

Shopping bag icon – WD1
This time it’s only one png icon, but it have 3 colors of ribbon handle and 5 sizes. I decided to do new icon series but this collection is called “weekly delicious”, which means will be new icon every week, so here is №1 – shopping bag, it’s easy in photoshop to change colors of ribbons so shopping bag will fit in your design. Add logo or company style graphic elements on it and it will fit anywhere

Free-high-quality-icon-sets-112 in 50 Beautiful Free Icon Sets For Your Next Design

Switch icon

Free-high-quality-icon-sets-115 in 50 Beautiful Free Icon Sets For Your Next Design

Hrvoje Bielen’s Icons
Various icons, designed by Hrvoje Bielen: crankset icon, propeller engine, jet engine turbine, aircraft, Twitter egg, Gibson Les Paul Guitar and othes. Resolutions: 16×16px — 512×512px, .ico, .png, .tif, .icns.

Air-icon-sets in 50 Beautiful Free Icon Sets For Your Next Design

Cute Blogging Icon Set
This set contains 10 freely available icons. You can use these icons on your blog. Cute Blogging Icon Set inclides Design, Download, Freelance, Part-time, Hire Me, Not Available, About Me, Services, My Blog, Contact.

Cute-icon-sets in 50 Beautiful Free Icon Sets For Your Next Design

Sketchy Web Icons: 30 Hand Drawn Icon Pack
This Icon Pack includes 30 Hand-Drawn Web Design Icons. This is the perfect set for adding that handmade feel to your own creations online.

Free-high-quality-icon-sets-142 in 50 Beautiful Free Icon Sets For Your Next Design

Mini Social Networking Icon set
This set includes 45 social networking Icons: Blogger / Blogspot, Delicious, Digg, Designmoo, Facebook, Design float, Linkedin, Mixx, Myspace, RSS, Technorati, Twitter, WordPress, Yahoo, Windows, Openid, Orkut, Skype, DeviantArt, FriendFeed and many more. Dimensions: 32×32px and 64×64px; .PNG icons.

Icons-19-icon-sets in 50 Beautiful Free Icon Sets For Your Next Design

Extreme Grunge Garments Icons
This high quality, hand made, icon pack is full with 9 Extreme Grunge Social Media Garments. Each icon is in .png format with transparent backgrounds, sized at 256×256px.

Free-high-quality-icon-sets-147 in 50 Beautiful Free Icon Sets For Your Next Design

Videobox
This is the app icon for Videobox, the successor of FLVR.

Free-high-quality-icon-sets-148 in 50 Beautiful Free Icon Sets For Your Next Design

Breakfast Icons
Featuring a genuine Moka Express coffee maker, coffee cup, chocolate chip muffin, toast and sugar pot in three versions: open empty, open full and closedóuse it as a trash can replacement!

Free-high-quality-icon-sets-153 in 50 Beautiful Free Icon Sets For Your Next Design

Classic Cameras (PNG)
A set of camera icons in the resolution 128×128px. Versions: Win version (ico), Mac Version.

Free-high-quality-icon-sets-155 in 50 Beautiful Free Icon Sets For Your Next Design

Moleskine Helvetica Icon

Free-high-quality-icon-sets-168 in 50 Beautiful Free Icon Sets For Your Next Design

Free-high-quality-icon-sets-169 in 50 Beautiful Free Icon Sets For Your Next Design

Generic Controller 2
Another generic controller icon, based on the PlayStation controller. Also with a folder this time.

Free-high-quality-icon-sets-172 in 50 Beautiful Free Icon Sets For Your Next Design

Capsule
The inspiration comes from comic book : ” DragonBall ” , capsule is an amazing stuff in this book.

Free-high-quality-icon-sets-173 in 50 Beautiful Free Icon Sets For Your Next Design

Photoshop Icon Goodie
A quick replacement icon for Photoshop. Free for personal use and customization only.

Ph-icon-sets in 50 Beautiful Free Icon Sets For Your Next Design

Usercenter Calendar

Free-high-quality-icon-sets-177 in 50 Beautiful Free Icon Sets For Your Next Design

Sixpack status icon pack
Sixpack status is a small set of high quality icons which can be used for status messages. It is completely free for personal and commercial use. Icons are available in four sizes, 32×32, 64×64, 128×128 and 256×256px. They are also available in vector (SVG) format, which can be edited using applications such as Inkscape (they are actually made in Inkscape).

Free-high-quality-icon-sets-192 in 50 Beautiful Free Icon Sets For Your Next Design

Free E-Commerce Icons
10 e-Commerce icons, available as the Adobe Illustrator source file (.ai). They may be used in any projects, whether commercial or private nature.

Free-high-quality-icon-sets-196 in 50 Beautiful Free Icon Sets For Your Next Design

Gaming Icon Set
A set of 21 free gaming icons for you to use in any projects, on your application dock, desktop or whatever you like.

Icons-23-icon-sets in 50 Beautiful Free Icon Sets For Your Next Design

Voodoo Folder Icon Set
Voodoo system folder icon. Dock and Wallpaper included. Including sizes: 16×16px — 512×512px. Available in .png, .icns, .ico and iContainer.

Free-high-quality-icon-sets-202 in 50 Beautiful Free Icon Sets For Your Next Design

folios
8 Adobe desktop replacement icons; .png in resolutions 16×16px — 256×256px.

Icons-25-icon-sets in 50 Beautiful Free Icon Sets For Your Next Design

Pictograms, Symbols and Mini-icons

Freshpixel.fr
Freely available icons in vector format by French designer Mister Size. Released under the Creative Commons Attribution 3.0 License.

Vector Icons Pack02-icon-sets in 50 Beautiful Free Icon Sets For Your Next Design

Pack4-icon-sets in 50 Beautiful Free Icon Sets For Your Next Design

Pack6-icon-sets in 50 Beautiful Free Icon Sets For Your Next Design

DesignWorkPlan
This is a collection of 50 common used signage symbols, professional designed. The symbols signs are free of charge available as an OpenType font format, allowing you to easily add symbols & icons to your sign and wayfinding design. All the symbols have been designed & created by Sander Baumann and set to the proportions of a regular typeface, so you no longer need to copy/paste the symbols into your designs.

Free-high-quality-icon-sets-106 in 50 Beautiful Free Icon Sets For Your Next Design

125 Public Information Symbols
This Japanese website made a collectio of public information symbols available for free download. The available formats are PDF, EPS and GIF. The set contains symbols of public facilities, transport facilities, commercial facilities, tourism, culture, sport facilities, safety, prohibition, warning and mandatory.

Free-high-quality-icon-sets-107 in 50 Beautiful Free Icon Sets For Your Next Design

brsev
128 unique icons for apps, folders, settings, and the desktop. Each icon has two color variants, dark and light. Each color variant is available as a 128×128 PNG or a Windows ICO. The ICO combines 16×16, 32×32, and 256×256 resolutions; each icon was carefully tweaked in shape and style for the best display quality at the three resolutions listed.

Free-high-quality-icon-sets-108 in 50 Beautiful Free Icon Sets For Your Next Design

Android Icons
All icons are distributed under a Creative Commons Attribution Share Alike license. Feel free to use them in any form in you projects or even remix them. No need to link back to this page, but it would be nice.

Free-high-quality-icon-sets-140 in 50 Beautiful Free Icon Sets For Your Next Design

149 Icons of Scary Celebrity
149 icons of horror and fantasy gridded up on large sheet and served up on a wall. Chop Shopís The Horror & Fantasy Collection screened print featuring 62 monsters, 35 vampires and 51 various icons of the undead all referenced from various sources of film, television, gaming, music, literature, legend and more. Perfect for taking to work, and killing productivity for an entire day.

Free-high-quality-icon-sets-149 in 50 Beautiful Free Icon Sets For Your Next Design

Cafeteria Vector Icons
These are vector pictograms rather than icons but all the more useful for that. You can scale them to any size, change their colors and mess with them any way you want.

Free-high-quality-icon-sets-154 in 50 Beautiful Free Icon Sets For Your Next Design

google-maps-icons
Map icons collection is a pack of 600 free icons for your placemarks. You can put them manually in your Google Maps with the “My maps” feature, or automaticly with the Google Maps API.

Icons-04-icon-sets in 50 Beautiful Free Icon Sets For Your Next Design

172 Country Flag Icons
172 final country flag icons which rendered at 256×256, 128×128, 64×64, 48×48, 32×32, 24×24, 16×16 pixels and formats are png, ico and icns. License: Free for non-commercial use.

Flags-icon-sets in 50 Beautiful Free Icon Sets For Your Next Design

United States Flags Icons
American states Icon set which rendered at 256×256, 128×128, 64×64, 48×48, 32×32, 16×16 pixels and format are png, ico and icns. License: Free for non-commercial use.

Icons-22-icon-sets in 50 Beautiful Free Icon Sets For Your Next Design

Fun
A set of small 16×16px icons: Wacom tablet, Dresser, iPhone, iMac, Dresser.

Free-high-quality-icon-sets-206 in 50 Beautiful Free Icon Sets For Your Next Design

Mini Icon Set
A set of various mini icons: included sizes are 48px, 32px and 16px.

Free-high-quality-icon-sets-207 in 50 Beautiful Free Icon Sets For Your Next Design

Christmas Icons and Vectors

Silent Night Christmas icons

Free-high-quality-icon-sets-109 in 50 Beautiful Free Icon Sets For Your Next Design

Smashing Christmas Icon Set

Release in 50 Beautiful Free Icon Sets For Your Next Design

Free Christmas Photoshop Pack
Need to decorate your website or banner with Christmas elements? Vladstudio Christmas Photoshop Pack will help!

Free-high-quality-icon-sets-203 in 50 Beautiful Free Icon Sets For Your Next Design

Santa Claus Icons

Icons-03-icon-sets in 50 Beautiful Free Icon Sets For Your Next Design

The Real Christmas ë05 Reloaded
As a christmas Gift from Enhanced Labs, We decided to Add 7 Bonus Icons to the package, and Re-Release this icon set on christmas day. This icon set now includes 20 holiday icons.

Free-high-quality-icon-sets-158 in 50 Beautiful Free Icon Sets For Your Next Design

Christmas Icons

Free-high-quality-icon-sets-144 in 50 Beautiful Free Icon Sets For Your Next Design

Christmas Icons
Archigraphs Christmas icons Icons Set created for free use. For MacOs X, and Windows Vista. PNG files included.

Free-high-quality-icon-sets-143 in 50 Beautiful Free Icon Sets For Your Next Design

Shiny Social Balls
Freeware. Social Christmas Icons. Available for Windows and Mac.

Icons-18-icon-sets in 50 Beautiful Free Icon Sets For Your Next Design

Xmas 2009 Icon Set

Free-high-quality-icon-sets-137 in 50 Beautiful Free Icon Sets For Your Next Design

Would you like to see more similar posts on Smashing Magazine?

Related posts

You may be interested in the following related posts:


© Vitaly Friedman for Smashing Magazine, 2009. | Permalink | 99 comments | Add to del.icio.us | Digg this | Stumble on StumbleUpon! | Tweet it! | Submit to Reddit | Forum Smashing Magazine
Post tags: ,

:: Read More
(Published: Tue, 15 Dec 2009 23:43:16 -0800)

Advanced Power Tips for WordPress Template Developers: Reloaded
Smashing-magazine-advertisement in Advanced Power Tips for WordPress Template Developers: Reloaded
 in Advanced Power Tips for WordPress Template Developers: Reloaded  in Advanced Power Tips for WordPress Template Developers: Reloaded  in Advanced Power Tips for WordPress Template Developers: Reloaded

Spacer in Advanced Power Tips for WordPress Template Developers: Reloaded

Two weeks ago we published the first part of this article, covering multiple column content techniques and associating pages with post content; we discussed how to use the “More”-tag, hide standalone categories from the category list and retain the page layout for post views within a category page. This article presents the second part of the article; it covers customizing basic content administration and adding features to the post and page editor in WordPress. You would like to see more similar articles in the future? Let us know in the comments to this post!

Customizing Basic Content Administration

Many template developers have learned the art of making beautiful, highly customized front end templates for WordPress. But the real wizards know how to tailor the WordPress administrative console to create a tailored, customized experience for content managers.

Customizing the Dashboard Widgets

The dashboard is the first screen presented to registered visitors when they visit WordPress administration (/wp-admin). Tailoring the dashboard to a client can be the difference between a great first impression and a confused one, particularly if the theme customizes the administrative experience.

The dashboard is comprised of a number of widgets that can be repositioned and toggled using the “screen options” tab. WordPress has a hook – wp_dashboard_setup – that can be used to customize the dashboard widgets, as well as a function – wp_add_dashboard_widget – that allows developers to easily add new widgets.

The WordPress codex documents the process of adding and removing widgets.

Here is a practical use case based on that documentation: let’s remove all of the default widgets that don’t pertain to managing a typical site, and add one simple widget that welcomes the administrator and reminds them how to contact the developer for support.

add_action('wp_dashboard_setup', 'my_custom_dashboard_widgets');

function my_custom_dashboard_widgets() {
   global $wp_meta_boxes;

   unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_plugins']);
   unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_primary']);
   unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_secondary']);

   wp_add_dashboard_widget('custom_help_widget', 'Help and Support', 'custom_dashboard_help');
}

function custom_dashboard_help() {
   echo '<p>Welcome to your custom theme! Need help? Contact the developer <a href="http://mytemplates.com">here</a>.</p>';
}

Wp-custom-dash in Advanced Power Tips for WordPress Template Developers: Reloaded

Customizing the Contextual Help Dropdown

Throughout its administrative panel, WordPress has a small “Help” tab just below the administrative header. Clicking this tab rolls down contextual help for the current administrative page.

Wp-default-context-help in Advanced Power Tips for WordPress Template Developers: Reloaded

If your theme has some special functionality that might not be intuitive, it’s a good practice to add some additional contextual help. For example purposes, let’s assume that the theme has been customized to use the “more divider” to separate content into two columns, as described in the first tip. That’s probably not an obvious feature for your average content editor. To accomplish this, hook the contextual help text when on the “new page” and “edit page” administrative pages, and add a note about that feature.

//hook loading of new page and edit page screens
add_action('load-page-new.php','add_custom_help_page');
add_action('load-page.php','add_custom_help_page');

function add_custom_help_page() {
   //the contextual help filter
   add_filter('contextual_help','custom_page_help');
}

function custom_page_help($help) {
   //keep the existing help copy
   echo $help;
   //add some new copy
   echo "<h5>Custom Features</h5>";
   echo "<p>Content placed above the more divider will appear in column 1. Content placed below the divider will appear in column 2.</p>";
}

Wp-custom-context-help in Advanced Power Tips for WordPress Template Developers: Reloaded

Dropping in Your Own Logo

Providing the client some administrative branding can be quick and easy. Here’s how to replace the default WordPress “W” logo in the administrative header with a custom alternative.

First, create an image that fits the allocated space. As of WordPress 2.8, the logo is a 30 pixels wide and 31 pixels tall transparent GIF. When using a transparent GIF or 8-bit PNG, ensure that the image matte matches the header background color: hex value 464646.

A logo named “custom_logo.gif” inside the template directory’s image subfolder can substitute the default WordPress logo with the following code inside the theme’s “functions.php” file.

//hook the administrative header output
add_action('admin_head', 'my_custom_logo');

function my_custom_logo() {
   echo '
      <style type="text/css">
         #header-logo { background-image: url('.get_bloginfo('template_directory').'/images/custom-logo.gif) !important; }
      </style>
   ';
}

Wp-custom-logo in Advanced Power Tips for WordPress Template Developers: Reloaded

Hiding Fields Based on User Role

Basic contributors might be confused or distracted by some of the boxes that surround the page or post editor, particularly if there are a handful of plug-ins that have added their own meta boxes. Alternatively, the content editor might simply want to keep author and contributor hands off of some special fields or features.

Let’s say the content editor wants to keep authors and contributors way from the “custom fields” box. We can use the “remove_meta_box” function – regardless of user role – to remove that from all post editing screens like so:

//hook the admin init
add_action('admin_init','customize_meta_boxes');

function customize_meta_boxes() {
     remove_meta_box('postcustom','post','normal');
}

The “remove_meta_box” function takes three parameters. The first is the ID of the box. The easiest way to discover the ID of the meta box is to look for the ID attribute of the corresponding DIV “postbox” in the source code. The second parameter determines which the context the function applies to: page, post, or link. Finally, the context attribute determines the position within its context: normal, or advanced (in most cases, just setting this to “normal” will work fine).

Wp-find-meta-id in Advanced Power Tips for WordPress Template Developers: Reloaded

The next step is to extend the “customize_meta_boxes” function so that the “custom fields” box – ID “postcustom” – is only hidden from users with author role or lower. We’ll use get_currentuserinfo to retrieve the user level. According to the WordPress codex, authors represent level 2.

//hook the admin init
add_action('admin_init','customize_meta_boxes');

function customize_meta_boxes() {
     //retrieve current user info
     global $current_user;
     get_currentuserinfo();

     //if current user level is less than 3, remove the postcustom meta box
     if ($current_user->user_level < 3)
          remove_meta_box('postcustom','post','normal');
}

Adding Features to the Post & Page Editor

WordPress provides a “custom fields” box that makes it quick and easy to start adding new metadata to your pages and posts. For a tech-savvy client or low budget customization, this is a great, inexpensive method to start adding some unique fields for a custom implementation.

Sidebar-custom-field in Advanced Power Tips for WordPress Template Developers: Reloaded

But there are plenty of times when something more specialized than a generic “custom fields” box may be appropriate. A less savvy client may be confused by the generic fields that lack any documentation. A checkbox for a Boolean field may be more intuitive for a client than instructions to choose the custom field name from a drop down and type in “1” or “true” under the value. column Or maybe the field should be limited, in select box like fashion, to a few different choices.

The WordPress API can be used to add custom meta boxes to pages and / or posts. And with WordPress 2.8, adding new, tag-like taxonomies is a cinch.

Adding a Custom Meta Box

Let’s say a hyper-local journalist has hired us to build a news blog that covers politics in New York City. The journalist has a few writers on her team, none of whom are particularly tech-savvy, but they will all be set up as authors and posting their reports directly in WordPress. Our imaginary client wants each article associated with a single borough, in addition to a “city-wide” option. Articles will never be associated with 2 boroughs, and the staff is prone to typos.

A developer accustomed to basic WordPress administrative customization would probably go to “categories” first. Make a “city-wide” category, with sub-categories for each borough. However, categories are multi-select, and there’s no obvious way to prevent authors from selecting several. Furthermore, the client wants the borough named at the beginning of the article, and if categories are used in other ways (like news topics), extracting the borough name would be a bit tricky.

So how about a “custom field” for “borough”? The authors never remember to look in that generic custom fields box, and in their rush to meet deadlines, occassionally spell the borough wrong, breaking the “filter by borough” feature on the front end.

The right answer is a new custom “meta box,” with a drop down “Borough” field. The WordPress Codex documents the “add_meta_box” function in detail.

Let’s apply the code discussed in the codex to this use case, assuming we want the “Borough” field to only appear on posts (not pages), and be shown on the top-right of the post editor page.

/* Use the admin_menu action to define the custom boxes */
add_action('admin_menu', 'nyc_boroughs_add_custom_box');

/* Adds a custom section to the "side" of the post edit screen */
function nyc_boroughs_add_custom_box() {
     add_meta_box('nyc_boroughs', 'Applicable Borough', 'nyc_boroughs_custom_box', 'post', 'side', 'high');
}

/* prints the custom field in the new custom post section */
function nyc_boroughs_custom_box() {
     //get post meta value
     global $post;
     $custom = get_post_meta($post->ID,'_nyc_borough',true);

     // use nonce for verification
     echo '<input type="hidden" name="nyc_boroughs_noncename" id="nyc_boroughs_noncename" value="'.wp_create_nonce('nyc-boroughs').'" />';

     // The actual fields for data entry
     echo '<label for="nyc_borough">Borough</label>';
     echo '<select name="nyc_borough" id="nyc_borough" size="1">';

      //lets create an array of boroughs to loop through
      $boroughs = array('Manhattan','Brooklyn','Queens','The Bronx','Staten Island');
      foreach ($boroughs as $borough) {
            echo '<option value="'.$borough.'"';
            if ($custom == $borough) echo ' selected="selected"';
            echo '>'.$borough.'</option>';
      }

     echo "</select>";
}

/* use save_post action to handle data entered */
add_action('save_post', 'nyc_boroughs_save_postdata');

/* when the post is saved, save the custom data */
function nyc_boroughs_save_postdata($post_id) {
     // verify this with nonce because save_post can be triggered at other times
     if (!wp_verify_nonce($_POST['nyc_boroughs_noncename'], 'nyc-boroughs')) return $post_id;

     // do not save if this is an auto save routine
     if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) return $post_id;

     $nyc_borough = $_POST['nyc_borough'];
     update_post_meta($post_id, '_nyc_borough', $nyc_borough);
}

Take another look at the second to last line in that code block, where the post metadata is updated (update_post_meta will also add the meta if it does not exist). That function stores the field key and value (second and third parameters), assigned to the designated post (first parameter) in the same generic “way” that custom fields are stored. Notice that the field key name was prefaced with an underscore: “_nyc_borough”. Meta fields with keys beginning with an underscore are not shown in the generic “custom fields” box. All other meta fields are shown in that box.

Wp-borough-custom in Advanced Power Tips for WordPress Template Developers: Reloaded

We can use this field value in our template just as we would embed generic custom fields.

echo get_post_meta($post->ID, '_nyc_borough', true);

If we want to do a post query that only includes posts in the “Queens” borough, we can execute the query with the following code:

query_posts('meta_key=_nyc_borough&meta_value=Queens');

Adding Custom Taxonomies

A taxonomy, generically defined, is a “classification.” Post tags and categories in WordPress are both types of taxonomies, one of which – categories – has a “hierarchical” proprietary: categories can have child and parent categories. The ability to define new taxonomies has actually been around in some basic form since WordPress 2.3 – but WordPress 2.8 ups the ante, making it incredibly easy for template developers to add and manage tag-like taxonomies.

At the core API level, taxonomies may be hierarchical (or not, a la “tags”) , associated with pages or posts, and have a few other more esoteric properties related to allowing post queries and permalink structures. The potential for custom taxonomies is considerable – posts could easily have two types of categories, pages could have multiple tags, and sites could have multiple tag clouds based on groupings more specific that a generic “tag.”

While the architecture for all of this is all there, the real magic of custom taxonomies – introduced in 2.8 – has only been enabled for posts and non-hierarchical types. But if those qualifications aren’t a show stopper, a developer can get a lot of value out of just a few lines of code: a new tag-like meta box added to posts, a new “posts menu” option for managing those values, and the ability to easily output clouds, filter by taxonomies, design taxonomy templates, and do just about anything one could do with generic “tags” on the front end.

The WordPress Codex outlines the “register_taxonomy” function.

Let’s go back to that hyper-local New York City politics blog. Say the editor wants authors to be able to “tag” articles with a distinct “people” taxonomy, but still wants to retain generic tagging. The new “people” taxonomy will highlight the names of political leaders mentioned in articles. On the front end the editor envisions a “tag cloud” that will help the most active politicians get recognized (for better or worse!). Clicking on a leader’s name in the cloud should bring up a list of articles “tagged” with the given politician.

The following few lines of code will add the new “people” meta box to posts and add a new option to the “posts” menu where the taxonomy values can be managed.

//hook into the init action to add the taxonomy
add_action( 'init', 'create_nyc_people_taxonomy');

//create nyc people taxonomy
function create_nyc_people_taxonomy() {
     register_taxonomy('people', 'post', array('hierarchical' => false, 'label' => 'people'));
}

Wp-people-taxonomy in Advanced Power Tips for WordPress Template Developers: Reloaded

To output a cloud for this custom taxonomy highlighting the 40 most-tagged politicians, the generic “wp_tag_cloud” function can be used with a few parameters.

wp_tag_cloud(array('taxonomy' => 'people', 'number' => 40));

To list the highlighted leaders in a single post:

echo get_the_term_list($post->ID, 'people', 'People: ', ', ');

Clicking on a person’s name will automatically take the visitor to an archive for that taxonomy. Custom template files can also be built for the custom taxonomy. A “taxonomy.php” template file in the theme folder can be used for all custom taxonomies. A “taxonomy-people.php” template file could be used for the “people” taxonomy in the example. As with all archives, if no taxonomy-specific template files are available, WordPress will fall back to the generic “archive” and “index” template files.

Further Reading on Custom Meta Boxes and Taxonomies


© Jacob Goldman for Smashing Magazine, 2009. | Permalink | 49 comments | Add to del.icio.us | Digg this | Stumble on StumbleUpon! | Tweet it! | Submit to Reddit | Forum Smashing Magazine
Post tags:

:: Read More
(Published: Mon, 14 Dec 2009 08:07:54 -0800)

How To Explain To Clients That They Are Wrong
Smashing-magazine-advertisement in How To Explain To Clients That They Are Wrong
 in How To Explain To Clients That They Are Wrong  in How To Explain To Clients That They Are Wrong  in How To Explain To Clients That They Are Wrong

Spacer in How To Explain To Clients That They Are Wrong
GIFs of spinning @s on the “Contact us” page. Common usability mistakes for the sake of visual appeal. Splash pages. Fancy search box. No whitespace. Music on page load. Home page banner of a jigsaw-puzzle globe with a piece missing. Sometimes you just know that what a client is requesting is wrong and that you have to find a way to tell them. But how?

Is The Client Wrong?

Before getting into how to explain to a client that they’re wrong, ask yourself, “Is the client wrong to begin with?” Just because you don’t approve of the direction they’re taking or of a request they’ve made doesn’t necessarily mean it is not a step in the right direction for the project. To be able to answer this question effectively, you need to train yourself to be completely objective and humble when dealing with client requests.

First of all, appreciate one critical thing: the client probably knows their target audience a lot better than you do. Just as Web professionals quickly learn personality types among their own clients, your client interacts with their target audience on a daily basis and knows what makes them tick… and that may be just what makes you cringe.

You can begin to establish if the client is wrong simply by exploring why the client is making such a request and what the business case for it is. It could well be a situation in which they spoke to many people in the target audience demographic, and they all said that they were more likely to click an animated Flash banner link than a static one, or that they felt more engaged by a website that had stock images of smiling people everywhere.

It could be that the picture of the jigsaw-puzzle globe with a piece missing actually sums up the client’s sales pitch quite well and that similar messaging has proven to win over potential customers in the past.

Creative-way-to-show-a-missing-piece in How To Explain To Clients That They Are Wrong
Image source: Lady Madonna

Of course, when faced with such a situation, a good Web professional would understand the business driver and suggest alternative solutions that convey the same message and achieve the same goal but that are unique, original and creative.

Whatever the case though, always keep an open mind. Don’t assume the client is wrong before seeing the evidence. One guarantee in this business is that the more you design and develop websites, the more often you’ll find yourself in situations where, six months after a project’s launch, you hear that the most positive feedback from users wasn’t the cool bit of JavaScript you implemented using groundbreaking technology, but rather something that you considered boring and unoriginal but that excited the client during development. We deliver websites for the client’s target audience, not our peers in the Web community: sometimes painful to swallow, but always true.

That scenario aside, let’s put our cool hats on again and assume that the request for the jigsaw-puzzle globe has come in, and that it clearly has nothing to do with the client’s business, and that it has made you curl up in a corner of the room, banging your head against the wall, muttering “Why? Why? Why?”

What approaches can you take to explain to the client that, in your professional opinion, they’re wrong?

Speak The Client’s Language

One of the most common problems, especially among freelancers, is an inability to speak the client’s language. Being able to speak in a way that relates to the client’s business sense is crucial at all stages of managing a Web project, but never more so than when challenging a client’s decision.

If you’re trying to explain to a client that a rotating banner (or any other feature) may not be the most effective use of their budget, rather than say something like, “I just don’t think it will work,” or “I’m not sure you have the budget,” ask instead how they think implementing it will benefit their business, generate more quality leads or increase conversions.

Always emphasize the main goals, or KPIs (key performance indicators), of the project. You’d be surprised by how often such a question will result in a few seconds of uncomfortable silence, as the client realizes that they want the feature because they think it looks cool, when in fact they can’t connect it to a KPI.

Building a website or Web application should be treated in the same way as growing a business:

  1. Know what you want to achieve.
  2. Define some measurable KPIs or goals.
  3. Develop a plan.
  4. Begin executing the plan.
  5. Evaluate every decision along the way to make sure it supports a KPI, thus taking repeated steps towards achieving the project’s goals.

By maintaining this approach, you will also radically change the client’s opinion of you, from that of a creative hippie-type to a business-savvy Web designer or developer whom they should listen to if they want to stay focused on the purpose of the project.

Buzzword-bingo-board in How To Explain To Clients That They Are Wrong

Being able to speak the client’s language will undoubtedly help greatly when the time comes to tell the client that they’re wrong. Beyond using Buzzword Bingo words with confidence, you need to be able to back them up with valuable advice drawn from your area of specialization.

Establish Yourself As The Expert

One of the most important ways to make the ordeal of explaining to a client that they’re wrong as stress-free as possible for both parties is to establish yourself as the Web expert. If you do this, the client will completely trust you and your recommendations without a moment’s hesitation. Perfick!

But even if you are a Web expert, the position is not always easy to establish, because it usually only becomes apparent over time, after you’ve gotten a few successful decisions or projects under your belt with the client. It doesn’t help either that many clients still regard creative digital agencies and freelancers as either kids living in their parents’ basement or shady professionals out to take them for every last penny.

Though a challenge, you can establish your credibility quickly using a few methods, some of which are relatively simple to do.

Be Professional

Before they’re convinced that you’re a digital professional and that they should trust your recommendations, you must first demonstrate your professionalism by doing the basics well:

  • Be punctual at meetings and teleconferences.
  • Always speak in a professional manner.
  • Deliver pre-sales paperwork on time.
  • Present all documents and images on professionally branded templates.
  • Use correct grammar and punctuation in emails.

Be-professional-with-the-client in How To Explain To Clients That They Are Wrong
Image source: Ha-Wee

You’d be surprised by how quickly clients pick upon deficiencies in these basic business skills. Their perception of you and your recommendations will be immediately affected. Unless you come across as the consummate professional early on, shaking off this reputation will be difficult.

Don’t Be Shy About Citing High-Profile Clients

You could well be a digital guru who has spent years working in the industry and earned the respect of the Web community, but most clients won’t understand what this means. They have never heard of websites such as Smashing Magazine or magazines such as .Net, and they probably won’t grasp the gravitas that comes with being a speaker at Web conferences such as SXSW.

However, all clients tend to respond when you say you have worked on a high-profile brand website. When clients hear that you’ve been hired by a big name that they’ve heard of and whose products they perhaps use, they sit up like a meerkat and think they’ve hit the jackpot. Simples!

Client-meerkats in How To Explain To Clients That They Are Wrong

While some Web folk aren’t always comfortable selling themselves, and while big brand experience is not always proof of ability, it almost always resonates with clients and makes them see you as more credible. This reinforces your position as an expert whose advice should be heeded. After all, if big brand X thought you were good, you must be, right?

Sometimes, of course, no matter how much credibility you demonstrate, a client may choose not to listen to your recommendations. But perhaps they’ll listen to others…

Back Up Recommendations With Evidence

How often in life have you volunteered your point of view to someone for months, only to be beaten down each time; and yet when someone else comes into the picture and says the exact same thing, their advice is seized upon as revolutionary. This is human nature and happens just as much when explaining to clients that they’re wrong.

If a client is, for whatever reason, unpersuaded by your arguments, you might want to consider going all CSI on them and producing evidence that backs up your recommendations.

This evidence can come in many forms. For example:

  • Blog posts from world-respected Web experts.
  • Statistics from large usability studies.
  • Well-known cases where the same thing was tried and had negative results.

Five-second-test in How To Explain To Clients That They Are Wrong

This kind of evidence is obvious. But sometimes, the less obvious kind can be just as effective:

  • Guerrilla usability testing, by asking the client to obtain feedback from employees within the company.
  • Using free tools like Five Second Test (or dozens of other tools) to flash test designs.
  • Submitting designs to communities dedicated to providing design feedback, for example Feedback Army.
  • Feedback from customers with whom the client has a good relationship.
  • Setting up a poll on the website that presents both ideas.
  • Web analytics from the current website.

Common points of contention will be which browsers to support, which screen resolutions to optimize for and where to put the fold. But no matter the debate, backing up your point of view with trusted third parties can sometimes tip the balance in your favor and improve how the client perceives your dedication, enthusiasm and passion for getting it right.

Sometimes, Being Direct Works

When all else fails, you could always tell the client flat out that they’re wrong. This is always a risky move, because clients will react differently. Some will appreciate it, while others will find it disrespectful or personally insulting. But if you feel strongly about it and you’ve tried every other method, being direct might do the trick.

Personally, I’ve been in situations in which I’ve had no alternative but to tell a client that their request is “naff.” To my surprise, despite the ferocity with which the client initially defended their opinion, they backed down immediately and thanked me, saying that this is what they were paying me for: to be strong and stubborn and to tell them things like this. However, merely saying that something is naff and nothing more is not ideal; you have to offer an alternative solution.

Use this approach with caution. Take into account your rapport with the client, and be passive in your tone of voice. Also, choose your method of communication wisely; for example, being so direct by email is usually a big mistake because of the possibility of misinterpretation.

Clients-sometimes-get-angry in How To Explain To Clients That They Are Wrong
Image source: Darren Hester

If possible, be direct with the client face to face or by telephone. This allows you to deliver the message directly and set the right tone. You will also be able to observe the client’s body language or hear their response instantly and then quickly adjust your approach if needed. Generally, if a client turns green with fury, their nostrils emit a trace of steam and their clothes rip at the seams, you may want to back down and move swiftly to the next item on the agenda… or call an ambulance because they may be ill.

Of course, sometimes no matter what you say or do, a client will overrule and insist that you follow their request. You know what? That’s okay. It happens. That’s life.

But that doesn’t necessarily have to be the end of the debate!

Know When And How To Admit Defeat

Occasionally you’ll try every known method of explaining to a client that they’re wrong, and nothing works. They’ll continue insisting that you design or develop whatever they want or else they’ll go to someone who will. And yet you feel with complete sincerity that they’re making a mistake that will have a negative impact on their business. This is never a good situation to be in.

Know-when-to-give-up in How To Explain To Clients That They Are Wrong
Image source: Great Beyond

There really are no hard and fast rules on what to do in such a situation. Each case should be treated on its own basis. But with experience comes the instinct of knowing when to admit defeat and do as you’re told.

This feeling is never nice, but sometimes that’s how it is. And if you have to sit in the corner and be quiet, do it professionally and politely. Under no circumstances should you throw your toys out of the pram and give the client attitude. Simply explain to them that you have put forward your recommendations and given your reasons. At the end of the day, it’s their business and their decision. It stings, but you’ve done all you can, and your dignity remains intact. But don’t give up yet!

Treat Defeat as an Opportunity

Saying that good entrepreneurs view every defeat as an opportunity is almost a cliché these days. But it’s true, and these situations are no different. There’s admitting defeat, and then there’s pretending to admit defeat! Once you’ve been beaten down by a client, accept it, get over it and think positively about how you can turn defeat into a win/win for everyone.

For example, suggest to the client that if they choose to press ahead against your recommendation, then your next recommendation will be to implement some custom Web analytics to monitor the outcome of the decision.

Testing-your-recommendation in How To Explain To Clients That They Are Wrong

For example, if a client insists on giving the home page banner a small call to action that, in your opinion, is difficult to read or not prominent enough, persuade them to let you implement some A/B testing: one month with their banner and one month with your proposed solution, and let the statistics do the talking. No client on earth would continue to insist on their solution if yours delivered a better return on investment.

If you’re thinking, “What the heck is A/B testing?” even better! This is an ideal opportunity to learn a valuable skill while getting paid and giving your client excellent service!

Summary

Explaining to a client that they’re wrong is never easy. It could blow up in your face and damage what was a good relationship. But everyone is wrong sometimes, and clients are no different. Always start by asking yourself if the client is, in fact, wrong. Or are you trying to impose your opinion (based on a narrow Web-only view) on what is ultimately a business decision that affects the client’s entire strategy, both online and offline.

If you conclude that their direction is still misguided, open a dialogue with them in language they relate too: business language. Rather than say it won’t work, ask them what goals or return on investment they think the direction will help achieve. Establish yourself as the digital expert from the moment you make contact with the client by conducting all aspects of your work with professionalism. Do everything you can to position yourself as someone who has the experience to suggest alternative solutions. And where possible, back up your recommendations with third-party material and user feedback.

If all else fails, be direct with the client. But know which clients you can be direct with and when you will have to back down. Finally, don’t let being overruled be the end of the debate. Suggest testing periods, and let the Web analytics do the talking. All clients respond when they see important metrics go up rather than down!

What are your favorite ways of telling clients that they’re wrong?

Related Posts


© Sam Barnes for Smashing Magazine, 2009. | Permalink | 91 comments | Add to del.icio.us | Digg this | Stumble on StumbleUpon! | Tweet it! | Submit to Reddit | Forum Smashing Magazine
Post tags: ,

:: Read More
(Published: Mon, 14 Dec 2009 05:38:27 -0800)

Get Creative With Collage: Trends and Inspiration
Smashing-magazine-advertisement in Get Creative With Collage: Trends and Inspiration
 in Get Creative With Collage: Trends and Inspiration  in Get Creative With Collage: Trends and Inspiration  in Get Creative With Collage: Trends and Inspiration

Spacer in Get Creative With Collage: Trends and Inspiration

Collage is the combination of pieces of diverse materials and media, such as newspaper, magazines, package labels, fabric, paint and photographs, into one composition. The term itself derives from the French “coller,” meaning “glue.” It was coined by both Georges Braque and Pablo Picasso at the beginning of the 20th century, when collage became a distinct part of modern art.

Collage promises to be an important creative outlet for many years to come because it allows artists to explore and experiment with creating truly new, exciting and often unexpected results. This article showcases the pioneers of the collage movement, current trends and examples, contemporary proponents of collage and a wealth of resources. Please feel free to use the comments area to suggest other collages or artists you like.

You may be interested in the article Pop Art Is Alive: Classics and Modern Artworks that presents 75 outstanding examples of classic and modern pop art.

Pioneers

Pablo Picasso

Picasso in Get Creative With Collage: Trends and Inspiration

Early in 1912, Picasso created “Still Life with Chair Caning” (above) by attaching a piece of oilcloth with a caning pattern to an oval-shaped painting. It is said to be the first “modern” collage; however, the claim is not definitive, because George Braque was developing a technique using papier collé in the same year.

George Braque

Braque in Get Creative With Collage: Trends and Inspiration

Georges Braque developed paper collage (papier collé) using shreds of mixed media to produce the effect of actual paint, layered on the canvas with paint later being added. He first used this technique in his 1912 painting, Fruitdish and Glass (above).

Kurt Schwitters

Schwitters in Get Creative With Collage: Trends and Inspiration

A collage by German Dada and surrealist artist Kurt Schwitters entitled “Das Undbild” from 1919. Schwitters was famous for his collages, called “Merz Pictures,” in which he attempted to make coherent artistic sense of the world around him using fragments of found objects.

Eduardo Paolozzi

Paolozzi in Get Creative With Collage: Trends and Inspiration

Paolozzi is regarded as the father of pop art in Britain. This piece, “I Was a Rich Man’s Plaything” from 1947, is considered the earliest standard-bearer of pop art. It was created from different pieces of commercially printed paper stuck to a single piece of card.

Henri Matisse

Matisse in Get Creative With Collage: Trends and Inspiration

Late in his career, Matisse began to work increasingly with cut paper. He used sheets of paper washed over with gouache colors and then cut out his shapes and stuck them together, as shown above in a collage entitled “The Snail” from 1953.

Robert Rauschenberg

Rauschenberg in Get Creative With Collage: Trends and Inspiration

Most famous for his “Combines” series of collages (1954 to 1962), Rauschenberg extended the conventions of collage and found objects and incorporated trash and interesting urban debris, such as bottles, clocks, radios, clothing, wire and newspaper, into his work.

Richard Hamilton

Hamilton in Get Creative With Collage: Trends and Inspiration

Created in 1956 for the catalog of an exhibition in London, “Just What Is It that Makes Today’s Homes So Different, So Appealing?” was the first work of pop art (or indeed collage) to achieve iconic status. It consists of images taken mainly from American magazines and advertisements.

Romare Bearden

Bearden in Get Creative With Collage: Trends and Inspiration

Bearden truly embraced the collage technique, because the layered, fragmented form allowed him to freely combine ideas, shapes and cultural references in a modern and accessible way. “The Calabash” (above) of 1970 is perhaps his most famous collage.

Current Trends

Now let’s take a closer look at current trends and examples. As you browse through the collages in this showcase, you may notice these trends:

Vintage
Jackcatcurio in Get Creative With Collage: Trends and Inspiration
The use of vintage images, advertisements and materials is perhaps the biggest trend in collages today. Many collage artists take inspiration from vintage art because of its unique style and beauty.

Mixed media
Collageaday in Get Creative With Collage: Trends and Inspiration
Mixed media is simply the use of other media, such as paint, in a collage. Common media include pencil drawings, paints, pastels, charcoals and markers.

Advertising and slogans
Katsup in Get Creative With Collage: Trends and Inspiration
Not surprisingly, slogans, branding and advertising play a major part in many of the collages featured here. Consumer culture has become a major force since its appearance in collages in the late 1940s.

Retro
Louisixteen in Get Creative With Collage: Trends and Inspiration
Retro iconography and imagery have experienced a resurgence in collage, because their style is so distinctive from today’s culture and art.

Urban
GabriLeCabri in Get Creative With Collage: Trends and Inspiration
“Found collage” relies heavily on urban wall art, such as torn posters, ads, paint, markers and signs. It is growing in popularity, partly because of artists such as Nick Riggio, who creates urban collage paintings.

Creative Collages

Inyourspace
Inyourspace in Get Creative With Collage: Trends and Inspiration

Shikaz
Shikaz in Get Creative With Collage: Trends and Inspiration

Somavenus
Somavenus-1 in Get Creative With Collage: Trends and Inspiration

Sparklingrain
Sparklingrain in Get Creative With Collage: Trends and Inspiration

Agosbeatle
Agosbeatle in Get Creative With Collage: Trends and Inspiration

Rworks
Rwork-1 in Get Creative With Collage: Trends and Inspiration

Kayla9283
Kayla9283 in Get Creative With Collage: Trends and Inspiration

I-heart-ringo
Iheart-ringo1 in Get Creative With Collage: Trends and Inspiration

Bespatter
Bespatter in Get Creative With Collage: Trends and Inspiration

Thejader
Thejader in Get Creative With Collage: Trends and Inspiration

Comagirl16
Comagirl16 in Get Creative With Collage: Trends and Inspiration

Rwork
Rwork in Get Creative With Collage: Trends and Inspiration

Vuhwex
Vuhwex in Get Creative With Collage: Trends and Inspiration

Medusa-terata
Medusa-terata in Get Creative With Collage: Trends and Inspiration

Somavenus
Somavenus in Get Creative With Collage: Trends and Inspiration

Bob55-joe
Bob55 in Get Creative With Collage: Trends and Inspiration

The-px-corporation
The-px-corporation in Get Creative With Collage: Trends and Inspiration

Eesss
Eesss in Get Creative With Collage: Trends and Inspiration

Rworks
RWork-2 in Get Creative With Collage: Trends and Inspiration

Hedgehogbeeblebrox
Hedgehogbeeblebrox in Get Creative With Collage: Trends and Inspiration

Mikem92
Mikem92 in Get Creative With Collage: Trends and Inspiration

Somavenus
Somavenus-2 in Get Creative With Collage: Trends and Inspiration

Aditya4art
Aditya4art in Get Creative With Collage: Trends and Inspiration

Anacronico
Anacronico in Get Creative With Collage: Trends and Inspiration

Rworks
Rwork-3 in Get Creative With Collage: Trends and Inspiration

Lady-with-a-buzzsaw
Lady-with-a-buzzsaw in Get Creative With Collage: Trends and Inspiration

Anacronico
Anacronico-1 in Get Creative With Collage: Trends and Inspiration

Olliep
Olliep in Get Creative With Collage: Trends and Inspiration

Somavenus
Somavenus-3 in Get Creative With Collage: Trends and Inspiration

Gellnerism
Gellnerism in Get Creative With Collage: Trends and Inspiration

Unreflected
Unreflected in Get Creative With Collage: Trends and Inspiration

Esraerben
Esraerben in Get Creative With Collage: Trends and Inspiration

Marek Haiduk
Marek in Get Creative With Collage: Trends and Inspiration

Igorska
Igorska in Get Creative With Collage: Trends and Inspiration

Somavenus
Somavenus-4 in Get Creative With Collage: Trends and Inspiration

Prettylittlependant
Prettylittlependant in Get Creative With Collage: Trends and Inspiration

Ex-Agent
Ex-Agent in Get Creative With Collage: Trends and Inspiration

Papermache
Papermache in Get Creative With Collage: Trends and Inspiration

Vivi-mari
Vivi-mari in Get Creative With Collage: Trends and Inspiration

Nauright
Nauright in Get Creative With Collage: Trends and Inspiration

Rikcat
Rikcat in Get Creative With Collage: Trends and Inspiration

Infamecless
Infamecless in Get Creative With Collage: Trends and Inspiration

Littleblackbooks
Littleblackbooks in Get Creative With Collage: Trends and Inspiration

Eric Pier
EricPier in Get Creative With Collage: Trends and Inspiration

Mossy Oar
Mossyoar in Get Creative With Collage: Trends and Inspiration

Pianofuzz
Pianofuzz in Get Creative With Collage: Trends and Inspiration

Marek Haiduk
Marek-1 in Get Creative With Collage: Trends and Inspiration

Tutorials

Here is a selection of the best tutorials on creating outstanding collages.

  • Mixed Media
    Use a combination of acrylic paints, brushes, gel and various scraps of paper and images.
  • Digital Collage
    An in-depth tutorial from Teodoru Badiu on making his piece entitled “Atlas.”
  • Fabric Collage
    A simple way to use old fabrics to create a unique work of art.

Dedicated Blogs

And now, a round-up of the best collage blogs:

Flickr Groups

And some Flickr groups dedicated to mixed media and digital- and paper-based collage:

Contemporary Collage Artists

  • Winston Smith
    Known for his politically subversive work, Smith has been one of the foremost collage artists since the 1970s.
  • Cecil Touchon
    Founder of the International Museum of Collage and founder of the International Society of Assemblage and Collage Artists.
  • Jonathan Talbot
    Respected author on collage who has exhibited at the National Academy and the Museum of Modern Art.
  • Peter Clark
    His innovative use mark-making make for a collection that exudes character and wit.
  • Mia Moore
    California-based collage artist whose complex works meld textures of old and new paper and layers of acrylic paint.
  • Claudia Hellmuth
    A prominent artist who creates mixed media collages that are whimsical and colorful, with a dash of retro.
  • Michelle Caplan
    California-based collage artist whose complex works meld textures of old and new paper and layers of acrylic paint.
  • Dennis Sibeijn
    Netherlands-based designer working as an audio-visual designer at Technicolor, and co-founder and designer at Monument studio.

Further Resources

Related posts

You may be interested in the following related post:

(al)


© Grace Smith for Smashing Magazine, 2009. | Permalink | 29 comments | Add to del.icio.us | Digg this | Stumble on StumbleUpon! | Tweet it! | Submit to Reddit | Forum Smashing Magazine
Post tags: , ,

:: Read More
(Published: Sun, 13 Dec 2009 15:49:17 -0800)

Styling HTML Lists with CSS: Techniques and Resources
Smashing-magazine-advertisement in Styling HTML Lists with CSS: Techniques and Resources
 in Styling HTML Lists with CSS: Techniques and Resources  in Styling HTML Lists with CSS: Techniques and Resources  in Styling HTML Lists with CSS: Techniques and Resources

Spacer in Styling HTML Lists with CSS: Techniques and Resources

In an online world now dominated by CSS layouts, CSS-styled HTML lists have become invaluable tools in a CSS developer’s toolbox, due to the HTML lists versatile and graphically flexible nature. All this despite some of the obvious browser inconsistencies that can affect the styling of the different types of lists available in HTML coding.

If you’re new to CSS, this article should provide a good overview of the different types of lists available, as well as some of the browser quirks that occur in relation to HTML lists, with some helpful advice that should prevent those quirks from becoming major road blocks to good design.

In addition, we’ll look at a showcase of various uses, techniques, and tutorials that utilize HTML lists. All of this should put strong emphasis on the importance of using lists in modern web design, reminding even experienced coders how HTML lists can improve the flexibility and maintainability of a website.

Available List Options

Unordered Lists: <ul>

Unordered lists are the most commonly used lists. Here is an image showing what an unstyled unordered list looks like in different browsers:

Lists-browsers in Styling HTML Lists with CSS: Techniques and Resources

As you can see above, the default settings for unordered lists are somewhat different across various browsers. Of course, nowadays it is rare to see a naked unordered list on any website. Also, a good CSS reset will normalize those differences, bringing the list down to bare text with no bullets and no margins or padding.

CSS properties that are specific to unordered lists include list-style-type, list-style-position, and list-style-image. These properties set the type of marker (or bullet), the position of the marker, and an image to replace the marker. These three properties can be combined using the shorthand list-style property.

The list-style-type property can be set to a number of different values, some of which are shown in the chart below:

List-markers in Styling HTML Lists with CSS: Techniques and Resources

Depending on the user’s browser and system, certain values for list-style-item may not appear correctly, often defaulting to decimal. Using an incrementing value for an unordered list is not recommended since that would take away the semantic value of the unordered list.

The list-style-position property specifies the position of the list marker, and can be set to either outside (the default) or inside. This property would also set the position of an image, if the list-style-image property is set.

The list-style-image property can be used to give the unordered list a custom look with unique “bullets”. Unfortunately, this method of adding a bullet to an unordered list is buggy in Internet Explorer, and is rarely used. A much better solution is to add a background image to the <li> elements on the list, adjusting the position of the background image accordingly, and setting it to no-repeat. This solution is explained through a series of steps at maxdesign.com, and works nicely in all browsers.

Ordered Lists: <ol>

Ordered lists are used when a list of items requires a visible incrementing value before each item. The value for the marker on an ordered list can be set to any of the values also available for an unordered list, as discussed above. In most cases, an ordered list would either have an incrementing marker on the list items, or no marker at all. So, it would be unlikely that you would change the marker from an incrementing one to a non-incrementing one on an ordered list, since that would remove the semantic value of the items.

Definition Lists: <dl>

Definition lists are used to mark up lists of items that have definitions. They consist of definition terms (<dt>) along with definitions (<dd>). The pairings for definition list items do not have to be exactly paired up. The following is perfectly valid in XHTML Strict:

<dl>
	<dt>calculator</dt>
	<dt>abacus</dt>
	<dd>A machine used for making numerical calculations.</dd>
</dl>

Thus, you could have more than one <dt> with a single <dd>, or even have multiple <dd> tags and only one <dt>.

The visual display of a definition list, by default, is virtually the same across all browsers, as shown in the image below:

Definition-list in Styling HTML Lists with CSS: Techniques and Resources

Deprecated Lists: <menu> & <dir>

The <menu> and <dir> elements also, technically, qualify as “HTML lists”, but they are deprecated in XHTML, so I won’t discuss those in detail here.

Lists in HTML5

In HTML5, the unordered list has basically remained the same, although now it seems to be referred to simply as a “list”. The new <nav> element will be used to wrap a list that is used for navigation.

The <ol> element has slightly changed, gaining two new attributes: reversed, which is a Boolean that indicates if the list should be ascending or descending, and start, which is an integer that declares the starting point of the ordered list items.

Also, the <figure> and <details> elements have been added. Those new tags will have children that include <dt> and <dd> elements.

For further information on lists in HTML5, see the HTML5 Draft Standard.

Browser Differences

There are some notable differences across the most commonly-used browsers when certain styles are applied to ordered or unordered lists. Let’s take a look at some of these differences. Of course, this assumes there are no other styles associated with the elements, including those in a CSS reset.

Adding “display: block” to List Items

In Internet Explorer 8, Opera 9, Chrome, Firefox 2 & 3, and Safari, adding display: block to the <li> elements in an ordered or unordered list will make the bullets or numbers disappear.

Display-block in Styling HTML Lists with CSS: Techniques and Resources

In IE6 and IE7 the bullets and numbers will still be visible, even with display: block applied to the list items.

Display-block-2 in Styling HTML Lists with CSS: Techniques and Resources

Adding “float: left” to List Items

In Internet Explorer 6 and 7, adding float: left to the list items (with no other styles present) will align the list items horizontally and the list bullets (or list numbers) will disappear. In IE8 and all other browsers, the list items will align horizontally, but the list bullets (or list numbers) will still be visible.

Another factor to keep in mind when the list items are floated is that the list container (the <ul> element) will collapse when it contains only floated elements. This occurs the same way in all browsers. Adding overflow: hidden to the <ul> or <ol> element is one way to resolve this issue.

To achieve virtually the same effect as float: left in all browsers, the best solution is to use display: inline.

Ordered List Items That Have “Layout” in IE

In IE6 & IE7, if the list items in an ordered list have “Layout”, the numbers in the ordered list will not increment, and will all show as “1″, as shown in the image below:

Non-increment in Styling HTML Lists with CSS: Techniques and Resources

The hasLayout property cannot be set directly, but it can be changed if an element is given an explicit width or height, or the element is floated or absolutely positioned, among other things. For a thorough discussion of the hasLayout property, see this article.

Padding & Margins in IE 6/7

In most browsers, in order to remove the bullets or numbers from a list and push the list flush to the left, the left padding needs to be set to zero. But this has no effect in IE6 and IE7. Instead, the left margin needs to be set to zero for this to be achieved in those browsers.

Padding-left in Styling HTML Lists with CSS: Techniques and Resources

Achieving Consistent List-Styling in all Browsers

To avoid the issues that arise in the handling of list styles in the different browsers, the best method is to use a CSS reset. A CSS reset will set virtually all default browser settings to the bare minimum, and will allow you to work from a common ground in all browsers. There will still be differences after certain styles are applied, but they will not be as difficult to deal with after a reset is put in place.

Also, as mentioned earlier, it is best to completely avoid using the list-style-image property, and to instead set a background on the <li> elements. This will provide a cross-browser, easy-to-maintain solution for achieving custom bullets on an unordered list.

Showcase of Trends, Examples, & Tutorials

Now that we’ve reviewed the basics of HTML lists, as well as some browser inconsistencies, let’s look at a number of different examples and tutorials that display practical examples and uses for HTML lists.

Navigation Bars

By far the most common use for the unordered list is the navigation bar, whether vertical or horizontal. Ever since table-based layouts became obsolete, the unordered list has been widely implemented as a basis for navigation elements for a number of reasons, listed below.

  • An unordered list is a block-level element, and so does not need to be wrapped in an extra <div> to apply a background or other graphical enhancement
  • When styles are disabled, a styled list will degrade gracefully, ensuring the navigation items appear distinct from the rest of the page’s content
  • Although an unordered list might add more markup than just a plain list of <a> tags, having the extra <li> elements allows the navigation bar to be graphically flexible
  • Navigation divided into lists and/or sub-lists allows users with assistive technology (such as screen readers) to easily skip entire navigation sections

Pure CSS Fish Eye Menu
This vertical navigation menu that mimics the Apple “fisheye” effect on rollover is done with pure CSS and utilizes an unordered list to display the icons.

Fisheye in Styling HTML Lists with CSS: Techniques and Resources

Sliding Doors Meets CSS Sprites
An HTML list can also provide the foundation for a tabbed navigation bar using the famous sliding doors technique, as demonstrated in this example.

Tabbed-nav in Styling HTML Lists with CSS: Techniques and Resources

LavaLamp for jQuery Lovers
A “Lava Lamp” hover animation effect on a list-based navigation bar, written for jQuery.

Lavalamp in Styling HTML Lists with CSS: Techniques and Resources

Animated Navigation Bar Using jQuery
This tutorial on WebMunch uses list-based navigation to create an animated navigation bar powered by jQuery. The demo page displays four different variations of the animated effect.

Animated-bar in Styling HTML Lists with CSS: Techniques and Resources

Apple’s Navigation bar using only CSS
This tutorial describes how to recreate Apple’s navigation bar, based on a list, with some CSS3 enhancements that degrade gracefully in IE and older browsers. The final result also includes an animated hover effect that works in Safari.

Apple in Styling HTML Lists with CSS: Techniques and Resources

Drop-Down Menus

Older drop-down menus, like Brainjar’s Revenge of the Menu Bar used <div> elements to divide sections of anchor tags, implementing JavaScript to show and hide menus. Later, drop-down menus were developed that were more semantic, and more dependent on CSS.

Suckerfish Dropdowns
The classic Suckerfish dropdowns by Patrick Griffiths and Dan Webb were one of the earliest drop-down (or fly-out) menus to be based on nested lists.

Suckerfish in Styling HTML Lists with CSS: Techniques and Resources

Professional Drop-Down
Stu Nicholls provides another list-based solution for drop-downs.

Dropdowns in Styling HTML Lists with CSS: Techniques and Resources

Animated Drop Down Menu with jQuery
This tutorial demonstrates how to create a simple, single animated drop-down menu based on an unordered list, with jQuery.

Dropdown-animated in Styling HTML Lists with CSS: Techniques and Resources

Create Dropdown Menus with CSS Only
This simple technique creates list-based drop-down menus without JavaScript.

Css-dropdowns in Styling HTML Lists with CSS: Techniques and Resources

JavaScript Dropdown Menu with Multi Levels
These multi-level, cross-browser, list-based drop-down menus include an animated slide and fade effect.

Multi-fade in Styling HTML Lists with CSS: Techniques and Resources

Photo Displays

HTML lists serve as an effective way to display a list of photos, for many of the same reasons that were mentioned above for navigation bars. Below are some examples of photo galleries and other photo-based widgets that are styled with HTML lists.

jCarousel
The jCarousel photo carousel jQuery plugin applies customizable jQuery functionality to an unordered list that can display the carousel in a number of different ways.

Jcarousel in Styling HTML Lists with CSS: Techniques and Resources

InnerFade with JQuery
This plugin allows an unordered list of images to serve as the basis for a fading image rotator that displays one image at a time. The screen grab below displays two of the images in mid-transition.

Innerfade in Styling HTML Lists with CSS: Techniques and Resources

CSS Photo Gallery Template
This is a free photo gallery template that displays a caption on hover. This simple gallery uses an unordered list with floated list items.

Gallery in Styling HTML Lists with CSS: Techniques and Resources

Definition Lists for Image Gallery
This demonstration on Max Design shows how to transform a definition list into an image gallery.

Def-photos in Styling HTML Lists with CSS: Techniques and Resources

Styling and Dividing Other Types of Content

In addition to displaying images, lists also come in handy for display of content in sometimes atypical fashion, as demonstrated by the examples below.

Multi-Column Lists
A few years back, A List Apart demonstrated how to convert a single unordered list into a multi-columned display, without the need to divide the items into multiple lists.

Multicolumn in Styling HTML Lists with CSS: Techniques and Resources

Style a List with One Pixel
Chris Coyier demonstrates a neat CSS trick — how to create a “depth-chart looking unordered list” using just a 1-pixel GIF.

1pixel in Styling HTML Lists with CSS: Techniques and Resources

Accessible HTML Forms using Definition Lists
Andrew Sellick steps through the styling of a lengthy form with the help of definition lists to group sets of text boxes, radio buttons, and checkboxes.

Form-def in Styling HTML Lists with CSS: Techniques and Resources

A Three Column CSS Layout Using Just an Unordered List
Rob Larsen of DrunkenFist.com demonstrates how to create a 3-column page layout using an unordered list in place of the usual <div> elements.

Ul-layout in Styling HTML Lists with CSS: Techniques and Resources

Animated Tabbed Content with jQuery
This tutorial on Gaya Design demonstrates how to create an animated tabbed content box with jQuery. The content is structured using unordered lists.

Tabbed-content in Styling HTML Lists with CSS: Techniques and Resources

A Simple and Beautiful jQuery Accordion Tutorial
This is a simple tutorial that uses nested unordered lists as a basis for a jQuery animated accordion menu.

Accordion in Styling HTML Lists with CSS: Techniques and Resources

Code Highlighters

Many blogs and tutorial sites include JavaScript-driven code highlighters that convert <pre> elements into ordered lists, as shown in the screen capture below. One such code highlighter is Alex Gorbatchev’s SyntaxHighlighter

Code-hilite in Styling HTML Lists with CSS: Techniques and Resources

Blog Comments

Blog comments, including those on WordPress-driven sites, are structured with ordered lists, providing very flexible options for styling, and laying a foundation for nested comments. Nested, or “threaded” comments are now built into WordPress, as demonstrated below on Noupe.

Nested-comments in Styling HTML Lists with CSS: Techniques and Resources

Fancy Styles and Techniques with Lists

jQuery Sortable Lists With Drag Drop Handle
Will Linssen demonstrates, with jQuery, how to create an ordered or unordered list that allows the user to manually sort the list items.

Drag-drop in Styling HTML Lists with CSS: Techniques and Resources

Sexy Ordered Lists with CSS
Soh Tanaka shows users how to add some fancy styling to an ordered list.

Soh-lists in Styling HTML Lists with CSS: Techniques and Resources

Veerle’s Block Hover Effect on List Items
In the “Approved” section in the footer of her home page, Veerle Pieters implements a cross-browser block-hover effect on an unordered list. Each list item contains a number of separate elements, but the hover effect works on the entire list item, and even works in IE6. The same effect is discussed in tutorials on Smiley Cat and randsco.com.

Veerle-list in Styling HTML Lists with CSS: Techniques and Resources

A Definition List Bar Chart
The ever-creative Stu Nicholls shows us how to display a bar chart (with very old browser stats!) with a styled definition list.

Bar-chart in Styling HTML Lists with CSS: Techniques and Resources

jQuery Sequential List
This tutorial on Web Designer Wall will show you how to use jQuery to add sequential CSS classes to list items to create a graphical list.

Sequential in Styling HTML Lists with CSS: Techniques and Resources

Creating an Accessible Tag Cloud in PHP and CSS
This tutorial describes how to create an accessible, standards compliant tag cloud with simple code. The resulting HTML output is a simple unordered list.

Tagcloud in Styling HTML Lists with CSS: Techniques and Resources

Simple Scalable CSS Based Breadcrumbs
Veerle Pieters describes how to create a breadcrumb navigation section using an unordered list.

Breadcrumbs in Styling HTML Lists with CSS: Techniques and Resources

CSS Step Menu
A demonstration of a “step menu” that’s based on unordered lists.

Stepmenu in Styling HTML Lists with CSS: Techniques and Resources

Overlap That Menu!
A tutorial that describes how to create overlapping menu items using a styled unordered list.

Overlap in Styling HTML Lists with CSS: Techniques and Resources

CSS Stacked Bar Graphs
A fancy stacked bar graph in CSS that uses an unordered list and a definition list.

Bargraph in Styling HTML Lists with CSS: Techniques and Resources

Nested Side Bar Menu
Using the same principle as drop-down menus, this demonstration shows a cross-browser vertical menu with fly-outs, based on nested unordered lists.

Flyouts in Styling HTML Lists with CSS: Techniques and Resources

OMG Durham’s Tag Popularity Graph
OMG Durham’s website displays popular tags using a bar graph that is based on an unordered list.

Tag-graph in Styling HTML Lists with CSS: Techniques and Resources

Conclusion

A beautiful, CSS-styled, cross-browser HTML list has the power to resolve thousands of potential layout or design challenges. Although dozens more uses and techniques could be discussed in this article, the above material should be enough to give a thorough overview of HTML lists, demonstrating how powerful and flexible they are in the hands of an experienced coder.

Further Resources


© Louis Lazaris for Smashing Magazine, 2009. | Permalink | 42 comments | Add to del.icio.us | Digg this | Stumble on StumbleUpon! | Tweet it! | Submit to Reddit | Forum Smashing Magazine
Post tags: ,

:: Read More
(Published: Fri, 11 Dec 2009 03:49:45 -0800)

Desktop Wallpaper Calendar: December & Christmas 2009
Smashing-magazine-advertisement in Desktop Wallpaper Calendar: December & Christmas 2009
 in Desktop Wallpaper Calendar: December & Christmas 2009  in Desktop Wallpaper Calendar: December & Christmas 2009  in Desktop Wallpaper Calendar: December & Christmas 2009

Spacer in Desktop Wallpaper Calendar: December & Christmas 2009
Over the last months our readers were complaining about the low quality of wallpapers featured in the Desktop Wallpaper Calendar series here on Smashing Magazine. To keep the very high quality of the competition and motivate artists and designers to put more thoughts and ideas into creating original and beautiful wallpapers, we carefully reviewed our quality guidelines and decided to select featured wallpapers more strictly. Consequently, over 65% of wallpapers submitted to us in November unfortunately didn’t make it to this post.

We may have been a bit too strict or we may have been not strict enough – please let us know what you think and please also let us know how we can improve the quality of this series!

This post features 45 free desktop wallpapers, created by designers across the globe. Both versions with a calendar and without a calendar can be downloaded for free.

Please notice:

  • all images can be clicked and lead to the preview of the wallpaper;
  • you can feature your work in our magazine by taking part in our desktop wallpaper calendar series. We are regularly looking for creative designers and artists to be featured on Smashing Magazine. Are you one of them?

So which wallpapers have we received for December 2009?

Christmas couple

“Wallpaper Christmas couple is devoted to the coming holidays.” Designed by Egor Kosten from Ukraine.

Christmas-couple in Desktop Wallpaper Calendar: December & Christmas 2009

Xmas Tree

Designed by Vlad Gerasimov from Irkutsk, Russia.

Xmas Tree in Desktop Wallpaper Calendar: December & Christmas 2009

Santa’s Beach

"”Dear kids of the World: No gifts this christmas, just big waves. Santa”" Designed by Cafundo Estudio Criativo from Brazil.

Santas Beach in Desktop Wallpaper Calendar: December & Christmas 2009

Merry Skipmass

“Skipvine Interactive December’s Calendar.” Designed by Ionut Zamfir from Romania.

Merry-skipmass in Desktop Wallpaper Calendar: December & Christmas 2009

Snow queen

Designed by Helena Lunding from Sweden.

Snowqueen in Desktop Wallpaper Calendar: December & Christmas 2009

TwoThousandTen

“Designed by Xabiso Ndaba” Designed by Xabiso Ndaba from United Kingdom.

Twothousandten in Desktop Wallpaper Calendar: December & Christmas 2009

Fake Rudolf

Designed by Monica Corduneanu from Romania.

Fake-rudolf in Desktop Wallpaper Calendar: December & Christmas 2009

X-mas

“Winter is my favourite season and December is the heart of winters, it gives us shortest sunny days and longest cold nights , no doubt its the month of laziness but Christmas isthe most enjoyable and colorful event of this month so this wallpaper is a gift for last celebration of this year with this hope that new year will bring good days for all of us.” Designed by NarjisNaqvi from Pakistan.

X-mas in Desktop Wallpaper Calendar: December & Christmas 2009

Red december

Designed by Catherine Galeano from Bogota, Colombia.

Red-december in Desktop Wallpaper Calendar: December & Christmas 2009

Christmas Ribbons

“I love winter so much. It is all about Christmas season. Red colored ribbon signify the waiting for the Christmas.” Designed by vamsiraco from India.

Christmas-ribbons in Desktop Wallpaper Calendar: December & Christmas 2009

Where Jelly Beans Are Born

Designed by Vlad Gerasimov from Irkutsk, Russia.

Halloween-wallpapers in Desktop Wallpaper Calendar: December & Christmas 2009

Crazy Santa

“This Santa I made for Xmas game in coopeation with Digibrand.” Designed by Alexander Bickov from Latvia.

Crazy-santa in Desktop Wallpaper Calendar: December & Christmas 2009

Christmas Snowman

“I wanted to make something different for this Christmas , so this turned out! I like it very much , especially the collors, so i hope that you will love it too!” Designed by Alexandra Ipate from Romania.

Christmas-snowman in Desktop Wallpaper Calendar: December & Christmas 2009

Numbers

“Large numbers on a paper background.” Designed by Valerie Morgan from USA.

Numbers in Desktop Wallpaper Calendar: December & Christmas 2009

Starrain

“A calendar for December wih a nice little girl standing in a rain of stars.” Designed by mooti from Germany.

Starrain in Desktop Wallpaper Calendar: December & Christmas 2009

Christmas Sledge

“Snow is one of my favourite things about the winter, and therefore, Christmas – if we’re lucky to have snow! I especially love going sledging – super fun, thought this would be a lovely design for December.” Designed by Rosanna Bell from England.

Christmas-sledge in Desktop Wallpaper Calendar: December & Christmas 2009

swing girl

Designed by Soodabeh Amirakbari from Iran.

Swing-girl in Desktop Wallpaper Calendar: December & Christmas 2009

Whychristmas

“A calendar showing the special days in December. Get in the seasonal mood by visiting – one of the biggest Christmas sites on the web!” Designed by James Cooper from UK.

Whychristmas in Desktop Wallpaper Calendar: December & Christmas 2009

Dance around Christmas

“Everyone is having a Merry Christmas with friends and family.” Designed by Chris Alexander (Yipori) from England.

Christmas1 in Desktop Wallpaper Calendar: December & Christmas 2009

:: Read More
(Published: Mon, 30 Nov 2009 10:52:26 -0800)

Advanced Power Tips For WordPress Template Developers
Smashing-magazine-advertisement in Advanced Power Tips For WordPress Template Developers
 in Advanced Power Tips For WordPress Template Developers  in Advanced Power Tips For WordPress Template Developers  in Advanced Power Tips For WordPress Template Developers

Spacer in Advanced Power Tips For WordPress Template Developers
Back in July, “Power Tips for WordPress Template Developers” presented 8 basic techniques for adding popular features to the front end of a WordPress-powered website. The premise was that WordPress has become an elegant, lightweight content management solution that offers the fundamentals out of the box, atop a modular core that offers incredible potential in the hands of a capable developer.

WordPress does not try to be an “everything to everyone” CMS right out of the box. Many systems do an average job incorporating 99% of what the potential CMS market might need, even if the last 15-20% is used only by a fraction of the market and adds considerably to the system’s overall “heft” (or bloat). At the other end of the spectrum are completely custom solutions that are finely tailored to exact needs, at the cost of reinventing wheels like polished content editing with media management and version control.

The self-proclaimed WordPress “code poets” have, alternatively, focused on doing an A+ job with the “fat middle”: the 80-85% of features that almost everyone needs, and coupling those with a first rate framework and API that enables capable developers to add in almost any niche or “long tail” feature. In fact, the core WordPress framework is so capable that a handful of “intermediary” frameworks that sit on top of it have already emerged.

That previous “Power Tips” entry scratched the surface, covering a handful of API calls mixed in with some simple PHP code and configuration tips intended to help beginner WordPress template developers kick their game up a notch. This article takes power tips to the next level, expanding on some of the topics in the first article, and introducing more advanced techniques and methods for customizing not only the front end, but the content management (or back end) experience.

You may be interested in the following related posts:

Multiple Column Content Techniques

The average blog or website has a single, clearly defined block of space for a given page’s or post’s unique content. But there are plenty of creative websites that don’t conform to this simple notion of “one unique block” per page. A creative online portfolio layout might feature a screenshot and project description in a left column, and a list of technologies used in a right column. Both the left and right column are unique to each portfolio page.

Here’s a screenshot from an in-development website project, built on WordPress. The “projects” area features portfolio-like layouts of green building projects throughout the state. In addition to a specially designed gallery visualization, note that the individual project profile has two distinct columns.

Rigbc-2-column in Advanced Power Tips For WordPress Template Developers

A more commonplace layout might feature an obvious, primary block of page content, but also feature a sidebar element that is unique to the current page: maybe a quote from a customer about a specific product or service. The “Power Tips” article offered a method to associate sidebar elements with multiple pages using custom fields and page IDs (tip #6). That approach isn’t very effective or efficient for designs with a 1:1 relationship between sidebars and pages (where each page has a unique sidebar element).

Sidebars in Advanced Power Tips For WordPress Template Developers

Yes, the developer could add table buttons to the WordPress editor, and let content authors fend for themselves: a solution prone to problematic layouts and bad output relied upon far too often. Here are a few simple options that keep layout in the hands of the template developer while making content management easier and problem-free.

Short, simple, and HTML free? No worries.

Before we delve into solutions that assume a need for HTML formatting in this second content block, let’s review a more basic solution. If the second column does not need to be formatted – or maybe should not be formatted by the editor for design reasons – then a simple custom field will do the trick. In the case of a simple sidebar element, like a customer quote, this may be just the trick.

There are already great tutorials and useful custom fields hacks that walk through the WordPress custom fields feature, so if you are not familiar with the basic idea behind custom fields, start there. Let’s go ahead and create a custom field named “sidebar_content” (also known as the “key”), and put some simple content in there. Just to shake things up, let’s assume we do need a very basic HTML feature for our content authors, who know nothing about HTML: line and paragraph breaks. Let’s also assume that we want to format this sidebar content on the front end with some of the basic automatic niceties we get when we output post content, like curly quotation marks.

Sidebar-custom-field in Advanced Power Tips For WordPress Template Developers

Here’s how we can output this in any template file, using the “the_content” filter to apply the WordPress content filter to our custom field. That filter converts single line breaks to break tags, double line breaks to paragraphing tags, and even transforms simple quotation marks to curly quotes!

$sidebar_content = get_post_meta($post->ID, "sidebar_content", true);

if ($sidebar_content) {
   echo '<div id="sidebar_content">';
   echo apply_filters("the_content", $sidebar_content);
   echo '</div>';
}

Of course, we can make this even more intuitive for the content authors by creating a new meta field box for sidebar content instead of relying on the generic “custom fields” box… which will be covered later in this article!

Using the More Tag for… More

The WordPress editor has a button “more tag” button that is primarily intended to separate “above the fold” content from “below the fold” content. If you are not already familiar with the “more” divider, read up on that first.

If the pages or posts that need a two column layouts also rely on traditional more separation, this tip will most likely not be effective, unless one of the columns is also the intended “above the fold” content. However, most instances where a two column layout is desirable don’t overlap with a traditional above / below the fold need. It is fairly rare, for instance, for pages (vs. posts) to actually make any use of the more tag. So let’s start taking advantage of that feature!

The basic idea is that content above the more divider will represent one block of HTML content, while content below the divider will represent a second block (be it a sidebar element or column).

Sidebar-using-more-tag in Advanced Power Tips For WordPress Template Developers

Here is how to retrieve content above and below the more divider as separate blocks of HTML content in the corresponding page template file.

global $more;

$more = 0;
echo '<div id="column_one">';
the_content('');
echo '</div>':

$more = 1;
echo '<div id="column_two">';
the_content('',true);
echo '</div>';

The global “more” variable lets WordPress know whether or not the content is being rendered in an “above the fold” (or “teaser”) only view. By passing an empty string to “the_content”, we prevent a “read more” link from showing up below the HTML content. And, for column two, we pass a second parameter to “the_content” – true – which instructs WordPress to output the content without the teaser.

If the intent is to output the second block of content outside of the loop in another template element, such as a sidebar, this approach is a bit trickier. One option would be to store the second block of content in a uniquely named variable, declare it as a global variable in the sidebar, and – if there is any content inside the variable – output a new block. An alternative could involve checking which page template is in use with the “is_page_template” function, and, if the two column template is in use, calling “the_content” with the second parameter set to true, as in the example above.

The Plug-in Solution: Adding a Second HTML Content Block to the Editor

The ideal solution, of course, might be a second HTML editor field on the WordPress page or post editor. Unfortunately, no such plug-in existed… until recently! While writing this article, we decided it was time such a solution did exist, and so the author of this article is happy to present a free, open source plug-in that combines some savvy understanding of how TinyMCE works (hint: it’s as simple as a class name) with the custom meta box tutorial covered later in this article, and a little bit of extra customization and polish thrown into the mix.

Secondary HTML Content adds a second HTML editor to pages, posts, or both (customizable with a simple settings panel). You can output the content in a sidebar with an included widget, or integrate it more tightly with the template by using “the_content_2″ and “get_the_content_2″ functions.

Secondary-html in Advanced Power Tips For WordPress Template Developers

Associating Pages with Post Content: Reloaded

“Power Tips” covered the basic foundation for associating different WordPress pages with different post categories. The basic premise was that many sites require, effectively, different post “feeds” on different pages. For instance, there may be a company blog, but there may also be an independent news feed.

This continuation offers specific tips that extend the core concept introduced in part 1, making it easier to have multiple page / category associations, preventing entrance into the “real” category archive, and ensuring that individual post views retain a visual and architectural association with their parent “category page” layout.

Be sure to read part 1 before proceeding.

A Review of the Basics & the Two Fundamental Approaches

At the heart of the category / page association (covered in part one) was:

  • A matching of the “page slug” with the “category slug.”
  • Using “query_posts” and the category parameter to exclude standalone page categories from the primary feed
  • Using a dedicated page template with “query_posts” and the “category name” parameter to create a page featuring a feed for a single category.

Wp-cat-config in Advanced Power Tips For WordPress Template Developers

Before delving into the tips that extend those ideas, it is important to make a distinction between two common but fundamentally different use cases for page / category association. The more typical use case, which the first part was tailored to, is a website that has a primary feed, like a blog, but also has one or two distinct feeds, most often for a formal news or press feed.

The second use case is a bit more esoteric: there is no primary feed. The site has many pages, and many (but not all) of those top level pages are individual feeds of posts. The example, at the end of this power tip, m62.net, is one such use case. Another common use case might be – again – a portfolio centric website.

Let’s say we want to create “Joe’s Portfolio”, and Joe wants to feature 4 distinct areas of expertise. Each area of expertise should be a top level page, say, joes-portfolio.com/web-design, joes-portfolio.com/graphic-design, etc. Joe wants to have a little write-up about each service area at the top of the page, followed by a feed of case studies. Why a feed instead of sub-pages? Maybe Joe wants prospects to be able to subscribe to an RSS feed for each area of expertise; maybe he wants to easily cross-tag case studies based on industry; maybe he plans to update frequently and doesn’t want a huge page sitemap or wants visitors to page through a date-organized collection of case studies. There are many reasons to use posts instead of pages.

The following tips provide solutions for both use cases.

Automatically Determining the Page / Category Association

Part one suggested that a unique page template be created for any page associated with a category. That page template would then query for posts using a hardcoded category name or category ID. If there are only one or two standalone “category pages”, this is an efficient and effective solution.

However, if there are many page / category associations, as in use case #2 (no primary feed), the process of manually creating page templates for each association is tedious to build and maintain, and not realistic if content editors who don’t program need to be able to create more page / category associations on demand.

An alternative would be to create a generic page template, let’s say “template-category-connector.php”, that is assigned to all pages associated with a category, and automatically determines the right category to query.

The following code performs the matching and executes the post query. The magic happens by taking advantage of our matching page and category slugs. Once again, if the website does not use permalinks, an alternative approach will be required (one permalink-free alternative could involve a custom field with the associated category ID).

$cat = get_category_by_slug($post->post_name);
query_posts('cat='.$cat->term_id);

That’s all there is to it… just proceed on with the post loop to output the applicable category’s posts. Note that the template should probably check for an actual return value from line 1, and output a graceful error in the event there is no match.

Handling Entry into the “Real” Category Archive

Now that there is a dedicated page layout that handles the category feed, we will want to be make certain that the visitor doesn’t land on WordPress’ default category “archive” view. For instance, when using permalinks with the default “category base” value, the archive view for a category with a top level category assigned a “web-design” slug would be: mysiteurl.com/category/web-design. However, the intent is for visitors to view this category at our top level page: mysiteurl.com/web-design.

By combining the WordPress category template file with some smart redirects, we can prevent entry into the default category archive. Out of the box, the WordPress template system allows developers to create global category archive templates as well as templates for individual category archives.

If we are in use case #1 – a site with a traditional blog feed and a standalone news feed on a “press releases” page – we will want to use the latter solution. Let’s say, as in part one, the category ID for “press releases” is 5. We create a template file in our theme folder named category-5.php. Under use case #2 (no primary feed), we will want to redirect all category archive traffic, in which case we need to work with the category.php template file.

A few lines of code in either template file will redirect visitors to the right place. We’ll also pass HTTP error / redirect code “301″ – which will tell search engines to permanently redirect their link to the right location. Note that this particular code assumes we are using a permalink configuration. Line 2 can be modified to accomodate that situation.

$destination = get_bloginfo('url');
$destination .= str_replace('/'.get_option('category_base').'/','/',$_SERVER['REQUEST_URI']);
wp_redirect($destination, 301);

In effect, that code removes the category base (”/category” by default) from the overall relative URL, and safely redirects the visitor to the page with the matching slug. Of course, if the site falls under use case #1 (one or two stand alone feeds), the line three could dropped into a specific category template (i.e. category-5.php) with a hardcoded absolute URL for the redirect destitation.

Hiding Standalone Categories from the Category List & Primary Site Feed

In the first use case (only isolating one or two categories from a primary feed), it may be necessary to prevent isolated categories or the posts within those categories from appearing in some common theme elements that would traditionally include them.

Consider the example from part one: a site with a traditional blog and a standalone press release feed. Assume the owners of the site want the RSS feed for the blog to be persistently available throughout the site (typically manifesting itself as an RSS icon in the browser location bar), but don’t want the press release items included in that primary feed. By default, the WordPress primary feed is available at “/feed”, and includes all published posts, regardless of category or any other post property.

Smashingmag-feed in Advanced Power Tips For WordPress Template Developers

To exclude categories from the primary RSS feed, we need to filter the WordPress function that retrieves the posts. Let’s again assume that the category ID for Press Releases is 5. The following code should be placed in the template’s “functions.php” file.

add_filter('pre_get_posts','exclude_press');

function exclude_press($query) {
   if($query->is_feed && !$query->is_category) $query->set('cat','-5');
}

To summarize, we use the “pre_get_posts” filter to modify the post query before it executes. Within a new filter – named “exclude_press” – a conditional confirms that the post query is for a feed, and that the query is not for an individual category. If the check pans out, the query is modified to exclude category 5 before execution.

The notion of globally filtering the post query may have broader implications depending on the site’s unique requirements. With some smart conditional checking, the filter could be extended to prevent the category from appearing anywhere except within the category or isolated post view. But be careful when extending the filter, and be sure to consider all possible views, including administrative views!

The category list is another frequently used site element that isolated categories should, in most cases, be excluded from. If the template calls the category list in only one or two places by code (as opposed to using the categories widget), excluding categories from the list is straight forward.

wp_list_categories('exclude=5');

However, if the categories widget is in use, or the category list is used throughout the template, an alternative approach is required. Enter the “list_terms_exclusions” filter. Again, the following code should be placed in the “functions.php” template file.

add_filter('list_terms_exclusions', 'filter_press');

function filter_press($exclusions) {
   $exclusions .= " AND t.term_id != 5 ";
   return $exclusions;
}

The return value of a “terms exclusions” filter is tacked onto the “where” clause in the SQL query that retrieves the terms. Without digging too deep here, the reason for discussing “terms” as opposed to, say, “categories” is because WordPress abstracts a variety of different taxonomies (link categories, post categories, tags, custom taxonomies, etc) into a unified database model that handles all taxonomies. Calls to “get categories”, “get tags”, and so forth, are all referring back to general “terms” behind the scenes. Ever wonder why category, tag, and other IDs tend to jump around? They are all being added to the same table. Assuming a fairly clean install, try adding a new post category, and note the ID. Then add a tag, and note its ID… one greater than the new post category.

Term-taxonomies in Advanced Power Tips For WordPress Template Developers

Retaining the Page Layout for Post Views within a Category Page

One of the most common challenges to tackle with page / category association is retaining a sense that the visitor is still within the “category page” hierarchy – and not a global feed hierarchy – when a visitor is reading an individual post. Part one hinted at this challenge under “The devil is in the details,” and started to suggest a path that incorporated using the “in_category” function. We will explain how to use “in_category” within templates, as well as how to trick functions that reference the original query object into thinking that they are “within” the category page.

Let’s start with case #1, and building on the example in the first article, assume we only need to contend with one isolated feed, “Press Releases” (category ID 5).

Say the theme has a sidebar template that lists post categories when rendering the blog part of the site, and when rendering a standalone page, shows a page list instead. Here’s an extremely simplified version of what that might look inside the sidebar template file.

if (is_page())
{
   wp_list_pages();
}
else
{
   wp_list_categories();
}

Of course, there may be alternative widget sets for pages or posts, and there is likely to be more than just one element in the sidebar. But the concept should hold. Now going back to the example, the theme should render posts in category 5 (Press Releases) as if the visitor were on a page (not the blog). Leveraging the “in_category” check, the code above would now like the following:

if (is_page() || in_category(5))
{
   wp_list_pages();
}
else
{
   wp_list_categories();
}

Note that if there are multiple categories whose posts should resemble page output, the “in_category” function should be passed an array of IDs, like so:

in_category(array(5,7));

The need for a “in category” check is probably moot in case #2 (multiple page/category associations, without a primary feed): the template is probably structured to output the same elements on pages and posts from the get go. In other words, everything is handled as if it is a page since there is no primary feed. However, the following tip – that dynamically looks up the faux parent page ID (the page associated with the category) – is necessary for the next part of this tip. Just amend the code to check if “faux_parent_page” has a valid value: if it does, then the post is inside an isolated category associated with a page.

Once again, this approach to dynamically seeking the faux parent page (the category page) depends on taking advantage of the matching permalink structure between post categories and pages that is at the heart of this association. If the site is unable to use permalinks, a more complex alternative look up of the faux parent page will be necessary.

foreach(get_the_category() as $category) {
   $faux_parent_path = '/'.get_category_parents($category, FALSE, '/', TRUE);
}
$faux_parent_page = get_page_by_path($faux_parent_path)->ID;

Now that we have the ID of the category’s associated page, we can trick “black box” theme elements that determine page or post properties on their own (by referencing the post query) into thinking they are actually working with the category page.

The most common use case is page navigation. Whether its breadcrumbs, a top level page menu that should retain “current” (on) states, or a side navigation menu that should display the current section, there are many “black box” navigation functions that need to be tricked into rendering themselves as if on the category page.

Let’s use a simple top level page list, which should maintain proper “current_page”, “current_page_parent” (and so on) classes when on a post under a category page. Here’s what that simple function might look like before our changes:

wp_list_pages('depth=1');

Of course, posts do not normally have parent pages, so there will be no “current” classes assigned to that output when reading a post. Here is how to trick that function into thinking it is rendering the navigation for the “parent” category page.

//retrieve faux parent page dynamically… can skip and hard code in case 1
foreach(get_the_category() as $category) {
   $faux_parent_path = '/'.get_category_parents($category, FALSE, '/', TRUE);
}
$faux_parent_page = get_page_by_path($faux_parent_path)->ID;

//reset the post query as if on the faux parent page
query_posts('page_id='.$faux_parent_page);

//execute our "faked out" function
wp_list_pages('depth=1');

//reset the query back to the initial state
wp_reset_query();

If there are multiple elements that need be “tricked,” a best practice would be to put the “faux parent page” retriever at the top of the template, and declare it a global in any template files that need it. This would avoid repeated look ups of the faux parent page.

An Example: Seeing it All Put Together

A great example of a WordPress-powered CMS that pushes use case #2 to its limits can be seen at the home of m62 visual communications, at http://www.m62.net.

M62-pharm in Advanced Power Tips For WordPress Template Developers

All of the navigation items across the top (Presentation Theory, PowerPoint Slides, etc) are pages associated with post categories. The sub-navigation on the right contains sub-pages that are also associated with sub-categories. For example, in the screenshot above (available here), the visitor is on the “Pharmaceutical Templates” page (faux category), which is a child of the “PowerPoint Templates” page (also a faux category). The content starting with “Download free” (below the page title) is the content from the “Pharmaceutical Templates” page. The posts below the “Next Steps” bar, titled “Latest in Pharmaceutical Templates”, are the posts inside that category. The applicable related category is automatically discovered by the WordPress template, populating the category name “Latest in X” and recent posts. Now let’s look at one of the posts inside that category.

M62-post in Advanced Power Tips For WordPress Template Developers

Using the tips outlined above, the individual post retains the feel of being within the “Pharmaceutical Templates” page, right down to the breadcrumb navigation and “current” states in the navigation.

But not only does m62.net use category / page associations for most top and second level navigation items, it actually extends the concept to tags. The 5 “tabs” on the top right actually represent post tags, and each has a “tag page.”

Stay tuned!

The second part of the post will be published here, on Smashing Magazine, in two weeks. Hence, you may want to subscribe to our RSS-feed and follow us on Twitter. Any ideas or suggestions? Comment on this article!


© Jacob Goldman for Smashing Magazine, 2009. | Permalink | 35 comments | Add to del.icio.us | Digg this | Stumble on StumbleUpon! | Tweet it! | Submit to Reddit | Forum Smashing Magazine
Post tags: , ,

:: Read More
(Published: Sat, 28 Nov 2009 13:20:45 -0800)

Critical Mistakes Freelancers Make
Smashing-magazine-advertisement in Critical Mistakes Freelancers Make
 in Critical Mistakes Freelancers Make  in Critical Mistakes Freelancers Make  in Critical Mistakes Freelancers Make

Spacer in Critical Mistakes Freelancers Make

Seeing as we are all human (well, presumably whoever is reading this post anyway), we should recognize that mistakes happen. They even have that saying, “To err is human…,” which goes to show that it is not only commonplace for us to err once or twice: it is expected. But a method is behind this madness, because making mistakes is one of the major ways we learn. This is no different for freelancers.

Smashingheader in Critical Mistakes Freelancers Make

Finding our way over these bumps in the road often gives us valuable insight to take away. It helps us develop techniques and methods that we can incorporate into our creative process. As freelancers, we have the benefit of access to an entire online community that is willing to share its experiences so that we can learn without having to make the same mistakes.

So in this post, we look at 10 critical mistakes freelancers make. Hopefully, if you haven’t already made one of these mistakes yourself, you can learn the lesson behind it.

Also consider our previous articles:

They Don’t Use A Contract

One of the first things freelancers learn when contracting out their services to others is… to use a contract! Unfortunately, we often learn this lesson the hard way. For whatever reason, we think that a particular client of ours is someone we can work for without the aid and protection of a contract. This tends to end in one way: by biting us in the back end.

Without this safeguard in place, you open yourself up to so many potential problems, and you may inadvertently end up committing to more than you had intended or even imagined. Freelancers only make this mistake once, if at all. This lesson is not a secret in the freelance community. The advice comes up often: always use a contract. And many heed the warning once they hear it.

They Misuse Social Media (Or Don’t Use It At All)

Another common, but critical, pitfall that freelancers tumble into is misusing social media, if they even use it at all. Social media is a major tool that offers all freelancers an invaluable resource at their fingertips. An entire community of professionals connected via modems, ready and willing to offer each other whatever assistance they can. Neglecting this stream of industry insight, or not using it properly, can hinder the growth of your business.

Social media is about interacting with people and fostering relationships, which, if done with consideration and attention, can create opportunities you would have otherwise missed out on (not to mention friendships that can outlast jobs). Especially at the beginning of your freelancing career, if you make the mistake of misusing the media, you could be seen as an anti-social pariah in your corner of the Web.

They Put Quantity Over Quality In Their Portfolio

Quality in Critical Mistakes Freelancers Make

When putting their portfolio together, some freelancers mistakenly believe that the more they add to their portfolio, the better. Then it becomes about quantity and not quality of work. They forget the value of the portfolio in opening doors and creating opportunities.

The phrase “Put your best foot forward” applies in this situation. Your portfolio speaks volumes about your skills, freeing you from having to say too much and risk coming off as more arrogant than confident. Let your portfolio do the talking, and don’t make the mistake of prioritizing quantity and sending the wrong message. Quality makes the best first impression, so make the most of it.

They Stop Learning

Learning in Critical Mistakes Freelancers Make

This one has to be said. It can do so much harm to freelancers, no matter what their field: that is, they stop learning. But especially for freelancers who work in a field as dynamic and ever-expanding as design and development, staying ahead of the curve is absolutely crucial to meeting your clients’ needs.

This field is continually evolving with new techniques and applications. Throwing in the towel on education is virtual suicide. You, your work and your career would stagnate. Thankfully, with this online culture we have today, cultivating an environment in which we can sustain our education is easy. Not taking advantage of these learning opportunities is a mistake that could potentially cost you your business.

They Don’t Know How To Deal With Clients

Customerservice in Critical Mistakes Freelancers Make

Another common mistake is that freelancers forget their people skills when dealing with clients. For whatever reason, we let slip in our minds that clients hire us because they don’t know how to do the work themselves. They are in unknown territory, and as freelancers we should always be sensitive to that and bridge as many gaps in knowledge as we can. This will only improve your future dealings with the client and earn you more respect and trust in the business.

Obviously, without clients, you are a freelancer in title alone, so make sure you know not only how to engage clients but how to entice them back. Being able to assess needs that they aren’t even able to articulate and then communicating it all back to them is an invaluable skill. Neglecting it can be costly.

They Fail To Prepare For Dry Spells

Dry in Critical Mistakes Freelancers Make

This mistake is definitely better learned second-hand, and that is not preparing for occasions when no work is coming in. Droughts hit even the best of them, especially in these tough economic times. Freelancers often forget to account for that in their pricing structure and to save up in good times for when things go south.

There is a logic behind the rates we charge, and part of it is to sustain us after we have completed work for one client and eagerly await the next. Of course, we can always find work to do, but paying work is what sustains us as freelancers. Calling this mistake costly is too close to punning for comfort, but its impact is definitely felt and could force you to suspend freelancing and seek out supplemental employment, thus making it even harder for you to create your own opportunities.

They Overload Their Plate

Plate in Critical Mistakes Freelancers Make

This next mistake sometimes results from a fear of the aforementioned dry spell. Of course, greed might also play a role. Whatever the reason, some freelancers don’t know when enough is enough, and they continue to take on new projects as their plate overloads. Overextending yourself and your business like this can destabilize your workflow.

Freelancers need a certain degree of self-awareness to know when they have reached their limit. Reputation—that is, a good one—is important to your business’ development. Spreading yourself too thin is never good, and the distraction could hamper your creativity. This is another of those mistakes that are difficult to recover from.

They Miss A Deadline (And Think It’s No Big Deal)

Deadline in Critical Mistakes Freelancers Make

This, too, is often a consequence of the previous mistake in our list. Falling behind when you are overloaded is all too easy, but missing a deadline can have a debilitating effect on your business. And if you think missing a deadline is no big deal, your career may be over before it begins. Deadlines keep you on track and help you multitask, as well as keep your client on track with the development of their project.

Once again, reputation is critical to building your brand and making your mark in the freelancing market. And a great way to ruin that reputation is by proving yourself unreliable. Stay productive and ahead of your tasks to avoid disrupting your client’s timetable. If you end up making this mistake, own up to it. Don’t offer excuses, simply propose a new timetable and continue working hard to meet it. But clearly acknowledge the problem you have created for your client. If you make this mistake once, you may not have an opportunity to make it again.

They Lack Confidence

Confidence in Critical Mistakes Freelancers Make

Lacking confidence in themselves or in their work is another mistake that can plague freelancers, even beyond their business. Being your own worst critic and holding your work to a higher standard than that of others is natural (right?). But at a certain point, you are no longer critiquing so much as tearing down your work. Dismissing the talent and abilities that have carried you this far is misguided and will do nothing for your productivity.

Without confidence, making it as a freelancer will be extremely difficult. You’ll start taking useful and well-intended criticism bitterly, missing the person’s point and spiraling further into a pool of doubt and self-pity. Lack of confidence hinders your skills and the growth of your business. Clients will pick up on it quickly, because the freelancer is supposed to have a commanding role. Our responsibility is to guide the client to make effective decisions and win them over to our point of view; without confidence, this becomes unlikely. You’ll undervalue both yourself and your work. So have faith in your abilities, and know that your unique voice is needed in the ranks of the freelancing arena.

They Go To Work For Someone Else

Cubicle in Critical Mistakes Freelancers Make

Another blunder freelancers make is to work tirelessly to build their business, only to accept the first offer for a cushy job that comes along. No longer being your own boss would seem easy to adjust to, but it can be like moving back under your parents’ roof after you’ve tasted the freedom of living on your own. It simply doesn’t fit as comfortably as it once did. Simply readjusting is not so easy because freelancing is more than a job: it is a way of life.

Some people tell themselves that freelancing was all along a stopgap to some greater dream, but true freelancers find that pill hard to swallow. For some, that might be true, but then those people were not freelancers so much as temporary independent contractors. Freelancers crave the freedom that comes with the ’lancing. Still others believe they can work for someone else and maintain their freelancing on the side. In theory, this might appear viable. The reality is harsher: freelancing is full-time. It is a way of life, and turning it into a part-time job spells trouble.

Further Resources

Have a look at these related articles and resources:

(al)


© Robert Bowen for Smashing Magazine, 2009. | Permalink | 62 comments | Add to del.icio.us | Digg this | Stumble on StumbleUpon! | Tweet it! | Submit to Reddit | Forum Smashing Magazine
Post tags:

:: Read More
(Published: Sat, 28 Nov 2009 13:17:46 -0800)

Designing Websites for Kids: Trends and Best Practices
Smashing-magazine-advertisement in Designing Websites for Kids: Trends and Best Practices
 in Designing Websites for Kids: Trends and Best Practices  in Designing Websites for Kids: Trends and Best Practices  in Designing Websites for Kids: Trends and Best Practices

Spacer in Designing Websites for Kids: Trends and Best Practices

How would you like to design a beautiful, colorful, stimulating website that is captivating, memorable, and allows you to let your creative juices flow without the need to worry too much about usability and best practices? In today’s web design market, it’s rare that such a project would present itself — unless you were asked to design a website for children!

Websites designed for children have been largely overlooked in web design articles and design roundups, but there are many beautiful and interesting design elements and layouts presented on children’s websites that are worthy of discussion and analysis. There are also a number of best practices that are exclusive to web design for children’s sites — practices that should usually not be attempted on a typical website.

This article will showcase a number of popular commercial websites targeted towards children, with an analysis of trends, elements, and techniques used to help keep children interested and stimulated.

Design That Stimulates the Senses

Humans are mentally stimulated by a number of factors, and this is especially true with children. Successful children’s websites implement a number of elements and design principles that create an environment suited for a child’s personality and interests.

Bright, Vivid Colors

Bright colors will easily capture and hold a child’s attention for long periods of time. Although color choice is a primary factor in designing any type of website, this is especially true when designing a website for children since colors make a big impression on children’s young minds. Color choices and combinations that would likely be rejected or laughed at when designing a typical website may be welcomed on a website for children.

How many of the color combinations used in the screenshots below would succeed on a website aimed at an adult audience? Not many. So, when designing a site aimed at kids, use bright, vivid colors that will visually stimulate in an unforgettable way.

PBS KIDS