2010-03-15 | AMB首頁

Archive

‘Smashing’ 分類過的Archive

Plasticine Art Showcase: Shape Your Imagination

2010年3月13日
回應關閉
Smashing-magazine-advertisement in Plasticine Art Showcase: Shape Your Imagination
 in Plasticine Art Showcase: Shape Your Imagination  in Plasticine Art Showcase: Shape Your Imagination  in Plasticine Art Showcase: Shape Your Imagination

Do you remember?.. The first time you played with pieces of modeling clay, melting them in your hands and going deeper and deeper into the colourful plasticine world where your imagination was the only limit. Since the 19th century, when Franz Kolb and William Harbutt independently of each other invented plasticine (modeling clay), it has been used in almost all fields of art: illustration, web design, typography, claymation, installation design.

Plasticine artworks can be found just everywhere: advertisements, book/magazine as well as CD/DVD covers, movies / TV series, music videos, computer / console games, and even web design elements. Below you will find a collection of beautiful plasticine artworks that hopefully will inspire you and give you an idea about how this material can be used in your next design project.

By the way, what was the last time you visited our sister site Noupe? Subscribe to Noupe’s feed for more inspirational and design-related articles.

Plasticine + Photography / Illustration

Advertising

Nike Italy by Wieden+Kennedy Amsterdam (Netherlands)

Nikeitalyzambrotta in Plasticine Art Showcase: Shape Your Imagination

Faber Castell plasticine Advertisement by Unitas RNL Santiago (Chile)

Fabercastell01 in Plasticine Art Showcase: Shape Your Imagination

Fabercastell03 in Plasticine Art Showcase: Shape Your Imagination

Onida Washing Machines Advertisement by McCann Erickson Mumbai (India)

Onida02 in Plasticine Art Showcase: Shape Your Imagination

Onida03 in Plasticine Art Showcase: Shape Your Imagination

Freya Lingerie Advertising by Stuart Jackson

Photoplasticine01 in Plasticine Art Showcase: Shape Your Imagination

Photoplasticine02 in Plasticine Art Showcase: Shape Your Imagination

Photoplasticine03 in Plasticine Art Showcase: Shape Your Imagination

Becks Advertisement by Scholz+Friends Hamburg (Germany)

Becks01 in Plasticine Art Showcase: Shape Your Imagination

Becks02 in Plasticine Art Showcase: Shape Your Imagination

Forma Total Gym by Artplan (Rio de Janeiro, Brazil)

Formatotalgym01 in Plasticine Art Showcase: Shape Your Imagination

Formatotalgym02 in Plasticine Art Showcase: Shape Your Imagination

Nicorette Advertisement by DRAFTFCB KOBZA (Austria)

Nicorette in Plasticine Art Showcase: Shape Your Imagination

Aniquem Advertisement by McCann Erickson Peru

Aniquem in Plasticine Art Showcase: Shape Your Imagination

Stamyl Advertisement by Maruri Grey (Ecuador)

Stamyl01 in Plasticine Art Showcase: Shape Your Imagination

Stamyl02 in Plasticine Art Showcase: Shape Your Imagination

Stamyl03 in Plasticine Art Showcase: Shape Your Imagination

Magazine Cover Design

Esquire (March 2009) – 30th birthday of plasticine character Morph

Esquire-cover in Plasticine Art Showcase: Shape Your Imagination

Poster Design

“The Summer Reading Club” Poster for The Toronto Public Library by Barbara Reid

Poster01 in Plasticine Art Showcase: Shape Your Imagination

“Young Audience” Poster for Theatre Direct by Barbara Reid

Poster02 in Plasticine Art Showcase: Shape Your Imagination

Flyer for The Ovnis by Pablo Alfieri

Poster03 in Plasticine Art Showcase: Shape Your Imagination

Book Illustrations

Barbara Reid

Barbarareid01 in Plasticine Art Showcase: Shape Your Imagination

Barbarareid02 in Plasticine Art Showcase: Shape Your Imagination

Barbarareid03 in Plasticine Art Showcase: Shape Your Imagination

Artworks

Amy Vangsgard

Amyvangsgard01 in Plasticine Art Showcase: Shape Your Imagination

Amyvangsgard02 in Plasticine Art Showcase: Shape Your Imagination

Amyvangsgard03 in Plasticine Art Showcase: Shape Your Imagination

Amyvangsgard04 in Plasticine Art Showcase: Shape Your Imagination

Irma Gruenholz

Irmagruenholz01 in Plasticine Art Showcase: Shape Your Imagination

Irmagruenholz02 in Plasticine Art Showcase: Shape Your Imagination

Irmagruenholz03 in Plasticine Art Showcase: Shape Your Imagination

Irmagruenholz04 in Plasticine Art Showcase: Shape Your Imagination

Anna Villalba

Anavillalba01 in Plasticine Art Showcase: Shape Your Imagination

Anavillalba02 in Plasticine Art Showcase: Shape Your Imagination

Anavillalba03 in Plasticine Art Showcase: Shape Your Imagination

Manuela Martin

Charlotte Oh

Charlotteoh01 in Plasticine Art Showcase: Shape Your Imagination

Charlotteoh02 in Plasticine Art Showcase: Shape Your Imagination

Charlotteoh03 in Plasticine Art Showcase: Shape Your Imagination

Tammy Durham

Tammydurham01 in Plasticine Art Showcase: Shape Your Imagination

Tammydurham02 in Plasticine Art Showcase: Shape Your Imagination

Tammydurham03 in Plasticine Art Showcase: Shape Your Imagination

CactuSoup

Cactusoup01 in Plasticine Art Showcase: Shape Your Imagination

Cactusoup02 in Plasticine Art Showcase: Shape Your Imagination

Cactusoup03 in Plasticine Art Showcase: Shape Your Imagination

Plasticine + Animation = Claymation

Clay animation, or claymation as it is popularly known, is one of the types of stop-motion animation which is extremely laborious. Each animated piece is sculpted in plasticine clay. Some of the best-known clay-animation artists and studios include Will Vinton, Aardman Animation, Art Clockey and many others.

Animatied Movies / TV Series

The Gumby Show (1957 – …)

Closed Mondays (1974)

Morph (1977 – …)

The Adventures of Mark Twain (1986)

Wallace and Gromit (1989 – present)

Wallace and Gromit in “A Matter of Loaf and Death” (2008)

Creature Comforts (1989)

Mona Lisa Descending a Staircase (1992)

Loves Me… Loves Me Not (1992)

Purple and Brown (2006 – …)

Shaun The Sheep (2007 – …)

Chess Game “Poole – HAL 9000″ (from the “2001: A Space Odyssey” movie)

Pigeon Pilfer (2009)

Plasticine Crow (1981) [RU]

Last Year’s Snow Was Falling (1983) [RU]

From Iljitsch to Kuzmich (2000 – …) [RU]

Movie / TV Opening Title Sequences

Freaked

Freaked01 in Plasticine Art Showcase: Shape Your Imagination

Freaked02 in Plasticine Art Showcase: Shape Your Imagination

Spokoynoy nochi, malyshi! [RU]

Advertising

Levi’s

Sony Bravia: Play-doh

Chevron Cars

American Express: Modelling Clay by OgilvyOne London

Xbox 360

Music Videos

Frank Zappa – Baby Snakes (1979)

John Fogerty – Vanz Kant Danz (1987)

Grizzly Bear – Ready, Able (2009)

Paolo Nutini – Pencil Full Of Lead (2009)

Computer / Console Games

Claymates (1993)

Claymates in Plasticine Art Showcase: Shape Your Imagination

ClayFighter (1993)

Clayfighter in Plasticine Art Showcase: Shape Your Imagination

Primal Rage (1994)

Primalrage in Plasticine Art Showcase: Shape Your Imagination

The Neverhood (1996)

SkullMonkeys (1998)

Skullmonkeys in Plasticine Art Showcase: Shape Your Imagination

Platypus (2002)

Platypus in Plasticine Art Showcase: Shape Your Imagination

Gumby vs. the Astrobots (2005)

Gumby in Plasticine Art Showcase: Shape Your Imagination

Cletus Clay (2006)

Wallace & Gromit’s Grand Adventures (2008)

Shaun The Sheep

Plasticine + Web Design

Microsoft: {You shape} it

Webdesign01 in Plasticine Art Showcase: Shape Your Imagination

lauren.brandcubator

Webdesign02 in Plasticine Art Showcase: Shape Your Imagination

malum

Webdesign03 in Plasticine Art Showcase: Shape Your Imagination

Plastilina Creativa

Webdesign04 in Plasticine Art Showcase: Shape Your Imagination

Zaramella

Webdesign05 in Plasticine Art Showcase: Shape Your Imagination

Plastilin Event

Webdesign06 in Plasticine Art Showcase: Shape Your Imagination

Plasticine + Typography

Typoplasticine01 in Plasticine Art Showcase: Shape Your Imagination

Typoplasticine02 in Plasticine Art Showcase: Shape Your Imagination

Further Resources

Installation Design

James May’s “Plasticine Paradise” garden at RHS Chelsea Flower Show 2009 on May 19-23, 2009 in London, England.

Garden01 in Plasticine Art Showcase: Shape Your Imagination

Garden02 in Plasticine Art Showcase: Shape Your Imagination

Garden03 in Plasticine Art Showcase: Shape Your Imagination

Plasticine Art Tutorials

What do you think?

What is your opinion on plasticine art? In case any exceptional plasticine works haven’’t been covered, please feel free to use the comments area to share your thoughts and suggest other beautiful works. We are looking forward to your feedback and your thoughts!


© Aygul Zagidullina for Smashing Magazine, 2010. | Permalink | 19 comments | Add to del.icio.us | Digg this | Stumble on StumbleUpon! | Tweet it! | Submit to Reddit | Forum Smashing Magazine
Post tags:

Smashing

Plasticine Art Showcase: Shape Your Imagination

2010年3月13日
回應關閉
Smashing-magazine-advertisement in Plasticine Art Showcase: Shape Your Imagination
 in Plasticine Art Showcase: Shape Your Imagination  in Plasticine Art Showcase: Shape Your Imagination  in Plasticine Art Showcase: Shape Your Imagination

Do you remember?.. The first time you played with pieces of modeling clay, melting them in your hands and going deeper and deeper into the colourful plasticine world where your imagination was the only limit. Since the 19th century, when Franz Kolb and William Harbutt independently of each other invented plasticine (modeling clay), it has been used in almost all fields of art: illustration, web design, typography, claymation, installation design.

Plasticine artworks can be found just everywhere: advertisements, book/magazine as well as CD/DVD covers, movies / TV series, music videos, computer / console games, and even web design elements. Below you will find a collection of beautiful plasticine artworks that hopefully will inspire you and give you an idea about how this material can be used in your next design project.

By the way, what was the last time you visited our sister site Noupe? Subscribe to Noupe’s feed for more inspirational and design-related articles.

Plasticine + Photography / Illustration

Advertising

Nike Italy by Wieden+Kennedy Amsterdam (Netherlands)

Nikeitalyzambrotta in Plasticine Art Showcase: Shape Your Imagination

Faber Castell plasticine Advertisement by Unitas RNL Santiago (Chile)

Fabercastell01 in Plasticine Art Showcase: Shape Your Imagination

Fabercastell03 in Plasticine Art Showcase: Shape Your Imagination

Onida Washing Machines Advertisement by McCann Erickson Mumbai (India)

Onida02 in Plasticine Art Showcase: Shape Your Imagination

Onida03 in Plasticine Art Showcase: Shape Your Imagination

Freya Lingerie Advertising by Stuart Jackson

Photoplasticine01 in Plasticine Art Showcase: Shape Your Imagination

Photoplasticine02 in Plasticine Art Showcase: Shape Your Imagination

Photoplasticine03 in Plasticine Art Showcase: Shape Your Imagination

Becks Advertisement by Scholz+Friends Hamburg (Germany)

Becks01 in Plasticine Art Showcase: Shape Your Imagination

Becks02 in Plasticine Art Showcase: Shape Your Imagination

Forma Total Gym by Artplan (Rio de Janeiro, Brazil)

Formatotalgym01 in Plasticine Art Showcase: Shape Your Imagination

Formatotalgym02 in Plasticine Art Showcase: Shape Your Imagination

Nicorette Advertisement by DRAFTFCB KOBZA (Austria)

Nicorette in Plasticine Art Showcase: Shape Your Imagination

Aniquem Advertisement by McCann Erickson Peru

Aniquem in Plasticine Art Showcase: Shape Your Imagination

Stamyl Advertisement by Maruri Grey (Ecuador)

Stamyl01 in Plasticine Art Showcase: Shape Your Imagination

Stamyl02 in Plasticine Art Showcase: Shape Your Imagination

Stamyl03 in Plasticine Art Showcase: Shape Your Imagination

Magazine Cover Design

Esquire (March 2009) – 30th birthday of plasticine character Morph

Esquire-cover in Plasticine Art Showcase: Shape Your Imagination

Poster Design

“The Summer Reading Club” Poster for The Toronto Public Library by Barbara Reid

Poster01 in Plasticine Art Showcase: Shape Your Imagination

“Young Audience” Poster for Theatre Direct by Barbara Reid

Poster02 in Plasticine Art Showcase: Shape Your Imagination

Flyer for The Ovnis by Pablo Alfieri

Poster03 in Plasticine Art Showcase: Shape Your Imagination

Book Illustrations

Barbara Reid

Barbarareid01 in Plasticine Art Showcase: Shape Your Imagination

Barbarareid02 in Plasticine Art Showcase: Shape Your Imagination

Barbarareid03 in Plasticine Art Showcase: Shape Your Imagination

Artworks

Amy Vangsgard

Amyvangsgard01 in Plasticine Art Showcase: Shape Your Imagination

Amyvangsgard02 in Plasticine Art Showcase: Shape Your Imagination

Amyvangsgard03 in Plasticine Art Showcase: Shape Your Imagination

Amyvangsgard04 in Plasticine Art Showcase: Shape Your Imagination

Irma Gruenholz

Irmagruenholz01 in Plasticine Art Showcase: Shape Your Imagination

Irmagruenholz02 in Plasticine Art Showcase: Shape Your Imagination

Irmagruenholz03 in Plasticine Art Showcase: Shape Your Imagination

Irmagruenholz04 in Plasticine Art Showcase: Shape Your Imagination

Anna Villalba

Anavillalba01 in Plasticine Art Showcase: Shape Your Imagination

Anavillalba02 in Plasticine Art Showcase: Shape Your Imagination

Anavillalba03 in Plasticine Art Showcase: Shape Your Imagination

Manuela Martin

Charlotte Oh

Charlotteoh01 in Plasticine Art Showcase: Shape Your Imagination

Charlotteoh02 in Plasticine Art Showcase: Shape Your Imagination

Charlotteoh03 in Plasticine Art Showcase: Shape Your Imagination

Tammy Durham

Tammydurham01 in Plasticine Art Showcase: Shape Your Imagination

Tammydurham02 in Plasticine Art Showcase: Shape Your Imagination

Tammydurham03 in Plasticine Art Showcase: Shape Your Imagination

CactuSoup

Cactusoup01 in Plasticine Art Showcase: Shape Your Imagination

Cactusoup02 in Plasticine Art Showcase: Shape Your Imagination

Cactusoup03 in Plasticine Art Showcase: Shape Your Imagination

Plasticine + Animation = Claymation

Clay animation, or claymation as it is popularly known, is one of the types of stop-motion animation which is extremely laborious. Each animated piece is sculpted in plasticine clay. Some of the best-known clay-animation artists and studios include Will Vinton, Aardman Animation, Art Clockey and many others.

Animatied Movies / TV Series

The Gumby Show (1957 – …)

Closed Mondays (1974)

Morph (1977 – …)

The Adventures of Mark Twain (1986)

Wallace and Gromit (1989 – present)

Wallace and Gromit in “A Matter of Loaf and Death” (2008)

Creature Comforts (1989)

Mona Lisa Descending a Staircase (1992)

Loves Me… Loves Me Not (1992)

Purple and Brown (2006 – …)

Shaun The Sheep (2007 – …)

Chess Game “Poole – HAL 9000″ (from the “2001: A Space Odyssey” movie)

Pigeon Pilfer (2009)

Plasticine Crow (1981) [RU]

Last Year’s Snow Was Falling (1983) [RU]

From Iljitsch to Kuzmich (2000 – …) [RU]

Movie / TV Opening Title Sequences

Freaked

Freaked01 in Plasticine Art Showcase: Shape Your Imagination

Freaked02 in Plasticine Art Showcase: Shape Your Imagination

Spokoynoy nochi, malyshi! [RU]

Advertising

Levi’s

Sony Bravia: Play-doh

Chevron Cars

American Express: Modelling Clay by OgilvyOne London

Xbox 360

Music Videos

Frank Zappa – Baby Snakes (1979)

John Fogerty – Vanz Kant Danz (1987)

Grizzly Bear – Ready, Able (2009)

Paolo Nutini – Pencil Full Of Lead (2009)

Computer / Console Games

Claymates (1993)

Claymates in Plasticine Art Showcase: Shape Your Imagination

ClayFighter (1993)

Clayfighter in Plasticine Art Showcase: Shape Your Imagination

Primal Rage (1994)

Primalrage in Plasticine Art Showcase: Shape Your Imagination

The Neverhood (1996)

SkullMonkeys (1998)

Skullmonkeys in Plasticine Art Showcase: Shape Your Imagination

Platypus (2002)

Platypus in Plasticine Art Showcase: Shape Your Imagination

Gumby vs. the Astrobots (2005)

Gumby in Plasticine Art Showcase: Shape Your Imagination

Cletus Clay (2006)

Wallace & Gromit’s Grand Adventures (2008)

Shaun The Sheep

Plasticine + Web Design

Microsoft: {You shape} it

Webdesign01 in Plasticine Art Showcase: Shape Your Imagination

lauren.brandcubator

Webdesign02 in Plasticine Art Showcase: Shape Your Imagination

malum

Webdesign03 in Plasticine Art Showcase: Shape Your Imagination

Plastilina Creativa

Webdesign04 in Plasticine Art Showcase: Shape Your Imagination

Zaramella

Webdesign05 in Plasticine Art Showcase: Shape Your Imagination

Plastilin Event

Webdesign06 in Plasticine Art Showcase: Shape Your Imagination

Plasticine + Typography

Typoplasticine01 in Plasticine Art Showcase: Shape Your Imagination

Typoplasticine02 in Plasticine Art Showcase: Shape Your Imagination

Further Resources

Installation Design

James May’s “Plasticine Paradise” garden at RHS Chelsea Flower Show 2009 on May 19-23, 2009 in London, England.

Garden01 in Plasticine Art Showcase: Shape Your Imagination

Garden02 in Plasticine Art Showcase: Shape Your Imagination

Garden03 in Plasticine Art Showcase: Shape Your Imagination

Plasticine Art Tutorials

What do you think?

What is your opinion on plasticine art? In case any exceptional plasticine works haven’’t been covered, please feel free to use the comments area to share your thoughts and suggest other beautiful works. We are looking forward to your feedback and your thoughts!


© Aygul Zagidullina for Smashing Magazine, 2010. | Permalink | 19 comments | Add to del.icio.us | Digg this | Stumble on StumbleUpon! | Tweet it! | Submit to Reddit | Forum Smashing Magazine
Post tags:

Smashing

45 Fresh Useful JavaScript and jQuery Techniques and Tools

2010年3月12日
回應關閉
Smashing-magazine-advertisement in 45 Fresh Useful JavaScript and jQuery Techniques and Tools
 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools  in 45 Fresh Useful JavaScript and jQuery Techniques and Tools  in 45 Fresh Useful JavaScript and jQuery Techniques and Tools

Yes, this is another round-up of fresh and useful Javascript techniques, tools and resources. But don’t close the tab yet, as you might find this one very useful. In this selection we present calendars, forms, buttons, navigation, debugging, optimization and compatibility tables as well as handy resources and tools. We also cover various jQuery-plugins that will help you extend the functionality of your website and improve user experience with ready components or coding solutions.

The last section also covers a number of useful educational resources such as a compilation of useful JavaScript coding practices, a detailed comparison of JavaScript frameworks and general JavaScript programming conventions. We are looking forward to your feedback.

You may be interested in the following related posts:

[By the way: The network tab (on the top of the page) is updated several times a day. It features manually selected articles from the best web design blogs!]

Calendars and Timelines

jDigiClock – Digital Clock (HTC Hero inspired)
jDigiClock is a jQuery plugin inspired from HTC Hero Clock Widget.

Javascript-techniques-82 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools

jQuery Sliding Clock v1.1
jQuery transpearant Slider clock with CSS sprites.

Javascript-techniques-67 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools

Date / Time Picker
Note that this control is not designed to work in IE6; although it will function correctly in most cases, the positioning of the calendar may be way off depending on how your page is styled.

Javascript-techniques-05 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools

JavaScript Debugging and Validation Tools

Venkman JavaScript Debugger project page
Venkman is the code name for Mozilla’s JavaScript Debugger. Venkman aims to provide a powerful JavaScript debugging environment for Gecko-based browsers namely Firefox 3.x, the Netscape 7.x series of browsers, Netscape 9.x series, Mozilla Seamonkey 1.x and Mozilla Seamonkey 2.x. It does not include Gecko-based browsers such as K-Meleon 1.x, Galeon 2.x and Netscape 8.x. The debugger is available as an add-on package in XPI format. Venkman JavaScript Debugger has been provided as part of the Mozilla install distribution since October 3rd 2001.

Javascript-techniques-14 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools

CompanionJS
Companion.JS (pronounced Companion dot JS or CJS) is a Javascript debugger for IE.

Javascript-techniques-32 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools

How to Test your JavaScript Code with QUnit
QUnit is a powerful JavaScript unit testing framework that helps you to debug code. It’s written by members of the jQuery team, and is the official test suite for jQuery. But QUnit is general enough to test any regular JavaScript code, and it’s even able to test server-side JavaScript via some JavaScript engine like Rhino or V8.

Javascript-techniques-44 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools

JS Bin – Collaborative JavaScript Debugging
JS Bin is an open source collaborative JavaScript debugging tool.

Javascript-techniques-12 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools

Forms, Buttons & Navigation

Making a Google Wave History Slider
Here is shown how to create a Google Wave-like history slider. Using it will enable visitors to go back and forth in time to view the changes that take place on a comment thread.

Javascript-techniques-73 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools

Fancy Radio Buttons With jQuery
Creation of 2 mandatory option sets that a user could choose, while hiding off the radio button inputs and using an anchor links to make it a bit more usable.

Javascript-techniques-62 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools

Creative Button Animations with Sprites and JQuery
Fading hover effect for which the transition is smoothed with JavaScript, using jQuery library.

Javascript-techniques-83 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools

Password (un)Masking
JavaScript jQuery that toggles the masking and unmasking of the password field.

Javascript-techniques-68 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools

jQuery MagicLine Navigation
These “sliding” style navigation bars have been around a while, and turns out it’s really pretty darn easy. Here are put two examples together.

Javascript-techniques-49 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools

Fixed Fade Out Menu: A CSS and jQuery Tutorial
The aim is to have a fixed navigation that follows the user when he scrolls, and only subtly showing itself by fading out and becoming almost transparent. When the user hovers over it, the menu then becomes opaque again. Inside of the navigation we will have some links, a search input and a top and bottom button that let the user navigate to the top or the bottom of the page.

Javascript-techniques-52 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools

jQuery plugin: Simplest Twitter-like dynamic character count for textareas and input fields
The best way to explain what this plugin does is to mention Twitter. Twitter posts are limited to 140 characters. While typing the Twitter post there is this always present information about how many characters the users have before reaching the limit. The information is not only provided merely by displaying a number, there are different colors applied to certain stages to notify the user about the status.

Sliding Labels v2
Form label keeping the label inline, but sliding it off to the left rather than going away on click.

Javascript-techniques-87 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools

Ketchup Plugin
Ketchup is a slim jQuery Plugin that validates your forms. It aims to be very flexible and extendable for its appearance and functionality.

Javascript-techniques-84 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools

Layout tools

jQuery {css}designerGrid Plugin
{css} designerGrid is A jQuery Plugin developed for website interface developers who use the grid system of layout. {css} designerGrid is intended to assist these developers with CSS prototyping.

Javascript-techniques-80 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools

css-template-layout
JavaScript (jQuery) implementation of the CSS Template Layout Module

Javascript-techniques-33 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools

How to create a fluid grid with jQuery
Grid-based layout is probably the more preferred way to style up a webpage to give it more magazine-like look and feel. This tutorial is about how to use CSS and Javascript to create a fluid grid-based layout (See demo here). The algorithm/procedure used in this tutorial is very simple and straightforward. There are more advanced algorithms out there which can handle multiple scenarios. But the purpose is to understand the basic logic on how to create such layout. So here it goes…

Javascript-techniques-51 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools

closure-templates
Closure Templates are a client- and server-side templating system that helps you dynamically build reusable HTML and UI elements. They are easy to learn and customizable to fit your application’s needs. Closure Templates support JavaScript and Java and use a data model and expression syntax that works for either language. You can also use the built-in message support to easily localize your applications.

Javascript-techniques-46 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools

Useful jQuery Plugins

TipTip jQuery Plugin
TipTip detects the edges of the browser window and will make sure the tooltip stays within the current window size. As a result the tooltip will adjust itself to be displayed above, below, to the left or to the right of the element with TipTip applied to it, depending on what is necessary to stay within the browser window. TipTip is a very lightweight and intelligent custom tooltip jQuery plugin. It uses ZERO images and is completely customizable via CSS. It’s also only 3.5kb minified!

Javascript-techniques-65 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools

jQuery Roundabout
Roundabout is a jQuery plugin that converts a structure of static HTML elements into a highly customizable turntable-like interactive area. (And now, not just turntables, but many shapes!)

Javascript-techniques-69 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools

jParse – jQuery XML Parse Plugin
jParse is a jQuery plugin that allows you to parse XML that was fetched with the jQuery .ajax method (making it fully customizable).

Javascript-techniques-72 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools

jQuery Quicksand plugin
Reorder and filter items with a nice shuffling animation.

Javascript-techniques-48 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools

typeQuery, change website typography with jquery
typeQuery gives the flexibility to change the font-family for everything you define with class, id, or tag, this example is referring to the selected item on a select object with id=”tag” and the font-family value at select object with id=”family”: $($("#tag").val()).css("font-family", $("#family").val());

Javascript-techniques-70 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools

Flip! A jQuery plugin v0.9.9
Flip is a jQuery plugin that will flip easily your elements in four directions.

Javascript-techniques-55 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools

Data Encryption With JavaScript: jCryption
jCryption is a jQuery plugin for encrypting POST/GET data submitted by forms. It uses public-key algorithm of RSA for the encryption & has a PHP file for handling the decryption of data.

Javascript-techniques-24 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools

Minimalist jQuery: 11 useful plugins under 4K
jQuery makes our lives easier. So much so that it’s tempting to use it all the time, inadvertently slowing our page load times (cue YSlow and Hammerhead). Combining, compressing, and delivering scripts at the end of your page helps in the HTTP request department. On the file size front, below are jQuery plugins that give solid bang for your performance buck.

Javascript-techniques-79 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools

Undo/Redo in jQuery
An easy-to-use plugin for adding undo/redo capabilities to a jQuery application. It is based loosely on the Objective-C/Cocoa way of doing things.

Javascript-techniques-81 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools

editease
editEase – jQuery CMS | no fuss, no database, no worries

Javascript-techniques-78 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools

jsHub
jsHub is a single piece of JavaScript (a “tag”) that can handle reading different sorts of page information and then send them to many different vendors’ products. One piece of code to send to Google Analytics, Omniture SiteCatalyst, WebTrends and Mixpanel. Instead of one piece of JavaScript per vendor, jsHub has a single piece of code (the “hub”) and plugins that know how to translate into the required wire protocol for each vendor. Vendors only maintain the plugin for their product.

Javascript-techniques-22 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools

Educational JavaScript Resources and Tutorials

Caffeinated Simpleton
JavaScript is an amazing little language, but it’s got some quirks that turn a lot of people off. One of those quirks is this, and how it’s not necessarily what you expect it to be. this isn’t that complicated, but there are very few explanations of how it works on the internet. This article is an attempt to explain how this works and how to use it properly.

Javascript-techniques-07 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools

What You Need To Know About JavaScript Scope
This article discusses how JavaScript handles scope and how various JavaScript libraries provide methods for dealing with it and how they smooth out a few bumps. We’ll also look at how you can get back to basics and do some interesting scope wrangling without a library, a useful approach if you’re writing code that needs to stand alone.

Javascript-techniques-25 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools

Learning Advanced JavaScript
A very nice tutorial to learn JavaScript, containing code and discussion from the upcoming book Secrets of the JavaScript Ninja by John Resig.

Javascript-techniques-30 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools

Highlight search terms automagically with JavaScript and mark
Script surrounding the search term(s) with the mark element rather than a span, although the class searchword is retained in case you want to style these marks differently from others. In the CSS, the rule article mark is just added to turn it a gentle shade of pink.

10 Really Helpful Traversing Functions in jQuery
With jQuery, selecting HTML elements is laughably easy. But at times, we may wish to further refine the selection, which can be a hassle when the HTML structure is complicated. In this tutorial, we’ll explore ten ways that we can refine and extend a set of wrapped elements that we wish to operate upon.

Javascript-techniques-74 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools

Using keyboard shortcuts in Javascript
If you want to enhance your web app, Javascript keyboards shortcuts is definitely something to consider. In this article, you’ll learn to use JS keyboard shortcuts, with and without the JQuery framework.

Javascript-techniques-29 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools

Code Conventions for the JavaScript Programming Language
This is a set of coding conventions and rules for use in JavaScript programming.

Javascript-techniques-31 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools

jQuery – Select element cheat sheet
This cheat sheet helps you to find the index of a selected option, set the selected option by value, set the selected option by text, insert a new option before or after another and get the text or value of the selected option.

Javascript-techniques-76 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools

Compare JavaScript frameworks
Modern Web sites and Web applications tend to rely quite heavily on client-side JavaScript to provide rich interactivity, particularly through the advent of asynchronous HTTP requests that do not require page refreshes to return data or responses from a server-side script or database system. In this article, you will discover how JavaScript frameworks make it easier and faster to create highly interactive and responsive Web sites and Web applications.

Javascript-techniques-77 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools

Park your Horse, Code Cowboy: Professional JavaScript Workflows, Part 1
In this series, we’ll talk about tools & techniques you can use to cover those No’s, and cut a lot of strife & embarrassment from your JavaScript experience.

Javascript-techniques-47 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools

JavaScript Reference examples (example source code)
JavaScript Reference examples, organized by Objects, Properties, Methods & Collections. Some Event Handlers Reference are also available.

Javascript-techniques-20 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools

JavaScript best practices
A compilation of best practices and good advice I’ve amassed over the years, much of it learnt the hard way (experimentation and suchlike). Take the advice below to heart and keep it in a part of your brain that has a quick access route so you can apply it without thinking about it. I am sure you will find things to disagree with, and that is a good thing – you should question what you read, and strive to find better solutions. However, I have found that following these principles has made me a more effective developer and allowed other developers to build upon my work more easily.

Javascript-techniques-15 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools

wtfjs
JavaScript is a language we love despite it giving us so much to hate. This is a collection of those very special irregularities, inconstancies and just plain painfully unintuitive moments for the language of the web.

Javascript-techniques-41 in 45 Fresh Useful JavaScript and jQuery Techniques and Tools

Related Posts

You may be interested in the following related posts:

Poll

What programming language should we cover in next round-up?surveys


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

Smashing

Forms On Mobile Devices: Modern Solutions

2010年3月11日
回應關閉
Smashing-magazine-advertisement in Forms On Mobile Devices: Modern Solutions
 in Forms On Mobile Devices: Modern Solutions  in Forms On Mobile Devices: Modern Solutions  in Forms On Mobile Devices: Modern Solutions

Mobile forms tend to have significantly more constraints than their desktop cousins: screens are smaller; connections are slower; text entry is trickier; the list goes on. So, limiting the number of forms in your mobile applications and websites is generally a good idea. When you do want input from users on mobile devices, radio buttons, checkboxes, select menus and lists tend to work much better than open text fields.

But constraints breed innovation, and mobile forms are no different. The limitations of mobile devices have forced developers and designers to find new ways to allow users to input data faster and more easily. Thanks to the modern solutions covered in this article, the mobile space may not be a place to avoid forms much longer. Instead, it may become the place to encourage them.

[Offtopic: by the way, have you already visited Smashing Magazine's Facebook fan page? Join the community for a stream of useful resources, updates and giveaways!]

Field Zoom

In many mobile Web browsers, when a user selects a form’s input field, the “field zoom” feature expands it to fill the screen’s viewable area. This makes an otherwise tiny field large enough for people to actually see the data they are entering. Given that many form errors are caused by people not seeing their inputs well enough to correct misspellings, the usability of this feature is clear.

The Safari browser on Apple’s iPhone makes use of field zoom together with a “form assistant.” The form assistant displays “Previous,” “Next,” “AutoFill” and “Done” buttons below the magnified input field, giving people an easy way to move through and complete a form. No need to worry if an input field is off screen: the user just hits “Next” and won’t miss it!

Mobileinputs1 in Forms On Mobile Devices: Modern Solutions

However, not everyone will know about the form assistant or know how to hide the keyboard. So, make sure the controls on the Web page still allow them to complete the form. Excessive spacing around the “Submit” button can tuck it behind the keyboard.

Field zoom is another great reason to top-align input field labels in forms. As you can see on Google’s registration form (screenshot below), left-aligned labels disappear when input fields are expanded to fill the screen. With no visible label, the user can easily forget what question they have to answer. Long input fields also suffer a bit with field zoom.

Mobileinputs2 in Forms On Mobile Devices: Modern Solutions

Mobile browsers that don’t have field zoom also run into issues with left- and right-aligned input field labels. Anyone using such a form on Google’s Android OS (below) faces the problem of disappearing labels. The screen simply does not have enough room for both the input field and its corresponding label. Top-aligned labels avoid this issue.

Mobileinputs3 in Forms On Mobile Devices: Modern Solutions

Input Formats

Some mobile Web browsers recognize specific input types (part of the developing HTML5 standard) and adjust their input modes accordingly. For example, specifying an input of the type url brings up a virtual alphanumeric keyboard with “.”, “/”, and “.com” keys. Specifying an input of the type email brings up a virtual alphanumeric keyboard with “.” and “@” keys. Specifying an input of the type number brings up a virtual numeric keyboard.

These input-specific keyboards make entering the particular type of data required by each input field much easier. Even browsers without virtual keyboards benefit from the use of number, because users would not have to switch to number mode to enter numeric data.

Mobileinputs4 in Forms On Mobile Devices: Modern Solutions

Password-Masking

Most password input fields in forms instantly obscure all characters that a user enters to keep sensitive information hidden from prying eyes. Automatic masking of passwords may provide the appearance of security, but it can also create usability issues when people are left staring at a row of bullets that they hope (but can’t verify) is their password.

Many mobile devices address this issue by displaying the most recent character the user has entered, and then obscuring that character as a bullet only after a brief delay. This technique has made its way onto the desktop, as illustrated in this password-masking solution from ZURB.

Pop-Up Menu Controls

Drop-down select menus are one of the hardest input types to use. First, you have to click on the menu to open it. Then, you have to maneuver through a potentially long list of small targets. Once you find the value you want, you need position your cursor on the right target and select it. To top it off, many implementations of drop-down menus on the Web require you to keep your cursor on the menu while navigating the list, or else the menu closes!

Even dexterous users often miss them and need to start over. Couple this interactive challenge with the small screens of mobile devices and the need for a different solution for select menus becomes quite obvious.

For drop-down select menus on Web forms, Apple’s iPhone presents users with a pop-up menu control. This control displays the options in the menu in a contained list that can be scrolled at various speeds though drag, nudge and flick gestures. The large touch targets also make it easy to select the right value once you’ve found it.

Mobileinputs5 in Forms On Mobile Devices: Modern Solutions

Similarly, Google’s Android provides a larger touch target for select menu options. When the user taps a drop-down select menu on an Android device, a scrollable list of menu options appears in a dialog window over the Web page.

Mobileinputs6 in Forms On Mobile Devices: Modern Solutions

Compound Menu Controls

Pop-up menu controls can be applied to compound inputs as well. So, instead of requiring three separate input fields for the month, day and year of a requested date, one date field can bring up a set of pop-up menus that allow people to scroll through three lists at once to find the right date. This approach can be applied to other kinds of compound inputs as well, such as height in feet and inches.

Mobileinputs7 in Forms On Mobile Devices: Modern Solutions

Google’s Android has a compound input field solution, though it makes use of visible interface elements to move through a list instead of relying on gesture-based scrolling alone.

Mobileinputs8 in Forms On Mobile Devices: Modern Solutions

Native Input Controls

In addition to having compound menu controls, most mobile operating systems have several other custom input controls available to application developers. Sliders, split buttons, rating widgets and scrubbers are just a few of the components worth considering in place of standard form controls to make inputting easier for users.

Mobileinputs9 in Forms On Mobile Devices: Modern Solutions

Orientation

Because people like to hold mobile devices both horizontally and vertically in their hands, mobile forms should adjust accordingly to take advantage of the changing screen space. The compose email form on Google’s Android does just that.

Mobileinputs10 in Forms On Mobile Devices: Modern Solutions

When held vertically, the screen shows three input fields with several action buttons. In the horizontal position, the email body input takes over the screen, and one action button is shown on the right. This layout maximizes the screen space available for the message content.

Voice Input

Google’s Nexus One phone allows people to use voice input for any text field in an application. Users can swipe the virtual keyboard to switch the phone to audio input mode, or they can use the microphone button. The video below demonstrates both of these options in action. With effective voice input, typing any characters into the mobile device becomes a thing of the past.

What’s Next?

Mobile is growing exceptionally fast, and as more designers and developers focus on the space, we’ll hopefully see even further innovation in mobile forms. After all, anything that makes inputting (both on mobile and desktop devices) faster and easier will do a lot of good for both companies and their customers.

About the Author

Luke Wroblewski is an internationally recognized digital product design leader and the author of two popular Web design books. You can follow Luke on Twitter @lukewdesign or by using RSS.

Smashing Magazine readers can get a special 20% off discount on Luke’s latest book: Web Form Design Filling in the Blanks. Just use discount code MIX to order.

(al)


© Luke Wroblewski for Smashing Magazine, 2010. | Permalink | 13 comments | Add to del.icio.us | Digg this | Stumble on StumbleUpon! | Tweet it! | Submit to Reddit | Forum Smashing Magazine
Post tags:

Smashing

Entering The Wonderful World of Geo Location

2010年3月10日
回應關閉
Smashing-magazine-advertisement in Entering The Wonderful World of Geo Location
 in Entering The Wonderful World of Geo Location  in Entering The Wonderful World of Geo Location  in Entering The Wonderful World of Geo Location

I thought I could not be out-geeked. With a background in radio, and having dabbled in the demo scene on the Commodore 64 and hung out on BBSes and IRC for a long time and all the other things normal kids don’t quite get, I thought I was safe in this area.

Then I went to my first WhereCamp, an unconference dealing with geographical issues and how they relate to the world of Web development. Even my A-Levels in Astronomy did not help me there. I was out-geeked by the people who drive and tweak the things that we now consider normal about geo-location on the Web.

Pulling out your phone, find your location and getting directions to the nearest bar is easy, but a lot of work has gone into making that possible. The good news is that because of that effort, mere geo-mortals like you and me can now create geographically aware products using a few lines of code. So, let’s give the geo-community a big hand.

[By the way, did you know we have a brand new free Smashing Email Newsletter? Subscribe now and get fresh short tips and tricks on Tuesdays!]

Why Geo Matters

First of all, why is it important to consider physical location on this planet (at this moment) when we develop Web products? There are a few answers to this.

The first answer is mobility. The days of people sitting in front of desktop machines at home are over. Sales of mobile devices, laptops and netbooks have overtaken those of bulky stationary computers in the last few years. The power of processors now allows us to use smaller, more mobile hardware to perform the same tasks. So, if people use their hardware on the go, we should bring our systems to them. Which brings us to the second—very important—point: relevance.

Giving the user content that is relevant to the physical space they are in at the moment makes a lot of sense. We are creatures of habit. While we love the reach of the Internet, we also want to be able to find things in our local area easily: people to meet, cafes to frequent, interesting buildings and museums to learn about. The advertising industry—especially of the adult and dating variety—realized this years ago. I am sure you have come across one of the following before:

Adultpersonals in Entering The Wonderful World of Geo Location

I am sure these ads are more successful than the ones that show only user names. That the photos and names are the same for every location doesn’t seem to be a problem (but yes, I noticed it). So how does it all work?

Getting The User’s Location Via IP

Every computer on a network has a number that identifies it: its IP address. The Internet is nothing but a massive network, and your IP number is assigned to you by the service provider that you have used to connect to that network. Because the numbers that service providers assign change from one geographical location to the next (much like telephone numbers), you can make quite a good estimate of where your visitors are from.

To find out where a certain phone number is from, you use a phone book. To find out where an IP is from, you can use the Maxmind GeoIP database. Maxmind also provides a JavaScript solution that you can use on websites:

<script type="text/javascript" src="http://j.maxmind.com/app/geoip.js"></script>
<script>
  var info = document.getElementById('info');
  var lat = geoip_latitude();
  var lon = geoip_longitude();
  var city = geoip_city();
  var out = '<h3>Information from your IP</h3>'+
            '<ul>'+
            '<li>Latitude: ' + lat + '</li>'+
            '<li>Longitude: ' + lon + '</li>'+
            '<li>City: ' + city + '</li>'+
            '<li>Region: ' + geoip_region() + '</li>'+
            '<li>Region Name: ' + geoip_region_name() + '</li>'+
            '<li>Postal Code: ' + geoip_postal_code() + '</li>'+
            '<li>Country Code: ' + geoip_country_code() + '</li>'+
            '<li>Country Name: ' + geoip_country_name() + '</li>'+
            '</ul>'
  info.innerHTML = out;
</script>

Geolocation in Entering The Wonderful World of Geo Location

This gives you some information on the user (try it out for yourself). The challenge, though, is relevance. Your IP location is the location of the IP that your provider has assigned to you. Depending on your provider, this could be quite a ways off (in my case, I live in London, but my provider used to show me as living in Rochester). Another problem is if you work for a company that uses a VPN. At Yahoo, for example, I have to connect to the VPN to read my company email, and I have to choose a location to connect to:

Vpn in Entering The Wonderful World of Geo Location

So, for a solution like the one highlighted above, I would show up as being in a totally different part of the world (which might be useful for watching Internet TV in the UK while I am in the US). IP geo-location, then, is an approximation, not a dead-on science.

Getting The User’s Location Via The W3C Geo API

Guessing geographical location via IP is possible, but it can also be pretty creepy. Being able to take advantage of your location is useful, but security-conscious users and people who are generally suspicious of the Internet are not happy with the idea of their movements being monitored by a computer. This makes sense: if I can monitor your whereabouts day and night, I would know where and when to rob your house without you being there.

There are a lot of solutions to the challenge of having good-quality geo-location and maintaining privacy. Google Gears has a geo-location service; Plazes helps you store your location; and Yahoo’s Fire Eagle is probably the most polished way to securely maintain your location on the Web.

The problem with all of these services is that they require the user to either install a plug-in or visit a Web service to update their location. This is not fun; browsers should do the work for you.

We now have a W3C recommendation for a geo-location API that allows browsers to request the geographical location of the user. This makes it less creepy, and you get real data back.

Firefox 3.5 and above supports the W3C geo-location API. So does Safari on the iPhone if you run OS 3.0 or above. If you use the API, the browser will ask the user whether they want to share their location with your website.

Geowarning in Entering The Wonderful World of Geo Location

Once the user allows you to get their location, you get much more detailed latitude and longitude values. Using the API is very easy:

// if the browser supports the w3c geo api
if(navigator.geolocation){
  // get the current position
  navigator.geolocation.getCurrentPosition(

  // if this was successful, get the latitude and longitude
  function(position){
    var lat = position.coords.latitude;
    var lon = position.coords.longitude;
  },
  // if there was an error
  function(error){
    alert('ouch');
  });
}

Compare the IP and W3C solutions side by side. As you can see, there can be quite a difference in measuring the visitor’s location. The extent of the difference is shown in the following demo:

Difference in Entering The Wonderful World of Geo Location

Converting Latitude And Longitude Back Into A Name

Having more information is nice, but we have lost the name of the city and all the other nice data that came with the Maxmind database. Because the location has changed, we cannot just grab that old data; we have to find a way to convert latitude and longitude coordinates into a name. This process is called “reverse geo-coding,” and several services on the Web allow you to do it. Probably the most well-known is the geo-names Web service, but it has a few issues. For starters, the results are very US-centric.

One freely available but lesser-known reverse geo-coder that works worldwide comes from a surprising source: Flickr. The flickr.places.findByLatLon service returns a location from a latitude and longitude coordinates. You can try it out in the app explorer, but by far the easiest way to use it is by using the Yahoo Query Language (or YQL). YQL deserves its own article, but let’s just say that, instead of having to authenticate with the Flickr API and read the docs, reverse geo-coding becomes as easy as this:

select * from flickr.places where lat=37.416115 and lon=-122.0245671

Using the YQL Web service, you can get the result back as XML or JSON. So, to use the service in JavaScript, all you need is the following:

<script type="text/javascript" charset="utf-8">
 function getPlaceFromFlickr(lat,lon,callback){
   // the YQL statement
   var yql = 'select * from flickr.places where lat='+lat+' and lon='+lon;

   // assembling the YQL webservice API
   var url = 'http://query.yahooapis.com/v1/public/yql?q='+
              encodeURIComponent(yql)+'&format=json&diagnostics='+
              'false&callback='+callback;

   // create a new script node and add it to the document
   var s = document.createElement('script');
   s.setAttribute('src',url);
   document.getElementsByTagName('head')[0].appendChild(s);
 };

 // callback in case there is a place found
 function output(o){
   if(typeof(o.query.results.places.place) != 'undefined'){
     alert(o.query.results.places.place.name);
   }
 }

 // call the function with my current lat/lon
 getPlaceFromFlickr(37.416115,-122.02456,'output');
</script>

Combine that with the other services, and we get a more detailed result and can put a name to the coordinates:

Reversegeocode in Entering The Wonderful World of Geo Location

The Trouble With Latitude And Longitude

While latitude and longitude coordinates are a good way to describe a location on Earth, it is also ambiguous. The coordinates could represent either the centre of a city or a point of interest (such as a museum or a pub) in that spot.

WOEID to the Rescue

To work around the problem, Yahoo and Flickr (and soon will Twitter) support another way to pinpoint a location. The Where On Earth Identifier (or WOEID) is a more granular way to describe locations on Earth. Because Flickr supports it, we can easily get get photos from a particular area:

select * from flickr.photos.search where woe_id in (
  select place.woeid from flickr.places where lat=37.416115 and lon=-122.02456
)

Using this and a few lines of JavaScript, showing geo-located photos is pretty easy:

Geolocated-photos in Entering The Wonderful World of Geo Location

This has also been wrapped in a simple-to-use YQL solution. The following code will display 10 photos of Paris:

<script>
  function photos(o){
    var container = document.getElementById('photos');
    container.innerHTML = o.results;
  }
</script>
<script src="http://query.yahooapis.com/v1/public/yql?q=
select%20*%20from%20flickr.photolist%20where%20location%3D%22paris%2Cfr
%22%20and%20text%3D%22%22%20and%20amount%3D10&format=xml&
env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys&callback=photos">

You can also play with this in the YQL console.

Why Not Search For The Location’s Name?

The main question about implementations such as the one above is why couldn’t we just do a search on Flickr for the city, instead of doing all the complex geo-lookups? The reason is false positives. Take Paris, for example: if you want to show photos of Paris on a travel website, you don’t want Paris Hilton to show up in there. Same goes for Jack London. You may also want to show photos of London, England, not London, Ontario. Geographic data is full of these kinds of gotchas, and the term for finding the right one is “disambiguation.” See the Wikipedia article on “Victoria” to see just how many geographical contexts this term can have.

Turning Text Into Geo-Data

Finding a visitor’s geographic location is all well and good, but it doesn’t mean much if you can’t link it to information for that area. This is where it gets tricky. For Flickr (and soon Twitter), this is easy, because both services are able to attach geographical locations to the content you put in them. This is not so for most of the information on the Web, though, and this is when we resort to clever algorithms, machine-learning, pattern-matching and all the other think-tank stuff that computers and the scientists in front of them do.

Say you want to identify the geographical locations that a particular text or Web page talks about. Yahoo offers a service for that called Placemaker, and it is pretty easy to use. You need to get a developer key and send this as appid, send a text as documentContent, define the type of the text as documentType and define the type of data you want back as outputType. All of this needs to be sent as a POST to http://wherein.yahooapis.com/v1/document:

<form action="http://wherein.yahooapis.com/v1/document" method="post">
  <textarea id="text" name="documentContent">Hi there, I am Chris.
    I live in London, I am currently in Sunnyvale and will soon be in
    Atlanta and Las Vegas.</textarea>
  <div><input type="submit" name="sub" value="get locations"></div>
  <input type="hidden" name="appid" value="{YOUR_APP_ID}">
  <input type="hidden" name="documentType" value="text/plain">
  <input type="hidden" name="outputType" value="xml">
</form>

You can try this out yourself. Using PHP to call the API instead of a simple form, you can even format the output nicely. See it in action here:

Placemaker-results in Entering The Wonderful World of Geo Location

While developers who have played around with Web services won’t find Placemaker hard to use, the service can be daunting for the average developer. That is why I built GeoMaker some time ago. GeoMaker allows you to enter a text or URL, select the locations you want to include in the final outcome, and get the locations either as a map to copy and paste or as micro-formats.

Geomaker in Entering The Wonderful World of Geo Location

However, because there is also a YQL solution for using PlaceMaker in JavaScript, we can do the same with a few lines of client-side code to enhance an HTML document. Check out the following example:

Textandmap in Entering The Wonderful World of Geo Location

To use this, you need three things: a text with geographical locations in them in an element with an ID, a Google Maps API key (which you can get here) and the following few lines of code:

<script src="http://github.com/codepo8/geotoys/raw/master/addmap.js"></script>
<script>
addmap.config.mapkey = 'COPY YOUR API KEY HERE';
addmap.analyse('content');
</script>

This makes it incredibly easy to give your visitors a sense of what part of the world a text is related to.

Adding Maps To Your Documents

Online maps have been around for a while now (and Google Maps was instrumental in the rise of AJAX), and many providers out there allow you to add maps to your documents. Google is probably the leader, but Yahoo also has maps, as does Microsoft and many more. There is even a fully open map service called Open Street Maps, which has been instrumental in the recent rescue efforts in Haiti.

If you want interactive maps, probably the easiest thing to use is Mapstraction, which is a JavaScript library that does away with the discrepancies between the various map providers and gives you a single interface for all of them. 24ways published a good introduction to it three years ago.

Probably the simplest way to show a map that supports markers and paths in your document without having to dive into JavaScript is the Google static maps API. It creates maps as images, and all you need to do is provide the map information in the src URI of the image. For example, in the script example above, this would be:

http://maps.google.com/maps/api/staticmap?
sensor=false
&size=200x200
&maptype=roadmap
&key=YOUR_MAP_KEY
&markers=color:blue|label:1|37.4447,-122.161
&markers=color:blue|label:2|37.3385,-121.886
&markers=color:blue|label:3|37.3716,-122.038
&markers=color:blue|label:4|37.7792,-122.42

You can define the size and type of the map. If all you provide is the location of markers, the API will automatically find the right zoom level and area to ensure that all markers are visible. Google’s website even offers a detailed tool to create static maps, including markers and paths.

Geo Is A Space To Watch

I hope this has given you some insight into all of the things you can do to bring the earth to your product and to put your product on the map. Geo-location and geo-aware services are already huge, and they’ll be even more important this year. There will be more services—some mobile providers are ready to roll out new hardware and software—and now you can be a part of it.

What the geo-world needs now is a designer’s eye, and this is where you can help the geo-geeks create apps that matter, that look great and that make a difference in our visitors’ lives. For inspiration, check out Mapumental, which allows you to pinpoint a place to live in London, or see how Google Earth and some 3-D Objects allow you to race a milk truck on real map data.

(al)


© Christian Heilmann for Smashing Magazine, 2010. | Permalink | 45 comments | Add to del.icio.us | Digg this | Stumble on StumbleUpon! | Tweet it! | Submit to Reddit | Forum Smashing Magazine
Post tags:

Smashing