- See all our web design articles here
01. Panera Bread
The Panera Bread website was built by agency Luxurious Animals. "'Live Consciously, Eat Deliciously' was our second opportunity to work with Panera Bread and Cramer-Krasselt," explains technical strategy director Dan Federman, "and we wanted it to feel like part of the same family as our first collaboration for Panera Soup."
The agency also took advantage of other libraries to speed up development and organise the code. "Yeoman handled scaffolding, optimisation and build processes," says Federman. "Backbone.js provided data modelling and templating for the content we were wrangling. The content itself lived in flat HTML files (loaded via Ajax), which also served as static content for SEO."
02. Peanut Gallery
Peanut Gallery is a project from the Google Creative Lab. Valdean Klump, a producer at the Lab, explains the concept. "The Peanut Gallery is a Chrome experiment that lets users add intertitles to silent film clips by talking to their browser," he says.
"One of our favourite features of the API is that text updates in real time while you speak," Klump continues. "For example, if you say 'European Union' slowly, you can watch as the API begins by printing ‘your’ or ‘year’ and then corrects it to 'European Union'. "Another neat feature (for English speakers only at this point), is punctuation. Say 'question mark', 'exclamation point', 'comma', or 'period' and the API will insert the correct punctuation for you," adds Klump.
The Interactive Ear was created by Leeds-based agency Epiphany Solutions for its client Amplifon, which specialises in hearing aids, tests and solutions for the hard of hearing, and is targeted at both primary and secondary school level education.
The website showcases the three major parts of the ear's complex systems, encapsulated within a smoothly transitioning interface which enables the user to find out where sound goes, what happens and how it travels to the brain.
"In older browsers without the support, you still get a swift experience which works, but we get the absolute best for the people who have modern browsers. With the power of modern technology, we were able to make the ear itself 'feel' more real with a rollover effect which draws separate 'pieces' in to where the user is browsing.
"We knew how we'd create the magnifying glass area from a previous project which also involved masking content inside a circle. The issue we had was that if you have numerous elements inside a CSS border-radius circle, the elements within still show as though they are contained within a square, so the image absolutely had to be what we used – an animated GIF."
He also used D3.js for the drawing of his graphs. "Violin automatically finds and rewrites code so that when functions are called they also update and animate the graph. This is nice as it means you don’t have to change how your code is written - Violin does all that work for you! In the demo, I’ve used Backbone to write a simple to-do list style app, and the graph is drawn using D3.js," he adds.
Khandelwal also describes the usage of Turn.js. "While developing magazine-style catalogues, we used Turn.js, an open source jQuery plug-in flexible enough to be adapted to our needs. We also liked that it was managing the page turn effect entirely with DOM elements."
Tweetmap by Pete Smart and Rob Hawkes represents countries in the world proportionally based on numbers of tweets. Hawkes explains, "Tweetmap brings together lots of clever technologies, including TopoJSON, D3.js, Node.js, PhantomJS, and an algorithm to construct contiguous cartograms in real-time.
"We chose Node.js to power the server side of things as it's quick, flexible and we already had experience using it to scrape tweets. For rendering and animating the map (in TopoJSON format) on the client we use D3, which is a fantastic library for data visualisation. Specifically, we extensively used the geo module, which allows you to do some complex geographic calculations and conversions."
To prevent performance problems in the browser, Smart and Hawkes use D3.js on the server to render countries and generate contiguous cartograms. "However, we actually run it on the server using PhantomJS (a 'headless' WebKit rendering engine) and transmit the maps back to the client," says Hawkes. This prevents the performance hit experienced when generating the cartograms on the client. "The browser locked up for four seconds," explains Hawkes.
07. Nike M vs W
Nike M vs W uses running data from Nike+ to enable runners to compare runs and their performance. "In this website we collect the running data from Nike+, and allow the runners to compare their runs virtually," explains Henry Chu, designer at the Pill & Pillow studio behind the site.
"We used three.js to create the 3D visualisation: the motion was designed to display the data of two to six runners. We used two tweening libraries: tween.js and jstween to program the motions. Most 3D motions are controlled by tween.js."
08. The Trip
09. Si Digital
"To achieve this effect I used jQuery .animate(), using its step() option to work out where the liquid was in the tube - and if it needed to activate any other animations on its journey," says Crooks. He adds, "Everybody reads at different paces, so we tried to find the right balance for the liquid speed. However, if it’s too fast for the user, it [the animation] will always wait at the next stage for them to scroll down.
Pointing the way
"To 'open' new stages for the liquid to flow through I used the jQuery Waypoints plug-in," says Crooks, "which was also used to trigger the text fading in, and other various loading/waiting animations so users that skip ahead still get a great experience."
The interactive timeline on the team page, which enables users to drag with their mouse to see some of the company’s past work and events, makes use of jQuery UI. "The team page has a timeline to highlight Si digital milestones and events, pulling in our social media accounts ranging from Twitter updates to Dribbble uploads," Crooks explains. "The timeline is generated entirely dynamically based on a database of our events loaded via Ajax. The primary way to navigate the timeline is by dragging with the mouse (using jQuery UI draggable), but keyboard navigation is also included."
10. Jean Helfenstein
Developer Jean Helfenstein’s personal site features an eye-catching canvas animation on the homepage. "I really had fun with the backgrounds," says Helfenstein. "I always love to experiment with new technology, so I decided to use my landing page as my playground and mess around with three.js and the canvas element.
"The idea was to create a site that follows the current minimalist design trend [but adds] something fresh. To achieve that, I decided to use click-and-drag navigation rather than the usual left/right arrows. With mobile devices becoming more popular, I feel that people are starting to be familiar with this type of interaction."
Everything about the site is impressive, including the subtle animations between pages - and in particular, the way you can drag between projects on the 'Playground' page. It's a brilliant showcase of what can be achieved with some of the newer technologies we have available.
11. Nick Jones
12. KIKK Festival
A common trend is to use HTML5 pushState to allow the user to go back and forward between transitions. "The page transition is visually the most interesting feature," reckons Daubrez. "It’s been composed with a dynamic URL rewriting using the history.pushState feature, so it gives the impression of travelling in an horizontal single page."
Dog Studio made full use of some quirky jQuery plug-ins to produce the falling feather effect: "For that we simply used a Snowfall jQuery plug-in we modified to give the feather rotation effect, and get more control over the number of items and their speed. Those three main directions really make us think we managed to get a unique experience."
The website for this year’s TakeOff Conference deserves a mention for the way it uses 'bottom-up' scrolling. When you first visit the page, you are scrolled all the way to the bottom, and then are able to scroll upwards. It’s something unique that initially I didn’t think would work, but that in reality is perfectly usable.
"We created a disturbing yet stunning website for the 2013 edition of the TakeOff Conference," says developer Florian Le Goff, one of the conference organisers. "We have to pay a tribute to the modern web ecosystem for making this project a reality in such a short matter of time."
Le Goff utilised a number of projects, libraries and plug-ins: "A paid Typekit account was used to include uncommon fonts in two lines of code, while a few jQuery hacks and plug-ins were used to power our bottom-up reading pattern."
MapsTD is a tower defence game, but with a difference. You tell it where your home is, and through the power of Google Maps, it will produce a game in which you’re defending your hometown, with the baddies relentlessly charging past the streets and houses of your neighbourhood.
As the game progresses, more enemies (or 'creeps' as he has called them) appear on screen. Barclay found himself battling to keep performance high and timings correct: "One of the biggest challenges – one that still isn’t quite right - was the timing. Firstly, if the page isn’t active, most browsers reduce how often they check if timeouts have reached the end, resulting in creeps moving in bursts rather than moving steadily. I ended up fixing that by pausing the game when the tab loses focus. The detection code was taken from David Walsh’s blog and is in the game credits.
"The other problem was that as you progressed, there were too many things happening, which resulted in the game slowing down a lot. The workaround ended up being to use harder creeps rather than more of them, and making the game incrementally more difficult each level after level 50."
This is an amazing example of how powerful today’s tools are. Aditya Ravi Shankar has used them to create an online version of classic real-time strategy game Command and Conquer.
Recreating the original 1995 game was a long and painstaking process, says Shankar. "Every little thing took time - things like selecting single units or multiple units; being able to select by drawing the box from left to right or from right to left; making sure the panning was smooth; figuring out a decent fog of war implementation; allowing for building construction, dependencies (the Power Plant is needed for the Refinery, which is needed for the Factory) and building placement (buildings cannot be constructed on top of other buildings); and depth sorting when drawing so units could move behind buildings and trees."
16. Glimpse Catalogs
Page turn effect
Khandelwal also describes the usage of Turn.js. "While developing magazine-style catalogues, we used Turn.js - an open source jQuery plug-in flexible enough to be adapted to our needs. We also liked that it was managing the page turn effect entirely with DOM elements."
"Both of these together helped create an HTML5 magazine with interactive markup. It also gave us a great deal of satisfaction to contribute some of our code back to the developer community."
The site has been built by JUXT Interactive to showcase, "art, fashion and happenings live from California". JUXT Interactive’s creative director Jeff Whitney reckons its highlight is its, "unique, rotating brand showcase, allowing the user to explore the current season through images and video in an uplifting way... to a Golden State of Mind".
the GSOM website," Whitney explains. "A custom scrollbar plug-in was found and rather heavily modified to allow for the infinite scrolling, and a lot of sweat and tears went into getting the reversed scrolling to work correctly. The movement and parallax of the elements on the page were easily handled with jQuery."
18. Chrome Web Lab
Red Bull is the energy drink that keeps fingers moving during late-night coding sessions: couple it with music and you have an awesome setting for code cranking. Looks like Red Bull gets this: its Red Bull Music Academy Radio brings kickass beats to your browser.
RBMA Radio is all about standards, and using Modernizr helps it get there. From a feature-detection perspective, Modernizr continues to be the best choice for enabling you to leverage new HTML5 and CSS3 features in a cross-browser manner, and the fact that it's continuously updated ensures that as new features come out, you can scale your code to handle them.
20. Electric Ikebana
Remember those days when we needed Flash to do fancy animated rendering on sites? Well it’s good to know that true browser-based features are being added that will give you that power without having to use a plug-in.
Helios Design Labs has created such a site for Bell Labs which really demonstrates how powerful in-browser can be. It’s created an animated ikebana (a Japanese method of flower arranging), which uses data provided by Bell Labs to render the arrangement dynamically.
While jQuery, jQuery UI and Modernizr are all used, it's the use of the WebGL API and three.js that makes it stand out. Looking under the hood, you can see a ton of code being included to come up with the effect... also lots and lots of maths! You can use the keyboard arrow keys to control the position of the ikebana while it's being arranged.
"We're exploring the human experience of vertical living in global suburbs over several years using many kinds of platforms," explains director Katerina Cizek. "In One Millionth Tower I was interested in harnessing the imagination of the people who live inside to re-envision the bleak spaces around the buildings.
"The other problem the project faced came when creative technologist Mike Robbins brought in the idea of putting a story about space into 3D space, so it became a story about transforming the physical world, by transforming the virtual world."
What got me excited about this site was that it both lives and breathes, a lot like the web - if it's actually raining in the Toronto Highrise, it's also raining in One Millionth Tower. If you've ever used weather APIs, you'll know this isn't a technically difficult feat, but integrating it into virtual landscapes is something I haven't seen done until now.
One of the core tools that made One Millionth Tower possible was Popcorn.js - a library by Mozilla featuring some work by Boston-based hack loft Bocoup. Popcorn helps link real-time social media, news feeds and other content directly into online video in real-time, enabling developers to easily create rich, interactive experiences that go beyond traditional static video on the web. Three.js was also used to help implement the 3D world around the high-rise neighborhood.
22. Nouvelle Vague
It took three people about four months to create, says Ultranoir's JB Grasset. "We were very interested in all the WebGL experiments running on the web and became convinced that Ultranoir had to try something with this new technology. The Ro.me project (ro.me) really astonished the whole team, so we decided to produce our own experience.
"The basic idea was to exploit the atmosphere we created for the Ultranoir V3 video introduction. It was produced with 3D tools and we wanted to make it interactive.
23. The Convergence
Cynics may say HTML5 is still playing catch-up to Flash in the gaming world, but it's finally getting closer to matching the smooth, arcade experiences gamers have been desperately pleading for.
While not without its flaws, The Convergence is a great proof of concept game implementation. If you enjoy playing it, you can look forward to more features in the future including extra levels and a particularly important addition - HTML5 audio.
I'd also be interested to see some support for the Web Joystick/Gamepad API Mozilla have been showing off lately; it's bound to make games like this even more entertaining!
Carrying all my books in a slim, lightweight tablet is amazing. So when Amazon announced its new web-based Kindle Cloud Reader, I was thrilled the convenience level had been pushed up several notches.
For example, the team leveraged Kelvin Luck's jScrollPane plug-in to provide CSS skinning of scrollbars to match their UI. And continuing the consistent UI theme, the jQuery Templates plug-in was used for building and rendering standard templates of data.
Amazon also elected to use WebSQL for offline support. While not the W3C standard, this web database implementation seems to have provided the team with an interim solution until IndexedDB is more widely used and implemented.
Being an avid Kindle fan, it's really exciting to see what Amazon has built and that it was able to do so using standard web technologies.
The use of the Shadowbox.js library for popping up videos is also a nice effect since it doesn't intrude on the user's experience like a normal browser popup would. It also has the added benefit of not being blocked by popup blockers.
Freak like me
One of other cool nugget is how they combined Shadowbox.js with the jQuery Cycle plug-in to create a flipbook of their work and also display some candid pictures. The guy in the creepy mask did freak me out a bit but I managed to look past him and check out some of their work.
"Les Enfants was put together to see how far you could push jQuery on the iPad before it ran into framerate issues," says site developer Martin Hughes. "It turned out that when combined with CSS Transform and GPU acceleration you could really get a lot of movement happening without running into trouble.
Pinterest has got a lot of positive press lately and when you look at the site, you can see why. The layout allows users to 'pin' images to a virtual pinboard shared with the rest of the community.
This is made possible through the use of jQuery, jQuery UI and Jean-Sbastien Ney's PageLess jQuery plug-in, which allows endless page scrolling.
PageLess is a vitally important to the UI as it keeps users engaged by providing a constant stream of pinned tiles on the screen as the user reaches the bottom. And as most sites do, Pinterest has included social sharing functionality to like, repin or comment on a tile.
There are other plug-ins being used for things such as tooltips but what stands out to me is the endless scrolling. It's really the secret sauce for keeping users wanting more.
How much do you love your friends? Do they do things that really rock but you're not sure how to express that to them? This is what Jess Klein and Atul Varma set out to help with when they created the Love Bomb Builder. It's a neat and simple website that lets you send a love bomb to someone who has done something really awesome.
But to me the coolest feature is the split-screen styling, which allows visitors to style up their love bomb in real-time. Don't like red? No worries. Go into the HTML and CSS source displayed on the left, make your changes and instantly see the results. This is rendered in an iframe and leverage's SVG for the dynamic redrawing. Very smooth and well done.
28. Smokey Bones
The first thing that caught my attention was the full-screen slider they're using to automatically switch between elements on the page. The code 3 slides divs in and out based on a timer, ensuring that a visitor will get a chance to see most pages on the screen.
Code and chips
Adding to this, they've also included keyboard navigation ensuring that not only can you scroll left or right but up and down! The really clever part of this up/down scrolling is that as you do so, it actually builds a canvas-based hamburger as well as showing a glass of beer being consumed. Seriously, you have to check it out. What I loved was that the team used the EXCanvas polyfill to allow non-modern browsers to have the same experience.
Definitely some great stuff going on here. Now I'm hungry!
Trying to stand out in a sea of social networks isn't easy. The team at Subjot have worked hard to make sharing your interests easier through great use of client-side scripting.
They've included jQuery and jQuery UI to power dynamic UI changes that happen within the comment div elements. For example, clicking on the thumbnail of an image or video embedded in the comment box expands it and renders a bigger version of the image or a full-size, viewable video.
They've also used jQuery UI's modal dialog widget with drag-and-drop functionality to make entering new comments easy. And, to make it easier to choose a subject for your comments, they've added an Ajax-based select box, which dynamically offers you suggestions as you type.
Plug it in
"Subjot relies heavily on jQuery and plugins to make it responsive," says developer Becky Carella. "We use plug-ins such as validate, noblecount, autoresize, and infieldlabels. The mobile site was put together quickly using jQuery Mobile.
"We update notification counts in the background and will continue to add similar background loading to keep pages fresh. Our custom jQuery plug-in suggests subjects your friends already write to as you type. It helps keep similar jots grouped together and makes it easier to pick a subject."
The site is still fairly young and it's off to a great start. I can't wait to see what they'll add in the future to make the UI pop even more.
Finding new videos to watch is pretty easy nowadays. Just spark up YouTube or Vimeo and you'll have a wealth of 'stuff' to look at. But what about if you'd like to find videos that match your specific tastes? Wouldn't it be great to have a site that allows you to use the social aspects of the web to find videos that are specifically up your alley? Well, that's where Chill comes in.
Taking a cue from Pinterest, they've set up an amazing site that allows people to pin and categorise videos they find interesting.
Michael Viamari, a web developer at Chill, says: "The bar for user experience in the modern consumer internet is now extremely high. That means that building great experiences on the internet is not just about working with and meeting today's standards, but also building for the future."
Sometimes you just come across a site that makes you say, "Damn that is gorgeous!". That's how I felt when I came across Wunderkit.
For DOM stuff, the team is using the ubiquitous jQuery (which is a great choice of course). And you can certainly see a lot of DOM interaction going on. For instance, when you create a new list, a new DIV is added to the panel and a form field is enabled for you to name your list.
In addition, an image is added that allows you to delete your list, which when pressed, creates a fly-out dialog prompt to ensure you want to actually delete it.
I may not be a drinker but I can certainly appreciate a cool site. The Michelberger Booze site is very neat in that it makes excellent use of the new trend in vertically scrolling sites.
Infinite scrolling seems to be the new black in terms of site design. The site uses it to navigate users through a number of scenes that offer interactive features as you scroll down. The infinite scroll was made possible using the jQuery Waypoints plug-in, which lets you execute a function when you scroll to a specific element. In this case, scrolling down the page brings up different scenes that trigger off everything from rotating masks to glasses being filled with booze.
33. Air Jordan 20
Love 'em or hate 'em, sites with scrolling-based animation are all the rage at the moment. One of the most impressive and unique experiences recently has been the 2012 Air Jordan promo for Nike, developed by Blast Radius.
Laden with deconstructed trainers and hubristic metaphor, getting something like this to work smoothly without a huge load time is not an easy task. "This was tough," explains senior technical experience director Steve Bond. "The key piece of the puzzle was loading images at 50 per cent resolution for the main animations and then loading the full-resolution shoe images only after a user stopped scrolling."
And it's not just the technical feats that take time to figure out. Actually planning the way the page is going to behave as the user scrolls is an iterative process between technical and creative. "The best work is done in collaboration," says Bond. "Our creative teams challenge our developers with a concept, or key interaction, usually accompanied with a few examples or sources of inspiration.
"Our development team starts prototyping, which helps suss out limitations. Instead of static mock-ups we worked with a motion designer who composed a detailed video in After Effects CS6 for us to work against."
Socket to them
Near-instant communication between Trello users is achieved using Web Sockets. Although they are seeing wider browser support, this still presented a few challenges.
"Web Sockets are a relatively new technology," says LeCheminant, "and the libraries we're using had some issues when being used at a large scale. It took us a few months after launch to get them working reliably enough.
"Fortunately, Trello is able to run using fast Ajax polling, so we were able to fall back to that while we were resolving the issues we had with the library, and we're currently using Web Sockets on all browsers that have support."
35. Remote Tilt
If you don't have a mobile device to pair with there is also the option of using an emulator in a pop-up window, but obviously it's harder to get a feel for orientation that way.
Remy said that it wasn't particularly tough to get a consistent level of support across devices. "But I did have to do some hard (or hard for me) maths to get the number right, and I did spend several hours with a mobile phone in one hand tilting in all directions trying to ensure my numbers matched up correctly!
"I was made aware of a bug in older iOS versions whereby one of the axes in the Device Orientation event gives a reversed value. Luckily, however, I forgot which older iOS it was, so was never able to confirm the bug first hand!"
Created by Little Workshop for Mozilla, BrowserQuest is a loving homage to RPG video games designed as a demonstration of HTML5 and technologies such as WebSockets, which can support hundreds or even thousands of simultaneous users interacting.
"Creating a multiplayer game appeared to be a good way to showcase these technologies working together," he continues. "The classic top-down view and retro look is a tribute to games that amazed us as players - our favourite Easter egg is probably the clever reference to Valve's Portal."
His first version, initially a luxurious 8kb, took an afternoon; weeks of tweaking and optimising got the size down. "The procedural generation of the tree was influenced by optimisations I used to get the demo under 1k," Buchanan explains. "Often a change to one meant re-writing the other."
To reach that byte target involved "clever abuse" of the language. "One tactic is avoiding in-built keywords. If there's an 'if (a) b else c' statement, using the ternary operator a ? b : c saves 8 bytes."
"Optimisations often become confusingly convoluted," Buchanan continues, "and writing code in the shortest form possible comes at the cost of performance, readability, and accuracy."
Creating a usable visualisation of a timeline in a web browser isn't easy, with Flash typically being called upon for a smooth experience. But newer development techniques and the rise of HTML5 are making inroads into reducing the headache.
The timeline builder by Vrit.co for the Knight News Innovation Lab, is billed as being easy and intuitive to use. Users can pull in tweets and media from YouTube, Flickr, Vimeo, Google Maps, and SoundCloud. Timelines can be defined in JSON or, if you'd rather keep it simpler or let a non-technical author join in, use special Google Docs templates.
Embed a hosted version of your timeline or grab the files and host it yourself. By default, Stamen's duotone map tiles layer is used if you want to add mapping, but there are other options. The project is released under the GNU license and hosted on GitHub, so contributions are welcome.
"The few performance test cases that were available at the time weren't easily comparable: some measured the operations per second, others measured the number of seconds per 10,000 operations, and then there were tests that displayed the results in the form of a score. All tests on jsPerf use the same benchmarking algorithm and output the results in a standardised way."
Some of the new features now supported include rich, interactive graphs and browser filters. We can now select from bar, column, line, pie and tables for displaying our results and then filter them down using different families of browser such as desktop, mobile and so on.
Benchmarks can now (for the first time) also be easily embedded in external sites, so gone are the days of reporting a piece of code as optimal and including a screenshot of our results: we can now easily include the results directly in our pages so they're always up to date.
Searching for other developers' test cases, in case someone else may have already created a test we may wish to learn from, is now also a lot more straightforward with queries and syndication feeds being supported.
Finally, all of the PHP for the site has been open- sourced on GitHub, so you can easily make changes to it if there's a feature you'd like to add or improve. "So far the response has been great," says Bynens, "lots of pull requests with code improvements. I recommend checking jsPerf out as I find it an invaluable resource daily."
40. Nokia Maps 3D
By far, the most impressive example of WebGL I've seen so far this year is Nokia Maps 3D. Not only does it allow us to view the Earth in an astonishing level of detail, but almost everything on the map is rendered in 3D, complete with terrains, buildings and lighting.
Most major cities can be viewed on the map and we can zoom, pan and tilt without relying on any plug-ins. You'll need the latest version of Google Chrome to view it, but it's worth taking a look at just to see where the future of maps may look like.
Following hot on the heels of Nokia's foray into WebGL is Lights, an interactive music experience for singer-songwriter Ellie Goulding by Brighton-based company HelloEnjoy.
The WebGL-based site (powered by three.js) takes users through a vibrant-coloured terrain that vibrates and reacts to your mouse movements and acceleration.
You're in for a visual feast of light particles, explosions of colour and more, all set to the tune of Goulding's latest track Lights. Check out the site in the latest version of Google Chrome for the best experience.
Doing the typical view-source, it's amazing to see how many really great libraries are used to make the site run smoothly. Right off the bat, I found jQuery and jQuery UI. This makes sense because jQuery makes working with the DOM trivial, and jQuery UI has a great suite of UI controls and effects.
The decision to switch from Flash is an incredibly important indication of how powerful standards-based web technologies have become.
Ever wanted to go back in time and remember what you said or thought at a certain moment? Wouldn't it be great if there was a place where you could look at everything you've said or done on all the sharing services you use?
That's where Memolane comes in. It enables you to link with most major social networks, including Facebook, Twitter and YouTube, and view your updates in a cool timeline. This is ordered by date and each bit of information hangs down from it like a leaf on a branch.
Using a navigation bar, you can scroll back and forth to see what actions you made on a specific day. The scrolling is also mouse enabled, so you can just click in the middle of the timeline to move around.
Walk on the client side
The site takes advantage of jQuery UI for a lot of its great interface features, as well as Mustache.js for client-side templating. It's great to see more sites using client-side templating engines to increase the maintainability of their code.
"Memolane squeezes all that it can out of the advances made with CSS3 and HTML5 and, in my opinion, we've created a UI that was once only doable with Flash."
44. Draw a Stickman
Lots of sites are all about being serious, but it's also important to have fun. The team at Hitcents has created a whole lot of fun via Draw a Stickman.
The basic idea is that you're given a virtual drawing pad, on which you can use your mouse to create little doodles. But it goes way beyond that. Once you've created your stick figure, it becomes animated and walks around until it finds a box. You then have to draw a key to open the box, revealing a surprise and... Well, I'm going to leave you to look at the site and find out what happens next. It's definitely worth it.
Vector it in
It's a really neat experiment, and something that kept me engaged for a long time. Granted, my drawing skills are terrible, but you shouldn't judge the website based on my lack of artistic talent.
Also awesome is Mustache.js, an incredibly powerful client-side templating library. You define how your templates should look, use tokens to define where pieces of data will be filled in and then pass it over to Mustache for processing. It handles the heavy lifting, enabling you to build consistent UIs without needing a ton of code to generate the results.
In this case, it was used with home-grown code to produce a 'bento-style' UI, making it easy to place elements of various sizes within your page while still maintaining a consistent layout size. "We call the mixed-media search results bento boxes," says Will von Reis, CTO of KidZui. "The name is inspired by the Japanese lunch trays made up of different-sized rectangles."
I like seeing this kind of site making use of client-side technology to enhance the user experience.
Read these for more web design inspiration:
- Amazing examples of HTML5
- Web design training: The top online tools