How to create a color picker with HTML5 Canvas


Creating canvas apps is the new thing, we can even create games with it, it’s supported in all major browsers both desktop and mobile, and that makes it a more viable solution than using Flash.

In this tutorial we are going to use the canvas element to create a simple color picker that doesn’t require any Flash, all you’ll need is a text editor and a browser.

Before we start, take a look at what we’ll build here. You can also download the source files here. Note that if you’re going to test the demo locally, you’ll need to use a browser other than Chrome; Chrome’s security model means that the script will only work online.


For this example the HTML will be very minimal, all we need in order for the color picker to work is a canvas element and some place to show our selected color in RGB and in HEX formats, so all we need is this:

<canvas width="600" height="440" id="canvas_picker"></canvas><div id="hex">HEX: <input type="text"></input></div><div id="rgb">RGB: <input type="text"></input></div>

Since we will use a background image with the color pallete I made my canvas the width and height of that image and the values for the selecetd color will appear in the inputs for easier selection.

You should also add jQuery to your page since we will be using some jQuery code.

The JavaScript

The first thing we need to do in order to make the color picker work is to get the canvas and its context and to do that all we need is a line of code, like so:

var canvas = document.getElementById('canvas_picker').getContext('2d');

Now that we have got the canvas element and its context, we can start by setting the image as the background of the canvas. To do this we need to create an image object and make its source the URL of the image. When this image has loaded we need to draw it into the canvas:

var img = new Image();img.src = 'image.jpg';$(img).load(function(){  canvas.drawImage(img,0,0);});

So far so good, right ?

Well, this is the part where we need to define what happens when you click somewhere in the canvas, and if you think about it, you first need to get the user’s cursor position in the canvas to see where they clicked, like so:

$('#canvas_picker').click(function(event){var x = event.pageX - this.offsetLeft;var y = event.pageY - this.offsetTop;

With these two lines of code we can see where the user clicked and what we are doing is getting the cordinates of where the user clicked and then subtracting from that the offset of the canvas. That will tell us where the user clicked relative to the position of the canvas.

Our next step is to get the RGB values of the place the user clicked and to do that we need we to use the function getImageData and attach the x and y position of the click:

var imgData = canvas.getImageData(x, y, 1, 1).data;var R = imgData[0];var G = imgData[1];var B = imgData[2];

We now have these values stored inside R , G and B variables but we want to display this information to the user in a way they can easily can read it so we need to create an RGB variable that holds these three values separeted by commas and then present this as the value of one of our input fields:

var rgb = R + ',' + G + ',' + B;  $('#rgb input').val(rgb);});

And if you test it out now you already have a fully functional color picker that retrieves the RGB value of anywhere you click, but to make this a little bit better we can add a function from Javascripter that converts RGB values to HEX values; the function is:

function rgbToHex(R,G,B) {return toHex(R)+toHex(G)+toHex(B)}function toHex(n) {  n = parseInt(n,10);  if (isNaN(n)) return "00";  n = Math.max(0,Math.min(n,255));return "0123456789ABCDEF".charAt((n-n%16)/16) + "0123456789ABCDEF".charAt(n%16);}

Now that we got this function all we need to do in order to present the HEX values is perform the function with our RBG values and then set the value of the input to be HEX color with a # before and with the function already in place this is quite simple :

// after declaring the RGB variable   var hex = rgbToHex(R,G,B);// after setting the RGB value$('#hex input').val('#' + hex);

The Full Code

<!DOCTYPE html><html lang="en"><head>	<meta charset="utf-8" />	<title>Colorpicker demo</title>	<script src=""></script></head><body>

<canvas width="600" height="440" id="canvas_picker"></canvas><div id="hex">HEX: <input type="text"></input></div><div id="rgb">RGB: <input type="text"></input></div>

<script type="text/javascript">	var canvas = document.getElementById('canvas_picker').getContext('2d');

	// create an image object and get it’s source	var img = new Image();	img.src = 'image.jpg';

	// copy the image to the canvas	$(img).load(function(){	  canvas.drawImage(img,0,0);	});

	//	function rgbToHex(R,G,B) {return toHex(R)+toHex(G)+toHex(B)}	function toHex(n) {	  n = parseInt(n,10);	  if (isNaN(n)) return "00";	  n = Math.max(0,Math.min(n,255));	  return "0123456789ABCDEF".charAt((n-n%16)/16)  + "0123456789ABCDEF".charAt(n%16);	}	$('#canvas_picker').click(function(event){	  // getting user coordinates	  var x = event.pageX - this.offsetLeft;	  var y = event.pageY - this.offsetTop;	  // getting image data and RGB values	  var img_data = canvas.getImageData(x, y, 1, 1).data;	  var R = img_data[0];	  var G = img_data[1];	  var B = img_data[2];  var rgb = R + ',' + G + ',' + B;	  // convert RGB to HEX	  var hex = rgbToHex(R,G,B);	  // making the color the value of the input	  $('#rgb input').val(rgb);	  $('#hex input').val('#' + hex);	});</script>



I hope that with this tutorial you have realized the potential there is in creating apps with canvas. There are a lot more advanced apps out there, people are even making games with canvas so it’s a thing to explore because you can build some amazing things with it.

What other uses have you found for Canvas? What would you like to be able to use it for? Let us know in the comments.


Beyond blogging: WordPress as a platform


WordPress has evolved hugely over the years from simple fork of blogging software to a powerful platform. According to a WordPress Survey, 66% of respondents use WordPress as a CMS, not just blogging software.

The growth of WordPress adoption for various type of site has created a new market with its own landscape. Companies and individuals are creating new products and services that cannot be qualified as plain website building. It’s something much more innovative.

At the beginning of this evolution we dealt with simple models of premium products like themes or plugins and services like web-design or consulting. But new players have come up with new approaches like marketplaces or appstores. Being a reciprocal process the market growth has had its impact on WordPress development, so that it has incorporated more developer-oriented tools. Finally, we often hear the term “platform” in reference to WordPress rather than anything else.

Today’s review presents several examples of projects that push the boundaries of WordPress usage in this direction. They possess different business models and target different niches, but they all provide services and solutions for WordPress users (both publishers and developers) and at the same time represent the interesting and innovative examples of the “WordPress as business-platform” paradigm.

WordPress cities, music, weddings and more

There is hardly any company that knows more about turning WordPress into a platform than Automattic itself. The well-known service is one of the most popular blogging platforms. But recently Automattic has started another initiative that could change the competition landscape for so-called niche websites. started to provide carefully organised “packages” that can be used to create specific types of site:

Cities — for city websites;

Weddings — for weddings websites;

Music — for music bands’ websites;

Restaurants — for (you guessed it) restaurants.

Each package differs from a regular blog by a careful selection of features and a flexible upgrade policy for hosting.

It’s noteworthy, that each service proclaims to be “site” (not a blog). So this movement finally confirms the status of WordPress as site-oriented CMS and powerful Saas-platform. At the same time it reinforces the competition in each niche and could possibly change the makeup of the WordPress market, if only Automattic proves to have enough management and marketing strength to develop these services further.


Photoshelter is an another example of a niche websites platform. As you might guess from the name, it allows you to create and manage a portfolio and business site for photographers. It’s a WordPress-based platform with a strong content management and delivery system that also serves as a selling tool for photographers. In particular, with PhotoShelter people can display photos online, attract new clients from search engines, and even sell downloads or prints. Using the carefully selected predefined package allows you to create sites more quickly and reduce development costs.


Tickera is a WordPress based ticketing solution for event organisers of any type. It’s an interesting combination of traditional WordPress-plugin software with an iPhone app. Such an approach is aimed at solving one of the most challenging task for event organisers — online ticket sales. Tickera actually has three components: the theme, the plugin and the iPhone app. The whole combination lets you sell tickets directly on the site, deliver them to buyer digitally and finally check-in at the event using an iPhone. All three parts are well-integrated and provide the owner with full ticket-related analytics.


Scribe is content marketing software created by Copyblogger Media. Actually, it could be described as an automated writing assistant that allows you to incorporate content optimization tasks directly into publishing the workflow. The service has a general purpose version and a “Scribe for WordPress” solution, that brings the whole functionality directly into the WordPress dashboard. This functionality covers such aspects as topics and keyword research, content optimization both for search engines and social media audience research. On the whole, Scribe is a perfect example of how high-level expertise can lead to the creation of new web-products.


ManageWP is a service established by one of the best known members of WordPress community, Vladimir Prelovac. ManageWP is the WordPress management console that gives users the ability to manage several WordPress-powered websites from a single dashboard. In particular, ManageWP combines common administrative tasks, that normally need an external solution (like a plugin or third party-service) to perform: update, backup, uptime monitoring, security scan etc. The service fills the gap in WordPress administration practice when the same routine task has to be repeated for several websites, by clever use of the fact that all such sites share a similar codebase.

WP Appstore

WP Appstore is a project aiming to make plugin and theme purchases easy within the WordPress dashboard. Actually, it tries to bring the popular appstore idea to WordPress. To use the service one has to install the free plugin, which lets you browse and purchase products, available in the appstore, directly through the dashboard. WP Appstore quietly launched in May 2012 with products from seventeen vendors, some of well-known players among them like WooThemes, Press75, WPZoom etc. The launch of the service has not caused a revolution in the market (yet?), but it has a great potential. Especially, if the range of products and vendors continues to grow.


PressTrends is an WordPress analytics service. It exists in two variants: — for site-owners it offers the ability to get site-related analytics inside the WordPress dashboard; — for theme and plugin developers it offers a way to collect data about their products usage. Thus, for developers the “tracked” theme or plugin will report back a number of statistics about the site that it’s running on. The site owner, by using the service for the particular site will be able to see the same data, but related to his/her installation accompanied with benchmarking information. The service has been born from actual developer need. The rise of themes and plugins market opens up the opportunity for such developer-oriented projects.


Pagelines describes itself as “A professional web design platform for WordPress”. As a platform it offers the drag-and-drop theme framework and an extensions store. The framework can be installed as a WordPress theme and after that all design aspects of the site can be controlled and set up through Pagelines’ GUI. Pagelines offers a set of items that can be allocated to any page (like navigation elements, tabs, buttons, sharebars etc.) and styled as needed. Extensions, available through the Pagelines store, offer out-of-box solutions for various scenarios like e-commerce or coming-soon pages. In the WordPress market there always are (and probably always will be) attempts to make website building available (or easy) for people with a lack of coding skills, and Pagelines is one of most promising solutions.


Gamefroot is an HTML5 game creator built using WordPress’ database management system. Despite the fact that Gamefroot is not actually a platform, it’s included in our review as a representative of segment where WordPress is not so actively used: game development. We can easily imagine WordPress used for a game review site or a game oriented blog, but for a user-generated game-publishing site? But it’s exactly what we have with Gamefroot. Users can create 8-bit style games using predefined sprite sheets, or by uploading their own graphics. They can manipulate qualities like health or damage, add animations, and even add background music. Gamefroot is very new and its potential isn’t fully clear yet. However, it’s an interesting and truly inspiring use for WordPress.


The above examples demonstrate the power of WordPress and how far it has come. But at the same time there is another trend in the WordPress ecosystem that should be mentioned by way of a conclusion. WordPress just goes so far from plain blogging; so far, that bloggers are sometimes forced to look for another tool if they value simplicity over anything else. If you are self-publishing individual who is going to focus primary on the content WordPress may not be your tool of choice any more; with all its flexibility as a developer toolbox it becomes too “heavy” for such a straightforward task. That is why there are several new initiatives in the WordPress community addressing this issue. A notable one is the Ghost project by John O’Nolan.

Ghost is a WordPress-light fork that is designed for simple blogging. As stated in Ghost’s manifesto: “It has one purpose and only one purpose: enable digital publishing for the masses”. The new system is going to provide a new and simplified writing experience, an optimized set of features and makes the codebase lightweight and easy to manage all whilst preserving the well-known WordPress approach and architecture. The project is only at the concept stage right now, and it may never be developed or morph unexpectedly during the process, but wheels are in motion. We will probably see more of such initiatives in the future as an attempt to streamline the blogging experience for those who find the current state of WordPress a bit overwhelming.

Do you use any of these WordPress-based products? Do you use one we haven’t covered? Let us know in the comments.


Tutorial Tuesdays – 10+ Autodesk 3ds Max Tutorial

It’s Tutorial Tuesday again and for today we are going to list down some of the must check out Autodesk 3ds Max tutorials. If you are interested in understanding and mastering the magic of CGI, learning Autodesk 3ds Max is a good stepping stone to start at.

Today we are going to rundown some really interesting Autodesk 3ds max tutorials found around the web. These rundown is a mix of tutorials for beginner and the intermediate Autodesk 3ds Max users.

Autodesk 3ds Max has been an industry standard for creating 3D models and images. It is often used by movie studios, video game developers, television studios as well as architectural studios. Many of the recent films like James Cameron’s Avatar, X-Men: First Class and Sucker Punch are made with the aid of Autodesk 3ds Max. Apart from creating computer graphics in television and movies, Autodesk 3ds Max is also used for previsualization and creating and developing concept artworks.

Before we go down to the tutorials here’s a really awesome video of the Avatar presentation at Autodesk University.

1. Create An Animated Clock

2. Create Realistic Looking Rocks with V-Ray

4. Anatomically Correct Arm Bulge

5. 3D Waving Flag Animation using 3ds Max

SEE ALSO: 37 Impressive And Realistic 3D Portraits
6. Create An Animated Pinboard Effect in 3ds Max

7. Wireframe Rendering Techniques

8. Animating a Traffic Light Using Texture Animation

9. Create a Simple Teddy Bear

10. Create a Beautiful Sunset Scene using Dreamscape & 3ds Max

11. Make Muscle and Bones 

12. Create a Awesome Samurai Warrior using 3ds Max & ZBrush

Original post by Patrick Jude Ilagan and software by Elliott Back


Minimalist Monday – 50 Awesome Minimalist Book Covers

Hello creatives! It’s Minimalist Monday once again and today we showcase how minimalism has conquered our libraries at home, school or office through the covers of our favorite books. Most of us would agree that a well designed book cover plays an important role in its success. And as designers, we would most probably judge a book by its cover.

Minimalist book covers are oftentimes characterized by less graphics and colors, use of simple typography and images and less content. The combination of these characteristics comprises an effective minimalist book cover that is striking enough to convince every reader to flip through its pages.

Below are 50 of the most amazing minimalist book covers out there for your inspiration or your reference for the next addition to your growing library of awesome reads!

An Ethics Of Interrogation | Designer: Isaac Tobin | Source

Capture The Flag | Designer: David Drummond | Source

Navigators Of The Contemporary | Designer: Isaac Tobin | Source

The Crow’s Vow| Designer: David Drummond | Source

The Storm | Designer: Barbara De Wilde | Source

Pale Fire | Designer: Stephen Doyle | Source

The Eye | Designer: John Gall | Source

Americans In Paris | Designer: Number 17 | Source

Sono: Cantos | Designer: Peter Mendelsund | Source

The Sunset Limited | Designer: Chip Kidd™ | Source

Columbine | Designer: Henry Sene Yee | Source

Writings From The Zen Masters | Designer: Alistair Hall | Source

Googled | Designers: Ben Wiseman and Christopher Brand | Source

Revolution And War | Designer: David Pearson | Source

Locke 1928 | Designer: Gabriele Wilson | Source

Last Last Chance | Designer: Henry Sene Yee | Source

Peace | Designer: Helen Yentus | Source

The Weight Of Nothing | Designer: John Fulbrook III | Source

These Granite Islands | Designer: John Fulbrook III | Source

Four Days In November | Designer: Greg Mollica | Source

Falling Man: A Novel | Designer: John Fulbrook III | Source

Under Sleep | Designer: Chip Kidd™ | Source

No One Belongs Here More Than You | Designer: John Fulbrook III | Source

The Life You Can Save | Designer: Thomas Beck Stvan | Source

The Summer Of The Ubume | Designer: Triboro | Source

Material Material | Designer: Kyle Poff | Source

Sweet Bird Of Youth | Designer: John Gall | Source

Clown Girl | Designer: Pinch | Source

Short Short Stories | Designer: Supermundane | Source

Three Trips | Designer: Romek Marber | Source

Wet Apples, White Blood | Designer: David Drummond | Source

Leviathan | Designer: Leo Nickolls | Source

The Kingdom Of Infinite Space | Designer: Thomas Starr | Source

Reasons To Be Cheerful | Illustrator: Barney Bubbles | Source

Schild’s Ladder | Designer: Emma Wallace | Source

God: A Biography | Designer: Michael Bierut | Source

The Body: A Novel | Designers: Tamara Shopsin and Paul Sahre | Source

Bush On The Couch | Designer: Rodrigo Corral | Source

Angry Candy | Designer: David Blankenship | Source

Just After Sunset: Stories | Typeface: Matrix | Source

Bodies | Designer: Henry Sene Yee | Source

Imprint | Designer: Daniel Eatock | Source

The Manly Modern | Designer: David Drummond | Source

The Book Of Dead Philosophers | Designer: John Gall | Source

Crooked Little Vein | Designer: Siege | Source

Bad Monkeys | Designer: Will Staehle | Source

The Spirit Of St. Louis | Designers: Paul Sahre and Tamara Shopsin | Source

Can I Have A Word With You? |  Designer: David Drummond | Source

The Abomination | Designer: Chip Kidd™ | Source

Faithful | Designer: Gray318 | Source


Extraordinary heat-sensitive stationery


If a company’s branding materials should seek to leave a mark, then Austrian design studio Bureau Rabensteiner has more than met the challenge with a recent client project.

Using thermo-sensitive black ink, these visionary creatives have fashioned a dynamic stationery set for Vienna-based photo rep and producer Natalie Daniels. The black varnish color fades at body temperature, so whenever an item is handled, an image is produced. Pulling a card from your wallet leaves finger prints. Pressing a postcard up to your mouth leaves a lip mark.

Perhaps the cleverest piece in the collection is the Polaroid-shaped business cards that “develop” in the hand of the card holder, creating ever-developing snaps. Simply meet a prospective client, make the card exchange, and voila — a literal and figurative impression is made.

The amazing interactive element of this simple idea is both playful and intelligent. While most business cards are discarded after the working week, or sooner, these are amongst the select few that will be held onto, and even passed around. What more could a budding business hope for?

How else could thermo-sensitive ink be used in design? What other innovative stationery have you seen lately? Let us know in the comments.


All About Cubic Bezier Curves & Transitions

Mon, Jan 14, 2013

Cubic Bezier Curves in CSS3

In the last post, we looked at the basics of CSS transitions, including how to use easing to control how your animation flows. In this post, I want to look deeper at a very powerful easing feature; cubic bezier curves.

In short, they let you define exactly what path your animation will take, and thanks to some awesome community tools, they are extremely easy to use (No maths required at all). This gives you total flexibility with your transitions.

One of the best tools is the free by Lea Verou. It lets you make new curves and see them in action just by dragging the handles. We’ll use it for all of the demos in this post, and it’s well worth a bookmark!

The syntax is simple too. Let’s look at an example. This simple code can be used to animate an element left or right:

a.slide {
  position: relative;
  transition: left 1.5s linear;

a.slide-left {
  left: 0;

a.slide-right {
  left: 580px;

The linear part is actually a shortcut though. What it really says is that you want the animation to follow a particular path on a graph, which we’ll look at more in a second.

For now, you could rewrite that line to use the cubic-bezier function and get the exact same animation:

transition: left 1.5s cubic-bezier(0, 0, 1, 1);

That one line can now be used in any transition, and to tweak the animation, all you need to do is change those 4 bracketed values.

What Is This Graph?

Let’s take a look at the linear graph, and see what it means.

Linear Animation

The x-axis represents the time of your animation. The y-axis represents how far it is between its starting state, and its ending state.

The x-axis is easier to understand; the far left is the very start of your animation. As you go right, time progresses towards the ending time.

To grasp the y-axis, think of the slide-to-the-right animation. At the very bottom of the y-axis, our button hasn’t moved, it’s still on the left of the screen. Half way up the y-axis though, it’s now half way between the left and right side of the screen, and at the top of the axis, it is now at the far right.

The Ease Graph

Ease is the default easing style used, and it has the following graph:

Ease Animation

I’ve drawn a red line representing a linear animation on the graph, to help highlight the difference. Reading from left-to-right (start to finish) on the graph, you can see that:

  • The ease animation dips under the linear line slightly at the beginning, so it starts off a little slower.
  • It then rises more steeply to be much well above the linear line, so the middle of the animation is quite fast.
  • Finally, the line flattens out again at the top, so the animation slows down gracefully towards the end.

The values we pass to cubic-bezier are the co-ordinates of the pink and green circles on each graph (In the first, the green circle is hidden under the white corner at the top right of the graph).

The specific points used for ease are:

Ease Coordinates

Therefore, the code to draw this graph is:

transition: left 1.5s cubic-bezier(.25, .1, .25, 1);

Custom Animations

Now that you understand what these graphs tell you, let’s make some custom animations.

Say you liked the ease animation, but you wanted to make it a little slower again at the start. You would take the first (pink) point, and drag it to the right. You are saying that rather than getting to this stage after 25% of the animation, I now want it to take 40% of the animation’s total time.

Slower Ease
transition: left 1.5s cubic-bezier(.4, .1, .25, 1);

Now let’s go more extreme. Let’s say you wanted the middle of the animation to be really, really fast, but the start and end to be more gradual.

Sharp Middle
transition: left 1.5s cubic-bezier(1, 0, 0, 1);

Or of course, you could make the start go faster and the end go slower.

Fast Start Animation
transition: left 1.5s cubic-bezier(0.1, 0.25, 0.25, 1);

How about a really slow start with a very fast end?

Fast Ending Animation
transition: left 1.5s cubic-bezier(1, 0, 1, 1);

That should be plenty of regular examples for now. There are endless combinations you can set up, so let’s move on to another nifty trick; going beyond the ends of the graph.

Going Past The Start and End

All of our animations so far have started at 0 on the y-axis, and ended at 1. You don’t have to stick to these limits though. It is entirely possible to have your animation go past its supposed end point, and then circle back to it.

In this example, our button start off slow, build up speed, slide right past its goal, and then reverse back into place.

Animate Past the End
transition: left 1.5s cubic-bezier(0.4, 0.1, 0.55, 1.3);

These sorts of animations can feel much more natural. As an example, think of scrolling webpages on your phone/tablet. When you flick down to the very bottom or the very top, the page goes right past the top and bottom and then glides back into place.

If you really wanted, you can also do the opposite and have your animation go backwards in the beginning.

Animate Backwards
transition: left 1.5s cubic-bezier(0.4, -0.45, 1, 0.9);

There are 2 natural limitations to these techniques though:

  • The time can’t be adjusted in this way. It will always be whatever length you specified.
  • For some CSS properties, going above/below the y-axis boundaries will have no effect, e.g. opacity. The element can’t be any less visible than invisible…

The best thing to do is to experiment. The syntax is incredibly simple. Set up your animation using the cubic-bezier for the default ease function. Once it’s working, tweak the values to see what looks best.

Original post by Michael Martin and software by Elliott Back


When Infinite Scroll Doesn’t Work

Dan Nguyen has an interesting writeup of Dan McKinley’s talk about why the implementation of infinite scroll at Etsy didn’t work. Essentially what happened was that Etsy had spent time implementing an infinite scroll interface (i.e. a list of results that automatically keeps loading more items as you scroll to the bottom of the list) before first testing their assumptions that more search results at a faster rate would boost user engagement. They found that the new interface just didn’t perform. Although the amount of purchases stayed roughly the same, user engagement has gone down — now people weren’t using the search so much.

I don’t think speed and volume are at fault here. I think the reason it didn’t work was because the kind of interaction the user has with the data is much more suited to a paginated interface than an infinite scroll. In the case of something like Etsy, the user is searching for something in particular within the list of results. In the case of something like Twitter, the user is scanning and consuming the flow of information. In the latter case, infinite scroll makes sense because the user is essentially reading or scanning down the list of tweets until they get bored. In the former case the user isn’t just linearly consuming the data, they’re mapping the information in their mind, trying to remember the items they like or think are worth researching further.

What this means is that people will want to go back to the list of search results to check out the items they’ve just seen, comparing them to what else they’ve discovered somewhere else down the list. Having a paginated interface lets the user keep a mental location of the item. They may not necessarily know the exact page number, but they will remember roughly what it was, and the paginated links will let them get there easier. Not only does the infinite scroll break this dynamic, it also makes it difficult to move up and down the list, especially when you return to the page at another time and find yourself back at the top, being forced to scroll down the list once again and wait for the results to load. In this way the infinite scroll interface is actually slower than the paginated one.

McKinley’s original assumptions — that users wanted more search results faster — were actually right, and their tests on each of these metrics individually have verified this (albeit with insignificant gains). A paginated interface that loaded more results faster would have worked a little better than what they had before. What they did wrong was use a new interface pattern in the wrong context, thereby upsetting other browsing mechanisms that people have relied on when using their site. An infinite scroll works well for something like Twitter where you’re linearly consuming an endlessly flowing stream of data without looking for anything in particular, but for search results pages where people are looking for a specific item and where the location of all the items the user has viewed matter, the paginated interface wins out.

Original post by Dmitry Fadeyev and software by Elliott Back


Comics of the week #1

Sat, Dec 29, 2012


Every week we feature a set of comics created exclusively for WDD.

The content revolves around web design, blogging and funny situations that we encounter in our daily lives as designers.

These great cartoons are created by Jerry King, an award-winning cartoonist who’s one of the most published, prolific and versatile cartoonists in the world today.

So for a few moments, take a break from your daily routine, have a laugh and enjoy these funny cartoons.

Feel free to leave your comments and suggestions below as well as any related stories of your own…

Positive use of energy

Free ex-friends

Embedded arachnoids

Can you relate to these situations? Please share your funny stories and comments below…


Astounding topographic portraits


Artists can do a lot with a blank canvas. But UK-based Ed Fairburn demonstrates that a canvas with lines, words, and markers works just as well—or maybe even better.

Take for instance the figurative work Fairburn produced on Bartholomew maps, where a series of portraits utilize the maps’ features to produce a stunning finished product. Out of the chaos of the maps’ topography, large-scale portraits emerge with unparalleled depth and complexity—the more you look, the more you see.

Explaining his process, Fairburn says, “I study both the physical attributes of the terrain and the features of my chosen subjects. I search for opportunities to synchronise the two, finding similarities between the patterns, before drafting out the portrait and building the tone.”

Pencil portrait on a Bartholomew map of Pembroke, Wales.

Pencil portrait on a Bertholomew map of Galloway, Scotland.

Oil and pencil on an OS map of South Wales, trimmed and mounted on plywood.

Ink on a 1977 road map of Germany.

Ink on a street map of Cambridge, England.

Have you worked with unusual sources to create imagery? What extra value does it bring? Let us know your thoughts in the comments. 


15+ highly responsive mobile WordPress themes


With the ever increasing accessibility of smart phones, coupled with the rapid advancement of mobile internet technology, more and more people are reaching for their phones and tablets to carry out their everyday internet browsing. According to research carried out by International Data Corporation, mobile internet users are set to surpass wired internet users by 2015, growing at an average annual rate of 16.6%. 

As such, adapting your website to cater to this ever growing market should be of high priority, especially from a commercial perspective. Trying to find the address or contact details of a company when they don’t have a responsive mobile design can result in an extremely frustrating experience, as well as losing out on a potential customer. 

If you are one of the 56,000,000+ people that have adopted the WordPress CMS, there are a range of ways to inject mobile friendly capabilities into your website, the primary one being responsive themes. This allows you to serve a simpler version of your website if someone is visiting from their smartphone or tablet, stripping back unnecessary functions and assets to reduce load times and display important information. This article is a collation of the best mobile themes available.

Breathe ($30)

Oozing with fluid transition animations, Breathe is a simplistic yet aesthetically pleasing mobile theme with an emphasis on ease of use. Boasting a widegtised footer area and support for almost every mobile browser, it’s a great platform for establishing your mobile presence.

Touch Mobile ($30)

Touch Mobile by 22lines is built upon the powerful HTML5 and CSS3 frameworks, featuring touch screen support with swipe galleries, multiple colour schemes, Analytics integration and much more.

mymobile ($25)

mymobile is an aesthetically pleasing theme that has clearly drawn upon mobile apps for design inspiration. Mobile detection code is fully implemented, making the process of serving mobile friendly versions of your site incredibly easy.

Mobile Pro ($25)

Although Mobile Pro is predominantly geared toward iPads and other tablets, due to its high responsiveness it also displays perfectly on smaller mobile devices. It automatically detects the device you are using and reacts accordingly, resizing and reorganising its components.

Simple Mobile ($25)

Simple Mobile is a clean and intuitive mobile theme, with collapsible multi-level menus and widgetised areas.

Side ($25)

Side is a visually stunning theme, bursting with retina elements such as graphics, icons, and buttons. Although best suited to the iPhone, it also looks great on Android and other smart phone devices.

Tiger ($30)

Featuring an impressive and customisable admin backend, Tiger is packed full of features that cater to both tablets and phones. Touch Screen support with a collapsible side menu helps display core information in a clear and digestible manner.

iKon ($25)

The iKon theme was created exclusively for iPhone and Android devices, boasting portrait and landscape support, multiple colour themes and a built in ajax powered contact form.

WPAppTouch (Free)

WPAppTouch is a theme that is designed to look like a native mobile app. Due to its basic appearance it’s fast loading with fluid animations when navigating between pages. It’s also one of the few free mobile themes available.

mobiTheme ($25)

If you’re looking for a simplistic, bright and powerful mobile solution for your website then mobiTheme is a great choice. Featuring unlimited colours, widetised areas and fluid animations, it’s perfect for personal blogs.

Leon ($8)

Leon boasts a ‘honey comb’ style menu that is activated with a central button, resulting in a unique and enjoyable browsing experience that wows you with its clever animation. As the picture suggests, each honey comb ‘cell’ navigates you to the appropriate page, with touch and swipe support.

SOFA iBloggr ($25)

iBloggr was built from the ground up to work flawlessly with iPhone and iPod touch devices. It fits perfectly into a 320px screen while also looking acceptable on a desktop, and is highly customisable through its intuitive admin panel.

On Demand ($49.99)

Although On Demand is rather high priced, it’s packed full of great features that more than make up for it. Its ‘click-to-call’ feature makes it easy for potential customers to instantly get in touch, with advanced video embedding options which are functional on select Android and iPhone devices.

WordPress Mobile Theme (Free)

Like its name suggests, WordPress Mobile Theme is a no nonsense approach to converting your website into a mobile friendly, simplistic design.

1stGiantLeap ($25)

1stGiantLeap is a highly responsive theme that automatically detects when the device is rotated, and switches to landscape or portrait accordingly. Featuring 4 colour schemes preinstalled and a large (for mobiles!) image slider, it’s a great choice for visually driven websites.

H8.Mobile ($9)

Despite its rather unfriendly name, H8.Mobile is a fully featured, well-rounded mobile site design. This self-described ‘elegant and cool template’ is a clean cut theme with HTML driven swipe functionality, and is 100% iPhone and Android ready.

Handheld ($89 — Package)

Although Handheld appears to be the most expensive theme in this compilation, it’s actually included in Elegant Theme’s premium package. It’s a Plugin that runs alongside your usual desktop theme, and is visible to users on a mobile device, making the process simple and stress free.

Does your website feature an impressive mobile design? Do you use a WordPress template we didn’t cover here? Let us know in the comments.

Featured image/thumbnail, mobile image via Shutterstock