Warning: fopen(/home/wpconfig/public_html/wp-content/cache/wp_cache_mutex.lock) [function.fopen]: failed to open stream: Permission denied in /home/wpconfig/public_html/wp-content/plugins/wp-cache/wp-cache-phase2.php on line 96

Warning: Cannot modify header information - headers already sent by (output started at /home/wpconfig/public_html/wp-content/plugins/wp-cache/wp-cache-phase2.php:96) in /home/wpconfig/public_html/wp-includes/feed-rss2.php on line 8
Wordpress Blog Services » everywhere http://www.wpconfig.com WP Configuration, WP templates; everything about Wordpress Sat, 31 Jul 2010 13:45:35 +0000 en hourly 1 http://wordpress.org/?v=3.0.1 Your Store Front in WordPress http://www.wpconfig.com/2010/07/16/your-store-front-in-wordpress-4/ http://www.wpconfig.com/2010/07/16/your-store-front-in-wordpress-4/#comments Fri, 16 Jul 2010 01:16:29 +0000 frank http://www.wpconfig.com/2010/07/16/your-store-front-in-wordpress-4/

Few weeks back we showed you teasers of the upcoming themes at templatic and the theme being released today is one of the last of them. Introducing Store Front the finest e-commerce wordpress premium theme you can use to create your online e-commerce business easily in WordPress. This time the theme is introduced in a bit different structure that many businesses use.

The logo at the top along with wide banner is definitely a cool thing to have. After the menu part, the sidebar on the left starting from the top is nice to have – it feels a bit different than the current boring trend everywhere. Also this widget ready sidebar remains consistent throughout your site showcasing the mini shopping basket and other widgets such as shop categories, ad banner, archives, pages etc.

It transforms your WordPress install into a fully functional Ecommerce store complete with backend administration. Use wordpress to easily manage your store that sells Tangible or intangible/digital goods.

This theme utilizes all the standard features of our other e-commerce themes.

  • Revolutionary one click auto install of the theme. Activate and your test site is ready.
  • Different modes of your store: Shopping cart, Digital Goods or Catalog mode
  • Product management
  • Order management
  • Shipping options
  • Multiple payment gateways
  • Grid/List view
  • Bulk product upload
  • User registration
  • Guest checkout
  • Built in multiple product uploader, auto image resize.
  • Specify colors, sizes, tax, weight and other specifications per product.
  • Coupon codes
  • Affiliate module
  • WordPress Blog and pages
  • Fully customizable front page
  • Custom Control Panel
  • Great usability and user friendly structure
  • Auto-resizing product images

Take a look at the live demo of the theme and you can purchase from official Store Front theme sale page.

© %FIRST theman - visit the author for more great content.

]]>
http://www.wpconfig.com/2010/07/16/your-store-front-in-wordpress-4/feed/ 0
When One Word Is More Meaningful Than A Thousand http://www.wpconfig.com/2010/07/15/when-one-word-is-more-meaningful-than-a-thousand-2/ http://www.wpconfig.com/2010/07/15/when-one-word-is-more-meaningful-than-a-thousand-2/#comments Thu, 15 Jul 2010 01:14:59 +0000 frank http://www.wpconfig.com/2010/07/15/when-one-word-is-more-meaningful-than-a-thousand-2/
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 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 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:

Type Website Shortlist Detail
Story BBC div.hpData table.storycontent
Story New York Times div.story div#article
Story CNN ul.cnn_bulletbin li div.cnn_storyarea
Story MSN li.ter div.w649 (?)
Product Amazon div.asinItem -
Product Apple Store li.product div.product-selection
Product Play.com div.info div.dvd
Product YesAsia div.item div#productpage
Video YouTube div.video-cell div.video-info
Video Vimeo div.item div.video_container_hd
Video Dailymotion div.video div.dmco_box
Video eBaum’s World div.mediaitem div#videoContentContainer
Person Facebook div.UIFullListing div.profile_top_wash and div.profile_bottom_wash
Person Last.fm div.user div.user
Person Virb table.people td div#profile_wrapper.artist
Person Twitter div#following_list span.vcard div#profile
Blog post Zeldman - -
Blog post A List Apart div.item - or body.articles
Blog post Jens Meiert div.item .content .col-1
Blog post Webaim div#features div.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:

© %FIRST theman - visit the author for more great content.

]]>
http://www.wpconfig.com/2010/07/15/when-one-word-is-more-meaningful-than-a-thousand-2/feed/ 0
Obsessed With Faces (Photography) http://www.wpconfig.com/2010/07/03/obsessed-with-faces-photography/ http://www.wpconfig.com/2010/07/03/obsessed-with-faces-photography/#comments Sat, 03 Jul 2010 01:03:05 +0000 frank http://www.wpconfig.com/2010/07/03/obsessed-with-faces-photography/
Advertisement in Obsessed With Faces (Photography)
 in Obsessed With Faces (Photography)  in Obsessed With Faces (Photography)  in Obsessed With Faces (Photography)

Every creature has been given a unique face and a distinguished identify. But what if you start seeing faces everywhere, even in inanimate things? Whatever you may think it is, essentially what you’ve got is an incredible concept for photography.

Today we are presenting lovely and pleasant faces which will make you smile. Your creative thinking will come alive by looking on these pictures and you may also get obsessed with faces everywhere.

DSCF6061

Face16 in Obsessed With Faces (Photography)

Hide and Seek

Face7 in Obsessed With Faces (Photography)

DSC01110

Face8 in Obsessed With Faces (Photography)

Here’s Looking At You

Face15 in Obsessed With Faces (Photography)

Eggs ‘n toast

Eggs-n-toast in Obsessed With Faces (Photography)

faccia medicea

Face10 in Obsessed With Faces (Photography)

Ol’ Blue Eyes

Face26 in Obsessed With Faces (Photography)

Kraftprotz

Fist in Obsessed With Faces (Photography)

funny face

Face30 in Obsessed With Faces (Photography)

Hello !

Hello in Obsessed With Faces (Photography)

Building face

House in Obsessed With Faces (Photography)

Smile!

Smile in Obsessed With Faces (Photography)

Happy Knob

Happy-Knob in Obsessed With Faces (Photography)

sit on my face

Face28 in Obsessed With Faces (Photography)

Wall-E’s Bondaged Cousin

Wall-e in Obsessed With Faces (Photography)

box-face

Box-face in Obsessed With Faces (Photography)

worried (´??) ??~

Manhole in Obsessed With Faces (Photography)

A tree with many faces

Tree-free in Obsessed With Faces (Photography)

Faces

Face42 in Obsessed With Faces (Photography)

Robotron 3000

Face50 in Obsessed With Faces (Photography)

Faces Are Everywhere

Face60 in Obsessed With Faces (Photography)

face

Face53 in Obsessed With Faces (Photography)

Confused

Confused in Obsessed With Faces (Photography)

Faces Are Everywhere

Face59 in Obsessed With Faces (Photography)

Faces are everywhere

Face49 in Obsessed With Faces (Photography)

© %FIRST theman - visit the author for more great content.

]]>
http://www.wpconfig.com/2010/07/03/obsessed-with-faces-photography/feed/ 0
Digital Storytelling in Plain English http://www.wpconfig.com/2010/05/25/digital-storytelling-in-plain-english-2/ http://www.wpconfig.com/2010/05/25/digital-storytelling-in-plain-english-2/#comments Tue, 25 May 2010 19:11:27 +0000 frank http://www.wpconfig.com/2010/05/25/digital-storytelling-in-plain-english-2/ I missed this video in Sept 2009 when others shared it initially. Glad to find it now. Clever. The main thing I might include in a 2.0 version is the idea that our brains are wired for stories. The historical basis for storytelling is definitely emphasized in this video already, however. This was a project by education students at Stanford. Great work and a great contribution to the resources available to Storychasers everywhere!

© %FIRST theman - visit the author for more great content.

]]>
http://www.wpconfig.com/2010/05/25/digital-storytelling-in-plain-english-2/feed/ 0
What I Hope You Learned (A Technology 4 Teachers Pecha Kutcha Presentation) http://www.wpconfig.com/2010/04/29/what-i-hope-you-learned-a-technology-4-teachers-pecha-kutcha-presentation-2/ http://www.wpconfig.com/2010/04/29/what-i-hope-you-learned-a-technology-4-teachers-pecha-kutcha-presentation-2/#comments Thu, 29 Apr 2010 12:53:17 +0000 frank http://www.wpconfig.com/2010/04/29/what-i-hope-you-learned-a-technology-4-teachers-pecha-kutcha-presentation-2/ Today I shared a seven minute “Pecha Kutcha” presentation with my “Technology 4 Teachers” students on the topic, “What I hope you learned this semester in our class.” I recorded the audio with my Sony UX-71 digital audio recorder and uploaded / synchronized that mp3 file to my slides on SlideShare this evening:

A “Pecha Kutcha” presentation typically includes twenty slides, and the presenter has twenty seconds per slide to share a story or discuss a topic related to that image. For their final presentation projects, my students are creating their own Pecha Kutcha presentations about topics they self-select. This has proven to be a GREAT activity to focus on digital literacy, good websites for obtaining copyright-friendly / Creative Commons images (like Compfight and FlickrStorm) as well as work on our oral presentation skills. Lots of creativity shown by my students this week in their presentations! These were the topics I addressed in my pecha kutcha:

1. high expectations / dreaming big
2. digital learning
3. blogging (individual and team)
4. hyperlinked writing
5. embed media (images, videos, Google Docs, VoiceThread)
6. geo-apps (Google Maps)
7. wikis (Google Site)
8. online surveys (with SMS, Poll Everywhere, Google forms)
9. screencasting
10. Digital newspapers
11. Microblogging (Twitter)
12. Value of content creation (new Bloom’s)
13. Value of sharing (Diigo, Twitter, open web publishing)
14. Value of backchannels
15. Value of PBL
16. Value of online video
17. Power of visual images (VoiceThread, Pecha Kutcha and Presentation Zen)
18. copyright understanding and respect
19. Importance of co-learning and failure
20. Importance of making a difference!

The complete curriculum for our “Technology 4 Teachers” course is available online in a Google site.

Learn more about pecha kutcha presentations from the English WikiPedia and by viewing examples from pecha-kutcha.org.

Our focus on utilizing “full-bleed” / full screen images during presentations and eliminating text entirely from our PowerPoint / Google Presentation slideshows seemed particularly appropriate today, following Monday’s article in the New York Times, “We Have Met the Enemy and He Is PowerPoint.” I highly recommend Garr Reynold’s book, “Presentation Zen: Simple Ideas on Presentation Design and Delivery” for great ideas along these lines for improving the media presentations you and your students share with others.

H/T to Berlin Fang for sharing the link to that NYT article.

Technorati Tags:
, , , , , , , , , ,

© %FIRST theman - visit the author for more great content.

]]>
http://www.wpconfig.com/2010/04/29/what-i-hope-you-learned-a-technology-4-teachers-pecha-kutcha-presentation-2/feed/ 0
Now Embed Free Online Photo Editor In Your Website With Picmeleo http://www.wpconfig.com/2010/03/04/now-embed-free-online-photo-editor-in-your-website-with-picmeleo-4/ http://www.wpconfig.com/2010/03/04/now-embed-free-online-photo-editor-in-your-website-with-picmeleo-4/#comments Thu, 04 Mar 2010 17:09:16 +0000 frank http://www.wpconfig.com/2010/03/04/now-embed-free-online-photo-editor-in-your-website-with-picmeleo-4/ Picmeleo is a free online photo editor that any third-party developers can easily add Picmeleo to their web service and launch the light-weight yet powerful photo editor whenever their users need to to upload or to edit an image. By adding Picmeleo to your web service, you can now engage your users with even richer content. This is the smartest way to let your users upload and edit images for your service.

Unlike other photo editors, Picmeleo opens within your site and your users never leave your service.. Integration and ease of use. Everything about Picmeleo is designed for easy integration to your website. The lightweight editor does not clutter your service and you can also fully customize Picmeleo’s tool box.

Open Editor

The editor can be launched anywhere in your layout by calling the picmeleoApi.open method. Your open link could look like this:

<a href="javascript:picmeleoApi.open('')" >Open Picmeleo editor</a>

Pass the url of the image if you want the editor to open with a default image. Omitting the url will open an empty editor

Picmeleo

Simple Integration

Integrating Picmeleo to your website couldn’t be easier. Just copy a few lines of embed code and Picmeleo is working on your site!

Custom Tools

Unlike other photo editors, you can customize the tools of Picmeleo any time you want in the online admin interface. Sometimes photo editors can be overwhelming. Picmeleo allows you to pick the tools your users really need. Choose from a growing list of tools including Crop, Scale, Rotate, Auto-fix, Filters and many more.

Multilanguage Support

Picmeleo has built-in multilanguage support and you can easily set the language in the online admin interface. We are still working on different language options at the moment, stay tuned for more.

Picmeleo-photo-editor

Picmeleo can be utilized in numerous places. Think of these examples:

  • social network
  • let your users crop their profile images
  • eCommerce
  • let your users enhance their product images during upload
  • photo gallery
  • let your users easily edit your images online without leaving the site

The possibilities are endless…

Getting Started

Here is a simple example of adding Picmeleo to a site http://www.picmeleo.com/example/
or your can download the source code for the example example.zip.

1. Sign up for Picmeleo

Sign up with the domain of your site. Your editor will work everywhere on your domain and its subdomains.

2. Add Embed Code

Log in and copy the embed code. Insert the embed code to your source code just before the </BODY> tag. Pass the url of your receiver script to the “receiver” option for saving the the image back to your site.

<script type="text/javascript"> 	var picmeleo = { 		key: "[YOUR API KEY]", 		receiver: "[YOUR RECEIVER SCRIPT URL]" 	} </script> <script type="text/javascript"> 	document.write(unescape("%3Cscript src="http://manager.picmeleo.         com/api" type='text/javascript'%3E%3C/script%3E")); </script>

3. How to Save Images Back to Your Website

When the editors Save-button is clicked, the image is uploaded to our service. The url of the uploaded image should then be passed on to your receiver script that can download the image from our servers. For example, you receiver script could look like this:
receiver: http://www.example.com/receiver.php

The image name is passed in the HTTP GET parameter called image. For example, if your receiver script is called receiver.php, our service requests your receiver script with url:
http://www.example.com/receiver.php?image=http://my.picmeleo.com/34098234092840.jpg

Then you can use the image-parameter to download the image from our service and save it locally.

4. Open Editor

The editor can be launched anywhere in your layout by calling the picmeleoApi.open method. Your open link could look like this:

<a href="javascript:picmeleoApi.open('')" >Open Picmeleo editor</a>

Pass the url of the image if you want the editor to open with a default image. Omitting the url will open an empty editor.

© %FIRST theman - visit the author for more great content.

]]>
http://www.wpconfig.com/2010/03/04/now-embed-free-online-photo-editor-in-your-website-with-picmeleo-4/feed/ 0
Design Something Every Day! http://www.wpconfig.com/2009/12/22/design-something-every-day/ http://www.wpconfig.com/2009/12/22/design-something-every-day/#comments Tue, 22 Dec 2009 15:05:43 +0000 frank http://www.wpconfig.com/2009/12/22/design-something-every-day/
Smashing-magazine-advertisement in Design Something Every Day!
 in Design Something Every Day!  in Design Something Every Day!  in Design Something Every Day!

Spacer in Design Something Every Day!

As designers, we’re all trying to get better at what we do. We surf the Web daily for hours trying to find useful tips and tricks to enhance our design skills. But what if we spent less time surfing the Web looking for inspiration and more time creating and designing things?

The Challenge

Someone once said, “Practice makes perfect“. While that statement might not be completely true, I do believe that practice makes you better. That is why in this blog post, I would like to propose something to every designer: Why not try to design something every day for one year?

Actors rehearse their lines until they learn them perfectly. Musicians practice their songs until every note is just right. Athletes practice their particular sport so they can excel. As designers, why can’t we do the same? Ask any successful designer in the community about how they have succeeded and they will attribute much of their success to practice. I challenge you today to design something daily. Take fifteen to twenty minutes that you would normally use to surf the Web today and devote it to designing something.

Most of you are probably thinking that I am out of my mind for proposing this. How can you, as a designer working either for a company or for yourself, find the time to design something daily? More importantly, how will I come up with design ideas for a whole year’s worth of projects? Well, to answer those questions, here are some practical tips.

Some Practical Advice

15 – 20 Minutes Daily

This challenge is for you to practice your skills. It doesn’t have to be a final, polished project, so you can limit it to a short period of time. Additionally, you can actually schedule this as part of your daily routine, which will make you more likely to follow through on your decision to design something daily.

And don’t worry or get discouraged if you miss a day due to other more important commitments. The key is to jump back into it as soon as possible. Keep doing it, and try your best to stay consistent. If you don’t find it reasonable to design something daily for a whole year, then you could try instead for one month, or another more manageable time period.

Design Ideas

You’re probably wondering how you will be able to come up with a fresh new design daily for 365 days. Actually, it’s quite simple. You can use a theme for your designs. Maybe for one month you can try to design something retro. For another month, you can try your hand at some typographic posters. The possibilities are endless. A good example is Jessica Hische. She started a project called the Daily Drop Cap, where she designs a drop cap every day and makes her Drop Cap designs available for free download.

Z-1 in Design Something Every Day!
Daily Drop Cap is Jessica Hische’s personal project: she designs a drop cap every day and makes her designs available for free download.

Another thing you can do is experiment with different ideas that you have. Maybe you’ve been thinking about doing a collage effect, for example. You might have an idea that you’ve been wanting to try, so this might be the perfect time for it. You can also use this "practice time" to try out different tutorials that have caught your attention.

Be Accountable

Some of us will have a hard time staying motivated during such a lengthy commitment. One way to stay motivated is to create a blog specifically for tracking the project’s progress during the year, and post the results daily. People will be expecting to see something from us and this will keep us motivated.

This method of blogging daily for one year has recently been popularized in the mainstream movie Julie and Julia, which follows American author Julie Powell’s year-long attempt to cook every recipe from a famous cookbook by Julia Child, while blogging about the experience each day. In Powell’s experience, her accountability was part of what kept her motivated for the 365 days.

Another way to stay accountable and keep motivated is to get a fellow designer to do the challenge with you. During the year, you can show each other what you’ve designed each day, allowing for some healthy, friendly competition.

It’s Been Done Before

As mentioned, the concept of blogging daily for a full year has been done before in a variety of contexts. It’s also been done successfully by a lot of great designers. Here are some designers that I have asked about designing something daily.

Stephan G. Bucher – The Daily Monster

Daily Monsters Website

Daily-monster in Design Something Every Day!

How long did you design / have you been designing daily?
I filmed myself drawing Daily Monsters for 100 days straight (including weekends and holidays). I capped it at 100 days since I also started animating the Monsters in more and more elaborate ways as the project grew. Since then I’ve done month-long bursts of Daily Monsters, and also documented the making of the book 100 Days of Monsters as a daily process. These days I usually do Monsters with lots of animation for special events or occasions.

What are some challenges associated with designing daily?
The main challenge for me is integrating a daily practice with the demands of my regular work, and my occasional attempts at having a social life. There are just so many hours in the day, and it becomes a nerdy endurance challenge. The process itself is great, though. The real challenge is to not block out everything else.

Can you give me at least 5 benefits of partaking in this daily project?

  1. I got to draw every day again after almost stopping entirely for a few years.
  2. I’m getting better at creating characters every day.
  3. I’m teaching myself how to animate in the process.
  4. When I release the Daily Monsters daily it quickly attracts a great, active, and creative audience of kind, amazing people.
  5. Doing something every day short-circuits procrastination and self-doubt. There’s only time for doing, and doing = happiness.

Where do you get ideas for your daily designs?
The Monsters are a process. As long as I sit myself down and do the work, I don’t have to worry about ideas; they simply appear. That’s the best part. You’d think I’d have learned that lesson now, but I still fall out of the habit, and get right back into my head. “What am I going to draw? Is this any good? What’ll I do next?” When you’re committed to putting something out there every day, you just don’t have the luxury of doubt. And if something comes out a little wonky, well… you know you can redeem yourself the next day.

Any advice for anyone who wants to get started doing this?
Don’t think about it. Don’t plan for it. If I had thought about how much work the Daily Monsters would be, I’d have never started. If you get an idea for something, just sit down and start doing it. Also, you might consider not telling anybody about your daily project until you’re a few days or weeks into it. Commit to it, but allow yourself some privacy to work out the early kinks. Most importantly: Make sure you don’t ever skip a day. If you know you’re going out of town, or if you feel a cold coming on, create a few posts in advance. You mustn’t skip a day. As soon as you’ve skipped one day, it becomes so much easier to skip the second. And then you’re screwed. But here’s the thing: You won’t want to skip. Doing the Daily Monsters was completely addictive. I got to be proud of something I’d done every single day.

Matt Lyon

Make Something Cool Everyday Flickr Group

Matt-lyon in Design Something Every Day!

How long did you design / have you been designing daily?
I’ve been designing on a strictly daily basis since January 1st this year… It was one of my New Year’s resolutions.

What are some challenges associated with designing daily?

Most of the challenges centre upon either time or inspiration, but it’s these challenges that form the reason for doing daily work alongside other commitments.

Can you give me at least 5 benefits of partaking in this daily project?
I’ve discovered plenty of benefits over the year, but I think that these have been the most valuable:

  1. Keeping the creative juices flowing
  2. Working in different ways as a means to overcome potential obstacles (e.g. creating a piece of work with limited materials or within a strict time limit)
  3. Daily work inevitably improves your skills / craft, be it in terms of drawing, using creative software, etc.
  4. Daily work creates its own momentum in terms of recurring themes, directions and ideas, that will feed into other work.
  5. The process instills and supports a sense of discipline to work.
  6. Allows for experimentation and unadulterated freedom to try anything out.

Where do you get ideas for your daily designs?

All of my work evolves from drawing, and for a while many of the themes and ideas in what I create have generated over time through the process of just letting things happen. Simply put, I take a line for a walk and see what happens, be it in response to something I’ve read, heard, or am just feeling. There are no rules – this is my time to do what I want.

Any advice for anyone who wants to get started doing this?
I would recommend anyone and everyone with an interest in image-making to take up the challenge of creating something every day. My ‘drawing a day’ project has been so rewarding to me this year that I’ll be continuing it come 2010. Illustrators or character designers should keep a daily sketchbook to keep their ideas fresh… Alternatively, taking a photograph a day can prove just as valuable for others. Perhaps graphic designers or typographers could do a ‘layout a day’ project?! Who knows?! The sky’s the limit!

Joshua Wysocki – Wysocki Weekday

Wysocki Weekday

Wysocki in Design Something Every Day!

How long did you design / or have been designing daily?
I started doing those dailies since November 25, 2007 — so over 2 years now.

What are some challenges associated with designing daily?
The biggest is trying to keep at it on a normal pace. You probably noticed how I have missed a lot of days so far. Working a 10+ hour day-job wears me out and my brain can’t handle holding the pencil in my hand.

Can you give me at least 5 benefits of partaking in this daily project?

Benefits? Are there any? Maybe it’s the thought of continuing a project. Training yourself to be expressive and challenge yourself creatively. Making new friends and communicating with fellow artists. And hopefully eventually making some money from selling zines/books.

Any advice for anyone who wants to get started doing this?
Just jump into it and doodle a small event that happened to you that day… from something as small as stepping into a puddle of mud, or watching your favorite TV show.

Brock Davis

Make Something Cool Every Day 2009

7-12 in Design Something Every Day!

How long did you design / have you been designing daily?
In my job I think of ideas every day, but this project for 2009 is the first time I put to task
making a new piece of art every single day for a year.

What are some challenges associated with designing daily?
Coming up with ideas I feel are original. I always strive for originality — it is almost impossible to attain
but the effort often conjures interesting results. Another challenge is simply finding the time to do it.
I have a full-time job in a creative field, so I have to separate my professional ideas from my personal
ideas. I have a family as well, so I tend to work late and think when my children are in bed.

Can you give me at least 5 benefits of partaking in this daily project?

  1. Keeps my brain fresh.
  2. Helps me identify my strengths, weaknesses and consistencies.
  3. Creatively challenging, and I love a challenge.
  4. Improves my ability to hone in on an idea and learn to execute it quickly as well as meticulously.
  5. Shows me creative sides to myself that i didn’t know I had.
  6. An interesting way to visually calendar my year; I can look at a piece and think more clearly about what was going on that day.

Where do you get ideas for your daily designs?
From everything. I try to absorb as much from every day life as i can. Also, memories from childhood, pop culture, observations of how the world is always changing in all aspects (socially, technologically, economically, etc.).

Any advice for anyone who wants to get started doing this?
Have fun and always be a student. No one can know everything, it’s better to absorb and learn all the time. Then apply that to your work and let it influence you to reshape it into something original.

Mike Duesenberg – 365 Album Covers

365 Album Covers Tumblr

Album-covers in Design Something Every Day!

How long did you design / have you been designing daily?
I’ve had the idea for quite a bit, but I didn’t start actually doing it till October 31st of this year.

What are some challenges associated with designing daily?

The biggest challenge is time. Some days are so busy, it’s hard to make time for this project. The idea is to dedicate an hour or two to the design, but sometimes the day flies by and you aren’t left with much time, which then affects the quality. So that’s been the biggest challenge. The second biggest challenge is trying to stay inspired. For 365albumcovers.tumblr.com, I use http://www.flickr.com/commons as my photo source. The problem I’ve been running into however is that after a while, all these vintage photos tend to direct each piece in the same direction. So to solve that, I’ve been brainstorming up some ways on how to add more variety.

Can you give me at least 5 benefits of partaking in this daily project?

  1. Daily projects keep your mind working.
  2. It’s a nice creative break from the typical day-to-day design work.
  3. It gives you a chance to experiment with ideas that you may not be able to use on other projects.
  4. It gets your name out there! For instance, like this interview. It can be good press for you, as a designer.
  5. It’s nice to share these with friends and see what their feedback is.

Where do you get ideas for your daily designs?

I usually wait to see what the photo, band name and album name will be. Usually one of those will automatically inspire me to go towards a certain direction.

Any advice for anyone who wants to get started doing this?

Just have fun with it. Think of an idea that you can manage to do every day. The main reason you should do this is for self progression. If it gets some attention from other people, awesome. The problem I ran into is keeping it fresh. You may notice that I haven’t posted something since mid-November. I consider the first entries a trial run. I learned from it. Now I’ve compiled a few ways to keep the concept new and exciting to myself, which I plan on launching January 1st. So stay on the lookout!

Tom Judd

Tom Judd’s Everyday

Tom-judd in Design Something Every Day!

How long did you design / have you been designing daily?

I spent 1 year from November 2004 drawing a page a day, then in July 2007 I repeated the process for another 365 days.

What are some challenges associated with designing daily?
Keeping the motivation. Maintaining originality.

Can you give me at least 5 benefits of partaking in this daily project?

  1. It improved my drawing skills.
  2. It was a great way to generate ideas.
  3. It emptied my brain.
  4. It allowed me to fill empty time with something productive.
  5. It got me lots of work.

Where do you get ideas for your daily designs?
Each day was different. I think that is one of the benefits. You never know what you are going to see on your way to work.

Any advice for anyone who wants to get started doing this?
Make sure you are doing it for the right reasons. As soon as I became aware that other people were looking at my daily output, it started to affect the work I was producing in a negative way.

Daily Projects Showcase

Jessica Hische – Daily Drop Cap

Daily-dropcap in Design Something Every Day!

The Daily Drop Cap is an ongoing project by typographer and illustrator Jessica Hische. Each day (or at least each work day), a new hand-crafted decorative initial cap will be posted for your enjoyment and for the beautification of blog posts everywhere.

Thomas Fuchs – A Heart a Day

Heart in Design Something Every Day!

A Heart a Day is a blog by freelance illustrator, Thomas Fuchs. His goal is to incorporate a heart into one of his illustrations every day.

Chow Hon Lam – Flying Mouse 365

Cow in Design Something Every Day!

The FM 365 Project is the result of Flying Mouse’s Project of doing one design per day for a whole year! Every week there are 7 new products available! These 7 new products are able for a quick pre-sale at a lower price for the entire week and once the week ends there are 7 newer products to replace them, and so on.

Mark Weaver

Mark-weaver in Design Something Every Day!

Mark Weaver is another designer/illustrator that decided to design something every day for one year. He has a plethora of styles in his designs.

Philip Tseng

Jalapeno in Design Something Every Day!

Philip Tseng has a unique style that he implemented into his daily designs. He chose a theme of fruits and vegetables and each day he designed something that started with a different letter of the alphabet.

Jonas Buntenbruch – DONE: Daily Design Workout

Workout in Design Something Every Day!

DONE was the personal daily design workout of Jonas Buntenbruch for 2008.
Every day he flexed his design skills by creating one piece in 30 to 60 minutes. The presented works range from scrap and sketches to photos, typographic experiments and random creative designs.

A New Year’s Resolution

Now that you’ve read interviews and seen some strong examples, I hope that you’re now inspired and ready to start on this wonderful daily design adventure. I want to propose a new year’s resolution to you: design something every day.

Each time you design something, you can submit it for everyone to see. Simply tweet the design along with #daily365 and everyone will be able to see your project. By the way, if you’re just starting out as a designer, this is an effective way to build your portfolio. The Smashing Editorial Team will monitor all submissions and present them in posts here at Smashing Magazine, every now and again. I guarantee that at the end of the year, you’ll be able to look back and say that, because of the daily design project that you completed, you’re a better and more well-rounded designer.

So who’s up for the challenge?

(ll)


© Jad Limcaco for Smashing Magazine, 2009. | Permalink | 18 comments | Add to del.icio.us | Digg this | Stumble on StumbleUpon! | Tweet it! | Submit to Reddit | Forum Smashing Magazine
Post tags:

© %FIRST theman - visit the author for more great content.

]]>
http://www.wpconfig.com/2009/12/22/design-something-every-day/feed/ 0
Coding A HTML 5 Layout From Scratch http://www.wpconfig.com/2009/08/04/coding-a-html-5-layout-from-scratch/ http://www.wpconfig.com/2009/08/04/coding-a-html-5-layout-from-scratch/#comments Tue, 04 Aug 2009 13:21:48 +0000 frank http://www.wpconfig.com/2009/08/04/coding-a-html-5-layout-from-scratch/

 

HTML5 and CSS3 have just arrived (kinda), and with them a whole new battle for the ‘best markup’ trophy has begun. Truth to be told, all these technologies are mere tools waiting for a skilled developer to work on the right project. As developers we shouldn’t get into pointless discussions of which markup is the best. They all lead to nowhere. Rather, we must get a brand new ideology and modify our coding habits to keep the web accessible.

While it is true HTML5 and CSS3 are both a work in progress and is going to stay that way for some time, there’s no reason not to start using it right now. After all, time’s proven that implementation of unfinished specifications does work and can be easily mistaken by a complete W3C recommendation. That’s were Progressive Enhancement and Graceful Degradation come into play.

So today we’re going to experiment a little with these new technologies. At the end of this article you’ll learn how to:

  • Use Graceful Degradation techniques and technologies to keep things in place for legacy browsers.
  • Use Progressive Enhancement techniques and technologies to be up to date with the latest trends.
  • Use HTML5 alongside a rising technology: Microformats.
  • Have a clear vision of some of the most exciting new features HTML5 and CSS3 will bring.

It’d be a good idea to have a read at some of these articles first:

I’ll also assume you know the basics of HTML and CSS. Including all the “old school” tags and the basic selectors and properties.

Before we begin…

There’s a couple of things you have to bear in mind before adventuring on the new markup boat. HTML5 is not for everyone. Therefore, you must be wise and select how and where to use it. Think of all the markup flavours you’ve got available as tools: use the right one for the right job. Therefore, if your website is coded in standards compliant XHTML strict there’s no real need to change to HTML5.

There’s also the fact that by using HTML5 code right now your website gets stuck in some kind of “limbo” since even though your browser will render HTML5, it does not understand it as of yet. This may also apply to other software such as screenreaders and search engines.

Lastly you must consider that HTML5 is still under heavy development, and it’s probably the “most open” project the W3C has ever done. With the immense amount of feedback and all the hype around it, the current draft is bound to change and it’s impossible to predict how much.

So if you’re ready to do the switch, are not afraid of using technology that in the near future will be way more meaningful and can easily change whatever piece of code that might get broken, then keep reading.

A word on Progressive Enhancement and Graceful Degradation

So what are these two terms all about? Graceful Degradation is a widely used term which ideology is basically using the latest technologies first, and then fix anything that needs fixing for older browsers. We do this on a daily basis: most of us code for Firefox first, then fix Internet Explorer. That is Graceful Degradation in the practice.

Progressive Enhancement refers to the habit of building first for the less capable, outdated browser and then enhance for the latest technologies. We, too, use this on a daily basis. For example, most of the times we code a website we start with the markup and then apply an external CSS file where we add all the styling. That is Progressive Enhancement in the practice.

Both technologies usually go hand in hand and have been part of the ways we do things for years. It’s just the terms that are not that well-known. And now, both of these practices need to evolve due to the new languages that are approaching. If you want to go deeper into both of these terms, check a related article on accessites.org.

1. The Design

This will be the sample layout we’ll be coding:

Smashing HTML5! template

A very basic layout brilliantly named Smashing HTML5! which covers most of the elements we can start coding using HTML5. Basically: the page’s name and it’s slogan, a menu, a highlighted (featured) area, a post listing, an extras section with some external links, an about box and finally a copyright statement.

2. The markup

As a very basic start to our markup, this is our html file skeleton:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Smashing HTML5!</title>

<link rel="stylesheet" href="css/main.css" type="text/css" />

<!--[if IE]>
	<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script><![endif]-->
<!--[if lte IE 7]>
	<script src="js/IE8.js" type="text/javascript"></script><![endif]-->
<!--[if lt IE 7]>

	<link rel="stylesheet" type="text/css" media="all" href="css/ie6.css"/><![endif]-->
</head>

<body id="index" class="home">
</body>
</html>

A few highlights:

  • 3 different Conditional comments for IE. First one includes html5 shiv code directly from Google Code for all versions of IE. The second one includes IE8.js for better backwards compatibility for IE7 and below as well as an ie.css file which will sove IE7 and below CSS bugs. Third one is just a CSS file to fix IE6 bugs.
  • The use of an “index” id and a “home” class on the <body> tag. This is just a habit I’ve developed over the past year that has simplified the coding of inner-sections of overly complicated websites.
  • A simplified version of the charset property for better backwards compatibility with legacy browsers.
  • I’m using XHTML 1.0 syntax on a HTML5 document. That’s the way I roll. It’s a habit that I really like and since I can still use it, I will. You can, however, use normal HTML syntax here. That is, uppercase attribute and tag names, unclosed tags and no quotes for wrapping attributes’ values. It’s up to you.

This is a very basic and solid startup for all and any HTML5 projects you might do in the future. With this, we can start assigning tags to the different sections of our layout.

If we had an x-ray machine designed for websites, this would be our page’s skeleton:

Smashing HTML5! template x-rayed

The header

Smashing HTML5! Header block

The layout header is as simple as it gets. The new <header> tag spec reads as follows:

The header element represents a group of introductory or navigational aids.

Thus it is more than logic that we use this to markup our header. We’ll also use the <nav> tag. The spec reads:

The nav element represents a section of a page that links to other pages or to parts within the page: a section with navigation links. Not all groups of links on a page need to be in a nav element — only sections that consist of major navigation blocks are appropriate for the nav element.

There’s a lot of buzz regarding the spec of the nav element since “major navigation blocks” is not a very helpful description. But this time we’re talking about our main website navigation; it can’t get any major than that. So after a couple of id’s and classes our header ends up like this:

<header id="banner" class="body">
	<h1><a href="#">Smashing HTML5! <strong>HTML5 in the year <del>2022</del> <ins>2009</ins></strong></a></h1>

	<nav><ul>
		<li class="active"><a href="#">home</a></li>
		<li><a href="#">portfolio</a></li>

		<li><a href="#">blog</a></li>
		<li><a href="#">contact</a></li>
	</ul></nav>

</header><!-- /#banner -->

Featured block

Smashing HTML5! Featured block

Next is the featured block. This is best marked up as an <aside> since it’s spec says:

The aside element represents a section of a page that consists of content that is tangentially related to the content around the aside element, and which could be considered separate from that content. Such sections are often represented as sidebars in printed typography.

That pretty much sums up our featured block, so let’s go for it. Now, inside of this block there’s a lot going on. Firstly, this is an article, so alongside the <aside> tag, we should be using <article> right away.

We also have two consecutive headings (’Featured Article’ and ‘HTML5 in Smashing Magazine!’) so we’ll be using yet another new element: <hgroup>. This is a wonderful tag used for grouping series of <h#> tags which is exactly what we have here. It exist to mask an h2 element (that acts as a secondary title) from the outline algorithm, which will save developers some headaches in the future.

The last element on this block is the Smashing Magazine logo to the right. We have yet another new tag for this element: <figure>. This tag is used to enclose some flow content, optionally with a caption, that is self-contained and is typically referenced as a single unit from the main flow of the document. This tag allows us to use a <legend> tag to add a caption to the elements inside. Sadly, this last feature is broken on some browsers as they try to add a <fieldset> around and it is impossible to override it with simple CSS rules. Therefore, I’d suggest leaving it aside and just use <figure> for the time being.

Featured block code will look like this in the end:

<aside id="featured" class="body"><article>
	<figure>
		<img src="images/temp/sm-logo.gif" alt="Smashing Magazine" />
	</figure>
	<hgroup>

		<h2>Featured Article</h2>
		<h3><a href="#">HTML5 in Smashing Magazine!</a></h3>
	</hgroup>
	<p>Discover how to use Graceful Degradation and Progressive Enhancement techniques to achieve an outstanding, cross-browser <a href="http://dev.w3.org/html5/spec/Overview.html" rel="external">HTML5</a> and <a href="http://www.w3.org/TR/css3-roadmap/" rel="external">CSS3</a> website today!</p>

</article></aside><!-- /#featured -->

The layout’s body

Smashing HTML5! Body block

Next is our document’s body, where all the content will be. Since this block represents a generic document section and a section is a thematic grouping of content, this one is without a doubt a <section> tag.

For the posts, we’ll use the old <ol> tag since, well, it’s an ordered list of articles. Each <li> should have an <article> tag and within this, we’ll have a <header> for the post title, a <footer> for the post information and a <div> for the post content. Yes, a <div>.

The reason for using a div is simple: we’ll be using the hAtom 0.1 Microformat and it requires the content entry to be wrapped by an element. Since no other tag applies to this (it is not a section, it is not a full article, it is not a footer, etc.) we’ll use a <div> since it provides no semantic value by itself and keeps the markup as clean as possible.

With all these tags, and the hAtom microformat in place, the code shall look like this:

<section id="content" class="body">

	<ol id="posts-list" class="hfeed">

		<li><article class="hentry">
			<header>
				<h2 class="entry-title"><a href="#" rel="bookmark" title="Permalink to this POST TITLE">This be the title</a></h2>
			</header>

			<footer class="post-info">
				<abbr class="published" title="2005-10-10T14:07:00-07:00"><!-- YYYYMMDDThh:mm:ss+ZZZZ -->
					10th October 2005
				</abbr>

				<address class="vcard author">
					By <a class="url fn" href="#">Enrique Ramírez</a>

				</address>
			</footer><!-- /.post-info -->

			<div class="entry-content">
				<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque venenatis nunc vitae libero iaculis elementum. Nullam et justo <a href="#">non sapien</a> dapibus blandit nec et leo. Ut ut malesuada tellus.</p>

			</div><!-- /.entry-content -->
		</article></li>

		<li><article class="hentry">
			...
		</article></li>

		<li><article class="hentry">
			...
		</article></li>
	</ol><!-- /#posts-list -->

</section><!-- /#content -->

For the mighty ones: yes, I did not use the <time> element. This tag is rather new, and it is not compatible with the current microformat implementations out there. Since I’m indeed using hAtom it made little point to have both an invalid microformat and a yet-incomprehensible tag. If you’re not using a microformat, I’d suggest using <time> instead.

The extras block

Smashing HTML5! Extras block

The extras block is yet another section of our document. You might struggle for a while deciding whether an <aside> or a <section> tag would be best for this section. In the end, this section could not be considered separate from the main content since it contains the blogroll links and some social information of the website. Thus, a <section> element is more appropriate.

Here we’ll also find another use for the <div> tag. For styling needs and grouping’s sake, we may add two divs here: one for the blogroll section and one for the social section.

For the rest of the block there’s nothing much to decide. It’s the everyday <ul> accommodated set of links on both sections, which in the end may look like this:

<section id="extras" class="body">
	<div class="blogroll">
		<h2>blogroll</h2>
		<ul>

			<li><a href="#" rel="external">HTML5 Doctor</a></li>
			<li><a href="#" rel="external">HTML5 Spec (working draft)</a></li>
			<li><a href="#" rel="external">Smashing Magazine</a></li>

			<li><a href="#" rel="external">W3C</a></li>
			<li><a href="#" rel="external">Wordpress</a></li>
			<li><a href="#" rel="external">Wikipedia</a></li>

			<li><a href="#" rel="external">HTML5 Doctor</a></li>
			<li><a href="#" rel="external">HTML5 Spec (working draft)</a></li>
			<li><a href="#" rel="external">Smashing Magazine</a></li>

			<li><a href="#" rel="external">W3C</a></li>
			<li><a href="#" rel="external">Wordpress</a></li>
			<li><a href="#" rel="external">Wikipedia</a></li>

			<li><a href="#" rel="external">HTML5 Doctor</a></li>
			<li><a href="#" rel="external">HTML5 Spec (working draft)</a></li>
			<li><a href="#" rel="external">Smashing Magazine</a></li>

			<li><a href="#" rel="external">W3C</a></li>
			<li><a href="#" rel="external">Wordpress</a></li>
			<li><a href="#" rel="external">Wikipedia</a></li>

		</ul>
	</div><!-- /.blogroll -->

	<div class="social">
		<h2>social</h2>
		<ul>

			<li><a href="http://delicious.com/enrique_ramirez" rel="me">delicious</a></li>
			<li><a href="http://digg.com/users/enriqueramirez" rel="me">digg</a></li>
			<li><a href="http://facebook.com/enrique.ramirez.velez" rel="me">facebook</a></li>

			<li><a href="http://www.lastfm.es/user/enrique-ramirez" rel="me">last.fm</a></li>
			<li><a href="http://website.com/feed/" rel="alternate">rss</a></li>
			<li><a href="http://twitter.com/enrique_ramirez" rel="me">twitter</a></li>

		</ul>
	</div><!-- /.social -->
</section><!-- /#extras -->

The About and footer blocks

Smashing HTML5! About and Footer blocks

The footer has no real difficulty. We’ll use the brand new <footer> tag to wrap both the about and the copyright information since the spec reads:

The footer element represents a footer for its nearest ancestor sectioning content. A footer typically contains information about its section such as who wrote it, links to related documents, copyright data, and the like.

Since the nearer ancestor of our <footer> tag is the <body> tag, is more than right to wrap both elements here since we’re adding information about the website’s owner (and thus, author).

For the about block we’ll use an <address> tag, which contains contact information for it’s nearest <article> or <body> element ancestor. We’ll also use the hCard Microformat to enhance the semantic value. For the copyright information we’ll go with a simple <p> tag so the code ends like this:

<footer id="contentinfo" class="body">
	<address id="about" class="vcard body">
		<span class="primary">
			<strong><a href="#" class="fn url">Smashing Magazine</a></strong>

			<span class="role">Amazing Magazine</span>
		</span><!-- /.primary -->

		<img src="images/avatar.gif" alt="Smashing Magazine Logo" class="photo" />
		<span class="bio">Smashing Magazine is a website and blog that offers resources and advice to web developers and web designers. It was founded by Sven Lennartz and Vitaly Friedman.</span>

	</address><!-- /#about -->
	<p>2005-2009 <a href="http://smashingmagazine.com">Smashing Magazine</a>.</p>
</footer><!-- /#contentinfo -->

Summing it all up

So, after all this mess, the complete code looks like this:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Smashing HTML5!</title>

<link rel="stylesheet" href="css/main.css" type="text/css" />

<!--[if IE]>
	<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script><![endif]-->
<!--[if lte IE 7]>
	<script src="js/IE8.js" type="text/javascript"></script><![endif]-->

<!--[if lt IE 7]>
	<link rel="stylesheet" type="text/css" media="all" href="css/ie6.css"/><![endif]-->
</head>

<body id="index" class="home">

<header id="banner" class="body">
	<h1><a href="#">Smashing HTML5! <strong>HTML5 in the year <del>2022</del> <ins>2009</ins></strong></a></h1>

	<nav><ul>
		<li class="active"><a href="#">home</a></li>
		<li><a href="#">portfolio</a></li>

		<li><a href="#">blog</a></li>
		<li><a href="#">contact</a></li>
	</ul></nav>

</header><!-- /#banner -->	

<aside id="featured" class="body"><article>
	<figure>
		<img src="images/temp/sm-logo.gif" alt="Smashing Magazine" />
	</figure>
	<hgroup>

		<h2>Featured Article</h2>
		<h3><a href="#">HTML5 in Smashing Magazine!</a></h3>
	</hgroup>
	<p>Discover how to use Graceful Degradation and Progressive Enhancement techniques to achieve an outstanding, cross-browser <a href="http://dev.w3.org/html5/spec/Overview.html" rel="external">HTML5</a> and <a href="http://www.w3.org/TR/css3-roadmap/" rel="external">CSS3</a> website today!</p>

</article></aside><!-- /#featured -->

<section id="content" class="body">
	<ol id="posts-list" class="hfeed">
		<li><article class="hentry">
			<header>
				<h2 class="entry-title"><a href="#" rel="bookmark" title="Permalink to this POST TITLE">This be the title</a></h2>

			</header>

			<footer class="post-info">
				<abbr class="published" title="2005-10-10T14:07:00-07:00"><!-- YYYYMMDDThh:mm:ss+ZZZZ -->
					10th October 2005
				</abbr>

				<address class="vcard author">

					By <a class="url fn" href="#">Enrique Ramírez</a>
				</address>
			</footer><!-- /.post-info -->

			<div class="entry-content">

				<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque venenatis nunc vitae libero iaculis elementum. Nullam et justo <a href="#">non sapien</a> dapibus blandit nec et leo. Ut ut malesuada tellus.</p>
			</div><!-- /.entry-content -->
		</article></li>

		<li><article class="hentry">
			...
		</article></li>

		<li><article class="hentry">
			...
		</article></li>

	</ol><!-- /#posts-list -->
</section><!-- /#content -->

<section id="extras" class="body">
	<div class="blogroll">
		<h2>blogroll</h2>

		<ul>
			<li><a href="#" rel="external">HTML5 Doctor</a></li>
			<li><a href="#" rel="external">HTML5 Spec (working draft)</a></li>

			<li><a href="#" rel="external">Smashing Magazine</a></li>
			<li><a href="#" rel="external">W3C</a></li>
			<li><a href="#" rel="external">Wordpress</a></li>

			<li><a href="#" rel="external">Wikipedia</a></li>
			<li><a href="#" rel="external">HTML5 Doctor</a></li>
			<li><a href="#" rel="external">HTML5 Spec (working draft)</a></li>

			<li><a href="#" rel="external">Smashing Magazine</a></li>
			<li><a href="#" rel="external">W3C</a></li>
			<li><a href="#" rel="external">Wordpress</a></li>

			<li><a href="#" rel="external">Wikipedia</a></li>
			<li><a href="#" rel="external">HTML5 Doctor</a></li>
			<li><a href="#" rel="external">HTML5 Spec (working draft)</a></li>

			<li><a href="#" rel="external">Smashing Magazine</a></li>
			<li><a href="#" rel="external">W3C</a></li>
			<li><a href="#" rel="external">Wordpress</a></li>

			<li><a href="#" rel="external">Wikipedia</a></li>
		</ul>
	</div><!-- /.blogroll -->

	<div class="social">

		<h2>social</h2>
		<ul>
			<li><a href="http://delicious.com/enrique_ramirez" rel="me">delicious</a></li>
			<li><a href="http://digg.com/users/enriqueramirez" rel="me">digg</a></li>

			<li><a href="http://facebook.com/enrique.ramirez.velez" rel="me">facebook</a></li>
			<li><a href="http://www.lastfm.es/user/enrique-ramirez" rel="me">last.fm</a></li>
			<li><a href="http://website.com/feed/" rel="alternate">rss</a></li>

			<li><a href="http://twitter.com/enrique_ramirez" rel="me">twitter</a></li>
		</ul>
	</div><!-- /.social -->
</section><!-- /#extras -->

<footer id="contentinfo" class="body">
	<address id="about" class="vcard body">
		<span class="primary">
			<strong><a href="#" class="fn url">Smashing Magazine</a></strong>

			<span class="role">Amazing Magazine</span>
		</span><!-- /.primary -->

		<img src="images/avatar.gif" alt="Smashing Magazine Logo" class="photo" />
		<span class="bio">Smashing Magazine is a website and blog that offers resources and advice to web developers and web designers. It was founded by Sven Lennartz and Vitaly Friedman.</span>

	</address><!-- /#about -->
	<p>2005-2009 <a href="http://smashingmagazine.com">Smashing Magazine</a>.</p>
</footer><!-- /#contentinfo -->

</body>
</html>

Say, isn’t that readable? It’s also way more semantic than a bunch of <div>s all over the place.

3. The CSS

Just like our markup, the CSS will also have a very basic start. Call this a frameworks of sorts which I’ve been using for a long time and works fairly well. Here’s the code for our main.css file:

/*
	Name: Smashing HTML5
	Date: July 2009
	Description: Sample layout for HTML5 and CSS3 goodness.
	Version: 1.0
	Author: Enrique Ramírez
	Autor URI: http://enrique-ramirez.com
*/

/* Imports */
@import url("reset.css");
@import url("global-forms.css");

/***** Global *****/
/* Body */
	body {
		background: #F5F4EF url('../images/bg.png');
		color: #000305;
		font-size: 87.5%; /* Base font size: 14px */
		font-family: 'Trebuchet MS', Trebuchet, 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans', Arial, sans-serif;
		line-height: 1.429;
		margin: 0;
		padding: 0;
		text-align: left;
	}

/* Headings */
h2 {font-size: 1.571em}	/* 22px */
h3 {font-size: 1.429em}	/* 20px */
h4 {font-size: 1.286em}	/* 18px */
h5 {font-size: 1.143em}	/* 16px */
h6 {font-size: 1em}	/* 14px */

h2, h3, h4, h5, h6 {
	font-weight: 400;
	line-height: 1.1;
	margin-bottom: .8em;
}

/* Anchors */
a {outline: 0;}
a img {border: 0px; text-decoration: none;}
a:link, a:visited {
	color: #C74350;
	padding: 0 1px;
	text-decoration: underline;
}
a:hover, a:active {
	background-color: #C74350;
	color: #fff;
	text-decoration: none;
	text-shadow: 1px 1px 1px #333;
}

/* Paragraphs */
p {margin-bottom: 1.143em;}
* p:last-child {margin-bottom: 0;}

strong, b {font-weight: bold;}
em, i {font-style: italic;}

::-moz-selection {background: #F6CF74; color: #fff;}
::selection {background: #F6CF74; color: #fff;}

/* Lists */
ul {
	list-style: outside disc;
	margin: 1em 0 1.5em 1.5em;
}

ol {
	list-style: outside decimal;
	margin: 1em 0 1.5em 1.5em;
}

dl {margin: 0 0 1.5em 0;}
dt {font-weight: bold;}
dd {margin-left: 1.5em;}

/* Quotes */
blockquote {font-style: italic;}
cite {}

q {}

/* Tables */
table {margin: .5em auto 1.5em auto; width: 98%;}

	/* Thead */
	thead th {padding: .5em .4em; text-align: left;}
	thead td {}

	/* Tbody */
	tbody td {padding: .5em .4em;}
	tbody th {}

	tbody .alt td {}
	tbody .alt th {}

	/* Tfoot */
	tfoot th {}
	tfoot td {}

This is our first step into getting the layout together. We can style most of the basic elements from here, so feel free to do so. Here’s a few highlights:

  • For optimum coding, a few basic information on the .css file is at the top in comments form.
  • 2 imports at the beginning of the file. The first one is Eric Meyer’s CSS reset file. Second one is a personalized global forms file which I’ll discuss more deeply later on.
  • Very basic styling for the default tags.

Explaining some properties

For this very part, there’s little to be mentioned. Firstly there’s the text-shadow CSS3 property. To explain it, here’s a sample:

	text-shadow: 1px 5px 2px #333;

This will give us a #333 shadow on our text that’s 1px to the right, 5px down and with a 2px blur. Simple, right? You can use hex and rgba values plus any CSS unit (except %) here.

We also have this little baby:

	* p:last-child {margin-bottom: 0;}

This line will remove the margin bottom of any <p> tag that’s the last child of it’s parent. Useful when using boxes (like we’re doing) to avoid large vertical gaps.

Lastly, we have a couple of selectors:

	::-moz-selection {background: #F6CF74; color: #fff;}
	::selection {background: #F6CF74; color: #fff;}

::selection is a CSS3 selector that lets us style how the text selection looks. It only allows color and background CSS properties, so keep it simple. ::-moz-selection needs to go here since Mozilla haven’t implemented the ::selection selector.

Enabling HTML5 elements

Now, as I’ve stated before, browsers do not understand HTML5 as of yet. And since HTML5 is still in development, little has been discussed about the default styling the new elements will have. Thus, being tags that do not exist for the browser, it does not display any styling in them.

Perhaps it’s fair to assume that most browsers apply something like display: inline for all unknown tags that they might encounter. This is not what we want for some of them, such as <section>, so we need to tell explicitly to the browser how to display these elements:

/* HTML5 tags */
header, section, footer,
aside, nav, article, figure {
	display: block;
}

There! Now we can magically style our tags as if they were <div>s!

Limiting our blocks

Some of you might have noticed how I added the class="body" attribute to the major sections of the layout in the markup. This is because we want the body of my website to be for a certain width (800px), and I’ve never been a fan of the big wrapping <div> to do that. So we’ll use the basic block centering technique using margins for this. I’m also adding a couple of generic classes to this section that might be used for a post side content.

/***** Layout *****/
.body {clear: both; margin: 0 auto; width: 800px;}
img.right figure.right {float: right; margin: 0 0 2em 2em;}
img.left, figure.left {float: right; margin: 0 0 2em 2em;}

Header styling

We’ll begin with our header. This one is fairly easy. We just want a couple of spacing and a few text styling here and there. Nothing we haven’t done before.

/*
	Header
*****************/
#banner {
	margin: 0 auto;
	padding: 2.5em 0 0 0;
}

	/* Banner */
	#banner h1 {font-size: 3.571em; line-height: .6;}
	#banner h1 a:link, #banner h1 a:visited {
		color: #000305;
		display: block;
		font-weight: bold;
		margin: 0 0 .6em .2em;
		text-decoration: none;
		width: 427px;
	}
	#banner h1 a:hover, #banner h1 a:active {
		background: none;
		color: #C74350;
		text-shadow: none;
	}

	#banner h1 strong {font-size: 0.36em; font-weight: normal;}

We now pass on to the navigation. Pretty much the same as before, nothing really new here. The regular horizontal list, a couple of colour edits. Nothing fancy.

	/* Main Nav */
	#banner nav {
		background: #000305;
		font-size: 1.143em;
		height: 40px;
		line-height: 30px;
		margin: 0 auto 2em auto;
		padding: 0;
		text-align: center;
		width: 800px;

		border-radius: 5px;
		-moz-border-radius: 5px;
		-webkit-border-radius: 5px;
	}

	#banner nav ul {list-style: none; margin: 0 auto; width: 800px;}
	#banner nav li {float: left; display: inline; margin: 0;}

	#banner nav a:link, #banner nav a:visited {
		color: #fff;
		display: inline-block;
		height: 30px;
		padding: 5px 1.5em;
		text-decoration: none;
	}
	#banner nav a:hover, #banner nav a:active,
	#banner nav .active a:link, #banner nav .active a:visited {
		background: #C74451;
		color: #fff;
		text-shadow: none !important;
	}

	#banner nav li:first-child a {
		border-top-left-radius: 5px;
		-moz-border-radius-topleft: 5px;
		-webkit-border-top-left-radius: 5px;

		border-bottom-left-radius: 5px;
		-moz-border-radius-bottomleft: 5px;
		-webkit-border-bottom-left-radius: 5px;
	}

We’re using another CSS3 property here: border-radius. This new CSS3 property lets us add rounded borders to our blocks without the need of unnecessary, non-semantic tags that will clutter our code or a million of images and clever background-positioning. No, that’s all a thing of the past. With this we just need to set the radius of our border and that’s it.

Of course, border-radius is not widely adopted yet, and thus, we need to use the equivalent properties for Mozilla- and Webkit-browsers. There are a lot of variations to this property, and can make your code a little big, but if you want rounded corners on most of the current browsers, you might as well add them.

You might as well notice the use of !important. This is basically to override the default styles (text-shadow) without complex specificity selectors. In this example it’s here mostly for educational purposes.

Featured block and Body styling

Here’s the CSS code for both blocks. Note that this is not the styling for the posts’ list. Just the major content block. As both of these blocks have no real special CSS properties, I’ll let you guys figure it out.

/*
	Featured
*****************/
#featured {
	background: #fff;
	margin-bottom: 2em;
	overflow: hidden;
	padding: 20px;
	width: 760px;

	border-radius: 10px;
	-moz-border-radius: 10px;
	-webkit-border-radius: 10px;
}

#featured figure {
	border: 2px solid #eee;
	float: right;
	margin: 0.786em 2em 0 5em;
	width: 248px;
}
#featured figure img {display: block; float: right;}

#featured h2 {color: #C74451; font-size: 1.714em; margin-bottom: 0.333em;}
#featured h3 {font-size: 1.429em; margin-bottom: .5em;}

#featured h3 a:link, #featured h3 a:visited {color: #000305; text-decoration: none;}
#featured h3 a:hover, #featured h3 a:active {color: #fff;}

/*
	Body
*****************/
#content {
	background: #fff;
	margin-bottom: 2em;
	overflow: hidden;
	padding: 20px 20px;
	width: 760px;

	border-radius: 10px;
	-moz-border-radius: 10px;
	-webkit-border-radius: 10px;
}

Again, this is our everyday coding style. Backgrounds, margins, colours and text styles we’ve been using for years. Perfect example of how styling HTML5 is not that different from current markup languages. It’s just as easy to style as it’s always been.

Extras block styling

Here things begin to get interesting. We’ll begin with basic styling for the block itself:

/*
	Extras
*****************/
#extras {margin: 0 auto 3em auto; overflow: hidden;}

#extras ul {list-style: none; margin: 0;}
#extras li {border-bottom: 1px solid #fff;}
#extras h2 {
	color: #C74350;
	font-size: 1.429em;
	margin-bottom: .25em;
	padding: 0 3px;
}

#extras a:link, #extras a:visited {
	color: #444;
	display: block;
	border-bottom: 1px solid #F4E3E3;
	text-decoration: none;
	padding: .3em .25em;
}

	/* Blogroll */
	#extras .blogroll {
		float: left;
		width: 615px;
	}

	#extras .blogroll li {float: left; margin: 0 20px 0 0; width: 185px;}

	/* Social */
	#extras .social {
		float: right;
		width: 175px;
	}

As you can see, I’m doing a 3 column layout for the blogroll block by floating the <li>s and a 1 column layout for the social block by merely changing its width. This already works very well by itself, but there’s one thing that bothers me. The borders I’ve added for separating each of the links:

Smashing HTML5! Extras block border issue

The highlighted row is the one troubling me. The borders I’ve added are actually on two elements. Each <li> and <a> tag have a border-bottom of 1px, which I don’t want on the last row. So we’ll remove the borders for the last 3 elements on blogroll, and the last element on social.

First we’ll remove the borders on the last <li> of each block. By using the CSS3 :last-child selector, we can target the last <li> of it’s parent <ul>.

	#extras li:last-child, /* last <li>*/
	#extras li:last-child a /* <a> of last <li> */
	{border: 0}

That will remove the border from the last link on both of our blocks. Now we have a new problem. How are we going to remove the border on the other two elements on the blogroll block?

Smashing HTML5! Extras block border second issue

Well, meet :nth-last-child().

#extras .blogroll li:nth-last-child(2),
#extras .blogroll li:nth-last-child(3),
#extras .blogroll li:nth-last-child(2) a,
#extras .blogroll li:nth-last-child(3) a {border: 0;}

Phew! Looks pretty hard, uh? Not really. This basically targets the second (2) and third (3) elements starting from the end. Exactly the ones I want to remove the border from.

As expected, this will not work on IE, though IE8.js does support :last-child, it does not support :nth-last-child, thus, borders will appear on IE. This is NOT a major design problem, information is still accessible, thus it is pointless to try to achieve the same effect on IE.

Adding icons to social

Now we’ll spice things up a little. We all love how little icons look besides each link. We’ve seen that design technique everywhere. There’s a million ways of applying them, but we’ll use some advanced CSS3 selectors to do this.

Let’s begin with a little introduction. a[n='b'] will target all <a> that has an n attribute value of b. So, for example, if we use this: a[href='picture.jpg'] we’ll be targeting an element like <a href="picture.jpg">. This is great, but not exactly what we want, since the follow-ups of the URL might have a different value. Here’s a couple of other selectors that might come in handy:

  • a[n] will target all <a> that has an n attribute, regardless of its value.
  • a[n='b'] will target all <a> that has an n attribute value of b.
  • a[n~='b'] will target all <a> that has an n attribute which one of its space-separated values is b.
  • a[n^='b'] will target all <a> that has an n attribute that starts with b.
  • a[n*='b'] will target all <a> that has an n attribute that has b somewhere within its value.

Note that neither of these is restricted to the <a> tag. This last one fits us perfectly. So we’ll search for an <a> tag that has a piece of text somewhere within its URL. So this is our code:

#extras div[class='social'] a {
	background-repeat: no-repeat;
	background-position: 3px 6px;
	padding-left: 25px;
}

/* Icons */
.social a[href*='delicious.com'] {background-image: url('../images/icons/delicious.png');}
.social a[href*='digg.com'] {background-image: url('../images/icons/digg.png');}
.social a[href*='facebook.com'] {background-image: url('../images/icons/facebook.png');}
.social a[href*='last.fm'], .social a[href*='lastfm'] {background-image: url('../images/icons/lastfm.png');}
.social a[href*='/feed/'] {background-image: url('../images/icons/rss.png');}
.social a[href*='twitter.com'] {background-image: url('../images/icons/twitter.png');}

The first bit lets us add a padding to the social links, where the icon will be. It’ll also set the default background settings so we don’t have to repeat ourselves. You might be wondering why I’m using div[class='social'] rather than the normal div.social. Simply because, for the browsers that don’t support this kind of selectors (*cough* IE *Cough*), we don’t want a white gap on the left of our links. Thus, using the same selector used for the background icons will keep me safe. IE won’t have a padding nor a background image, while the rest will do.

The second section uses the selector explained above to target each social network and add the proper icon.

This CSS technique is nothing new, and as powerful as it might be, it is not widely used (I’ve even seen JavaScript used to achieve this same thing). Yet another CSS feature that goes unnoticed and shouldn’t be.

Footer Styling

Lastly, we have our footer. As other examples above, this has just basic styling here and there. Besides the border-radius property, there’s nothing new in here.

/*
	About
*****************/
#about {
	background: #fff;
	font-style: normal;
	margin-bottom: 2em;
	overflow: hidden;
	padding: 20px;
	text-align: left;
	width: 760px;

	border-radius: 10px;
	-moz-border-radius: 10px;
	-webkit-border-radius: 10px;
}

#about .primary {float: left; width: 165px;}
#about .primary strong {color: #C64350; display: block; font-size: 1.286em;}
#about .photo {float: left; margin: 5px 20px;}

#about .url:link, #about .url:visited {text-decoration: none;}

#about .bio {float: right; width: 500px;}

/*
	Footer
*****************/
#contentinfo {padding-bottom: 2em; text-align: right;}

The Posts List

There’s only one last element to style. Once again, basic styling here, but this time, we’ll add a quick effect for when the user hovers over the post.


/* Blog */
.hentry {
	border-bottom: 1px solid #eee;
	padding: 1.5em 0;
}
li:last-child .hentry, #content > .hentry {border: 0; margin: 0;}
#content > .hentry {padding: 1em 0;}

.entry-title {font-size: 1.429em; margin-bottom: 0;}
.entry-title a:link, .entry-title a:visited {text-decoration: none;}

.hentry .post-info * {font-style: normal;}

	/* Content */
	.hentry footer {margin-bottom: 2em;}
	.hentry footer address {display: inline;}
	#posts-list footer address {display: block;}

	/* Blog Index */
	#posts-list {list-style: none; margin: 0;}
	#posts-list .hentry {padding-left: 200px; position: relative;}
	#posts-list footer {
		left: 10px;
		position: absolute;
		top: 1.5em;
		width: 190px;
	}

Some basics. I’m removing all margin and padding for the last post entry (so I don’t end up with a big gap at the bottom of my box). I’m also using the > selector which basically targets a direct child. For example, #content > .hentry will target a .hentry element that’s directly inside the #content. If the .hentry is inside, let’s say, an ordered list, this rule will not apply since it’s a grandchild and not a direct child of #content. This is to target the single post view once we get onto that.

Continuing with our code, we’ll get this:

#posts-list .hentry:hover {
	background: #C64350;
	color: #fff;
}
#posts-list .hentry:hover a:link, #posts-list .hentry:hover a:visited {
	color: #F6CF74;
	text-shadow: 1px 1px 1px #333;
}

This code will change the <li> background color, text color and its <a> color when the mouse is directly above the <li>. This is nothing new and has been possible since forever, but we’re adding it for a simple reason.

HTML5 lets users wrap block-level elements with <a> tags to create block linking areas. Basically, we’ll be able to wrap the entire <hentry> contents with an anchor and have it behave as a proper link. However, after some testing, I’ve figured that Firefox 3.5.1 is not ready for this. Perhaps because of the non-understandable new elements inside of each .hentry, everytime I added an anchor to wrap the contents, everything inside started to behave in weird manners. Safari, Opera and even IE6 work properly. Take a look at the test page. Below are a couple of screenshots for all of you single-browser users.

Opera 9.64:

Opera block level anchors render

Safari 4.0.2:

Safari block level anchors render

Internet Explorer 6:

IE6 block level anchors render

Firefox 3.5.1:

Firefox block level anchors render

So block level anchors are really broken on Firefox, yet we can add a nice :hover effect to the <li>. So we can enhance our user experience visually, though not from the accessibility point of view.

Fixing IE6

Finally, we need to do some fixing for IE6. Below is the complete ie.css and ie6.css file. Each line has a comment on its right side or on the top explaining what it’s fixing. Pretty straightforward. This is ie.css:

#banner h1 {line-height: 1;} /* Fixes Logo overlapping */

And this is ie6.css file:

#featured figure {display: inline;} /* Double margin fix */
#posts-list footer {left: -190px;} /* Positioning fix */

/* Smaller width for Social block
so it won't jump to next line */
#extras .social {width: 165px;}

4. The after math

So, how does everything look now? Take a look at the final product here. It has been tested on IE6, Firefox 3, Firefox 3.5, Opera 9.64 and Safari 4.0.2. They all behave properly. Below are a series of screenshots of every browser.

Final Version Safari Screenshot
Final Version Firefox Screenshot
Final Version Opera Screenshot
Final Version Internet Explorer 6 Screenshot

It is now safe to say that you can achieve an HTML5/CSS3 layout today that will work on past, current and future browsers without a problem. We are still far away from the time we can fully implement much of HTML5’s coolest features, but we can begin using it today.

Further Resources

There’s a lot of hype and websites dedicated right now to the HTML5 wonder. Here’s a couple:

  • HTML5 Doctor
    Tips and tutorials that will help you implement HTML 5 today
  • HTML5 Editor’s Draft
    Current Draft with everything you’ll ever need to know about HTML5
  • HTML5 Gallery
    In the wild examples of HTML5 implementations
  • The power of HTML 5 and CSS 3
    Great article about some of the major HTML 5 and CSS 3 features
  • HTML 5 and the Future of the Web
    This articles gives you some tips and insights into HTML5 to help ease the inevitable pain that comes with transitioning to a slightly different syntax.
  • Take Your Design To The Next Level With CSS3
    In this article, we’ll look at the advantages of CSS3 and some examples of how Web designers are already using it. By the end, we’ll know a bit of what to expect from CSS3 and how we can use its new features in our projects.

About the Author

Enrique Ramírez is a Mexican front-end developer with over 9 years of experience and hundreds of websites coded. When he’s not coding, he enjoys eating tacos, playing video games, listening to music or drinking a casual cold beer.


© Enrique Ramirez for Smashing Magazine, 2009. |
Permalink |
28 comments |
Add to del.icio.us | Digg this | Stumble on StumbleUpon! | Tweet it! | Submit to Reddit | Forum Smashing Magazine

Post tags: , ,

© %FIRST theman - visit the author for more great content.

]]>
http://www.wpconfig.com/2009/08/04/coding-a-html-5-layout-from-scratch/feed/ 0
40 (NEW) High-quality and Free Icon Sets http://www.wpconfig.com/2009/05/18/40-new-high-quality-and-free-icon-sets-2/ http://www.wpconfig.com/2009/05/18/40-new-high-quality-and-free-icon-sets-2/#comments Mon, 18 May 2009 07:19:35 +0000 frank http://www.wpconfig.com/2009/05/18/40-new-high-quality-and-free-icon-sets-2/

Icons are everywhere on the web. In most modern designs it is used to not only complete our design but also to attract the user’s eye. Designers use Icons to create breath-taking designs and decorate their desktop as well. Today we’re going to take a look at 40 most beautiful icon sets that were freshly created.

Some amazing Icon Sets are missing? Let us know!

Kung Fu Panda

Fresh and Trendy Icons

4 icons of funny creatures.

Hello Kitty

Fresh and Trendy Icons

Super-cute icons based the mega hit from Japan. This collection contains 9 individual icons with large resources for Vista & Leopard.

Star Trek

Fresh and Trendy Icons

Official icons for the new Star Trek film from J.J. Abrams. This collection contains 15 individual icons with large resources for Vista & Leopard.

15 Free Origami Icons

Fresh and Trendy Icons

Origami Free Set is a set of 15 icons. The icons are available in 5 different sizes (16px, 32px, 48px, 128px, and 256px) and come as Windows ICO and 32-bit transparent PNG files.

Function App Icon Set

Fresh and Trendy Icons

A beautiful free set of social media icons by WeFunction.

Coquette Part 4 Icons

Fresh and Trendy Icons

This playful free icon set contains curvy and colorful free icons made with one goal, to get all the affection and playfulness to your projects. “Coquette” free icon set contains 50 high quality, free icons in these sizes: 16×16px, 32×32px, 48×48px, 64×64px and 128×128px and 32-bit transparency PNG file format.

20 Free Blockie Icons

Fresh and Trendy Icons

Here is a set of 80 icons (available in four different colors). The icons can be used for Windows desktop softwares and general web applications such as blog themes, forums, and eCommerce sites.

Grungy Aesthetica Icons

Fresh and Trendy Icons

Designed to fit into your grungy-styled websites, blogs, applications, etc. “Grungy Aesthetica” icon set contains 181 high quality web icons in 32-bit transparency in PNG file format. They come in 32×32px; 48 x 48px; 64×64px and 128 x 128px size.

Grace Icons

Fresh and Trendy Icons

The soft shades of black and white selection of colors makes this icon set graceful, unique and extremely stylish. The icon structure consists of snow white leaves, flowers and swirls. This free icon set contains 80 high quality, free icons in these sizes: 48×48px, 64×64px, 128×128px and 256×256px and 32-bit transparency PNG file format.

Block Creatures

Fresh and Trendy Icons

4 icons of funny creatures.

Canon 400D + Lens 17-85

Fresh and Trendy Icons

Flavours Icon Set And Cute Tweeters Icon Set

Fresh and Trendy Icons

Fresh and Trendy Icons

Social Media Icons Pack

Fresh and Trendy Icons

Social Media Icons Pack could come in handy when integrating social media sites to your blog.

Leopard iPhone Icons

Fresh and Trendy Icons

18 replacement icons of Mac OS X Leopard Folders in iPhone Icons Style.

Baggy Icon Set

Fresh and Trendy Icons

Baggy Icon Set contains 5 high quality icns. Having 3 different formats (.ico, .icns and .png) and 6 sizes: 512px-16px (except .png).

Project Icon Set

Fresh and Trendy Icons

This icon set, contains 18 beautiful icons related to project management. The set includes the icons address card, bar graph, calendar, clock / time, conference device, contact, documents, draft, mail, marker, milestone, notes, portfolio, project plan / gant chart, search / find, sitemap / flowchart, todo and user / resource.

Hand-drawn vector arrows

Fresh and Trendy Icons

This pack includes 120+ hand-drawn arrows and other elements.

Construction Sigma Style

Fresh and Trendy Icons

Revolution for IconTweaker

Fresh and Trendy Icons

WP WooThemes Ultimate Icon Set

Fresh and Trendy Icons

Social Bookmark Sketchy Icons

Fresh and Trendy Icons

Realty Icons

Fresh and Trendy Icons

Onebit

Fresh and Trendy Icons

Onebit free icon set of 50 icons. These icons are free to use in any kind of project unlimited times.

Web Injection

Fresh and Trendy Icons

Web Injection is an Icon Pack for webmasters and web developers. The set includes 26 stylish icons.

Free icon set from CSSGlobe

Fresh and Trendy Icons

Exclusive vector icons available in AI, EPS, PDF, XAR file formats.

Free icon set from CSSGlobe

Fresh and Trendy Icons

Exclusive vector icons available in AI, EPS, PDF, XAR file formats.

Islamic Icon

Fresh and Trendy Icons

Office Space

Fresh and Trendy Icons

Animals

Fresh and Trendy Icons

Metal Chrome

Fresh and Trendy Icons

Web Blog Icon Pack

Fresh and Trendy Icons

48 icons for use on the front and back-end of the site.

GP iCons

Fresh and Trendy Icons

Cute Critters Free Icon Pack

Fresh and Trendy Icons

The Cute Critters Icon Pack is a free Icon set with 13 painfully cute critters.

Handycons

Fresh and Trendy Icons

Handycons is a free, hand drawn social media icon set that contains 20 icons. Package contains Facebook, Blinklist, Feedburner, Flickr, FriendFeed, Furl, Gmail, Google, Heart icon, Last FM, Linked IN, Magnolia, Newsvine, PayPal, Skype, Sphinn, Twitter, Vimeo, Yahoo and You Tube icons. All icons come in four sizes: 16×16, 32×32, 64×64 and 12×128px.

Frankicon

Fresh and Trendy Icons

Elephinder

Fresh and Trendy Icons

© %FIRST theman - visit the author for more great content.

]]>
http://www.wpconfig.com/2009/05/18/40-new-high-quality-and-free-icon-sets-2/feed/ 0
99 Essential Twitter Tools And Applications http://www.wpconfig.com/2009/03/18/99-essential-twitter-tools-and-applications-3/ http://www.wpconfig.com/2009/03/18/99-essential-twitter-tools-and-applications-3/#comments Tue, 17 Mar 2009 23:02:42 +0000 frank http://www.wpconfig.com/2009/03/18/99-essential-twitter-tools-and-applications-3/ by Paul Andrew

If you haven’t heard of Twitter by now, you must be living under a rock! It is everywhere, and everyone is using it. To say that the rise of Twitter has been explosive would be an understatement. As a result of this growth, the number of Twitter apps and tools available has become extensive. So, in this post we have filtered them down to a respectable 99.

Below, we present 99 Essential Twitter Tools and Applications, split into the following categories: Tools and Productivity Apps, Statistics and Analytics, Find New Twitter Friends Apps, Search Twitter Apps, Web-Based Mobile Apps, WordPress Twitter Plug-Ins, Adobe Air Twitter Apps and Firefox Twitter Extensions.

You may want to take a look at the following related posts:

Tools and Productivity Apps

Twittercal
Twittercal is a service that connects your Twitter account to your Google Calendar and lets you add events easily, directly from your Twitter account.

Twitter Web App

Twitpay
TwitPay is a simple way to send payments via Twitter.

Twitter Web App

Twibs
Find, follow and interact with businesses, apps and services on Twitter.

Twitter Web App

Twittermail.com
Users can post to their Twitter account by sending a message to their own unique email address.

Twitter Web App

Twitzu
Promote your business, special offers, promotions and events with Twitzu.

Twitter Web App

Twuffer
Twuffer allows the Twitter user to compose a list of future tweets and schedule their release.

Twitter Web App

TweetLater
This app allows you to post Tweets at a later time and date.

Twitter Web App

GroupTweet
Send private Twitter messages to specific groups of friends.

Twitter Web App

Twitter Alerts
Keep track of conversations that mention you, your products, your company and anything else, via hourly email updates.

Twitter Web App

TwitPic
TwitPic lets you share photos on Twitter. You can post pictures to TwitPic from your phone, the TwitPic home page or your Twitter account.

Twitter Web App

Your Twitter Karma
Twitter needs a decent page for your followers, with the functionality to sort them by type. This Web app does that.

Twitter Web App

Mr. Tweet
A personal networking assistant for Twitter, helping you identify relevant followers, recommending you to other users and regularly computing your Twitter usage statistics.

Twitter Web App

Remember The Milk
Remember The Milk keeps track of your tasks. Simply add Remember The Milk as your friend, and you can add and interact with your tasks through direct messages and get reminders, too.

Twitter Web App

StrawPoll
StrawPoll is the coolest way to follow the opinions of people on Twitter. With this app, you can create your own poll.

Twitter Web App

Twiddict
If Twitter goes down and you start to feel withdrawal symptoms, use this service to continue using it. Twiddict makes sure all your tweets end up going to the proper place.

Twitter Web App

Twitter Friends Network Browser
Browse through your Twitter friends, your friends’ friends, your friends’ friends’ friends…

Twitter Web App

Twitterfeed
Post your RSS feed to Twitter automatically.

Twitter Web App

Twitturly
Twitturly is a service for tracking what URLs people are talking about, as they talk about them, on Twitter.

Twitter Web App

Twittonary
The Twitter Dictionary, aka Twittonary, provides explanations of various Twitter-related words.

Twitter Web App

twtQpon
Enhance your social media marketing by offering discount coupons to the Twitter-sphere!

Twitter Web App

twenglish
Twitter translator: Simply type in your tweet, and twenglish will twanslate your tweet for you.

Twitter Web App

twtcard
Send a greeting card, a surprise message or an invitation on Twitter.

Twitter Web App

Tweet What You Spend
Cash-tracking made simple with Twitter.

Twitter Web App

Twittertise
Twittertise allows you to advertise on Twitter and track the success of your branded communications with customers.

Twitter Web App

TwitWall
With TwitWall, you can embed your favorite videos and widgets and upload your photos, MP3 music, podcasts, you name it.

Twitter Web App

UnTweeps
Unfollow Tweeps who have not posted tweets recently.

TwitRand();
Select a random Twitter follower, friend or retweeter.

TwitBlocker
If you become overwhelmed by a Twitter user’s constant tweets, you can keep them quiet with a single click of a button.

Twitterless
Twitterless tells you who stops following you and graphs your follower history over time, displaying the info in a variety of useful views.

Twonvert
With Twonvert, you can easily convert your tweets into SMS shorthand language and say more with less characters.

Postica
Create a sticky note for your tweets.

twi8r
Translate from English to text message shorthand and vice versa.

Twitter Statistics and Analytics

Twitterholic.com
This website is constantly being updated to allow you to find the most popular Twitter users. Want to be on the list? Twitter constantly.

Twitter Web App

TweetStats
An app that tracks your number of tweets per hour and per month. It basically creates a graph based on your tweets.

Twitter Web App

Twitter Grader
Twitter Grader measures the power of your Twitter profile. How high do you rank?

Twitter Web App

twInfluence
Similar to Twitter Grader, twInfluence lets you calculate the indirect influence of you and your followers on Twitter.

Twitter Web App

TwitterCounter
A thorough analytical Web app.

Twitter Web App

tweetVolume
Enter keywords or a phrase and see how often it appears on Twitter.

Twitter Web App

Twist
See trends on Twitter; find out what’s hot and what people are saying about it.

Twitter Web App

TweetRush
TweetRush provides estimated statistics on Twitter usage over a period of time.

Twitter Web App

Tweetwasters
Just how much time do you spend on Twitter? Are you wasting time?

Twitter Web App

Find New Twitter Friends Apps

TwitterTroll.com
TwitterTroll.com is a real-time Twitter search engine to find new friends.

Twitter Web App

Just Tweet It
Just Tweet It makes it easier for tweeters to find other tweeters with similar interests.

Twitter Web App

Friend or Follow
Who are you following who is not following you back?

Twitter Web App

Qwitter: Catching Twitter quitters
Qwitter emails you when someone stops following you on Twitter.

Twitter Web App

Twubble
Twubble is a Twitter extension that helps you find more friends.

Twitter Web App

Twitter Follower-Friend Ratio
Your Twitter ratio is the ratio of your followers to friends (i.e. people you follow). It is measured with the TFF ratio (Twitter follower to friend ratio). The higher the ratio, the more Twitter heat you pack.

Nearby Tweets
Who is tweeting close to you? This app helps you connect with them.

Search Twitter Apps

WhosTalkin
WhosTalkin is a tool that allows users to search for conversations on the topics they care about most.

Twitter Web App

Twitter Search
Search Twitter is an excellent search engine that allows you to find out what’s happening in the world beyond your personal timeline.

Twitter Web App

Flaptor Twitter Search
Comprehensive Twitter search.

Twitter Web App

Twitscoop
Input a Twitter username or keywords in the Twitscoop search box to track a conversation, topic or conference.

Twitter Web App

Twellow
With Twellow, you can search for someone on Twitter or browse through various tweet categories.

Twitter Web App

twitSeeker
twitSeeker is an alternate search engine for finding Twitter users and browsing the results in one interface.

Twitter Web App

Twitter Web-Based Mobile Apps

Hahlo
Hahlo is an excellent and fully featured Twitter client for your iPhone and iPod Touch.

Twitter Web App

TwitterFone
Send messages to Twitter using your voice.

Twitter Web App

PocketTweets
PocketTweets is a Web-based Twitter client for the Apple iPhone.

Twitter Web App

TinyTwitter
TinyTwitter works on any Java-enabled device and any Windows Mobile Pocket PC or smartphone.

Twitter Web App

TwitterBerry
TwitterBerry is a mobile client for posting updates to Twitter from your BlackBerry.

Twitter Web App

twitxr
Share pictures and status updates from your mobile.

Twitter Web App

Slandr
Slandr delivers an enhanced mobile website for Twitter.

Twitter2Go
Twitter2Go provides a quick and simple way to update your Twitter status.

Tapulous
Discover, connect with and send messages to people nearby. Upload photos and update your Twitter account.

Twittelator
Twittelator is an all-around great new application for your iPhone.

TwitterFon
TwitterFon is a simple, clean, easy to use and super-fast Twitter client for your iPhone and iPod Touch.

iTweet 2
iTweet 2 has built-in auto-refresh, search and hash tags. You can view user bios and locations and also view conversations with the “in reply to” links.

GPS Twit
Run GPS Twit on your phone to make it easy for your friends to find you.

iTwtr
An open-source Twitter client for your iPhone.

WordPress Twitter Plug-Ins

Twitter for WordPress
Twitter for WordPress displays yours latest tweets in your WordPress blog.

Twitter Tools
This plug-in integrates your WordPress blog and Twitter account. Pull your tweets into your blog, and create new tweets from blog posts from within WordPress.

Twitpress
Twitpress is a WordPress plug-in that submits a user-definable tweet to your Twitter account, notifying Twitter followers or friends that you have posted a new blog entry.

SimpleTwitter
SimpleTwitter allows you to add Twitter messages to WordPress templates (and not just in the sidebar).

Tweet This
A plug-in that adds a Twitter link to every post and page on your WordPress website, so that visitors can share your blog entries through their Twitter accounts. It also shortens URLs automatically.

TweetBacks
This plug-in imports any tweets that discuss your blog or post. The tweets appear as comments.

TwitterCounter
Install TwitterCounter on your blog to display the number of followers you have on Twitter.

MyTwitter
MyTwitter allows you to display your Tweets on your WordPress website and update your status on the MyTwitter settings page.

TweetRoll
With the TweetRoll widget, you can display the number of your followers and friends.

Twitt-Twoo
Twitt-Twoo is a simple little plug-in that allows you to update your Twitter status right from your blog’s sidebar.

Adobe Air Twitter Apps

Toro for Twitter
Designed to be simple, Toro uses an experimental Twitter client library to remove the Twitter API limit.

Twitter Web App

twhirl
Most of the features available on the Twitter website are accessible through twhirl, with usability enhancements.

Twitter Web App

Tweetr
Tweetr is a Twitter client that allows you to send and receive Twitter messages, but with some added cool features: support for taking photos with your webcam and sending files (up to 10 MB).

Twitter Web App

TweetDeck
TweetDeck aims to improve the existing functionality of Twitter by taking the abundance of Twitter feeds and breaking it down into more manageable bite-sized pieces.

Twitter Web App

DestroyTwitter
DestroyTwitter is a series of canvases that constantly update to keep tweets current and up to date using notifications that appear as soon as a new tweet is posted.

Twitter Web App

TwitterLocal
TwitterLocal is an Adobe AIR-based app that allows you to filter tweets by location.

Twitter Web App

Spaz
Spaz is a well-designed and well-developed Twitter client.

Twitter Web App

Snitter
Short for “Snooks’ Twitter,” Snitter is a cross-platform desktop Twitter client.

Twitter Web App

Twitch
Some features of Twitch are TwitPic integration, URL shortening, the ability to combine friends and replies, reply-highlighting hash-tag support and more.

Firefox Twitter Extensions

TwitBin
TwitBin is a Firefox extension that allows you to keep up with all of your Twitter conversations directly from your browser’s sidebar. Send and receive messages, share links and more.

Power Twitter
Power Twitter adds a multitude of features to the Twitter website interface.

TwitterFox
This extension adds a tiny icon to the status bar that notifies you when your friends have updated their Twitter status. It also has a small text input field to allow you to update your own status.

Twitzer
This Firefox extension lets you post tweets longer than 140 characters on Twitter.

TwitterBar
TwitterBar allows you to post to Twitter from the Firefox address bar.

Twitter Search
This plug-in gives you quick access to the real-time Twitter search engine.

Hoopla!
An essential Twitter plug-in for the Firefox quick search feature.

TwitterEyes
TwitterEyes keeps track of your character count as you compose tweets and replaces characters if you need extra room.

Finally, Worth A Look

Is Twitter Down?
Is Twitter down just for me or for everyone? This great app gives you a simple answer: yes or no.

Twitter Web App

twistori
An interesting Twitter experiment: click on a keyword on the left, and see what tweets are currently being published that contain that word.

Twitter Web App

Twittervision
A real-time geographic visualization of tweets. Amazing.

Twitter Web App

twittearth
Similar to Twittervision (above) but with a sleeker interface.

Twitter Web App

Related Posts

You may want to take a look at the following related posts:

About the author

Paul Andrew is a (sometimes) freelance Web designer. He is chief admin for Speckyboy – Design Magazine, a Web design, Web development and graphic design resource blog. He is also admin for StylesInspiration, a new Web gallery showcase. Follow him on Twitter here: twitter.com/speckyboy.

(al)


© Paul Andrew for Smashing Magazine, 2009. |
Permalink |
40 comments |
Add to del.icio.us | Digg this | Stumble on StumbleUpon! | Submit to Reddit | Submit to Facebook | Who is linking? | Forum Smashing Magazine

Post tags: , ,

© %FIRST theman - visit the author for more great content.

]]>
http://www.wpconfig.com/2009/03/18/99-essential-twitter-tools-and-applications-3/feed/ 0