Archive for February, 2012

Progressive And Responsive Navigation


  

Developing for the Web can be a difficult yet rewarding job. Given the number of browsers across the number of platforms, it can sometimes be a bit overwhelming. But if we start coding with a little forethought and apply the principles of progressive enhancement from the beginning and apply some responsive practices at the end, we can easily accommodate for less-capable browsers and reward those with modern browsers in both desktop and mobile environments.

screenshot

A Common Structure

Below is the HTML structure of a navigation menu created by WordPress. This unordered list is pretty common for content management systems and hand-coded websites alike. This will be the basis for our work.

Please note: Any ellipses (…) in the snippets below stand in for code that we have already covered. We have used them to shorten the code and highlight the parts that are relevant to that section.

<nav class="main-navigation">
   <ul>
      <li><a href="#home">Home</a></li>
      <li>
         <a href="#about">About Us</a>
         <ul class="children">
            <li><a href="#leadership">Leadership</a></li>
            <li><a href="#involvement">Involvement</a></li>
            <li><a href="#vision">Our Vision</a></li>
         </ul>
      </li>
      <li><a href="#clients">Our Clients</a></li>
      <li>
         <a href="#support">Support</a>
         <ul class="children">
            <li><a href="#blog">Blog</a></li>
            <li><a href="#downloads">Downloads</a></li>
            <li><a href="#faq">FAQ</a></li>
         </ul>
      </li>
      <li><a href="#contact">Contact Us</a></li>
   </ul>
</nav>

Unstyled Navigation
Our navigation, unstyled.

Our Tools

  • CSS Reset
  • HTML5 elements
  • LESS CSS
  • jQuery

CSS Reset

Resetting our CSS styles is where we’ll start. Browsers have different default styles for the elements we’ll be using, so understanding this and getting all of the elements to look the same is important. In this example, since we’re using an unordered list, there will be default left padding, top and bottom margins, and a list-style. You can either deal with these individually or, if you’re project will include more than just this navigation, use a reset to clear all of the styles and start fresh. I prefer Eric Meyer’s Reset CSS, but there are a few others to choose from, listed below. Whichever you choose, make sure it accounts for the new HTML5 elements.

HTML5 and CSS3 Elements

We’ll be wrapping the menu in HTML5’s nav element, which is one HTML5 feature that we should be using right now. If you need more good reasons to use HTML5 in your daily work, such as accessibility, then read “Top 10 Reasons to Use HTML5 Right Now� over at Codrops.

CSS3 will give our menu the progressive feel we’re looking for. We can use nifty effects such as linear gradients, text and box shadows and rounded corners, while providing a reasonable appearance for browsers that are dragging their feet. You could also consider using something like CSS3 Pie in the process. This will give those lagging browsers most of the functionality they lack to display your CSS3 properties.

LESS CSS

To make our CSS more efficient, we’ll use LESS along with a class file to ease the difficulty of dealing with all of those browser prefixes. Other options, such as Sass and Compass, do effectively the same thing and might better fit your particular development environment. If you’re interested in learning more about LESS and how it compares to Sass, check out another article of mine, “An Introduction to LESS, and Comparison to Sass.�

jQuery

To make our navigation a little friendlier in small browsers, such as those on mobile devices, we’ll use JavaScript. Essentially, we will gather all of the elements in our navigation and reorganize them into a select form element. Then, when the user selects an option from the list, they will navigate to that page. Interaction with a select element is one of the easiest and best ways to handle navigation in a small window. The practice is pretty common as well, so the learning curve for users will be gentler.

Getting Started

After applying a reset, we get something like the following. You can see that the margins, padding and list styles have been cleared.

Reset navigation
Reset navigation

Child-Level Menus

For now, the child-level menus will only get in the way. The best thing to do is remove them from the equation and add them back in when it’s time to style them. To achieve this, we will apply position: relative to all of the list elements, and move the children off screen until they are needed.

.main-navigation {
   li {
      position: relative;
   }
   .children {
      left: -999em;
      position: absolute;
   }
}

Applying left: -999em; position: absolute; will move the children to the left of the screen by a significant margin. This method is preferable to just using display: none because it is more accessible to screen readers.

Unstyled without children
Unstyled without children

Common Navigation Styles

Every navigation menu will probably have links in it. But these links are not like the links we see in the main body of the page, which are blue, underlined and distinguishable from the surrounding text. Rather, links in the navigation will stand alone, and their function will be obvious. That being said, the links in a nav element will probably have a few features of their own that distinguish them from typical anchor tags.

nav {
   a {
      color: inherit;
      display: block;
      text-decoration: none;
   }
}

Thus, a link will inherit the color of the text assigned to the parent element, in this case nav. It will be set to display as a block-level element, because we want the clickable area to be large and we do not want underlining (because that would just look funny).

Navigation with more functional links
Navigation with more functional links

Please note: color: inherit is not supported in IE 6 or 7. If you need to support those browsers, then you will need to explicitly set the color that you want.

Lining Up

Getting the menu in line calls for the use of floats. Initially, we’ll float all of the elements in the nav element to the left. Later, we’ll undo this property for the child-level menus, along with a lot of the other styles that we’ll set along the way.

.main-navigation {
   ul, li, a {
      float: left;
   }
   …
}

Inline navigation
Inline navigation

Because every element in the nav element is now floated, the element itself will collapse as though it were empty. There are a few ways to deal with this. One is to also float the nav element itself, which will expand it to wrap around its contents. If need be, you can set it to width: 100% to fill any remaining space to the right. Or you could use Nicolas Gallagher’s “micro� clearfix solution, which essentially adds clear: both just before the closing of the nav element.

/* For modern browsers */
.cf:before,
.cf:after {
    content:"";
    display:table;
}
.cf:after {
    clear:both;
}
/* For IE 6/7 (trigger hasLayout) */
.cf {
    zoom:1;
}

Because we’re using LESS for our CSS, applying the clearfix to our main-navigation class without modifying the markup is very easy.

.main-navigation {
   .cf;
   …
}

We’ll see more of this, as well as a description of how this works, in the section titled “Rounded Corners and Gradients� below.

Styling

All righty. By now, you’re probably as tired of looking at an unstyled menu as I am. To start, we’ll build what looks like a block wall, and then chisel a nice menu out of it. We won’t serve the block wall to antiquated browsers, but it’s a good start anyway.

Background Color and Borders

.main-navigation {
   font-size: 0.8em;

   ul, li, a {
      …
   }
   ul {
      background: #eee;
      border: 1px solid #ddd;
   }
   li {
      …
      border-right: 1px solid #ddd;
   }
   li:last-child {
      border-right: none;
   }
   a {
      height: 35px;
      line-height: 35px;
      margin: 3px;
      padding: 0 15px;
   }
   .children {
      …
   }
}

In the code above, the text was just too big, so we shrunk it with font-size: 0.8em. This property is set on the main-navigation class, so it applies throughout the navigation. The top-level unordered list has a border: 1px solid #ddd property to break it out from the page. Each list item element is given a border-right: 1px solid #ddd; to separate it from each other. The li:last-child selector targets the last list item element in the unordered list, removing the right border because no item follows it.

The links within the navigation are given a background color and some left and right padding to add distinction and increase their clickable area. We’re fixing the height and line-height, instead of using top and bottom padding, so that we can predict more accurately where the child-level menus will be positioned relative to their shared parent list item.

Navigation resembling a block wall
Navigation resembling a block wall

Rounded Corners and Gradients

.main-navigation {
   …
   text-shadow: 0 1px 1px #fff;

   ul {
      border: 1px solid #ddd;
      .border-radius();
      .linear-gradient();
   }
   …
}

.border-radius (@radius: 5px) {
   border-radius: @radius;
}
.linear-gradient (@start: #fff, @end: #ddd, @percent: 100%) {
   background: @start; /* Old */
   background: -moz-linear-gradient(top,  @start 0%, @end @percent); /* FF3.6+ */
   background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,@start), color-stop(@percent,@end)); /* Chrome, Safari 4+ */
   background: -webkit-linear-gradient(top,  @start 0%,@end @percent); /* Chrome 10+, Safari 5.1+ */
   background: -o-linear-gradient(top,  @start 0%,@end @percent); /* Opera 11.10+ */
   background: -ms-linear-gradient(top,  @start 0%,@end @percent); /* IE 10+ */
   background: linear-gradient(top,  @start 0%,@end @percent); /* W3C */
}

Above, we have created two new classes, border-radius and linear-gradient.

The border-radius class is actually what LESS developers refer to as a parametric mixin. Essentially, it’s like a class, but you can pass variables to it in case the default value isn’t exactly what you want. In this case, if 5 pixels isn’t what you want, you could reference the mixin as .border-radius(10px), and then it would use 10px instead of the original 5px. With the border-radius property, you could also pass it something like .border-radius(5px 0 0 5px), and it would apply the 5-pixel rounding to only the top-left and bottom-left corners. For more information and possibilities on border-radius, see “Border-Radius: Create Rounded Corners With CSS� at CSS3.info.

Another parametric mixin is linear-gradient. But with LESS, you can add classes to other selectors and it will apply the same styles—thus negating the need to modify the markup just to add another class (and, by extension, its styles) to an element. Both of the classes I’ve created cover the possibilities of browser syntax. Currently, Webkit has two different syntaxes, because for some reason the browser makers decided to ignore the specification when first implementing it and made up their own syntax. With Chrome 10 and Safari 5.1, they went back to the specification, joining the other browsers, and made things a little easier for us. However, if you still care about the previous versions, you’ll need to add their crazy syntax as well. We’ve also added a white text-shadow to the text in the navigation to give it a slightly beveled look.

Navigation with a gradient and rounded corners
With the two classes applied, you can see the slight gradient and the rounded corners.

Some browsers do not support CSS3 gradients. Yes, I’m looking at you, Internet Explorer 6, 7, 8 and 9. If you want to use something other than the filter syntax for gradients, you’ll have to wait for version 10. In the meantime, either you could use the filter syntax for IE (see the “For Internet Explorer� section of “Cross-Browser CSS Gradient�) and put them in an IE-specific style sheet, or you could use an image gradient. You could also just leave them without the gradient, but that’s not the point here.

Parent-Level Hover States

.main-navigation {
   …
   li:hover {
      a {
         .linear-gradient(#dfdfdf, #c0bebe, 100%);
      }
      .children {
         …
         a {
            background: none;
         }
      }
   }
   …
}

The code above will trigger the hover state for anchor elements when the user hovers over their parent list item, rather than hovering over the anchors themselves. This way is preferable so that the anchor element maintains its hover state when the user is mousing over the child-level menu as well. Doing it this way does, however, create the need to reset the background color of anchor elements within the child-level menus. That’s the part you see within the children selector.

Hovering over the parent-level links
Hovering over the parent-level links

Displaying the Children

Bringing the children back onto the screen is easy enough. But before we get carried away, we need to clear out a few styles that are applied to all unordered lists, list items and anchors.

.main-navigation {
   …
   .children {
      background: #fff;
      left: -999em;
      position: absolute;

      li, a {
         float: none;
      }
      li {
         border-right: none;
      }
   }
}

The code above changes the background of the child-level menu to white, instead of the light gradient that we used in the parent-level menu. The next couple of lines remove the left float from the list items and anchors. We’ve also gotten rid of the right border that separates the list items in the parent-level menu.

The Hovering Box

.main-navigation {
   …
   .children {
      background: #fff;
      .box-shadow();
      left: -999em;
      margin-left: -65px;
      position: absolute;
      top: 30px;
      width: 130px;
      …
   }
}

…
.box-shadow (@x: 0, @y: 5px, @blur: 5px, @spread: -5px, @color: #000) {
   -moz-box-shadow: @x @y @blur @spread @color;
   -webkit-box-shadow: @x @y @blur @spread @color;
   box-shadow: @x @y @blur @spread @color;
}
…

We’ve added another parametric mixin to the equation. This one produces the box shadow, with all of its parameters as variables, and with the browser prefixes. We’ve borrowed the styles from .children to make the box appear to hover over the parent menu. To center the child underneath the parent element, we’ve set the left position to 50%, and set the left margin to the negative value of half the width of the child. In this case, the child level menu is set to 130 pixels wide, so we’ve set the left margin to -65 pixels.

Navigation w/child reset to hover style
Navigation with the child reset to hover style

Child-Level Hovers

.main-navigation {
   …
   .children {
      …
      a {
         .border-radius(3px);
         height: 30px;
         line-height: 30px;
         margin: 3px;
      }
      a:hover {
         background: #dff2ff;
      }
   }
}

We’re using the parametric mixin that we created for the border-radius for the links in the children as well. Adding a 3-pixel margin and 3-pixel border radius to all of the anchor elements within the child menu will accent the 5-pixel border radius of the menu well. We’ve also adjusted the height and line height a little, because they just seemed too high. Finally, we gave the list items a nice soft-blue background color on hover.

Navigation w/child menus and their hover state
Navigation with child menus and their hover state

Responding to Mobile Browsers and Size Constraints

A lot of screen sizes and browsers are out there. The iPhone has had two resolutions. Up to the 3GS model, it was 480 × 320; since the iPhone 4, it has been 960 × 640. Android browsers run from 480 × 320 to 854 × 480. Android also has a lot of browsers to choose from. There are the usual Firefox and Opera, as well as a ton of browsers by small start-ups. You can get Opera for the iPhone, but since you can’t make it the default browser, you’re pretty much stuck with Safari. Given this variety, we’ll have to make some adjustments if we want our navigation to be useful on all devices and in all browsers.

Fitting the Content

Accomplishing this part is easy, but doing it will probably require adjusting our styles. But that’s why we’re here, isn’t it?

Currently, when we open the navigation demo in iOS, it looks like this:

Original navigation in iOS
Original navigation in iOS

This might not look too bad on a giant screen, and it might even be usable on the iPad, but you would struggle to use it on a phone. Zooming in might make it easier, but that’s not ideal. Optimizing for the device is preferable, and forcing the browser to use the available space is simple.

<meta name="viewport" content="width=device-width">

This alone makes a huge difference in the way the browser renders the page. And while the menu is not the prettiest it’s ever been, it is a lot more functional.

Navigation on iOS with the viewport adjusted
Navigation on iOS with the viewport adjusted

Media Queries

We can use media queries to adjust the styles based on the media in the browser. In this case, we’ll use the width of the page to change the look and feel of the navigation to make it more suitable to the available space. In this case, we’ll make the menu items more button-like.

@media only screen and (max-width: 640px) {
   .main-navigation {
      ul {
         border: none;
         background: none;
         .border-radius(0);
      }
      li {
         border-right: none;
      }
      a {
         border: 1px solid #ddd;
         .border-radius();
         font-size: 1.2em;
         height: auto;
         .linear-gradient();
         line-height: 1em;
         padding: 15px;
      }
   }
}

In the code above, we’ve used a media query to target situations in which the user is only looking at a screen and in which the width of the window is a maximum of 640 pixels. In this scenario, we’ve removed the border, background and border radius from the unordered list, and applied those styles to the anchors themselves. We’ve also increased the font size of the anchors, cleared the height and line height, and adjusted the padding of the links to increase the clickable area.

Navigation adjusted for mobile display
Navigation adjusted for mobile

As you can see, the links look much friendlier in a mobile browser. They are, however, only half functional, because touch devices don’t have a hover state. This means that if you have child-level menus, as we do here, you’ll have to figure out a way to display them as well. You could replace the hover state with a touch event of some kind, or expand the children out onto the page. That would greatly increase the size of the navigation, though. The following method might be best.

Replacing the Menu in Mobile Browsers With JavaScript

$(function() {
   /* Get the window's width, and check whether it is narrower than 480 pixels */
   var windowWidth = $(window).width();
   if (windowWidth <= 480) {

      /* Clone our navigation */
      var mainNavigation = $('nav.main-navigation').clone();

      /* Replace unordered list with a "select" element to be populated with options, and create a variable to select our new empty option menu */
      $('nav.main-navigation').html('<select class="menu"></select>');
      var selectMenu = $('select.menu');

      /* Navigate our nav clone for information needed to populate options */
      $(mainNavigation).children('ul').children('li').each(function() {

         /* Get top-level link and text */
         var href = $(this).children('a').attr('href');
         var text = $(this).children('a').text();

         /* Append this option to our "select" */
         $(selectMenu).append('<option value="'+href+'">'+text+'</option>');

         /* Check for "children" and navigate for more options if they exist */
         if ($(this).children('ul').length > 0) {
            $(this).children('ul').children('li').each(function() {

               /* Get child-level link and text */
               var href2 = $(this).children('a').attr('href');
               var text2 = $(this).children('a').text();

               /* Append this option to our "select" */
               $(selectMenu).append('<option value="'+href2+'">--- '+text2+'</option>');
            });
         }
      });
   }

   /* When our select menu is changed, change the window location to match the value of the selected option. */
   $(selectMenu).change(function() {
      location = this.options[this.selectedIndex].value;
   });
});

To summarize, first we’re checking whether the window is less than or equal to 480 pixels. To ensure an accurate reading on mobile devices, you can use a meta tag to scale the viewport accordingly:

<meta name="viewport" content="width=device-width">

We populate the first variable, windowWidth, with the value of the window’s width as defined by the given device. We can use this value to then check whether the width is narrower than a particular value. We’ve chosen 480 pixels here because, while we might want to use media queries to adjust the menu below 640 pixels, at a certain point the viewport would be just too small to justify the menu taking up all that space.

We then use jQuery to create a clone of our menu that we can later crawl to create our options. After we’ve done that, it’s safe to replace the unordered list with the select element that we’ll be using and then select it with jQuery.

In the largest part of the code, we’re crawling through the clone of our navigation. The selector used, $(mainNavigation).children('ul').children('li'), ensures that we go through only the uppermost list elements first. This is key to creating the nested appearance of the select menu. With it, we select the “direct� child-level unordered list elements and then their “direct� child-level list elements, and then parse through them.

Inside each of these “direct� descendants, we get the value of the href attribute and the text of the link, and we store them in variables to be inserted in their respective options. This is implemented by appending <option value="'+href+'">'+text+'&kt;/option> to our new select list.

While we’re in the top-level list item elements, we can check whether any child-level menus need to be parsed. The statement if ($(this).children('ul').length > 0) checks whether the count of the selector is greater than 0. If it is, that means child-level items need to be added. We can use that same selector, with a slight addition, to go through these elements and add them to our select list, $(this).children('ul').children('li').each().

The same parsing method applies to these elements, although they use different variables to store the values of the anchor tags, so as not to create conflicts. We have also prefixed text to the menu labels at this level, --- , to differentiate them from the other items.

Parsing through the menu in this method (nested) will create the parent-child relationship you would expect.

After the menu is created, a little more JavaScript will enable the select list to serve as navigation.

$(selectMenu).change(function() {
   location = this.options[this.selectedIndex].value;
});

When the select menu is changed, a new option is selected, and the window location is changed to reflect the value of the option. That value comes from the href of the original anchor element.

The result is like so:

screenshot
The select menu in a desktop browser

Select menu on Android and iPhone
The select menu in Android and iPhone browsers

Given the increased clickable area of the native controls, the select menu is obviously much more user-friendly on mobile.

Share Your Experience

We’d love to see and hear about some of your experiences with menus across browsers and platforms; please share below. And if you have any questions, we’ll do our best to find answers for you.

(al)


© Jeremy Hixon for Smashing Magazine, 2012.


Get Your Kits: Fresh Web and Mobile UI Kits, Wireframe Kits and PSD’s


  

Today, we have a useful compilation for our readers of fresh web UI kits, mobile UI kits and wireframe kits complete with PSD files that will certainly come in handy when you are designing projects. Some basic user interface elements are always welcome toolbox additions by designers. We need them for a wide range of projects in order to able to easily create an accurate UI model of either a website or app.

We hope that this round up of web and mobile user interface kits will prove helpful for the next mock-ups your projects demand. There were quite a bit of tools crammed into this post, so we have split it up onto two pages. Enjoy!

Get Your Kits!

Butterscotch UI Kit
This free download is a gorgeous UI kit with resizable shape layers in a clean, well organized PSD file.

Screenshot

Free Candy UI Kit
This bright and cheerful user interface kit contains clean, pixel precise elements that are ideal for web and app projects.

Screenshot

Free Dark UI Kit
Each element in this sharp, clean pack has been hand-crafted in Photoshop, and is fully scalable with vector shape layers. Enjoy!

Screenshot

Light UI Kit (PSD)
This kit has a very light look to it and is also very clean. Everything is 100% vector so you can re-scale this to any size needed.

Screenshot

Heads Up Display UI Kit
Here is a collection of over 50 pixel perfect HUD (Heads Up Display) user interface elements, for wire-framing and mocking-up desktop and web apps.

Screenshot

New Twitter Profile Page GUI PSD
The PSD provides the full mockup with all layers in vectors, allowing you to scale up the design elements without loss of quality.

Screenshot

iPhone UI Kit
These fresh iPhone and iPod Touch user interface elements are beautifully simple and elegant. This kit contains menu bars, list styles, buttons, form elements, icons, and more.

Screenshot

UI Kit
This set contains some truly beautiful UI elements. The link will take you to the comment where you can download the UI kit.

Screenshot

The Ultimate Wireframe UI Kit
This set contains over 60 of the most popular elements in web design. And each element has been created from scratch with Shape Layers, meaning that the whole kit is 100% scalable, and super-easy to edit.

Screenshot

Dark UI kit
Everthing in this wonderful, dark kit is 100% vector, so you can re-scale the elements to any size needed. It also includes a Photoshop PSD file.

Screenshot

Wireframe Sketch Sheets
Included in this set of sketch sheets are 10 printable templates for website designs, and iPhone and iPad app mock-ups. The designs are proportional and use a grid of 32 pixel squares for guidance and straightforward translation to Photoshop or Fireworks etc. when you are finished.

Screenshot

Votes & Ratings UI Kit
Here is a set of fully layered, editable Photoshop web elements for voting systems and ratings on the web. Everything in the pack should be scalable without any redrawing or major effort.

Screenshot

Simple UI Kit
This simple kit includes radio buttons, checkboxes, search boxes, regular and rounded buttons, on and off gui switches and more! Everything is 100% vector and can be re-scaled to any size if needed.

Screenshot

Blanc Web Elements
This set of web and user interface elements was created specifically for light, crisp websites and applications.

Screenshot

Minion UI
The idea behind this user interface kit was to make a dark but sleek UI, that borrows on styles from OS X and Ubuntu. Mission accomplished.

Screenshot

Facebook Fan Page GUI PSD
This kit allows you to mock-up fan pages for your clients looking to expand their brand to FB. All layers are vectorized, allowing you to scale up the GUI without loss of quality.

Screenshot

Lion Ui Kit Preview
This Mac OS Lion UI kit is perfect for those who need to create mock-ups in a Lion environment. The link will take you to the comment where you can download the UI kit.

Screenshot

Creamy UI Kit
This kit includes radio buttons, checkboxes, a percent slider, previous/next buttons, rectangular/circular buttons, search boxes, tick/cross buttons, and the on/off GUI. Everything is 100% vector and can be scaled to any size if needed.

Screenshot

Media Toolbar UI
This is a simple, sleek designed media toolbar user interface that’s 100% vector, so you can re-scale this to any size if needed.

Screenshot

iTunes UI Kit
This unique set contains some rather beautiful iTunes based UI design elements that could be just what your next project needs.

Screenshot

More Kits Are Waiting

That’s right more awaits. Now feel free to stretch for a minute, or go on and head over to page 2 of the post to get some more tools for your resource stockpiling.


Upcoming Web Design And Development Conferences For 2012


  

We’re well into 2012, and many designers and developers around the world are planning their travels for the year, which may include attending one of the many Web design and development conferences that will be held in the upcoming months. To help you out with your plans, we’ve once again put together a list of conferences and events that you might want to consider.

As always, this post covers events taking place in about a seven month timeframe that ends in early September. In August, we’ll post another article like this that will cover events for the six or seven month period beginning in September.

There is no way for us to include every possible event, so you are more than welcome to help us out and provide a comment to an upcoming event that you feel would be of interest to Smashing Magazine’s readers. This may also be a chance for you to meet members of the Smashing Team this year.

Using the in-page links below, you can choose the month that interests you most:

February 2012 Events

Multipack Events
“The Multipack is a community of multi-talented Web professionals from across the West Midlands. Every month we get together to discuss design, code, standards and technology, and share our knowledge, skills and talents.”

When: Various dates throughout 2012
Where: Various UK locations

Multipack Events

Web Direc­tions’ “What do you know?�
“Come by at 6.30pm and we’ll kick off around 7.00pm. There’ll be ten fast and furi­ous five minute pre­sen­ta­tions show­ing off a cool web devel­op­ment or design tech­nique. There’ll be free beer and a bite to eat, and it’s a great chance to see who’s doing what in the local web indus­try. See you there!”

When: Various dates beginning February 16, 2012
Where: Various cities in Australia

Web Direc­tions’ “What do you know?�

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

When: Various dates beginning February 17, 2012
Where: Miami, Phoenix, Slovakia, Bangkok, The Netherlands, San Diego, Ponce

WordCamp

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

When: Various dates starting February 20, 2012
Where: London, New York, Shanghai, Toronto, San Francisco

SES Conference & Expo

In Control Conference
“Learn from a diverse array of Web experts to use modern tools and techniques to refine your Web design craft now. Harness creative inspiration to unlock your potential, amplify innovation, and broaden your reach. Immerse yourself in two days of idea exchange with potential business partners who are as forward-thinking as you are.”

When: February 20-21, 2012
Where: Orlando, FL, USA at the Embassy Suites Orlando

In Control Conference

iStrategy
“iStrategy is an inspirational, two-day, digital media conference for senior executives who believe that the success of their business requires a sound digital strategy. iStrategy is held bi-annually at each of our four regional event locations in North America, Europe, Australia and Asia.”

When: Various dates beginning February 21
Where: Sydney, London, Chicago

iStrategy

LessConf
“LessConf is not like other events you’ve heard about. Sure there’s speakers, after parties, people with laptops, but LessConf has been called ‘Summer camp for startups’, ‘the best time of my life,’ and even ‘the world’s worst conference’.”

When: February 23-24, 2012
Where: Atlanta, GA, USA

LessConf

No Fluff Just Stuff Software Symposiums
“This conference will focus on the latest technologies and best practices emerging in the enterprise software development space. Our speakers are authors, consultants, open source developers, and recognized industry experts. NFJS brings a high quality conference to your city, making the event accessible not only to senior engineers, but to the whole team. ”

When: Various dates beginning February 24, 2012
Where: Various cities in the USA

No Fluff Just Stuff Software Symposiums

SuperConf
“SuperConf 2012 is where web development & entrepreneurship converge. We will have 9 startups & 8 speakers over 2 days in perfect weather during February.”

When: February 24-25, 2012
Where: Miami, FL, USA at the Miami Beach Convention Center

SuperConf

PHP UK Conference
“PHP UK Conference 2012 is PHP London’s seventh annual conference, powered by PHP London, a community-run, limited company of the UK. For the first time, it is a two day event. The conference planning committee is made of up of the five members of the PHP London executive committee and five additional volunteers.”

When: February 24-25, 2012
Where: London, UK at the Business Design Centre

PHP UK Conference

OpenCF Summit
“OpenCF Summit is a community gathering focused exclusively on advancing free and open source software in the CFML community. If you’re interested in diving into the free software CFML engines, learning more about the free software movement, and interacting with the most progressive thinkers in the CFML community, OpenCF Summit is for you! 72 hours of CFFreedom for the low, low price of only $72. Sleep optional.”

When: February 24-26, 2012
Where: Dallas, TX, USA at the Hyatt Place Dallas/Garland

OpenCF Summit

Usability Week Conference 2012
“Many conferences offer cavernous exhibit halls, brief seminars on second-hand discoveries, and a sense of anonymity that can be truly alienating. Usability Week takes a different approach. In place of scattered, shallow talks, Usability Week offers up to 6 days of deep learning as international experts lead full-day tutorials”

When: Various dates between February 26 and May 18, 2012
Where: New York, Las Vegas, Edinburgh, San Francisco, Amsterdam, Washington

Usability Week Conference 2012

FITC Amsterdam
“FITC Amsterdam features renowned speakers from around the world, all of whom have signed up to share their knowledge and expertise; attendees will leave inspired, educated and challenged to set the bar even higher.”

When: February 27-28, 2012
Where: Amsterdam, The Netherlands, at the European Centre for Arts and Sciences

FITC Amsterdam

Confoo
“PHP, Python, Ruby, Java and .NET Conference.”

When: February 29 – March 2, 2012
Where: Montreal, Canada

Confoo

Design Indaba Conference and Expo
“With a focus on international thought leadership, the Design Indaba Conference has become one of the world’s leading design events and hosts more than 40 speakers and 2 500 delegates. The Design Indaba Expo was inaugurated in 2004 and provides a commercial platform for the finest South African designers to leverage goods and services to the local and global markets.”

When: February 29 – March 4, 2012
Where: Cape Town, South Africa

Design Indaba Conference and Expo

March 2012 Events

QCon
“QCon London is the sixth annual London enterprise software development conference designed for developers, team leads, architects and project management is back! There is no other event in the UK with similar opportunities for learning, networking, and tracking innovation occurring in the Java, .NET, Html5, Mobile , Agile, and Architecture communities.”

When: March 7-9, 2012
Where: London, UK in The Queen Elizabeth II Conference Centre

QCon

SXSW Interactive
“The 19th annual SXSW Interactive festival will take place March 9-13, 2012 in Austin, Texas. An incubator of cutting-edge technologies, the event features five days of compelling presentations from the brightest minds in emerging technology, scores of exciting networking events hosted by industry leaders and an unbeatable line up of special programs showcasing the best new websites, video games and startup ideas the community has to offer. From hands-on training to big-picture analysis of the future, SXSW Interactive has become the place to experience a preview of what is unfolding in the world of technology.”

When: March 9-13, 2012
Where: Austin, TX, USA

SXSW Interactive

Greenville Grok
“A small thing, in a great place, with wonderful people, asking a ton of questions and making headway on some decent answers.”

When: March 15-17, 2012
Where: Greenville, SC, USA

Greenville Grok

Webcoast
“We offer a weekend where you expand your knowledge and your network of contacts, a weekend you will remember and enjoy for a long time.”

When: March 16-18, 2012
Where: Gothenburg, Sweden

Webcoast

London Web Summit
“The two largest web & start up conferences in the UK & Ireland, GeeknRolla and the Dublin Web Summit, are merging to create the London Web Summit. LWS will take place on March 19th in the Brewery.”

When: March 19, 2012
Where: London, UK in the Brewery

London Web Summit

DrupalCon Denver
“DrupalCon Denver is the official conference of the Drupal community. DrupalCon is a biannual event presented to an ever-expanding international audience since Drupal became an open-source project in 2001. It’s put on by the Drupal Association, as well as a fabulous group of volunteers and organizers from across the globe.”

When: March 19-23, 2012
Where: Colorado, USA, at the Colorado Convention Center

DrupalCon Denver

IA Summit
“The IA Summit is the primary event for those redefining strategy and structure in support of cross-channel systems and user experiences.”

When: March 21-25, 2012
Where: New Orleans, LA, USA at the downtown Hyatt Regency Hotel

IA Summit

FITC Spotlight: JavaScript
“Nearly everyone with a personal computer has some sort of JavaScript interpreter on it, making this language essential to the developer’s toolkit. JavaScript has become even more important with the increasing popularity of HTML5, as it is one of the language’s building blocks. By the end of event day, attendees will have enough information to get started with JavaScript development.”

When: March 24, 2012
Where: Toronto, Canada, at the University of Toronto Campus

FITC Spotlight: JavaScript

Made by Few Web Conference
“Made by Few is a 1-day conference featuring talks from entrepreneurs, designers, developers, and creatives. It’s part showcase, part education, and part inspiration.”

When: March 24, 2012
Where: Little Rock, AR, USA at Little Rock River Market

Made by Few Web Conference

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

When: March 24-26, 2012
Where: Washington, DC, USA at the Walter E. Washington Convention Center

Photoshop World Conference & Expo

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

When: March 26-29, 2012
Where: Las Vegas, NV, USA at the MGM Grand

DevConnections

ArabNet Digital Summit
“The region’s largest digital event just got bigger! This year’s summit will go on for 5 action-packed days featuring cutting-edge panel discussions, specialized workshops, exciting competitions, focused networking sessions, social activities and more.”

When: March 27-31, 2012
Where: Beirut, Lebanon

ArabNet Digital Summit

April 2012 Events

JSConf
“We have been doing JSConf for 4 years and every single one has been better than the last, it is something we take a great deal of pride in. We make events that aren’t from the standard conference playbook because we believe you deserve more than that. We focus on two things, presenting mind-altering JavaScript technology and uses during the daytime and providing exceptional ‘networking events’ AKA killer parties during the evenings.”

When: April 2-3, 2012
Where: Scottsdale, AZ, USA at the Firesky resort

JSConf

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

When: April 2-4, 2012
Where: Seattle, WA, USA at the Bell Harbor Conference Center

An Event Apart Seattle

Web-5 Conference
“The conference’s point is to let us discover, learn and share new technologies (WebGL, Dojo Toolkit, SocketIO, NodeJS, HTML5, JavaScript) and techniques through a practical approach. Thus allowing developers, sysadmins and technical directors to better grasp how these new technologies and techniques will help them in their daily work (and make their customer’s experience even more awesome).”

When: April 4-6 2012
Where: Béziers, France

Web-5 Conference

TYPO San Francisco
“San Francisco is renowned as a creative hub. The unique blend of innovative thinking, design, software and technological development in the Bay Area has changed the way the world works. Well designed connections have improved and made our lives more fulfilling. Greater connections mean life can be more challenging, and that requires innovative design solutions. TYPO San Francisco brings together incredible speakers from American and European design communities to share and discuss what it means to connect.”

When: April 5-6, 2012
Where: San Francisco, CA, USA at the Yerba Buena Center for the Arts

TYPO San Francisco

TYPO3 Developer Days
“So, here is the deal. You have a project related to TYPO3 / FLOW3 / Phoenix or the TYPO3 project in general? You need some manpower to get it done? You want to share your idea and probably find someone who joins your team? You just want to implement the coolest feature mankind has ever seen? Well, then the TYPO3 Developer Days 2012 is the event to go!”

When: April 12-15, 2012
Where: Munich, Germany at MACE

TYPO3 Developer Days

MADinSpain
“Breathe creativity. MADinSpain is an international design event and venue for the most remarkable creative minds of our time.”

When: April 13-14, 2012
Where: Madrid, Spain

MADinSpain

360|Flex
“360|Flex has quickly become THE conference for Flex/AIR/ActionScript developers to attend to connect with the community, learn from the Adobe Engineers, as well as community experts, and get the deepest, most technical understanding of Flex and what’s coming for Flex, anywhere.”

When: April 15-18, 2012
Where: Denver, CO, USA

360|Flex

DIBI Web Conference
“Design it. Build it. The two-track web conference.”

When: April 16-17, 2012
Where: Newcastle upon Tyne, UK

DIBI Web Conference

Breaking Development
“Breaking Development focuses on new, emerging techniques for web development and design for mobile devices. Our speakers are hand-picked to make sure you get challenging, well-delivered talks from a variety of different perspectives.”

When: April 16-18, 2012
Where: Orlando, FL, USA at the Gaylord Palms

Breaking Development

The World Wide Web Conference
“The World Wide Web Conference is a yearly international conference on the topic of the future direction of the World Wide Web. It began in 1994 at CERN and is organized by the International World Wide Web Conferences Steering Committee (IW3C2). The Conference aims to provide the world a premier forum for discussion and debate about the evolution of the Web, the standardization of its associated technologies, and the impact of those technologies on society and culture.”

When: April 16-20, 2012
Where: Lyon, France

The World Wide Web Conference

140 Character Conference
“The take aways from this event will provide the attending delegates knowledge, perspectives and insights to the next wave of effects twitter and the real-time internet will have on business.”

When: Multiple dates beginning April 17, 2012
Where: New York, USA

140 Character Conference

Great Indian Developer Summit
“With over 14000 attendees benefiting over four game changing editions, GIDS is the gold standard for India’s software developer ecosystem for gaining exposure to and evaluating new projects, tools, services, platforms, languages, software and standards.”

When: April 17-20, 2012
Where: Bangalore, India

Great Indian Developer Summit

UX London
“Presented by Clearleft, UX London is 3 days of inspiration, education and skills development for User Experience Designers.”

When: April 18-20, 2012
Where: London, UK, at the Cumberland Hotel

UX London

BACON
“BACON is a two-day, two-track technology conference on things developers love. Thirty-two tasty sessions on topics including web development, machine learning, astronomy, and electronic music.”

When: April 20-21, 2012
Where: London, UK

BACON

FITC Design & Technology Festival
“The game has changed and FITC is on it! Featuring over 70 renowned digital creators from around the globe, FITC Toronto 2012 attendees will be privy to the knowledge of the best and brightest in the digital space. Covering everything from HTML5 to making digital art, this three day festival will leave attendees inspired to create in new and innovative ways.”

When: April 23-25, 2012
Where: Toronto, Canada at the Hilton

FITC Design & Technology Festival

beyond tellerrand – play!
“This a 4 day event with affordable ticket pricing. 2 workshop days feature full-day workshops and the conference covers 2 tracks with over 20 presentations about technology, design and inspiration on 2 days. Who ever wants to hear the latest buzz and exchange with other creative minds has reached the exact right event. And ticket prices start from just €99,00 including German VAT (19%) and booking fees.”

When: April 24-27, 2012
Where: Cologne, Germany

beyond tolerand - play

TNW Conference
“The 7th edition of The Next Web Conference will be packed with high quality content, networking events, parties and dealmaking opportunities. It’s the place to be for all web and mobile professionals.”

When: April 25-27
Where: Amsterdam, The Netherlands

TNW Conference

Front-Trends
“This is a gathering for front-end lovers to discover the current trends to build a professional career out of innovative front-end development.”

When: April 26-27, 2012
Where: Warsaw, Poland at the Soho factory

Front-Trends

ConvergeSE
“Peel back the layers and examine the intersection between design, development and marketing over two days of workshops and lectures.”

When: April 27-28, 2012
Where: Columbia, SC, USA at IT-ology

ConvergeSE

Future Insights Live
“Future of Web Apps, Future of Web Design, Future of Mobile, and Future of Web in the Enterprise have joined forces to bring you our most comprehensive event EVER!”

When: April 30 – May 4, 2012
Where: Las Vegas, NV, USA at the MGM Grand Conference Center

Future Insights Live

May 2012 Events

GRAVITY FREE
“If you aren’t finding the inspiration you need to think big ideas, to boldly imagine, to create surprise, to do things a little differently, consider the place you aren’t looking — GRAVITY FREE: Design That Opens Minds.”

When: May 1-2, 2012
Where: Chicago, IL, USA at The Spertus Institute

GRAVITY FREE

webDU
“The conference offers the opportunity to get hands-on technical training, gain new skills, hear breaking news from the Web Industry, network with peers and industry leaders, and ultimately become more successful developing and delivering web applications. Nowhere else in ANZ can this audience find the volume and quality of information available under one roof at webDU.”

When: May 3-4, 2012
Where: Sydney, Australia at the Four Points by Sheraton Sydney, Darling Harbour

webDU

Next Berlin
“The leading European conference for the digital industry. ”

When: May 8-9, 2012
Where: Berlin, Germany

Next Berlin

CMS Expo
“2012 CMS Expo showcases the world’s leading Content Management Systems and the incredible people who power them. Come discover the most innovative CMSs on the planet. Connect to the growing CMS Community. Learn the best ways to deploy your content and tune your CMS to perfectly match the demands of an ever-changing mobile, social, interconnected marketplace.”

When: May 8-10, 2012
Where: Chicago, IL, USA

CMS Expo

J. Boye Web and Intranet Conference
“J. Boye’s conferences grew out of our international groups for online professionals. We are in regular contact with our 400+ members from large and complex organisations and we know their agendas and projects. This puts us in a unique position to assess and determine what is happening in every corner of the field at any given time and enables us to put together a relevant program that really reflects the current challenges of our delegates.”

When: May 8-10, 2012
Where: Philadelphia, PA, USA at The Hub CityView

J. Boye Web and Intranet Conference

Mobilism
“Mobilism is one of the best-respected web conferences in the world, concentrating exclusively on mobile web design and development.”

When: May 10-11, 2012
Where: Amsterdam, The Netherlands

Mobilism

Semi-Permanent Creative Conferences
“Semi-Permanent is a world leading design conference that to date has hosted 29 events in 9 cities, covering 5 countries, with over 200 speakers and 50,000 attendees. In 2012, Semi-Permanent celebrates ten years of events- that’s a decade full of stories and wisdom from industry idols. ”

When: Various dates beginning May 11, 2012
Where: Sydney, Auckland, Brisbane, Melbourne (Australia)

Semi-Permanent Creative Conferences

Future Of Web Design London
“The Future of Web Design proudly presents three days of cutting edge learning and inspiration. Join us for a day of in-depth workshops, followed by two action-packed conference days in the heart of London!”

When: May 14-16, 2012
Where: London, UK at The Brewery

Future Of Web Design London

PEPCON
“Join the world’s top InDesign experts and the Adobe InDesign team, May 14-16 in San Francisco for the InDesign event of the year! Find answers and valuable insight on the topics publishing for eBooks, print, interactive documents, and more! Be inspired by fresh ideas and new products. Includes a 2-day multi-track conference followed by three full-day post-conference tutorials.”

When: May 14-16, 2012
Where: San Francisco, CA, USA

PEPCON

Confab
“As the leading conference of its kind, Confab plays a major role in driving the content strategy conversation forward.”

When: May 14-16, 2012
Where: Minneapolis, MN, USA at the Hyatt Regency Minneapolis

Confab

Internet Week New York
“Since its debut in 2008, Internet Week New York has quickly become one of the world’s top festivals celebrating digital culture, as well as a global showcase for New York City’s thriving technology industry. Internet Week New York 2012 is expected to bring more than 30,000 people from around the world to nearly 300 events at the festival’s headquarters and at dozens of locations throughout the city. ”

When: May 14-21, 2012
Where: New York, USA

Internet Week New York

UX Lx
“3 fantastic days with User Experience Professionals from all the over the world. 16 workshops to develop your skills, 10 talks to inspire you and 16 slots open for you to share your experiences. All this coupled with lots of parties and meetups in sunny Lisbon.”

When: May 16-18, 2012
Where: Lisbon, Portugal at the FIL Meeting Centre

UX Lx

WebVisions Portland
“It’s our 12th big year in Portland, and we’re celebrating with a fabulous lineup of experts in web and mobile design, technology, user experience, DIY, strategy and more!”

When: May 16-18, 2012
Where: Portland, OR, USA at the Oregon Convention Center

WebVisions Portland

D2W Conference
“Workflow is what we do. Day in and day out, although you may not think about it like that. Do you work with multiple applications during the day? Do you work with a developer or designer (depending on which you are)? Then that is what the D2W is all about.”

When: May 16-18, 2012
Where: Kansas City, MO, USA at the Plaza Marriott

D2W Conference

TYPO Berlin
“For decades, design has been looking for something new, for something different – often at the expense of resources and global justice. Many companies have already had to learn things the hard way, because they ignored contemporary social values. Others have learned from the crisis and take social and ecological matters into consideration in their business strategies. Discover at TYPO Berlin 2012 sustain the long-living and the constant in design!”

When: May 17-19, 2012
Where: Berlin, Germany at Haus der Kulturen der Welt

TYPO Berlin

J and Beyond
“J and Beyond, an International Joomla! Conference, is back for the third year. For 3 days in May Joomla! developers and site builders from over 30 countries will gather in Bad Nauheim, near Frankfurt, right in the heart of Europe.”

When: May 18-20, 2012
Where: Bad Nauheim, Germany

J and Beyond

phpDay
“We’ll show new development traits, best-practices and success cases related to quality, revision control, test-driven development, continuous integration and so on. There are also talks about design, project management, agile and various php-related technologies like Zend Framework2, Symfony2, Codeigniter, Drupal, WordPress.”

When: May 18-19, 2012
Where: Verona, Italy at San Marco Hotel

phpDay

A Web Afternoon
“A Web Afternoon is a mini event intended to inspire and educate people who love the web. Think TED, but for the web. Both speakers and attendees will be people from a variety of disciplines, but who all share a common passion for making the web a better place.”

When: May 19, 2012
Where: Atlanta, GA, USA at the GTRI Conference Center

A Web Afternoon

AgIdeas International Design Week
“agIdeas International Design Week is the largest and most prestigious design festival in the world. Established in 1991 by Ken Cato, developed and presented by the Design Foundation. agIdeas offers an extraordinary program of events that celebrate design excellence and promotes the value of design driven innovation. ”

When: May 21-23, 2012
Where: Melbourne, Australia

AgIdeas International Design Week

Web Rebels
“The Web Rebels conference is a non-profit community driven conference for everyone who loves programming applications and services using web technology. Our focus is on the art of programming the web based solutions that we all use and cherish.”

When: May 24-25, 2012
Where: Oslo, Norway

Web Rebels

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

When: May 26-27, 2012
Where: Berlin, Germany at Erwin-Schrödinger-Zentrum of the Humboldt University

UXcamp Europe

O’Reilly Fluent Conference
“The O’Reilly Fluent Conference is about everything JavaScript. If you’re developing for the Web, desktop, or mobile, knowing the ins and outs of JavaScript and related technologies is critical. Come to Fluent to learn from expert developers who are using JavaScript in all kinds of contexts, to do things that no one ever expected JavaScript could do, and do so well.”

When: May 29-31, 2012
Where: San Francisco, CA, USA

O'Reilly Fluent Conference

Interactive Design International Festival
“Taking place over 3 days in Limoges, the Festival focuses on interactive design on a regional, national and international (15 countries) level. Businesses, professionals, research institutions and colleges all share and explore the latest design innovations on themes that respond to large economic, cultural and social issues.”

When: May 29-31, 2012
Where: Limoges, France

Interactive Design International Festival

Big Design Conference
“Experts from across the country will gather to present theories, research, experiences, and best practices to students, professionals, and executives looking to stay on the bleeding edge.”

When: May 31–June 2, 2012
Where: Addison, TX, USA at the Addison Crowne Plaza Hotel

Big Design Conference

June 2012 Events

webinale
“The conference is to grow revenues, which shines through the web holistically, focusing not only on individual fragments. The conference is, thus bridging the gap between designers, web developers, managers and entrepreneurs, providing an incredibly lively forum for inspiration, networking and practical know-how.”

When: June 4-6, 2012
Where: Berlin, Germany

webinale

International PHP Conference
“The International PHP Conference is the global recognized event for PHP developers, webworkers, IT managers and everyone interested in web-technology.”

When: June 5-6, 2012
Where: Berlin, Germany at The Maritim proArte Hotel

International PHP Conference

Eyeo Festival
“In 2011, eyeo brought together an incredible group of creative coders, data viz pros, designers and artists. For 2012 we’ll raise the bar. Expect lectures, conversations and workshops with some of the most fascinating minds and makers today.”

When: June 5-8, 2012
Where: Minneapolis, MN, USA at the Walker Art Center

Eyeo Festival

Interlink Web Design Conference
“Interlink Conference is a small hand-crafted event created for web professionals of all types. Explore the intersection of web design, code, and content during 2 empowering days of curated talks and workshops in Vancouver. (Plus, there’s dodgeball.)”

When: June 6-7, 2012
Where: Vancouver, Canada at Robson Square

Interlink Web Design Conference

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

When: June 7-10, 2012
Where: San Diego, CA, USA at the Hyatt Mission Bay

Valio Con

Front-End Design Conference
“The Front-End Design Conference is an annual event dedicated to content, presentation and behavior. The speakers and attendees are made up of awesome people from the web design and development community.”

When: June 8, 2012
Where: St. Petersburg, FL, USA at the Palladium Theater

Front-End Design Conference

NXNE Interactive
“With over 80 presentations, NXNEi bridges the gap between creators of all kinds and interactivity. Whether you’re a musician, film producer, marketer, public relations pro or community manager, NXNE Interactive programming has you covered. Join us for three days of tech and social media exploration to learn how to boost ingenuity while enhancing your marketing and business efforts.”

When: June 11-17, 2012
Where: Toronto, Canada

NXNE Interactive

Ampersand 2012
“Combining the worlds of web & type design.”

When: June 15, 2012
Where: Brighton, UK

Ampersand 2012

Nordic Ruby Conference
“Learn stuff. Meet people. Have fun. Nordic Ruby is a two-day, single-track Ruby conference. At a Japanese spa in the beautiful Stockholm archipelago. All-inclusive.”

When: June 15-16, 2012
Where: Stockholm, Sweden at Yasuragi Hasseludden

Nordic Ruby Conference

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

When: June 18-20, 2012
Where: Boston, MA, USA at the Marriot Copley Place

An Event Apart Boston

HOW Design Live
“In 2012, Boston is the meeting point for the biggest gathering of designers, freelancers, creative team managers, and other creative professionals in the country. That much creative energy under one roof? It’s a recipe for revolutionary ideas and life-changing inspiration. You’ll rethink your approach to work and life, connect with like-minded allies, hear from creative visionaries, and discover new tools to make your job more satisfying and productive than ever before.”

When: June 21-25, 2012
Where: Boston, MA, USA at the Hynes Convention Center

HOW Design Live

O’Reilly Velocity Conference
“Most companies with outward-facing dynamic websites face the same challenges: pages must load quickly, infrastructure must scale efficiently, and sites and services must be reliable, without burning out the team or breaking the budget. Velocity is the best place on the planet for web ops and performance professionals like you to learn from your peers, exchange ideas with experts, and share best practices and lessons learned.”

When: June 25-27, 2012
Where: Santa Clara, CA, USA

O'Reilly Velocity Conference

Google I/O
“After Google I/O 2011, you consistently told us you wanted more time to attend sessions, visit our partners in the Developer Sandbox, and meet 1:1 with the engineers behind Google’s developer platforms and APIs. We recently received an unexpected opportunity to extend Google I/O to three days, so as we announced on our +Google Developers page, we are moving the conference to June 27-29, 2012.”

When: June 27-29, 2012
Where: San Francisco, CA, USA at Moscone Center West

Google I/O

Lone Star PHP Conference
No description available.

When: June 29-30, 2012
Where: Dallas, TX, USA

Lone Star PHP Conference

Scottish Ruby Conference
“The Scottish Ruby Conference started life as Scotland on Rails in 2008 and has grown to become Europe’s premier multi-track Ruby conference. And by premier, we mean the one with the most whisky consumed.”

When: June 29-30, 2012
Where: Edinburgh, Scotland at the Royal College of Physicians

Scottish Ruby Conference

July 2012 Events

WebVisions Barcelona
“WebVisions heads to Europe for three days of workshops, sessions and keynotes by leading web, mobile, UX, DIY and strategy experts.”

When: July 5-7, 2012
Where: Barcelona, Spain at Pompeu Fabra University

WebVisions Barcelona

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

When: July 9-11, 2012
Where: Austin, TX, USA at the Hilton

An Event Apart Austin

WDCNZ
“Tech talks for web devs. JavaScript, HTML5, CSS3. Mobile, Security, Scale. Web dev conversations.”

When: July 14, 2012
Where: Wellington, New Zealand

WDCNZ

O’Reilly OSCON
“OSCON is where all of the pieces come together: developers, innovators, businesspeople, and investors. In the early days, this trailblazing O’Reilly event was focused on changing mainstream business thinking and practices; today OSCON is about how the close partnership between business and the open source community is building the future. That future is everywhere you look.”

When: July 16-20, 2012
Where: Portland, OR, USA

O'Reilly OSCON

CSS Summit
“The online conference for CSS. Speakers include Chris Coyier, Lea Verou, Estelle Weyl, Jonathan Snook, and more.”

When: July 31 – August 2, 2012
Where: Online Conference

CSS Summit

August/September 2012 Events

RIACon
“The Rich Internet Application Conference: Where architects and developers of all levels gather to share and learn about creating the next generation of web and mobile based applications. At RIACon you’ll get to network with fellow industry professionals and community leaders while being exposed to the most up to date skills needed for building great applications leveraging the best technologies available today.”

When: August 6-7, 2012
Where: Washington, DC, USA

RIACon

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

When: August 6-8, 2012
Where: Washington, DC, USA at the Westin Alexandria

An Event Apart DC

DrupalCon Munich
“DrupalCon Munich is the official conference of the Drupal community. DrupalCon is a biannual event presented to an ever-expanding international audience since Drupal became an open-source project in 2001. It’s put on by the Drupal Association, as well as a fabulous group of volunteers and organizers from across the globe.”

When: August 20-24, 2012
Where: Munich, Germany at the Westin Grand

DrupalCon Munich

UX Week
“UX Week is the premier user experience design conference. Design professionals from all over the world gather for four days of community, inspiration and skills building.”

When: August 21-24, 2012
Where: San Francisco, CA, USA

UX Week

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

When: August 27-29, 2012
Where: Chicago, IL, USA at the Westin Chicago River North

An Event Apart Chicago

UX Australia
“UX Australia 2012 is a 4-day user experience design conference, with two days of workshops and two days of presentations about designing great experiences for people.”

When: August 28-31, 2012
Where: Brisbane, Austalia at Sofitel Brisbane Central

UX Australia also presents Agile UX and Service Design 2012.

UX Australia

dConstruct
“”Our 8th year!””

When: September 7, 2012
Where: Brighton, UK at the Brighton Dome

dConstruct

Related Links

(il)


© Louis Lazaris for Smashing Magazine, 2012.


A Beginner’s Guide To jQuery-Based JSON API Clients


  

Are you fascinated by dynamic data? Do you go green with envy when you see tweets pulled magically into websites? Trust me, I’ve been there.

The goal of today’s tutorial is to create a simple Web app for grabbing movie posters from TMDb. We’ll use jQuery and the user’s input to query a JSON-based API and deal with the returned data appropriately.

I hope to convince you that APIs aren’t scary and that most of the time they can be a developer’s best friend.

APIs Are The Future But, More Importantly, The Present

JSON-based APIs are a hot property on the Web right now. I cannot remember the last time I went onto a blog or portfolio without seeing the owner’s tweets or Facebook friends staring back at me. This interactivity makes the Web an exciting place. The only limit seems to be people’s imagination. As demonstrated by everything from pulled tweets to a self-aware exchange-rates API, data is currently king, and websites are swapping it freely.

Developers are allowing us to get at their data much more openly now; no longer is everything under lock and key. Websites are proud to have you access their data and, in fact, encourage it. Websites such as TMDb and LastFM allow you to build entirely separate applications based on the data they’ve spent years accumulating. This openness and receptiveness are fostering an intertwined network of users and their corresponding actions.

screenshot

This article is aimed at people who are competent in HTML and CSS and have basic knowledge of jQuery techniques. We won’t delve deep into advanced JavaScript techniques, but will rather help the beginner who wants to create more complex Web tools.

APIs in a Nutshell

In basic terms, an API enables you to access a website’s data without going near its databases. It gives us a user-friendly way to read and write data to and from a website’s databases.

Sure, Great, But What Code Do I Need?

Like many developers, I bounce merrily between back-end and front-end development, and I am as happy working in PHP as in jQuery. It just depends on which hat I’m wearing that day.

Because this article is mainly about jQuery-based JSON API clients, we’ll focus on client-side code (i.e. jQuery).

When dealing with APIs, and armed with jQuery, one is more likely to encounter JSON.

Player 1: JSON

JSON (or JavaScript Object Notation) is a lightweight, easy and popular way to exchange data. jQuery is not the only tool for manipulating and interfacing with JSON; it’s just my and many others’ preferred method.

A lot of the services we use everyday have JSON-based APIs: Twitter, Facebook and Flickr all send back data in JSON format.

A JSON response from an API looks like this:

([{"score":
null,"popularity":
3,"translated":true,"adult":
false,"language":"en","original_name":"The Goonies","name":"The Goonies","alternative_name":"I Goonies",
"movie_type":"movie","id":9340,"imdb_id":"tt0089218",
"url":"http://www.themoviedb.org/movie/9340",
"votes":16,"rating":9.2,"certification":"PG","overview":"A young teenager named Mikey Walsh finds an old treasure map in his father's attic.
Hoping to save their homes from demolition, Mikey and his friends Data Wang, Chunk Cohen, and Mouth Devereaux runs off on a big quest
to find the secret stash of the pirate One-Eyed Willie.","released":"1985-06-07",
"posters":[{"image":{"type":"poster","size":"original","height":1500,"width":1000,
"url":"http://cf1.imgobject.com/posters/76b/4d406d767b9aa15bb500276b/the-goonies-original.jpg",
"id":"4d406d767b9aa15bb500276b"}}],"backdrops":[{"image":{"type":"backdrop","size":"original","height":1080,"width":1920,
"url":"http://cf1.imgobject.com/backdrops/242/4d690e167b9aa13631001242/the-goonies-original.jpg",
"id":"4d690e167b9aa13631001242"}}],"version":3174,"last_modified_at":"2011-09-12 13:19:05"}])

A bit of a mess, right? Compare this to the same JSON viewed in Google Chrome’s developer console:

The JSON response is accessible via a jQuery function, allowing us to manipulate, display and, more importantly, style it however we want.

Player 2: jQuery

Personally, I’d pick jQuery over JavaScript any day of the week. jQuery makes things a lot easier for the beginner Web developer who just wants stuff to work right off the bat. I use it every day. If I had to complete the same tasks using native Javascript, my productivity would grind right down. In my opinion, JavaScript is for people who want a deeper understanding of the scripting language and the DOM itself. But for simplicity and ease of use, jQuery is where it’s at.

In essence, jQuery is a JavaScript library, with handy functions like getJSON. This particular function will be the glue that holds our API client together.

The Goal: A jQuery-Based JSON API Client

I recently submitted to An Event Apart the Web app that we’re about to go through now. It’s called Front Row.

The idea of the Web app is to take a movie title inputted by the user, run it through TMDb’s API, and return the relevant poster. The user could then share it or save it to their computer.

The Web app is split into HTML, CSS and jQuery. We’ll focus on the jQuery, because that’s where the magic happens.

The HTML

Below is the basic structure of the Web app. Nothing special here.

<!DOCTYPE html>
<html>
<head>
   <meta name="author" content="Ben Howdle and Dan Matthew">
   <meta name="description" content="A responsive movie poster grabber">
   <title>Front Row by Ben Howdle</title>
   <meta name="viewport" content="width=device-width, minimum-scale=1.0, maximum-scale=1.0">
   <script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.6.2.min.js"></script>
        <!--jQuery, linked from a CDN-->
   <script src="scripts.js"></script>
   <script type="text/javascript" src="http://use.typekit.com/oya4cmx.js"></script>
   <script type="text/javascript">try{Typekit.load();}catch(e){}</script>
   <link rel="stylesheet" href="style.css" />
</head>
<body>
<div class="container">
   <header>
      <h1>Front Row</h1>
   </header>
   <section id="fetch">
      <input type="text" placeholder="Enter a movie title" id="term" />
      <button id="search">Find me a poster</button>
   </section>
   <section id="poster">
   </section>
   <footer>
      <p>Created by <a href="http://twostepmedia.co.uk">Ben Howdle</a></p>
   </footer>
</div>
</body>
</html>

All we’ve got is a bit of Twitter self-indulgence, an input field and a submission button. Done!

The CSS is a bit off topic for this article, so I’ll leave it to you to inspect the elements of interest on the live website.

The jQuery

$(document).ready(function(){

   //This is to remove the validation message if no poster image is present

   $('#term').focus(function(){
      var full = $("#poster").has("img").length ? true : false;
      if(full == false){
         $('#poster').empty();
      }
   });

I like validation messages to disappear when the user starts retyping in an input field. The script below checks whether an image is present (i.e. a movie poster), and if not, empties the container of the validation message once the input field gains focus.

//function definition

   var getPoster = function(){

        //Grab the movie title and store it in a variable

        var film = $('#term').val();

         //Check if the user has entered anything

         if(film == ''){

            //If the input field was empty, display a message

            $('#poster').html("<h2 class='loading'>Ha! We haven't forgotten to validate the form! Please enter something.</h2>");

The reason why we store the main code that retrieves the data in a function will become clear later on (mainly, it’s for DRY programming).

We then store the value of the input in a variable, so that when we use it again in the code, the jQuery doesn’t have to rescan the DOM.

Basic validation is performed on the input, checking that something has actually been entered in the field.

In an attempt at humor on my part, I display a message warning the user that they haven’t entered anything and asking them to please do so.

} else {

            //They must have entered a value, carry on with API call, first display a loading message to notify the user of activity

            $('#poster').html("<h2 class='loading'>Your poster is on its way!</h2>");

If the input contains a value, we then process the user’s request. Another message is displayed, letting the user know that something is happening.

$.getJSON("http://api.themoviedb.org/2.1/Movie.search/en/json/23afca60ebf72f8d88cdcae2c4f31866/" + film + "?callback=?", function(json) {

               //TMDb is nice enough to return a message if nothing was found, so we can base our if statement on this information

               if (json != "Nothing found."){

                  //Display the poster and a message announcing the result

                     $('#poster').html('<h2 class="loading">Well, gee whiz! We found you a poster, skip!</h2><img id="thePoster" src=' + json[0].posters[0].image.url + ' />');

Here we get to the meat of our API client. We use jQuery’s getJSON function, which, by definition, loads “JSON-encoded data from the server using a GET HTTP request.�

We then use the API’s URL, suppled in this case by TMDb. As with many other APIs, you have to register your application in order to receive a key (a 30-second process). We insert the API key (23afca60ebf72f8d88cdcae2c4f31866) into the URL and pass the user’s movie title into the URL as a search parameter.

One thing to mention is that appending callback=? to the end of the URL enables us to make cross-domain JSON and AJAX calls. Don’t forget this, otherwise the data will be limited to your own domain! This method uses what’s called JSONP (or JSON with padding), which basically allows a script to fetch data from another server on a different domain. To do this, we must specify the callback above when jQuery loads the data. It replaces the ? with our custom function’s name, thereby allowing us to make cross-domain calls with ease.

In the function’s callback, we have put the word json (which holds our retrieved data), but we could have put data or message.

The next check is to see whether any data was returned. TMDb is kind enough to supply us with a message of “Nothing found� when it can’t find anything. So, we’ve based our if statement on this string’s value.

This check is API-specific. Usually if no results are found, we would expand the object to find a property named length, which would tell us how many results were returned. If this happens, the code might look something like this:

   if (json.length != 0){

As a side note, before writing even a line of code in the callback function of the JSON call, we should become familiar with the results returned in Chrome’s console or in Firebug. This would tell us exactly what to check for in if statements and, more importantly, what path to take to grab the data we want.

Let’s add console.log(json);, like so:

$.getJSON("http://api.themoviedb.org/2.1/Movie.search/en/json/23afca60ebf72f8d88cdcae2c4f31866/" + film + "?callback=?", function(json) {
         console.log(json);

This will output something like the following in the console of your favorite browser (click the image to see the full size):

The last line of this code outputs our poster. We display another message to the user saying that we’ve found a result, and then proceed to show the image.

Let’s spend a moment figuring out how we got to the poster images using the line json[0].posters[0].image.url.

The reason we use json[0] is that — since we want to display only one poster, and knowing how relevant TMDb’s results are — we can gamble on the first result. We then access the posters array like so: json[0].posters[0]. Chrome even tells us that posters is an array, so we know what we’re dealing with. Again, we access the first value of the array, having faith that it will be most relevant. It then tells us that image is an object, so we can access it like so: json[0].posters[0].image. By expanding our object further, we see that image contains a property named url. Jackpot! This contains a direct image link, which we can use in the src attribute of our image element.

} else {

   //If nothing is found, I attempt humor by displaying a Goonies poster and confirming that their search returned no results.

   $.getJSON("http://api.themoviedb.org/2.1/Movie.search/en/json/
23afca60ebf72f8d88cdcae2c4f31866/goonies?callback=?", function(json) {

      $('#poster').html('<h2 class="loading">We're afraid nothing was found for that search. Perhaps you were looking for The Goonies?</h2><img id="thePoster" src=' + json[0].posters[0].image.url + ' />');

   });
}

Having determined that the API has no results for the user, we could display an error message. But this being a movie-related Web app, let’s give the user a preset poster of The Goonies and let them know we couldn’t find anything. We’ll use the exact same src attribute for the image that we used before, this time with goonies hardcoded into the API call’s URL.

});

          }

        return false;
   }

   //Because we've wrapped the JSON code in a function, we can call it on mouse click or on a hit of the Return button while in the input field

   $('#search').click(getPoster);

   $('#term').keyup(function(event){

       if(event.keyCode == 13){

           getPoster();

       }

   });

});

It is now clear why we wrapped our JSON call in a function: doing so allows us to run the function when the user hits the submission button or presses Enter while in the input field.

The Full Code

The HTML

<!DOCTYPE html>
<html>
<head>
   <meta name="author" content="Ben Howdle and Dan Matthew">
   <meta name="description" content="A responsive movie poster grabber">
   <title>Front Row by Ben Howdle</title>
   <meta name="viewport" content="width=device-width, minimum-scale=1.0, maximum-scale=1.0">
   <script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.6.2.min.js"></script>
        <!--jQuery, linked from a CDN-->
   <script src="scripts.js"></script>
   <script type="text/javascript" src="http://use.typekit.com/oya4cmx.js"></script>
   <script type="text/javascript">try{Typekit.load();}catch(e){}</script>
   <link rel="stylesheet" href="style.css" />
</head>
<body>
<div class="container">
   <header>
      <h1>Front Row</h1>
   </header>
   <section id="fetch">
      <input type="text" placeholder="Enter a movie title" id="term" />
      <button id="search">Find me a poster</button>
   </section>
   <section id="poster">
   </section>
   <footer>
      <p>Created by <a href="http://twostepmedia.co.uk">Ben Howdle</a></p>
   </footer>
</div>
</body>
</html>

The jQuery

$(document).ready(function(){

   $('#term').focus(function(){
      var full = $("#poster").has("img").length ? true : false;
      if(full == false){
         $('#poster').empty();
      }
   });

   var getPoster = function(){

        var film = $('#term').val();

         if(film == ''){

            $('#poster').html("<h2 class='loading'>Ha! We haven't forgotten to validate the form! Please enter something.</h2>");

         } else {

            $('#poster').html("<h2 class='loading'>Your poster is on its way!</h2>");

            $.getJSON("http://api.themoviedb.org/2.1/Movie.search/en/json/
23afca60ebf72f8d88cdcae2c4f31866/" + film + "?callback=?", function(json) {
               if (json != "Nothing found."){
                     $('#poster').html('<h2 class="loading">Well, gee whiz! We found you a poster, skip!</h2><img id="thePoster" src=' + json[0].posters[0].image.url + ' />');
                  } else {
                     $.getJSON("http://api.themoviedb.org/2.1/Movie.search/en/json/
23afca60ebf72f8d88cdcae2c4f31866/goonies?callback=?", function(json) {
                        console.log(json);
                        $('#poster').html('<h2 class="loading">We're afraid nothing was found for that search. Perhaps you were looking for The Goonies?</h2><img id="thePoster" src=' + json[0].posters[0].image.url + ' />');
                     });
                  }
             });

          }

        return false;
   }

   $('#search').click(getPoster);
   $('#term').keyup(function(event){
       if(event.keyCode == 13){
           getPoster();
       }
   });

});

Conclusion

That’s it: a handy method of reading data from a remote API with jQuery, and manipulating the JSON output to fit our needs.

Every API is different, and every one returns different results in a different structure — it’s all part of the fun! So, get used to using console.log(), and familiarize yourself with the results set before trying to access it with code or using it in your application.

Start with something practical and entertaining: build a check-in checker with Gowalla’s API; visualize trends with Twitter’s API; or make a face-recognition app with Face.com’s API.

APIs are fun. By definition, the data they bring to the page is dynamic, not static.

If you have any problems with the API we’ve used here or you have any success stories with other APIs, please do leave a comment.

Further Resources

(al)


© Ben Howdle for Smashing Magazine, 2012.


Top Valentine’s Day Graphic Design Tutorials


  

Valentine’s Day is around the corner and designers are eager to try out their creative skills. With the holiday comes a time of bright colors, attractive graphics and shimmering effects which can make for some romantic manipulations. We have collected some very useful tutorials, which will help you use Photoshop patterns, brushes and much more to create awesome Valentine’s graphics of your own.

These handy graphic design tutorials will give you easy to follow steps to create a range of Valentine’s inspired pieces. From abstract greeting cards to awesome illustrations to lovely manipulations, wallpapers and more. Enjoy and start working on these Valentine’s Day graphic design tutorials for your Valentine.

The Tutorials

Mind Blowing Valentine’s Day Photo Manipulation Tutorial
Create a sweet romantic manipulation using Photoshop with a few stock images. The tutorial will also guide you through how to use adjustment layers effectively to create mood variations.

Mind Blowing Valentines Day Photo Manipulation Tutorial

Love Me – Photoshop Manipulation Tutorial
This beginners’ tutorial will help you create a fantastic manipulation using only a few stock images. You can also learn to add more realism to the manipulation by creating some shadows.

Love Me – Photoshop Manipulation Tutorial

Create Abstract Colorful Valentine’s Day Card
Use simple shapes, brushes and gradients in Adobe Photoshop CS5 to create a colorful abstract card with shiny hearts.

Create Abstract Colorful Valentine’s Day Card

Make a Plush Material & Embellish a Custom Logo In It
Learn to create plush material by simply adjusting your brush size without using any external resources. Add a custom logo to the plush material to create a personalized plush graphic for Valentine’s.

Make a Plush Material & Embellish a Custom Logo In It

Impress Your Loved One This Valentines With A Custom Made Love Card
Learn to design an angelic Valentine themed card using custom shapes, colors and different shades. Then using a few stock images you can create some cute finishing touches following the steps in the tutorial.

Impress Your Loved One This Valentines With A Custom Made Love Card

Making of Be My Valentine
Here’s a step-by-step walk-through to create a sparkling Be My valentine illustration of a doll-like girl.

Making of Be My Valentine

Happy Valentine’s Day Card
Learn to create, color and use gradient overlay effects on a Bokeh pattern to create this Valentine’s Day greeting card.

Happy Valentine's day card

3D Valentine’s Day Typography Tutorial
Photoshop tutorial to create a fantastic love illustration using 3D type, techniques for enhancing the image, layering and post effects.

3D Valentine's Day Typography Tutorial

Create a Stylized Valentine’s Poster
Learn to create a stylized Valentine’s Day poster using basic techniques and compositions with some simple, color overlay blending options.

Create a Stylized Valentines Poster

Sweet Red 3D Love Text Effect
Learn to create this sweet red 3D text effect with brushes, and to transform styles and layer styles to create a lovely Valentine’s Day graphic.

Sweet Red 3D Love Text Effect

Make a Heart in Photoshop
Learn to use custom shapes and layer styles to create a vector heart in Photoshop with 3D effects.

Make a Heart in Photoshop

Shiny Heart On The Dark Background
This tutorial will teach you how to create an abstract heart using a splash image and the Scriptina font.

Shiny Heart On The Dark Background

Photoshop Heart Tutorial for Valentine’s Day
Learn how to create a beautiful swirling grunge heart design in Photoshop, using layer styles and cursive fonts to make swirls.

Photoshop Heart Tutorial for Valentines Day

Create a Magical Flaming Heart Illustration in Photoshop
Make a flaming heart illustration in Photoshop using the warp feature and a few stock images.

Create a Magical Flaming Heart Illustration in Photoshop

Create A Heart Icon In Photoshop
Learn to create a heart icon in Photoshop using several gradients and custom shapes, to create a glossy heart icon.

Create A Heart Icon In Photoshop

The Stone Heart Photo Manipulation Tutorial
Create a surreal photo manipulation learning a variety of techniques including the use of some cropping, color adjustments and blending.

The Stone Heart Photo Manipulation Tutorial

Create Festive Background for Valentine’s Day with Abstract Hearts
The following tutorial will teach you how to use layer styles, brush style and more to create a festive background.

Create Festive Background for Valentine’s Day with Abstract Hearts

Make a Cool Vector Wallpaper in Photoshop
Learn to make a vector wallpaper in Photoshop with shadows, illuminations and color adjustments.

Make a Cool Vector Wallpaper in Photoshop

Valentine Photoshop Wallpaper with Jeans Heart
Learn how to create a Valentine’s heart with denim and leather-like patterns complete with a stitching effect.

Valentine Photoshop Wallpaper with Jeans Heart

Create Abstract Valentine’s Day Illustration With Hearts
This tutorial will walk you through the steps to make a striking abstract Valentine’s Day illustration using gradients, brushes and custom shapes.

Create Abstract Valentine’s Day Illustration With Hearts

St. Valentine’s Day Photo Manipulation
Create a stunning photo manipulation with a glowing background, some swirls and rendering some 3D effects.

St Valentine's Day Photo Manipulation

Create A Beautiful Love Wallpaper
Create a photo manipulation with the use of such elements like cloud mist, music, and heart shaped brushes to give life to this manipulation.

Create A Beautiful Love Wallpaper

How To Create Waved Valentine Background With Hearts
Learn to create a waved Valentine’s background using custom shapes, the pen tool and layer styles.

How To Create Waved Valentine Background With Hearts

Valentine’s Day Card Tutorial
Learn to use the Paint Bucket tool, layer styles, brush styles and light blending modes to create a lovely Valentine’s Day card.

Valentine’s Day Card Tutorial

Create a Conceptual Image of a Couple Jumping from High Cliffs
Learn how to create a fantastic lover’s leap like conceptual image by combining stock photos, Photoshop brushes, and textures.

Create a Conceptual Image of a Couple Jumping from High Cliffs

Create Colorful Valentine’s Day Card With Shining Heart
Learn to use simple shapes and gradients in Adobe Photoshop CS5 to create shining hearts and a colorful waved background.

Create Colorful Valentine’s Day Card With Shining Heart

(rb)


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