Author Archive

An Introduction To CSS3 Keyframe Animations

Advertisement in An Introduction To CSS3 Keyframe Animations
 in An Introduction To CSS3 Keyframe Animations  in An Introduction To CSS3 Keyframe Animations  in An Introduction To CSS3 Keyframe Animations

By now you’ve probably heard at least something about animation in CSS3 using keyframe-based syntax. The CSS3 animations module in the specification has been around for a couple of years now, and it has the potential to become a big part of Web design.

Using CSS3 keyframe animations, developers can create smooth, maintainable animations that perform relatively well and that don’t require reams of scripting. It’s just another way that CSS3 is helping to solve a real-world problem in an elegant manner. If you haven’t yet started learning the syntax for CSS3 animations, here’s your chance to prepare for when this part of the CSS3 spec moves past the working draft stage.

In this article, we’ll cover all the important parts of the syntax, and we’ll fill you in on browser support so that you’ll know when to start using it.

Animated-scene in An Introduction To CSS3 Keyframe Animations

A Simple Animated Landscape Scene

For the purpose of this article, I’ve created a simple animated landscape scene to introduce the various aspects of the syntax. You can view the demo page to get an idea of what I’ll be describing. The page includes a sidebar that displays the CSS code used for the various elements (sun, moon, sky, ground and cloud). Have a quick look, and then follow along as I describe the different parts of the CSS3 animations module.

(NOTE: Safari has a bug that prevents the animation from finishing correctly. This bug seems to be fixed in Safari using a WebKit nightly build, so future versions of Safari should look the same as Chrome. See more under the heading “The Animation’s Fill Mode”)

I’ll describe the CSS related to only one of the elements: the animated sun. That should suffice to give you a good understanding of keyframe-based animations. For the other elements in the demo, you can examine the code on the demo page using the tabs.

The Keyframe @ Rule

The first unusual thing you’ll notice about any CSS3 animation code is the keyframes @ rule. According to the spec, this specialized CSS @ rule is followed by an identifier (chosen by the developer) that is referred to in another part of the CSS.

The @ rule and its identifier are then followed by a number of rule sets (i.e. style rules with declaration blocks, as in normal CSS code). This chunk of rule sets is delimited by curly braces, which nest the rule sets inside the @ rule, much as you would find with other @ rules.

Here’s the @ rule we’ll be using:

@-webkit-keyframes sunrise {
	/* rule sets go here … */
}

The word sunrise is an identifier of our choosing that we’ll use to refer to this animation.

Notice that I’m using the -webkit- prefix for all of the code examples here and in the demo. I’ll discuss browser support at the end of this article, but for now it’s enough to know that the only stable browsers that support these types of animations are WebKit-based ones.

The Keyframe Selectors

Let’s add some rule sets inside the @ rule:

@-webkit-keyframes sunrise {
   0% {
      bottom: 0;
      left: 340px;
      background: #f00;
   }

   33% {
      bottom: 340px;
      left: 340px;
      background: #ffd630;
   }

   66% {
      bottom: 340px;
      left: 40px;
      background: #ffd630;
   }

   100% {
      bottom: 0;
      left: 40px;
      background: #f00;
   }
}

With the addition of those new rule sets, we’ve introduced the keyframe selector. In the code example above, the keyframe selectors are 0%, 33%, 66%, and 100%. The 0% and 100% selectors could be replaced by the keywords “from� and “to,� respectively, and you would get the same results.

Each of the four rule sets in this example represents a different snapshot of the animated element, with the styles defining the element’s appearance at that point in the animation. The points that are not defined (for example, from 34% to 65%) comprise the transitional period between the defined styles.

Although the spec is still in development, some rules have been defined that user agents should follow. For example, the order of the keyframes doesn’t really matter. The keyframes will play in the order specified by the percentage values, and not necessarily the order in which they appear. Thus, if you place the “to� keyframe before the “from� keyframe, the animation would still play the same way. Also, if a “to� or “from� (or its percentage-based equivalent) is not declared, the browser will automatically construct it. So, the rule sets inside the @ rule are not governed by the cascade that you find in customary CSS rule sets.

The Keyframes That Animate the Sun

For the purpose of animating the sun in this demo, I’ve set four keyframes. As mentioned, the code above includes comments that describe the changes.

In the first keyframe, the sun is red (as if it were just rising or setting), and it is positioned below ground (i.e. not visible). Naturally, the element itself must be positioned relatively or absolutely in order for the left and bottom values to have any effect. I’ve also used z-index to stack the elements (to make sure, for example, that the ground is above the sun). Take note that the only styles shown in the keyframes are the styles that are animated. The other styles (such as z-index and position, which aren’t animated) are declared elsewhere in the style sheet and thus aren’t shown here.

0% {
	bottom: 0; /* sun at bottom */
	left: 340px; /* sun at right */
	background: #f00; /* sun is red */
}

About one third of the way into the animation (33%), the sun is on the same horizontal plane but has risen and changed to a yellow-orange (to represent full daylight):

33% {
	bottom: 340px; /* sun rises */
	left: 340px;
	background: #ffd630; /* changes color */
}

Then, at about two thirds into the animation (66%), the sun has moved to the left about 300 pixels but stays on the same vertical plane. Notice something else in the 66% keyframe: I’ve repeated the same color from the 33% keyframe, to keep the sun from changing back to red too early.

66% {
	bottom: 340px;
	left: 40px; /* sun moves left across sky */
	background: #ffd630; /* maintains its color */
}

Finally, the sun gradually animates to its final state (the full red) as it disappears below the ground.

100% {
	bottom: 0; /* sun sets */
	left: 40px;
	background: #f00; /* back to red */
}

Associating The Animation Name With An Element

Here’s the next chunk of code we’ll add in our example. It associates the animation name (in this case, the word sunrise) with a specific element in our HTML:

#sun.animate {
	-webkit-animation-name: sunrise;
}

Here we’re introducing the animation-name property. The value of this property must match an identifier in an existing @keyframes rule, otherwise no animation will occur. In some circumstances, you can use JavaScript to set its value to none (the only keyword that has been reserved for this property) to prevent an animation from occurring.

The object we’ve targeted is an element with an id of sun and a class of animate. The reason I’ve doubled up the id and class like this is so that I can use scripting to add the class name animate. In the demo, I’ve started the page statically; then, with the click of a button, all of the elements with a particular class name will have another class appended called animate. This will trigger all of the animations at the same time and will allow the animation to be controlled by the user.

Of course, that’s just one way to do it. As is the case with anything in CSS or JavaScript, there are other ways to accomplish the same thing.

The Animation’s Duration And Timing Function

Let’s add two more lines to our CSS:

#sun.animate {
	-webkit-animation-name: sunrise;
	-webkit-animation-duration: 10s;
	-webkit-animation-timing-function: ease;
}

You can specify the duration of the animation using the animation-duration property. The duration represents the time taken to complete a single iteration of the animation. You can express this value in seconds (for example, 4s), milliseconds (2000ms), and seconds in decimal notation (3.3s).

The specification doesn’t seem to specify all of the available units of time measurement. However, it seems unlikely that anyone would need anything longer than seconds; and even then, you could express duration in minutes, hours or days simply by calculating those units into seconds or milliseconds.

The animation-timing-function property, when declared for the entire animation, allows you to define how an animation progresses over a single iteration of the animation. The values for animation-timing-function are ease, linear, ease-out, step-start and many more, as outlined in the spec.

For our example, I’ve chosen ease, which is the default. So in this case, we can leave out the property and the animation will look the same.

Additionally, you can apply a specific timing function to each keyframe, like this:

@-webkit-keyframes sunrise {
   0% {
      background: #f00;
      left: 340px;
      bottom: 0;
      -webkit-animation-timing-function: ease;
   }

   33% {
      bottom: 340px;
      left: 340px;
      background: #ffd630;
      -webkit-animation-timing-function: linear;
   }

   66% {
      left: 40px;
      bottom: 340px;
      background: #ffd630;
      -webkit-animation-timing-function: steps(4);
   }

   100% {
      bottom: 0;
      left: 40px;
      background: #f00;
      -webkit-animation-timing-function: linear;
   }
}

A separate timing function defines each of the keyframes above. One of them is the steps value, which jerks the animation forward a predetermined number of steps. The final keyframe (100% or to) also has its own timing function, but because it is for the final state of a forward-playing animation, the timing function applies only if the animation is played in reverse.

In our example, we won’t define a specific timing function for each keyframe, but this should suffice to show that it is possible.

The Animation’s Iteration Count And Direction

Let’s now add two more lines to our CSS:

#sun.animate {
	-webkit-animation-name: sunrise;
	-webkit-animation-duration: 10s;
	-webkit-animation-timing-function: ease;
	-webkit-animation-iteration-count: 1;
	-webkit-animation-direction: normal;
}

This introduces two more properties: one that tells the animation how many times to play, and an indicator that tells the animation to animate back to the start position.

The animation-iteration-count property is set to 1, meaning that the animation will play only once. This property accepts an integer value or infinite.

In addition, the animation-direction property is set to normal (the default), which means that the animation will play in the same direction (from start to finish) each time it runs. In our example, the animation is set to run only once, so the property is unnecessary. The other value we could specify here is alternate, which makes the animation play in reverse on every other iteration. Naturally, for the alternate value to take effect, the iteration count needs to have a value of 2 or higher.

The Animation’s Delay And Play State

Let’s add another two lines of code:

#sun.animate {
	-webkit-animation-name: sunrise;
	-webkit-animation-duration: 10s;
	-webkit-animation-timing-function: ease;
	-webkit-animation-iteration-count: 1;
	-webkit-animation-direction: normal;
	-webkit-animation-delay: 5s;
	-webkit-animation-play-state: running;
}

First, we introduce the animation-delay property, which does exactly what you would think: it allows you to delay the animation by a set amount of time. Interestingly, this property can have a negative value, which moves the starting point partway through the animation according to negative value.

The animation-play-state property, which might be removed from the spec, accepts one of two possible values: running and paused. This value has limited practical use. The default is running, and the value paused simply makes the animation start off in a paused state, until it is manually played. You can’t specify a paused state in the CSS for an individual keyframe; the real benefit of this property becomes apparent when you use JavaScript to change it in response to user input or something else.

The Animation’s Fill Mode

We’ll add one more line to our code, the property to define the “fill mode�:

#sun.animate {
	-webkit-animation-name: sunrise;
	-webkt-animation-duration: 10s;
	-webkit-animation-timing-function: ease;
	-webkit-animation-iteration-count: 1;
	-webkit-animation-direction: normal;
	-webkit-animation-delay: 5s;
	-webkit-animation-play-state: running;
	-webkit-animation-fill-mode: forwards;
}

The animation-fill-mode property allows you to define the styles of the animated element before and/or after the animation executes. A value of backwards causes the styles in the first keyframe to be applied before the animation runs. A value of forwards causes the styles in the last keyframe to be applied after the animation runs. A value of both does both.

UPDATE: It seems that the animation-fill-mode property has been removed from the spec, or else was never there to begin with, so this property may not end up in the spec. Also, Chrome and Safari respond differently when it is used. Safari will only apply a value of “forwards” if there are exactly two keyframes defined. It always seems to use the 2nd keyframe as the “forwards” state, which is not how Chrome does it; Chrome uses the final keyframe, which seems to be correct behaviour. Additionally, I’ve confirmed that the most up to date WebKit nightly does not have this bug, so future versions of Safari will render this correctly.

Shorthand

Finally, the specification describes shorthand notation for animations, which combines six of the properties described above. This includes everything except animation-play-state and animation-fill-mode.

Some Notes On The Demo Page And Browser Support

As mentioned, the code in this article is for animating only a single element in the demo: the sun. To see the full code, visit the demo page. You can view all of the source together or use the tabs in the sidebar to view the code for individual elements in the animation.

The demo does not use any images, and the animation does not rely on JavaScript. The sun, moon and cloud are all created using CSS3’s border-radius, and the only scripting on the page is for the tabs on the right and for the button that lets users start and reset the animation.

If you view the page in anything but a WebKit browser, it won’t work. Firefox does not currently support keyframe-based animation, but support is expected for Firefox 5, and the -moz-based syntax for animations is supported in the latest Aurora build. So, to make the source code as future-proof as possible, I’ve included all of the -moz prefixes along with the standard syntax.

Here are the browsers that support CSS3 keyframe animations:

  • Chrome 2+,
  • Safari 4+,
  • Firefox 5+,
  • iOS Safari 3.2+,
  • Android 2.1+.

Although no official announcement has been made, support in Opera is expected. There’s no word yet on support in IE.

Further Reading

(al) (vf) (il)


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


Upcoming Conferences and Events for Designers and Developers in 2011

Advertisement in Upcoming Conferences and Events for Designers and Developers in 2011
 in Upcoming Conferences and Events for Designers and Developers in 2011  in Upcoming Conferences and Events for Designers and Developers in 2011  in Upcoming Conferences and Events for Designers and Developers in 2011

We’re well into 2011, and many designers and developers around the world are planning their travels for the year, including the possibility of attending any Web design or development conferences. To help you out with your plans for the upcoming months, we’ve put together a list of conferences and events that you might want to consider.

This particular post covers events taking place in about a six month timeframe that ends in late August and early September. Later this year, we’ll post another article like this at the end of August that will cover events covering a six-month period beginning in September.

As always, there is no way for us to be able to include every possible event here, but we’ll be glad to update the list if you provide a comment to an upcoming event that you feel would be of interest to Smashing Magazine’s readers. This may also be the chance to eventually meet each other this year.

Choose the month that interests you most:

March 2011 Events

Drupalcon Chicago
“In March of 2011, thousands of Drupal users, developers, designers, evaluators and businesspeople will descend on Chicago’s Sheraton Hotel and Towers for sessions, talks, code sprints, and more at DrupalCon Chicago. Whether you’re already using Drupal or considering it for your company or organization, you won’t want to miss out on this one-of-a-kind event.”

When: March 7 – 10, 2011
Where: Chicago, IL, USA at the Sheraton Chicago Hotel

Events-2011-107 in Upcoming Conferences and Events for Designers and Developers in 2011

FITC Amsterdam
“FITC Amsterdam will feature over 50 presentations and panels covering the Creative, Technical, and Business aspects of Flash and digital media. The conference offers two full days and nights of events, plus one day of optional pre-festival workshops and over 750 attendees anticipated from around the globe.”

When: March 8 – 9, 2011
Where: Amsterdam, the Netherlands at De Meervaart

Events-2011-108 in Upcoming Conferences and Events for Designers and Developers in 2011

SXSW Interactive
“SXSW® Interactive features five days of compelling presentations from the brightest minds in emerging technology, scores of exciting networking events hosted by industry leaders, the incredible new SXSW Trade Show and an unbeatable lineup of special programs showcasing the best new digital works, video games and innovative ideas the international community has to offer.”

When: March 11 – 15, 2011
Where: Austin, TX, USA

Events-2011-147 in Upcoming Conferences and Events for Designers and Developers in 2011

The Big M
“The Big M is a brand new independent mobile focused event aimed at those who want to learn from and connect with the very best people in the industry. Join us in beautiful Bath for two days of sessions and workshops on mobile development, mobile design and mobile business. Hear from leading industry figures, be inspired and connect.”

When: March 20 – 22, 2011
Where: Bath, UK

The-big-m in Upcoming Conferences and Events for Designers and Developers in 2011

SES Conference & Expo
“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: Various dates starting March 21, 2011
Where: New York, Shanghai, Toronto, San Francisco, Chicago

Ses-2011 in Upcoming Conferences and Events for Designers and Developers in 2011

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: March 27 – 30, 2011
Where: Orlando, FL, USA at the Grande Lakes JW Marriott Resort Hotel

Dc-2011 in Upcoming Conferences and Events for Designers and Developers in 2011

An Event Apart Seattle
“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: March 28 – 30, 2011
Where: Seattle, WA, USA at the Bell Harbor Conference Center

Aea1-2011 in Upcoming Conferences and Events for Designers and Developers in 2011

Web 2.0 Expo
“Web 2.0 Expo, co-produced by O’Reilly Media, Inc. and UBM TechWeb, showcases the latest Web 2.0 business models, development paradigms, products, and design strategies for the builders of the next-generation Web.”

When: March 28 – 31, 2011
Where: San Francisco, CA, USA at Moscone West

Web2-2011 in Upcoming Conferences and Events for Designers and Developers in 2011

Photoshop World Conference & Expo
“Designed to help you boost your training and experience, the Photoshop World graphic design and photography convention offers three days of pulse-pounding training with classes from renowned experts in the field and a once-in-a-lifetime experience guaranteed to enhance your skill set and help your work soar to new heights!”

When: March 30 – April 1, 2011
Where: Orlando, FL, USA at the Orange County Convention Center

Psw-2011 in Upcoming Conferences and Events for Designers and Developers in 2011

IA Summit
“The IA Summit is the premier destination for those who practice, research and are interested in the structural design of shared information environments. Some call themselves information architects (and many don’t) but all share a common desire to help people live better lives through meaningful experiences with information.”

When: March 30 – April 3, 2011
Where: Denver, CO, USA at the Colorado Convention Center

Events-2011-117 in Upcoming Conferences and Events for Designers and Developers in 2011

Think Vitamin Online Conferences
“Membership includes valuable conferences. You can attend live, watch the video later or view videos of past online conferences. Ask the speakers your questions and chat with the other attendees.”

When: Numerous dates starting March 2011
Where: Online

Tv-2011 in Upcoming Conferences and Events for Designers and Developers in 2011

The Usability Week 2011 Conference
“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. In place of scattered, shallow talks, Usability Week offers up to 6 days of deep learning as international experts lead full-day tutorials.”

When: Various dates between February 28 – May 13, 2011
Where: Hong Kong, Melbourne, London, Washington, and Minneapolis

Events-2011-1042 in Upcoming Conferences and Events for Designers and Developers in 2011

April 2011 Events

FFK11
“The conference offers about 30 sessions about developing and designing applications and Web sites. 10 full day workshops with just 19 attendees in each workshop are available as well”.

When: April 5 – 8, 2011
Where: MediaPark, Cologne, Germany

Ffk in Upcoming Conferences and Events for Designers and Developers in 2011

Scottish Ruby Conference
“The Scottish Ruby Conference rebrands the successful Scotland on Rails conference.”

When: April 7 – 9, 2011
Where: Edinburgh, Scotland at the Royal College of Physicians

Events-2011-118 in Upcoming Conferences and Events for Designers and Developers in 2011

Voices That Matter: iPhone Developers Conference
“Reinforce your skills and discover emerging trends this April at the Voices That Matter: iPhone Developers Conference, where we will connect you with some of the biggest names in the industry, as they teach you how to create effective user interfaces, utilizing exciting design and the latest technology, for the iPhone, iPad, or both.”

When: April 9 – 10, 2011
Where: Seattle, WA, USA at the Bell Harbor International Conference Center

Idc-2011 in Upcoming Conferences and Events for Designers and Developers in 2011

CodeConf
“Coding is about more than code. Whether it’s building a solid community, writing good documentation, or hacking space exploration, CodeConf is about improving the software ecosystem through best practices. Come with an open mind and leave a better programmer.”

When: April 9 – 10, 2011
Where: San Francisco, CA, USA at the Hyatt Regency

Loc-2011 in Upcoming Conferences and Events for Designers and Developers in 2011

360|Flex Conferences
“360|Flex is the first and still the best Adobe Flex developer conference in the world. We’re not a publishing company pushing books, or a media company selling subscriptions. We’re a conference company, focused on community. Our goal is to bring the best and brightest in the developer community together for 4 days of incredible sessions, awesome parties, good times, and learning.”

When: April 10 – 13, 2011
Where: Denver, CO, USA at the Marriot Denver South

Flex-2011 in Upcoming Conferences and Events for Designers and Developers in 2011

Breaking Development Conference
“Join us for two days of quality talks describing how to design, develop, and leverage the mobile web. Our speakers will walk you through mobile strategies appropriate for your company, design considerations for the mobile platform, development techniques, and how to use web technologies to build cross platform applications.”

When: April 11 – 12, 2011
Where: Dallas, TX, USA at the Gaylord Texan in Grapevine

Bdc-2011 in Upcoming Conferences and Events for Designers and Developers in 2011

O’Reilly MySQL Conference & Expo
“The O’Reilly MySQL Conference & Expo is an interactive learning community—four days packed with connections to MySQL developers and open source experts who know their subject inside and out. You’ll gain unique insights from speakers, vendors, project leaders, and other participants who are using MySQL to successfully run the world’s most demanding applications, saving millions of dollars over proprietary software and hardware solutions.”

When: April 11 – 14, 2011
Where: Santa Clara, CA, USA at the The Hyatt Regency

Mysql-2011 in Upcoming Conferences and Events for Designers and Developers in 2011

MIX11
“MIX is a gathering of developers, designers, UX experts and business professionals creating the most innovative and profitable consumer sites on the web. Sessions range from technical, code-based topics to expert advice on content strategy, usability and design. Explore the future of the standards-based web — join the conversation at MIX11.”

When: April 12 – 14, 2011
Where: Las Vegas, NV, USA at the Mandalay Bay Convention Center

Events-2011-122 in Upcoming Conferences and Events for Designers and Developers in 2011

UX London
“UX London is a unique three-day event combining inspirational talks with in-depth workshops presented by some of the industry’s biggest names. Whether you’re beginning your career, or a seasoned professional, UX London is your chance to add core skills, absorb strategic thinking, and learn advanced techniques from pioneers in the field.”

When: April 13 – 15, 2011
Where: London, UK at the Cumberland Hotel

Events-2011-123 in Upcoming Conferences and Events for Designers and Developers in 2011

WebDU
“webDU is the premier Antipodean Web Technology Conference, taking place 14-15 April 2011 in Sydney, Australia. This is the ninth year the conference will be held. The conference offers the opportunity to get hands-on technical training, gain new skills, hear breaking news from the Web Industry, network with peers and industry leaders, and ultimately become more successful developing and delivering web applications.”

When: April 14 – 15, 2011
Where: Sydney, Australia at the Four Points by Sheraton Sydney, Darling Harbour

Events-2011-124 in Upcoming Conferences and Events for Designers and Developers in 2011

Where 2.0
“The O’Reilly Where 2.0 Conference explores the intersection of location technologies and trends in software development, business strategies, and marketing. The source for all things location-aware, Where 2.0 brings together CTOs, marketers, developers, technologists, researchers, geographers, startups, business developers, and entrepreneurs.”

When: April 19 – 21, 2011
Where: Santa Clara, CA, USA at the Santa Clara Convention Center

Events-2011-125 in Upcoming Conferences and Events for Designers and Developers in 2011

The Next Web Conference
“The Next Web brings together the best from Europe and the United States to look at overall Internet trends.”

When: April 27 – 29, 2011
Where: Amsterdam, the Netherlands

Tnw-2011 in Upcoming Conferences and Events for Designers and Developers in 2011

LessConf
“LessConf is a two-day conference with just 225 attendees. Lunch is provided on site. You’ll get the meet the speakers. You’ll get inspired (again). Between speakers and during lunch there are tons of opportunities to meet others in our industry. At LessConf you will hear great speakers, meet amazing people, and develop relationships.”

When: April 29 – 30, 2011
Where: Atlanta, GA, USA at the Georgia Institute Of Technology

Events-2011-148 in Upcoming Conferences and Events for Designers and Developers in 2011

May 2011 Events

JSConf
“JSConf is one of the best tech conferences out there and rightly so, because JavaScript or JS is one of the best languages out there. The core focus of this conference is to present the wonders of JavaScript that are often overlooked. The content of the conference caters to all types of JavaScript developers from client interface to server development to testing.”

When: May 2 – 3, 2011
Where: Portland, OR, USA at the Portland Art Museum

Jsct-2011 in Upcoming Conferences and Events for Designers and Developers in 2011

FITC Toronto 2011
“Now in its 10th year, FITC Toronto is one of the largest and longest running events of its kind in the world. With some of the most unique and engaging presenters from around the globe, FITC Toronto is a three day blitz of presentations, demonstrations, and panel discussions, sandwiched between our legendary FITC parties and abundant networking opportunities. Topped off with the FITC Award Show, it’s three days and nights that will leave you inspired, energized and awed.”

When: May 2 – 4, 2011
Where: Toronto, ON, Canada at the Guvernment

Events-2011-129 in Upcoming Conferences and Events for Designers and Developers in 2011

An Event Apart Boston
“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: May 2 – 4, 2011
Where: Boston, MA, USA at the Marriott Copley Place

Aea2-2011 in Upcoming Conferences and Events for Designers and Developers in 2011

CMS Expo
“You’re invited to compare the best of the best in CMS and learn first-hand, from leading developers, designers and business minds of our time.”

When: May 2 – 4, 2011
Where: Chicago, Illinois, USA at the Hilton Orrington Hotel

Events-2011-131 in Upcoming Conferences and Events for Designers and Developers in 2011

WordCamp Developers
“The conference will feature 2 tracks, one targeting WordPress UX topics and issues, and the other targeting strictly development issues. The day will also be host to a WordPress Un-Conference where participants are encouraged to pitch talks and join in discussion.”

When: May 5, 2011
Where: Vancouver, BC, Canada

Wcd-2011 in Upcoming Conferences and Events for Designers and Developers in 2011

Make Web Not War
“At this conference, attendees will have the opportunity to learn about the latest technologies and techniques available to the ever-evolving web community. Here we will explore the power and flexibility of new web paradigms, mixed web environments, interoperable applications, and PHP on Windows and Azure. MWNW is about bridging the gap between different platforms, communities, and developers of all trades and backgrounds.”

When: May 6 – 7, 2011
Where: Vancouver, BC, Canada

Events-2011-132 in Upcoming Conferences and Events for Designers and Developers in 2011

J and Beyond
“An International Joomla! Conference.”

When: May 6 – 8, 2011
Where: Kercrade, the Netherlands at the Rolduc Conference Centre

Jab-2011 in Upcoming Conferences and Events for Designers and Developers in 2011

Google I/O Developer Conference
“Google I/O brings together thousands of developers for two days of deep technical content, focused on building the next generation of web, mobile, and enterprise applications with Google and open web technologies such as Android, Google Chrome, Google APIs, Google Web Toolkit, App Engine, and more.”

When: May 10 – 11, 2011
Where: San Francisco, CA, USA at the Moscone Center

Gio-2011 in Upcoming Conferences and Events for Designers and Developers in 2011

UX Lx: User Experience Lisbon
“Three eventful days in Lisbon to learn from world renowned speakers and meet UX Professionals from around the world. Hone up your skills with 16 practical workshops, 26 thought provoking talks and enjoy the city with lots of networking activities.”

When: May 11 – 13, 2011
Where: Lisbon, Portugal at the FIL Meeting Centre

Events-2011-134 in Upcoming Conferences and Events for Designers and Developers in 2011

Mobilism
“In two days we’ll explore the mobile world from a web-centric point of view. All of our speakers are deeply rooted in the web and have at one time or another decided to take their talent to mobile. They will teach you which web techniques work on mobile, which don’t, and which new ones you need in order to keep up with a rapidly changing web.”

When: May 12 – 13, 2011
Where: Amsterdam, the Netherlands, in Felix Meritis

Events-2011-135 in Upcoming Conferences and Events for Designers and Developers in 2011

Web Directions Unplugged
“HTML5 is fast becoming the way to develop not just web apps, but native apps for platforms like Android, iOS and webOS. Join us for two groundbreaking days of practical development and design presented by leading experts in this exploding field.”

When: May 12 – 13, 2011
Where: Seattle, WA, USA at The Conference Center

Events-2011-136 in Upcoming Conferences and Events for Designers and Developers in 2011

Valio Con
“Conference at the beach where it’s all about actual fun and not sitting in a hotel lobby the entire time.”

When: May 13 – 15, 2011
Where: San Diego, CA, USA

Vc-2011 in Upcoming Conferences and Events for Designers and Developers in 2011

RailsConf
“RailsConf, co-produced by Ruby Central, Inc. and O’Reilly Media, Inc., is the largest official conference dedicated to everything Ruby on Rails. Through keynotes, sessions, tutorials, events, and of course lots of hallway hacking, RailsConf is the meeting place for the Ruby on Rails community.”

When: May 16 – 19, 2011
Where: Baltimore, MD, USA

Events-2011-138 in Upcoming Conferences and Events for Designers and Developers in 2011

Future of Web Design
“The Future of Web Design is coming back to London in 2011. Following on from the success of last year we will be bringing you a beautiful three full days of essential web learning.”

When: May 17-18, 2011
Where: London, UK at the The Brewery

Fowd-2011 in Upcoming Conferences and Events for Designers and Developers in 2011

Falsy Values
“A true JavaScript event.”

When: May 18 – 20, 2011
Where: Warsaw, Poland

Fv-2011 in Upcoming Conferences and Events for Designers and Developers in 2011

TYPO Berlin
“To shift is to pick up speed, to push the envelope, to change your perspective. All three are useful strategies for TYPO 2011, in order to bring visual communications in line with the latest developments in technology.”

When: May 19 – 21, 2011
Where: Berlin, Germany

Events-2011-140 in Upcoming Conferences and Events for Designers and Developers in 2011

InDesignSecretsLive Print and ePublishing Conference
“Founded by world-renowned InDesign experts David Blatner and Anne-Marie Concepción, and dedicated to the proposition that InDesign professionals deserve a great learning experience, the Print and ePublishing Conference brings together over a dozen of the leading InDesign experts minds for three days of non-stop inspiration and education!”

When: May 23 – 25, 2011
Where: Alexandria, VA, USA at the Westin Alexandria

Ids-2011 in Upcoming Conferences and Events for Designers and Developers in 2011

Gravity Free
“GRAVITY FREE 2011 is a celebration of excellence in multidisciplinary design innovation. It stars a remarkable cast of world-class designers who are changing the way we see the world, from a diverse group of design disciplines”

When: May 24 – 26, 2011
Where: San Francisco, CA, USA at the

Gf-2011 in Upcoming Conferences and Events for Designers and Developers in 2011

Web Directions @media
“HTML5, CSS3, JavaScript, Mobile, Interaction Design, User Experience, and everything else that’s hot right now—it’s all on the carefully curated Web Directions @media program for 2011.”

When: May 24 – 27, 2011
Where: London, UK at Queen Elizabeth Hall

Events-2011-141 in Upcoming Conferences and Events for Designers and Developers in 2011

mesh conference
“mesh is happening because the five founders (see below) believed that Toronto deserved to have a world-class conference where people with an enthusiasm for the Web could talk about how it is affecting the media, marketing, business and society as a whole.”

When: May 25 – 26, 2011
Where: Toronto, ON, Canada

Mesh-2011 in Upcoming Conferences and Events for Designers and Developers in 2011

WebVisions
“WebVisions explores the future of design, content creation, user experience and business strategy to uncover the trends and agents of change that will shatter your assumptions about the Web. Be ready to network, share ideas and be inspired by an all-star lineup of speakers.”

When: May 25 – 27, 2011
Where: Portland, OR, USA at the Oregon Convention Center

Events-2011-143 in Upcoming Conferences and Events for Designers and Developers in 2011

International PHP Conference
“The IPC 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. We will show how to scale your applications, explain the details of Continuous Integration or evaluate different approaches to NoSQL.”

When: May 29 – June 11
Where: Berlin, Germany at the Maritim proArte Hotel

Events-2011-144 in Upcoming Conferences and Events for Designers and Developers in 2011

webinale
“Business, Design and Technology are the three basic pillars for success on the World Wide Web. This webinar has been prescribed for these three pillars of the first conference in 2007.”

When: May 30 – June 1, 2011
Where: Berlin, Germany at the Maritim proArte Hotel

Webinale-2011 in Upcoming Conferences and Events for Designers and Developers in 2011

June 2011 Events

Interlink Web Design Conference
“nterlink Conference will be a small and carefully crafted 3-day web event that will appeal to all web professionals. This international web design conference welcomes website architects, usability specialists, project managers, marketing coordinators, web developers, website designers and any other online professional that wants to meet others in the industry and get inspired.”

When: June 2 – 4, 2011
Where: Vancouver, BC, Canada at The Capilano Performing Arts Theatre

Events-2011-201 in Upcoming Conferences and Events for Designers and Developers in 2011

Internet Week
“Since 2008, Internet Week has taken place all over the city, thanks to our many partners hosting diverse events in different locations. The result is a critical mass of web-focused events that raises the profile of NYC’s industry as a whole, as well as the partners who participate.”

When: June 6 – 13, 2011
Where: New York City, NY, USA at Metropolitan Pavilion & The Altman Building, and around NYC

Events-2011-202 in Upcoming Conferences and Events for Designers and Developers in 2011

DIBI Conference
“DIBI (pronounced “dibby”), is the annual Design It. Build It. Conference held at The Sage Gateshead in the North East of England. DIBI brings together both sides of the web coin for an unusual two-track web conference. World renowned speakers leading in their fields of work will talk about all things web.”

When: June 7 – 8, 2011
Where: Newcastle upon Tyne, UK

Dibi-2011 in Upcoming Conferences and Events for Designers and Developers in 2011

TYPO3
“We invite you to the North American TYPO3 conference held this year in San Francisco. This will be a great time to learn more about the powerful system we use everyday and to connect with other developers from both North America and Europe. Several internationally-known leaders of the TYPO3 community will be attending and presenting.”

When: June 9 – 11, 2011
Where: San Francisco, CA, USA at the Fort Mason Center

Typo3-2011 in Upcoming Conferences and Events for Designers and Developers in 2011

Flash and the City
“Explore, discover, connect.”

When: June 9 – 12, 2011
Where: New York City, NY, USA

Fatc-2011 in Upcoming Conferences and Events for Designers and Developers in 2011

UXcamp Europe
“The main rule of the conference is: No spectators, just participants! This BarCamp-rule does not mean everybody has to do a Session, but everybody should come prepared to participate in an active manner.”

When: June 11 – 12, 2011
Where: Berlin, Germany at Erwin-Schrödinger-Zentrum of the Humboldt University

Events-2011-204 in Upcoming Conferences and Events for Designers and Developers in 2011

WordCamp Kansas City
“WordCamps are community organized meetings for users of WordPress, the blogging platform and content management system that is sweeping the online world.”

When: June 11 – 12, 2011
Where: Kansas City, MO, USA at Johnson County Community College

Wck-2011 in Upcoming Conferences and Events for Designers and Developers in 2011

An Event Apart Atlanta
“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: June 13 – 15, 2011
Where: Atlanta, GA, USA at the InterContinental Atlanta

Aea3-2011 in Upcoming Conferences and Events for Designers and Developers in 2011

140 Character Conference
“The #140conf events provide a platform for the worldwide twitter community to: listen, connect, share and engage with each other, while collectively exploring the effects of the emerging real-time internet on business.”

When: June 15-16, 2011
Where: New York City, NY, USA

140-2011 in Upcoming Conferences and Events for Designers and Developers in 2011

Nordic Ruby Conference
“Come to Nordic Ruby 2011 and you will get a two day, single track Ruby conference, featuring the winning concept of 30 minute talks and 30 minute breaks. Very appreciated last year.”

When: June 16 – 18, 2011
Where: Gothenburg, Sweden

Nr-2011 in Upcoming Conferences and Events for Designers and Developers in 2011

Ampersand
“The Web Typography Conference”

When: June 17, 2011
Where: Brighton, UK

Amp-2011 in Upcoming Conferences and Events for Designers and Developers in 2011

HOW Design Live
“What do you call a mega-gathering of thousands of designers, freelancers, in-house managers and—new for 2011—packaging designers, plus a speaker roster packed with some of the brightest minds in the industry? HOW Design Live! Click the links below for more on each HOW Design Live event, then sign up for The BIG Ticket for exclusive access to all four conferences!”

When: June 22 – 27, 2011
Where: Chicago, IL, USA at the Hyatt Regency

How-2011 in Upcoming Conferences and Events for Designers and Developers in 2011

Eyeo Festival
“Three days of inspirational talks, demos, labs, and workshops and opportunities to connect with people whose extraordinary creations are pushing the envelope. The line up is amazing. 30 brilliant individuals, one amazing collection of talent and insight. Add yourself to the mix, and it just gets better.”

When: June 27 – 29, 2011
Where: Minneapolis, MN, USA at the McNamara Alumini Center

Eyeo-2011 in Upcoming Conferences and Events for Designers and Developers in 2011

Future of Web Apps
“The Future of Web Apps is coming to Las Vegas in 2011. The brand new event is a beautiful three full days of essential web learning.”

When: June 27 – 29, 2011
Where: Las Vegas, NV, USA at Meet exhibition venue

Fowa-2011 in Upcoming Conferences and Events for Designers and Developers in 2011

July 2011 Events

Designer/Developer Workflow Conference
“What’s the big deal about workflow? Workflow is something we all do, day in and day out – although you may not even think about it. Do you work with multiple applications during the day? Do you work with team members, departments, clients, etc.? Improving those workflows is what D2W is all about.”

When: July 14 – 16, 2011
Where: Kansas City, MO, USA at the Crown Plaza Hotel

Ddw-2011 in Upcoming Conferences and Events for Designers and Developers in 2011

Front-End Design Conference
“Front-End Conf is an event dedicated to content, presentation and behavior and to the awesome people in the design and development community.”

When: July 23, 2011
Where: St. Petersburg, FL, USA

Fe-2011 in Upcoming Conferences and Events for Designers and Developers in 2011

The O’Reilly Open Source Convention
“OSCON provides a central place to gain exposure to and evaluate the new projects, tools, services, platforms, languages, software and standards sweeping through the open source community and the broader technology industry.”

When: July 25-29, 2011
Where: Portland, OR, USA

Events-2011-211 in Upcoming Conferences and Events for Designers and Developers in 2011

re:build Conference
“re:build is an intimate one-day event hosted in Downtown Indianapolis. We’re busy lining up some of our favorite speakers from all across the country. ”

When: July 29, 2011
Where: Indianapolis, IN, USA

Events-2011-212 in Upcoming Conferences and Events for Designers and Developers in 2011

UXCampLondon
“A one day BarCamp in Richmond, London for anyone involved or interested in user experience design, interaction design, information architecture or usability.”

When: Summer, 2011
Where: London, UK

Events-2011-213 in Upcoming Conferences and Events for Designers and Developers in 2011

August 2011 Events

An Event Apart Minneapolis
“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: August 8 – 10, 2011, 2011
Where: Minneapolis, MN, USA at the InterContinental Atlanta

Aea4-2011 in Upcoming Conferences and Events for Designers and Developers in 2011

WordCamp
“WordCamp San Francisco is the official annual conference of the WordPress open source project. WordCamp SF 2010 brought together 700+ WordPress users and developers from around the world. In 2011 we’re expanding the programming for publishers, bloggers, and developers.”

When: August 12 – 14, 2011
Where: San Francisco, CA, USA at the Mission Bay Conference Center

Wc-2011 in Upcoming Conferences and Events for Designers and Developers in 2011

Drupalcon London
“DrupalCon is an international event that brings together the people who use, develop, design and support the Drupal platform. DrupalCon London 2011 will feature content from the most influential people and brightest minds within the Drupal community and beyond, in addition to countless opportunities for networking, code sprints, and more.”

When: August 21 – 26, 2011
Where: London, UK

Dcl-2011 in Upcoming Conferences and Events for Designers and Developers in 2011

UX Australia
“The conference covers core user experience design topics – strategy, user-centred design, interaction design, information architecture, information design, service design, content & visual design. It’s not just digital though, and will also include presentations on the design of physical objects and environments.”

When: August 22 – 26, 2011
Where: Sydney, Australia at Four points by Sheraton

Uxa-2011 in Upcoming Conferences and Events for Designers and Developers in 2011

UX Week
“Calling UX professionals (or aspiring professionals) of all levels! Join us at UX Week 2011, the premier user experience conference, for fun times , inspiring sessions on the main stage and roll-up-your-sleeves learning during two full days of workshops. It’s going to rock.”

When: August 23 – 26, 2011
Where: San Francisco, CA at The Mission Bay Conference Center at UCSF

Uxw-2011 in Upcoming Conferences and Events for Designers and Developers in 2011

Related Links

What Event Will You Attend?

Have you attended one of these conferences before, or do you plan to attend any in 2011? Why do you enjoy attending these types of events? Which ones do you recommend and why? Please let us know in the comments.


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


The HTML5 Logo: What Do You Think?

Advertisement in The HTML5 Logo: What Do You Think?
 in The HTML5 Logo: What Do You Think?  in The HTML5 Logo: What Do You Think?  in The HTML5 Logo: What Do You Think?

This has been an interesting week for web design community, to say the least. The W3C revealed a new HTML5 logo to help designers and developers ‘tell the world’ that they’re using HTML5.

Html5-logo-news in The HTML5 Logo: What Do You Think?

The logo was designed by Ocupop, a U.S.-based design agency, and it’s licensed under Creative Commons Attribution 3.0, a permissive license that allows ‘remixing’ of the licensed work. The logo has been made available on stickers and t-shirts, and there’s a gallery already promoting examples of the logo in use.

The logo’s official site includes a “badge builder� that customizes its orientation and allows you to add supplementary icons to indicate support for the different technologies that have become associated with HTML5.

Html5-badges in The HTML5 Logo: What Do You Think?

According to the W3C Blog, the purpose of the logo is as follows:

We intend for it to be an all-purpose banner for HTML5, CSS, SVG, WOFF, and other technologies that constitute an open web platform. The logo does not have a specific meaning; it is not meant to imply conformance or validity, for example. The logo represents “the Web platform” in a very general sense.

That all-encompassing definition has met with some opposition from Jeremy Keith. According to Keith, while he does approve of the logo’s design, he disagrees with the blurring of the lines that separate the web technologies that the logo is supposed to represent. Keith doesn’t have a problem with the media using the term “HTML5″ to cover this broad area, but he feels it’s not appropriate to push this kind of terminology in the web development industry.

In support of the definition, Ocupop Creative Director Michael Nieling said in a statement that “HTML5 needs a consistent, standardized visual vocabulary to serve as a framework for conversations, presentations, and explanations.�

Keith’s concerns are valid. The logo will certainly strengthen the awareness of HTML5 (which is something we all want), but it’s difficult to accept that something like WOFF, which is a web font format and has nothing to do with the HTML5 spec, will fall under the “HTML5″ umbrella. Similarly, CSS3 does not belong in that scope. But interestingly, you’ll notice in that quote from the W3C blog post that the “all-purpose banner” includes “CSS” — so it’s not just CSS3, it’s all of CSS. I can’t see many people being too happy about this.

And if that wasn’t enough, before the web design community had a chance to exhale, the WHATWG Blog published a post entitled “HTML is the new HTML5″, announcing two changes: (1) The HTML specification will be known simply as “HTMLâ€� (dropping the “5â€�); and (2) The spec will be considered a “living standardâ€�, not just a draft, dropping use of the “snapshotâ€� model of development.

What Do You Think?

This article doesn’t intend to offer too much of an opinion on these matters, as it’s still early. But we know many in the industry want to voice their thoughts, so we’re encouraging you to offer your comments on the logo, its stated purpose, and the further developments on the term “HTML5� announced on the WHATWG blog. It certainly has been an important week in web development, so we’d love to get your thoughts on all of this.


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


The HTML5 Logo: What Do You Think?

Advertisement in The HTML5 Logo: What Do You Think?
 in The HTML5 Logo: What Do You Think?  in The HTML5 Logo: What Do You Think?  in The HTML5 Logo: What Do You Think?

This has been an interesting week for the web design community, to say the least. The W3C revealed a new HTML5 logo to help designers and developers ‘tell the world’ that they’re using HTML5. The logo was designed by Ocupop design agency, and it’s licensed under Creative Commons Attribution 3.0, a permissive license that allows ‘remixing’ of the licensed work. The logo has been made available on stickers and t-shirts, and there’s a gallery already promoting examples of the logo in use.

Html5-logo1 in The HTML5 Logo: What Do You Think?

The logo’s official site includes a “badge builder� that customizes its orientation and allows you to add supplementary icons to indicate support for the different technologies that have become associated with HTML5.

Html5-badges in The HTML5 Logo: What Do You Think?

According to the W3C Blog, the purpose of the logo is as follows:

We intend for it to be an all-purpose banner for HTML5, CSS, SVG, WOFF, and other technologies that constitute an open web platform. The logo does not have a specific meaning; it is not meant to imply conformance or validity, for example. The logo represents “the Web platform” in a very general sense.

That all-encompassing definition has met with some opposition from Jeremy Keith. According to Keith, while he does approve of the logo’s design, he disagrees with the blurring of the lines that separate the web technologies that the logo is supposed to represent. Keith doesn’t have a problem with the media using the term “HTML5″ to cover this broad area, but he feels it’s not appropriate to push this kind of terminology in the web development industry.

In support of the definition, Ocupop Creative Director Michael Nieling said in a statement that “HTML5 needs a consistent, standardized visual vocabulary to serve as a framework for conversations, presentations, and explanations.�

Keith’s concerns are valid. The logo will certainly strengthen the awareness of HTML5 (which is something we all want), but it’s difficult to accept that something like WOFF, which is a web font format and has nothing to do with the HTML5 spec, will fall under the “HTML5″ umbrella. Similarly, CSS3 does not belong in that scope. But interestingly, you’ll notice in that quote from the W3C blog post that the “all-purpose banner” includes “CSS” — so it’s not just the new stuff in CSS3, it’s all of CSS. I can’t see many people being too happy about this.

And if that wasn’t enough, before the web design community had a chance to exhale, the WHATWG Blog published a post entitled “HTML is the new HTML5″, announcing two changes: (1) The HTML specification will be known simply as “HTMLâ€� (dropping the “5â€�); and (2) The spec will be considered a “living standardâ€�, not just a draft, dropping use of the “snapshotâ€� model of development.

What Do You Think?

This article doesn’t intend to offer too much of an opinion on these matters, as it’s still early. But we know many in the industry want to voice their thoughts, so we’re encouraging you to offer your comments on the logo, its stated purpose, and the further developments on the term “HTML5� announced on the WHATWG blog. It certainly has been an important week in web development, so we’d love to get your thoughts on all of this.

UPDATE Jan. 25/2011:

Evidently, late last week, just before this article was published, the FAQ was updated, in response to the furor:

Now its meaning excludes the non-HTML5 technologies, leaving those for the supplementary icons. The FAQ says:

This logo represents HTML5, the cornerstone for modern Web applications.


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


Learning to Love HTML5

Smashing-magazine-advertisement in Learning to Love HTML5Spacer in Learning to Love HTML5
 in Learning to Love HTML5  in Learning to Love HTML5  in Learning to Love HTML5

It seems that new resources and articles for teaching and promoting HTML5 are popping up almost daily. We’ve been given HTML5 templates in the form of the HTML5 boilerplate and HTML5 Reset (although they both go beyond just HTML5 stuff). We’ve got a plethora of books to choose from that cover HTML5 and its related technologies. We’ve got shivs, galleries, and a physician to help heal your HTML5 maladies. And don’t forget the official spec.

From my own vantage point — aside from a few disputes about what the term “HTML5″ should and shouldn’t mean — the web design and development community has for the most part embraced all the new technologies and semantics with a positive attitude.

4764451727 2a3517a25f Z in Learning to Love HTML5
Flickr Photo by Jeremy Keith

While it’s certainly true that HTML5 has the potential to change the web for the better, the reality is that these kinds of major changes can be difficult to grasp and embrace. I’m personally in the process of gaining a better understanding of the subtleties of HTML5′s various new features, so I thought I would discuss some things associated with HTML5 that appear to be somewhat confusing, and maybe this will help us all understand certain aspects of the language a little better, enabling us to use the new features in the most practical and appropriate manner possible.

The Good (and Easy) Parts

The good stuff in HTML5 has been discussed pretty solidly in a number of sources including books by Bruce Lawson, Jeremy Keith, and Mark Pilgrim, to name a few. The benefits gained from using HTML5 include improved semantics, reduced redundancies, and inclusion of new features that minimize the need for complex scripting to achieve standard tasks (like input validation in forms, for example).

I think those are all commendable improvements in the evolution of the web’s markup language. Some of the improvements, however, are a little confusing, and do seem to be a bit revolutionary, as opposed to evolutionary, the latter of which is one of the design principles on which HTML5 is based. Let’s look at a few examples, so we can see how flexible and valuable some of the new elements really are — once we get past some of the confusion.

An <article> Isn’t Just an Article

Among the additions to the semantic elements are the new <section> and <article> tags, which will replace certain instances of semantically meaningless <div> tags that we’re all accustomed to in XHTML. The problem arises when we try to decipher how these tags should be used.

Someone new to the language would probably assume that an <article> element would represent a single article like a blog post. But this is not always the case.

Let’s consider a blog post as an example, which is the same example used in the spec. Naturally, we would think a blog post marked up in HTML5 would look something like this:

<article>
<h1>Title of Post</h1>
<p>Content of post...</p>

<p>Content of post...</p>

</article>
<section>
	<section>
	<p>Comment by: Comment Author</p>
	<p>Comment #1 goes here...</p>
	</section> <section> <p>Comment by: Comment Author</p>
	<p>Comment #2 goes here...</p>
	</section> <section> <p>Comment by: Comment Author</p>
	<p>Comment #3 goes here...</p>
	</section>
</section>

For brevity, I’ve left out some of the other HTML5 tags that might go into such an example. In this example, the <article> tags wrap the entire article, then the “section” below it wraps all the comments, each of which is in its own “section” element.

It would not be invalid or wrong to structure a blog post like this. But according to the way <article> is described in the spec, the <article> element should wrap the entire article and the comments. Additionally, each comment itself could be wrapped in <article> tags that are nested within the main <article> tag.

Below is a screen grab from the spec, with <article> tags indicated:

Html5-articles in Learning to Love HTML5
Article tags can be nested inside article tags — a concept that seems confusing at first glance.

So, an <article> element can have other <article> elements nested inside it, thus complicating how we naturally view the word “article”. Bruce Lawson, co-author of Introducing HTML5, attempts to clear up the confusion in this interview:

“Think of <article> not in terms of print, like “newspaper article” but as a discrete entity like “article of clothing” that is complete in itself, but can also mix with other articles to make a wider ensemble.”

— Bruce Lawson

So keep in mind that you can nest <article> elements and an <article> element can contain more than just article content. Bruce’s explanation above is very good and is the kind of HTML5 education that’s needed to help us understand how these new elements can be used.

Section or Article?

Probably one of the most confusing things to figure out when creating an HTML5 layout is whether or not to use <article> or <section>. As I write this sentence, I can honestly say I don’t know the difference without actually looking up what the spec says or referencing one of my HTML5 books. But slowly it’s becoming more clear. I think Jeremy Keith defines <article> best on page 67 of HTML5 for Web Designers:

“The article element is [a] specialized kind of section. Use it for self-contained related content… Ask yourself if you would syndicate the content in an RSS or Atom feed. If the content still makes sense in that context, then article is probably the right element to use.”

— Jeremy Keith, HTML5 for Web Designers

Keith’s explanation helps a lot, but then he goes on to explain that the difference between <article> and <section> is quite small, and it’s up to each developer to decide how these elements should be used. And adding to the confusion is the fact that you can have multiple articles within sections and multiple sections within articles.

As a result, you might wonder why we have both. The main difference is that the <article> element is designed for syndication, whereas the <section> element is designed for document structure and portability. This simple way to view the differences certainly helps make the two new elements a little more distinct. The important thing to keep in mind here is that, despite our initial confusion, these changes, when more widely adopted, are going to help developers and content creators to improve the way they work and the way content is shared.

Headers and Footers (Plural!)

Two other elements introduced in HTML5 are the <header> and <footer> elements. On the surface, these seem pretty straightforward. For years we’ve marking up our website headers and footers with <div id="header">, <div id="footer"> or similar. This is great for DOM manipulation and styling, because we can target these elements directly. But they mean nothing semantically.

“The div element has no defined semantics, and the id attribute has no defined semantics. (User agents are not allowed to infer any meaning from the value of the id attribute.)”

Mark Pilgrim, Dive Into HTML5

HTML5′s introduction of <header> and <footer> elements is the perfect way to remedy this problem of semantics, especially for such often-used elements. But these elements are not as straightforward as they seem. Technically speaking, if every website in the world added one <header> and one <footer> to each of their pages, this would be perfectly valid HTML5. But these new elements are not just limited to use as a “website header” and “website footer”.

A header is designed to mark up introductory or navigational aids, and a footer is designed to contain information about the containing element. For example, if you used the footer element as the footer for a full web page, then in that case copyright, policy links, and related content might be appropriate for it to hold. A header on the same page might contain a logo and navigation bar.

But the same page might also include multiple <section> elements. Each of those sections is permitted to contain its own header and/or footer element. Keith sums up the purpose of these elements well:

“A header will usually appear at the top of a document or section, but it doesn’t have to. It is defined by its content… rather than its position.”

“Like the header element, footer sounds like it’s a description of position, but as with header, this isn’t the case.”

— Jeremy Keith, HTML5 for Web Designers

And the spec adds to Keith’s clarification by noting:

“The header element is not sectioning content; it doesn’t introduce a new section.”

The header element in the HTML5 specification

These explanations help dispel any false assumptions we might have about these new elements, so we can understand how these elements can be used. Really, this method of dividing pages into portable and syndicatible content is just adding semantics to what content creators and developers have been doing for years.

Headings Down A Different Path

Prior to HTML5, heading tags (<h1> through <h6>) were pretty easy to understand. Over the years, some best practices have been adopted in order to improve semantics, SEO, and accessibility. Generally, we’ve become accustomed to including a single <h1> element on each page, with the other heading elements following sequentially without gaps (although sometimes it would be necessary to reverse the order).

With the introduction of HTML5, to use the new structural elements we need to rethink the way we view the structure of our pages.

Here are some things to note about the changes in heading/document structure in HTML5

  • Instead of a single <h1> element per page, HTML5 best practice encourages up to one <h1> for each <section> element (or other section defined by some other means)
  • Although we’re permitted to start a section with an <h2> (or lower-ranked) element, it’s strongly encouraged to start each <section> with an <h1> element to help sections become portable
  • Document nodes are created by sections, not headings (unlike previous versions of HTML)
  • An <hgroup> element is used to group related heading elements that you want to act as a single heading for a defined or implied section; <hgroup> is not used on every set of headings, only those that act as a single unit outside of adjacent content
  • To see if you’re structuring your document correctly, you can use the HTML5 Outliner
  • Despite the above points, whatever heading/document structure you used in HTML4 or XHTML will still be valid HTML5

So, although the old way we structure pages does not amount to invalid HTML5, our view of what constitutes “best practice” document structure is changing for the better.

Block or Inline? Neither! (Sort of…)

For layout and styling purposes, CSS developers are accustomed to HTML elements (for styling and layout purposes) being defined under one of two categories: Block elements and inline elements (although you could divide those two into further categories). This understanding simplified our expectations of an element’s display on any given page, making it easier (once we grasp the difference between the two) to style and manoeuvre the elements.

HTML5 evolves this concept to include multiple categories, none of which is block or inline. Well, theoretically, block and inline elements still exist, but they do so under different labels. Now the different categories of elements include:

I certainly welcome this kind of improvement to more appropriately categorize elements, and I think developers will adapt well to these changes, but it is important that we promote proper nomenclature to ensure minimal confusion over how these elements will display by default. Of all the areas discussed in this article, however, I think this one is the easiest to grasp and accept.

Conclusion

While this summarizes some of what I’ve learned in my study of HTML5, a far better way for anyone to learn about these new features to the markup is to pick up a book on the topic. I highly recommend one of those mentioned in the article, or you can read Mark Pilgrim’s book online.

These new elements and concepts don’t have to be confusing. We can take the time to study them carefully, avoiding confusion and dispelling myths. This will help us enjoy the benefits of these new elements as soon as possible, and will help developers and content creators pave the way towards a more meaningful web — a web that, to paraphrase Jeremy Keith, ‘wouldn’t exist without markup’.

Related Posts

You may be interested in the following related posts:


© Louis Lazaris 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:


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