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.
[Offtopic: By the way, did you know that Smashing Magazine has a mobile version? Try it out if you have an iPhone, Blackberry or another capable device.]
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.
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!
We’ll be talking about the usual web geek stuff, likely with a bit of emphasis on HTML 5 and other up-and-coming web things. Check out Geek Meet Göteborg – the sequel! on the NetRelations blog for the details and to sign up.
Once upon a time, when the Internet was dialed-up and 36,600 KBPS was like lightning, I was living in a small town working for a computer retailer and Internet service provider. My boss at the time was… well, let’s just say that customer service was not his priority. Not only would he berate and verbally assault almost every customer who happened to cross his path when he was frustrated by a computer repair, but his relentless tirades caused customers to leave either in tears or on the verge of them.
I wondered during my four-year stint, attempting to clean up the customer service messes he left in his wake, how he managed to stay in business in the years before and since my employment. And the answer was simple: he was a big fish in a tiny pond.
In a town of 18,000 residents, there were only three computer retailers that had qualified technicians who could handle in-house repairs. He was one of them. But as web freelancers, we are swimming in an ocean that is teeming with qualified fish, all waiting for a hook from clients. So, we have to pay special attention to the customer-relations part of our business if we want to build and maintain our client list. The problem is that many of us have spent most of our time throughout the years working for someone else, possibly far from the reach of our employer’s customers. So, our customer service skills may be rusty, or even non-existent.
Meager people skills and miniscule patience make some of us a business hazard when interacting with clients. Some people may not believe that this could be explosive to a freelancer’s reputation, but according to a 2009 online survey by Tealeaf, there is cause for concern:
The survey results also show that online adults are increasingly turning to social media to share their online experiences with others, while simultaneously becoming less likely to alert a company directly—a shift in consumer behavior which extends the business impact of customer experience issues beyond any single transaction.
Given this trend among consumers, we can assume that the same would hold true for our freelance clients, and that the impact of the customer’s experience will be felt long after the experience concludes. This makes it evermore critical for us to maintain as much control as possible over what that impact is, negative or positive.
This is important for freelancers adrift in the design and development ocean, where even the biggest among us still look small compared to the agency sharks that we compete with for work. If a client leaves with a bad taste in their mouth and decides to portray our business in an unflattering light, we have fewer resources than those sharks to seek out and address these word-of-mouth reviews in social media. Bigger businesses have more time, tools and employees to scour social media outlets for mentions of their companies and to rectify complaints.
This was demonstrated to me recently when we awoke to find our Internet access down. After the standard panic and resetting of system, router and modem, we determined that the problem did not stem from our end but rather from our provider’s. Suddenly, we realized that, without a phone book in the building or access to the Internet or to our invoices (which we receive by email, doing what we can to be as paperless as possible), we did not have the phone number of our provider anywhere in the house. After a frustrating hour, we were finally back online and a bit steamed from our time off from being connected. Did we then contact the provider to vent or inquire about the problem? No. We did what Tealeaf’s survey predicted we’d do: we turned to Twitter.
Having mentioned the company by name on Twitter, we were easy to find. Almost immediately, our provider read what we had to say and responded to us on this social media outlet, making sure we were not experiencing any more problems with connectivity. Overall, it made for an interesting lesson in customer service, and it showed where we as small fish might be missing opportunities to nip bad word of mouth in the bud before it spreads into viral gospel. As freelancers who wear every hat in the business ourselves, our time is limited, so we cannot stay on top of every mention of our business out there.
“The number of consumers who contact a company directly in response to online transaction issues declined:
26% of online adults who experience problems conducting online transactions then posted complaints on a company’s Website in 2009, versus 32% in 2008.
38% of all online adults contacted a company’s call center after encountering problems using the Website in 2009, versus 47% in 2008.”
(Excerpt from Tealeaf survey)
The survey also reports that more than half of adults who spend time online have been influenced by social media in their consumer choices, which reinforces the importance of customer service to the health and growth of our freelancing businesses. A first impression no longer carries as much weight as it once did; each interaction with our clients bears as much on our business as another. We may think that as long as our business dealings end on a high note, that the rocky road that led there will not play a factor in the success of our freelancing career. A 2007 study released by Harris Interactive says different, suggesting that each dealing with our clients needs to be handled with care:
The study reported that 80% of 2,049 US adults surveyed decided never to go back to a business/organization after a bad customer service experience. The study clearly indicates that an organization’s customer service level is a defining factor that will make or break a company… Consumers have increasingly higher expectations of businesses and are willing to walk away quickly from a majority of businesses if those expectations are not met.
The data shows that each and every interaction we have with a client is an opportunity to improve our business standing. because consumers are quicker to go elsewhere after a negative interaction. Even if our strengths do not lie in customer service, we need to ensure that each experience, whenever it occurs during the course of a project, is an agreeable one. Again, as freelancers, we have to deal with our clients at every stage of the project, and so we have to address not only the requirements of the project, but also any customer service issues that may arise in the process.
What We Can Do?
We can do several things to improve our chances of getting positive results from all of our customer interactions. Of course, no one is guaranteed to satisfy all of their clients’ needs and expectations 100% of the time, but we can take steps in the right direction. It starts with taking as much responsibility as we can for the impressions we leave with our customers.
Be Friendly
This one almost goes without saying, but it should be considered from another perspective. Given that the majority of our interactions with our clients might be online, we need to remember that tone and intent does not always translate well to this medium. So, read through your communications to catch anything that may come off negatively. We always want to be aware of the impression we’re making in these seemingly minor moments. As shown before, the weight of an experience is felt long after the moment has passed.
Be Patient
Remember that your client probably does not share your level of expertise in your field. Their questions may not be clear and their feedback not as constructive as it needs to be. Put yourself in their position and be as patient as you would want someone else to be with you. Even if patience is not your strong suit, your customers want to feel that you are listening to and considering their opinions. If you switch off because they cannot communicate with you in your mode of parlance or you dismiss their feedback because they don’t know as much as you do, you will be hurting your business more than your client.
Be Accessible
Another thing that frustrates clients is lacking access to you when they need it most. As freelancers, we pride ourselves on our flexibility and being able to set our own hours. But we have to respect the hours during which our clients work, too, and make ourselves available at those times, so that they are able to share ideas and discuss progress in a back-and-forth conversation. One-sided conversations can easily be misinterpreted without further explanation and just delay the client from achieving their goal.
Be Informative
One of the things Aaron Irizarry said in a recent videocast stuck out. He advised us to mind the skill gap between us and clients and to bridge these informational gaps whenever possible. Help them understand our processes and the reasons for the decisions we make. This gives them more faith in following our advice and increases the chances that they will return as clients.
Keep Track and Get Back
When I mentioned that larger firms have more resources to invest in the customer service outlets that are available to all of us, I didn’t mean that we shouldn’t use those outlets at all. Take advantage of them to track what is said about your skills, or lack thereof, and respond accordingly. You may not be able to respond immediately, but do it when you can. If you find a criticism, consider the points they raise and address them thoughtfully, not dismissively. If they praise you, be gracious and return the gesture in kind.
Be Proactive With Mistakes
As I said in Critical Mistakes Freelancers Make, we are all human, and mistakes happen. Don’t shy away from them or, worse, neglect to acknowledge them at all. Own up to them. This is a time to shine by proactively addressing mistakes before they become an issue that the client feels compelled to bring to your (and other people’s) attention. You’ll show your commitment to the client and project, and it will speak volumes about your character. By owning up to our mistakes, we show pride in our work, and more often than not the client will understand and forgive us.
Go Above and Beyond
Doing all of the above usually puts you in the “above and beyond” category, but you could always push your freelancing business over the top by over-delivering. By giving your client more than they have asked for, you further demonstrate your commitment to making them happy and your pride in your performance. This can be as simple as addressing customer service concerns positively and proactively. It also encourages your clients to come back to you time and again.
Further Resources
Thanks for taking the time to read through the post! Below are a few links to further the discussion of the importance of customer service to your freelancing career. Check them out for a more thorough look at what this topic means for freelancers.
How to Handle a Missed Deadline This wonderful post on Freelance Switch offers some really useful advice to freelancers on how to deal with missing a deadline.
6 Ways to Kickstart Your Customer Service Here is a fantastic post from Webdesigner Depot that looks at a few ways that small businesses can make customer service work for them.
Maybe I’m old-fashioned, but I don’t get why some sites display reader comments in reverse chronological order. It seems especially popular on newspaper sites, which also for some reason tend to use paging for comments. I think the combination of reverse order and paging makes trying to follow discussions very frustrating.
Still, since more and more sites seem to display comments this way I guess there are some people who actually prefer comments displayed backwards, so it is probably here to stay.
Today we’re releasing another high quality vector pack for our WDL Premium Members from the talented people at Go Media.
These scrolls are very organic, and have that “old-world” style that you have been looking for. A lot of these were created by hand and leave room for you to type a message on the scroll. Wrap these around your centerpiece or illustration to finalize that design that has taken so long to complete. There are endless uses to vector scrolls and old fashioned banner shapes, so use your imagination!
Be sure to check out Go Media’s Arsenal for more awesome vectors, brushes, and more.
There are 18 vectors in all. Here is a preview of some of them.
Download Scrolls Vector Pack
Premium Member
You must be a WDL Premium member to download this file.
Go Media is a well known design studio with a lot of passion for what they do. This passion definitely comes through in their Arsenal, which is a collection of high quality, hand crafted design elements that they’ve made available through an online store.
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, did you know that Smashing Magazine has one of the most influential and popular Twitter accounts? Join our discussions and get updates about useful tools and resources — follow us on Twitter!]
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!
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Since its emergence, the digital photography market has gradually supplanted the traditional one. APN and digital SLR cameras entered our lives, and some people announced the death of silver-based images. This is not all lie, and yet old-fashioned images have been particularly popular in the past few years. All we do seem to do now is try to recreate the atmosphere of those bygone times anyway. Blurry, distorted and over-saturated images are not just a fad anymore. People have became familiar with the style and even consider it a full-fledged photographic genre.
And this is where toy cameras play a role. These devices, made entirely of plastic, including often the lens itself, are not only toys. Sure, they cost next to nothing and have no controls to speak of, but this is what people like about them: they create unpredictable pictures, with equally unpredictable vintage effects. Once you understand this, the rest is a beautiful game. Take them anywhere, anytime, and photograph whatever you like.
How does this apply to modern design? Now that vintage websites are so trendy, why not look to this type of image for inspiration? You probably don’t want to go through the trouble of taking up silver-based photography because that would mean buying, developing and scanning film, maybe even making prints. That takes time and is expensive.
What you can do, though, is use the magic of Photoshop to make your ultra-sharp, high-definition images look like they were taken with one of these cameras. Below are a list of the most famous toy cameras and some tutorials that can be used to recreate their famous effects. Most of them are part of the Lomography movement, but you might also want to consider some other options in trying to recreate that authentic look. You also may be interested in our previous article “The Disturbing Beauty of Oversaturated Pictures and Lomography.”
[Offtopic: by the way, did you know that Smashing Magazine has one of the most influential and popular Twitter accounts? Join our discussions and get updates about useful tools and resources — follow us on Twitter!]
Famous Toy Cameras
Toy cameras are cheap, low quality and yet functional. As such, the deformations in the photos they produce are pronounced, and not all images are guaranteed to be perfectly exposed. Still, there are just so many of them these days that picking a few is hard. The ones presented here have paved the way for the success of the others. You may know them but not the stories behind them?
Diana
Let’s start where it all began. Picture yourself in Hong Kong in the early ’60s, when a factory starts producing the Diana. This inexpensive plastic-body camera was at the time usually given away as a novelty gift. Occasionally, it would be used by actual photographers who took advantage of the various effects it produced. And many effects there were. Because of the poor quality of materials used, the Diana camera was disposed to light leaks, leading to film damage, an effect typically fixed by sealing the seams with light-proof tape. Handy, huh?
But the plastic body wasn’t the most interesting part: it was the lens, also made out of plastic. Not only did it enhance the already low contrast created by the light infiltration, but it also made for odd color rendering, chromatic aberration and blurry images. As if this weren’t enough, the image circle only marginally covered the diagonal of the film frame, which is why Diana images have heaving vignetting.
As photographers started to deliberately exploit these characteristics, production grew through the ’70s and opened the way for other toy camera manufacturers.
This is where things get a bit tricky, so pay attention. It’s now the beginning of the ’90s, and for a few years the Russian factory Lomo PLC has been producing the Lomo LC-A camera, which basically has all of the characteristics of a toy camera (vignetting in particular). But production was stopped, and the camera was all but forgotten until two Austrian students found one at a flea market in 1991 and decided to exploit its marketing potential. They convinced the director of the Lomo PLC factory to relaunch production and negotiated an exclusive contract for distribution with their brand-new company: Lomography AG.
And here begins the Lomography movement. If the term is familiar to you, you probably know at least two things about it. First, it promotes casual snapshot photography. Second, it is associated with over-saturated and high-contrast images. To confuse things, this second characteristic has nothing to do with the LC-A camera itself or with any other cameras for that matter. It is actually the result of the way the film is processed, which would usually be cross-processing. But Lomography is a movement, not a technique, and it was certainly the first to promote camera imperfections as an aesthetic. The success of the LC-A camera helped spread this aesthetic.
With the success of this movement, Lomography AG became interested in other low-cost cameras, such as the Holga, which had been produced in China for a decade. Even though it was made by a different manufacturer, the Holga was considered the successor of the Diana. Inspired by its predecessor, the Holga was designed as an inexpensive mass-market camera. And like the Diana, it is not of the best quality and has the same flaws.
But the Holga became popular and was even exported to the West over time, mostly for photo-reporting, for which its low profile was appreciated. Its problems were no longer problems, and now it is not surprising to hear of Holga photos winning awards. Because it is entirely manual, one can create effects, such as double exposure and panoramas, by not winding the film.
These three cameras don’t have many differences. They all take multiple shots in a set period of time, thus creating micro-images that look like short animated movies. The Actionsampler and Supersampler have four lenses each, while the Oktomat has eight, fitting eight frames into the standard 35mm.
As the name suggests, the Lomo Fisheye camera has a fish-eye lens. It was the first 35mm compact camera to offer such a wide angle (170°), and unlike the other toy cameras covered here, it gave surprisingly good results for the price. The second edition came with several enhancements, such a viewfinder that covered the same angle as the lens (it was blocked off before).
The effect created, often seen in sport images, can serve many other purposes. But the user should be aware of two major characteristics: strong deformation and light leaks.
Now, let’s put all this into practice. Even if you are familiar with these effects, have ever actually tried to replicate them? There are a lot of different effects, and you can combine them to create unique images.
Fish-eye effect This shows you how to create a fish-eye effect for a picture taken with a regular lens. This one is a video and it addresses two important points: the lens circle border is not supposed to be so sharp when taking a fish-eye photograph, and one often deals with light infiltration.
Fish-eye effect Another fish-eye tutorial. It doesn’t show how to distort the image, so you will have to add this step yourself, but it adds a nice final touch to the image by using a picture of the inside of a fish-eye lens.
Recreating Low-Quality Camera Flaws
Vignetting A very simple tutorial on recreating the vignetting effect.
Soft-Focus Lens Effect What if you’re already happy with the contrast and color saturation of your image and just want to recreate the effect of a soft-focus camera lens or diffusion filter? In this tutorial, you’ll learn a fast and easy way to add a more traditional soft-focus lens effect to images.
Faking Barrel Distortion and Chromatic Aberrations Here is a nice Photoshop plug-in to fake barrel distortion and chromatic aberrations. Adding these effects to your pictures will make them look even more authentic.
Light Leaks Effect, Part 1 and Part 2 Of course, this article wouldn’t be complete without a great tutorial on light leak effects. Here is an awesome one, divided into two parts, each covering a different effect: a white-blur light and a colored bar leak.
Working on Colors and Light Exposure
Getting That X-Pro Lomo Look This tutorial is fairly quick and easy. It shows you how to get that great x-pro Lomo look by tweaking color. You’ll be exploring a new method of vignetting, and you’ll be widening and blurring the image a little.
Cross-Processing Tutorial With so many possible permutations of film stock and processing techniques, there is no single, identifiable look to cross-processed images. The most common combination is C-41 as E-6, in which slide chemistry is used to process color negative film; and mimicking it in Photoshop is a quick job. Image contrast is usually high, with blown-out highlights, while shadows tend towards dense shades of blue. Reds tend to be magenta, lips almost purple and highlights normally have a yellow-green tinge.
Vintage Effect Age your images a give them a vintage effect.
Using Textures and Double Exposure
Through the Viewfinder Did you know that Flickr has a Through the Viewfinder group? The idea is that you shoot through the viewfinder of an old camera using your modern digital or film camera and create an interesting framing effect. Here is a tutorial on how to create this effect.
Paper Texture Effect Here is a quick and easy tutorial for those who want to learn the art of taking a photo and turning it into an old-fashioned vintage picture.
Filmstrip Effect Download a filmstrip template and use it to create negatives of your pictures.
Double Exposure When you take a double-exposed photograph, the results are usually a bit unpredictable. With Photoshop you have much more control over the result.
Another Way to Create Double Exposure While the most common way to create a double exposure is by using a different blending mode on the top layer and adjusting its opacity, this method accurately simulates how a camera takes a double exposure.
Other Ideas
No tutorials are needed to create these effects. They are included here merely to give you more ideas. You’ll still need to work on your pictures to get that vintage look. Then, just put them together and enjoy.
Shoot Series Like the Oktomat and the Actionsampler Draw inspiration from the Oktomat and Actionsampler cameras. You’ll get either four or eight images in the same frame, each of them having been shot after an interval of only a few seconds.
Shoot Series like the Supersampler The Supersampler effect is quite similar to the Actionsampler: four images in the same frame, but spaced differently. And remember that you can arrange layers both horizontally and vertically.
Photo credit: moving clocks run slow, by aleinsomniac
Panorama 1 Panorama images don’t necessarily have to be perfectly arranged. Here is an example of what else can be done.
If cheapness is a defining characteristic of toy cameras, it surely isn’t for Polaroids. The Polaroid camera itself is not expensive, but because Fuji is now the only company that produces the film for it, getting affordable ones has become difficult. But this may change in the next few months thanks to the Impossible Project.
Going back a bit, the world’s first commercial instant camera was the “Land” camera, unveiled in 1947. Since then, Polaroid has become synonymous with instant photography, because most of the cameras have been created by the Polaroid Corporation. Nowadays, the cameras are used by photographers mainly to preview their work before actually shooting. But as toy cameras, they are fun to play with and can make for nice effects.
Polaroid Transfer Effect This Photoshop tutorial shows you how to create a cool old photo transfer edge effect using a piece of stock photography, an alpha channel and the burn and dodge tools.
Showcase of Beautiful Pictures
Considering that Flickr has a group for almost every subject, it is no surprise that there is one for toy cameras. Here is a showcase of the most beautiful images from it.
Photo credit: have I told you lately, by cHr1st1an S
Old Toy Camera – Photoshop action This Photoshop action makes images look as though they are aged prints, shot on a toy or antique camera. Also included are two actions that create borders similar to those seen on photos from many antique and toy cameras.
Toy Camera Contest FILE presents here a selection of images submitted for its Toy Camera Contest. This collection gives an idea of the challenge facing the judges to find three winners. The range and quality of the submitted images are impressive.
Gallery This project is home to photos taken with toy cameras. Most are plastic: Holga, Diana, Dorie, Debonair, Lubitel, Banner, Snappy and Yunon. Distortion, blur and imperfection are some of the characteristics that endear these cameras to enthusiasts.
Abduzeedo: 60 Interesting Lomo Fisheye Shots Gathered here are a few Lomography fish-eye shots. Some were taken with Lomography cameras such as the Diana and the LC-A+ with a fish-eye lens adapter attached.
Lomography.com Lomographic Society International Website.
More and more, designers, illustrators and coders are being asked to animate. Animation adds energy to a brand and heightens a customer’s emotional response. The software to do it is reasonably priced, and Internet connections can now deliver high-quality video. For these two reasons, animation-based advertising is booming on the Web. The makers of a small phone application might even devote a great deal of their budget to a Web animation that explains how the application works. However, animation adds a level of complexity that not everyone is equipped to immediately take on.
Animation is a time-based medium. It has the elements of not only height, width and depth, but also time. In this way, it is more like a website or catalog: it can change from moment to moment. But the difference with animation is that the time element is entirely under the designer’s control, and the viewer is just along for the ride.
Of course, organization is important. But audience profile, screen size and delivery method can greatly influence the visuals and your workflow. In this article, we’ll go over a few guidelines on how to start organizing your animation projects, as well as some tips and tricks to create a leaner and cleaner workflow.
1. Storyboards
Storyboards provide the best means of planning an animated project. They allow you to plan your composition and timing quickly before jumping into the final animation. They let you quickly determine all of the key elements before creating the final renders. This is also the best stage to trim down and make edits. Animation is a time-consuming medium, and you don’t want to give yourself any extra work. Try to define the 10 most important images of you piece, and then add and subtract boards to find the right level of detail to convey the scope of your project.
The first 10 boards are highlighted. The other boards are there to clarify or smooth the transition from one moment to the next.
Sound is another element to consider at this stage. It can give your project a backbone for timing. If you are able to purchase commercially-produced music, do this before you start animating, and then make your images follow the beat of the music. You could also use a song with the right mood and timing as a temp track and then have a musician create the final sound based on your animation.
2. Folders, Naming, Sequencing
Folders
Everything for the project should be kept in one folder. Most animation programs do not paste files into the animation, but simply point to the media. If a file is moved, the program will have a hard time locating the original file and might not display it. Different production houses have different systems, but generally they will sort their files into these folder and sub-folder categories:
AEP or Flash project files
Graphics/illustrations
Hi-res (screen size or larger)
Lo-res (screen size or smaller)
Storyboards
Photos
Hi-res (screen size or larger)
Lo-res (screen size or smaller)
Sound
Text docs
(Scripts and documents that you may have received from or given to the client.)
Video
Edits
Pre-renders
Animatics (video renders of the storyboard)
This folder structure is very detailed. But not only will you be able to find something easily, but anyone else who comes into the project will also be able to navigate the file structure easily. At ad firms and commercial animation studios, other people may enter the project in process. They have to be able to help you, not fight to learn an unconventional organizational system.
Names
If you can, use some sort of coding system to indicate which project a file belongs to. This way, if it does get separated, you can locate it easily. You might use similar graphics for several projects. For instance, a globe is a common image that I use a lot because I do animations for GPS Web apps. They all look different, so the generic label “globe” would not tell me what the globe in a particular file looks like. Here is an example of a coded naming system:
ADV_globe_all.ai
or
Goloco_globe_NE.psd
The code will depend on whether your client’s name is long or short. Short names can be used in their entirety, but abbreviating long names into an easy-to-remember code helps.
Sequencing
If you plan to display one image after another, numbered file names can speed up your workflow. Most animation programs recognize numbers and will line them up one after another if you number them properly. Examples are:
Traditional frame-by-frame animation:
Carousel of images:
Photo slideshow:
Mouths for lip syncing:
Title sequences:
Because of the high volume of frames in animation, use a three- or even four-digit naming system. Spacing, underscores and dashes do affect how programs understand the files. Below are examples of correct and incorrect numbering:
Correct:
face_001.jpg
face_002.jpg
face_003.jpg
Incorrect:
image1.jpg
Image_02.jpg
image__003.jpg
Lower numbers should have zeros placed before them (so that number 1, for example, appears before number 10). Programs like Photoshop and Adobe Bridge can help with the batch renaming process.
3. Vector And Bitmap Graphics
Vectors have an infinite resolution, which is great for animation. Whether you use bitmap or vector, the images should be 72 DPI and RGB.
Computer and television screens both use these specifications. 72 DPI is the only DPI for video, and higher and lower quality videos will differ only in aspect ratio. Adobe programs have been constructed for a cooperative workflow; the names you give layers in Illustrator and Photoshop will carry over to AfterEffects and Flash.
In Illustrator, put elements that you want to animate separately onto separate layers and not paths.
4. Photos
For best results, resize your photos and bitmap images. If you will be zooming into your pictures, make them bigger than your overall frame size. If you will zoom in by 50%, then the dimensions need to be only 150% bigger than your overall frame.
If we want to zoom in on this character, we will need to make him bigger than the overall screen size, otherwise he will look pixelated.
If the images will be smaller than your screen, shrink them. Because all of the images are dynamically loaded, this will reduce the rendering time. Small images load faster than large images, so re-scaling before animation is a best practice.
Our thumbnails here will never be more than 50% of the screen size. Scaling elements to the appropriate size in Photoshop saves time later when rendering.
This may be a little confusing, but it is important; because rendering can take hours, and a bit of resizing can save an hour or two of rendering time and make a lot of media more manageable. Digital cameras all take pictures at 3000 pixels wide or more, but the largest video frame is only 1920 pixels wide.
5. Composition And Color
This is where knowing your delivery method and audience comes in handy. Images intended for a theatrical release won’t necessarily work on a smaller screen, and vice versa.
Screen-Size Comparison
Small objects can be too tiny in a Web video and become unreadable. Most Web videos use a smaller range of sizes so that the audience can properly view the elements. Elements that are too small on the Web can cease to be recognizable. A hairline turns into a line of pixels and a pupil becomes a black hole.
Web Scale
In any medium, color is important, but especially on the Web, where it is essential for creating contrast and guiding the viewer’s eye. Think of your composition as a set of shapes rather than characters and scenes, and you’ll be able to more easily produce effective graphic compositions that can be read at a variety of scales.
Using Color to Emphasize Elements
The area of greatest contrast is between the light-yellow shirt and dark-green bushes. The eye is naturally drawn there. However, consider those with color-blindness. Colors that “pop” for most people might not someone with impaired color perception. Throwing a quick desaturation filter over the project will highlight the weak areas of your color scheme.
Incorrect Use of Color Contrast
Though the orange and blue are complements and do attract the eye, they are the same value on the grayscale. By desaturating the image, we see the grayscale value of the colors. Someone with color-vision issues would not see this area as being the most distinctive.
6. Aspect Ratio And The Web
Most Web videos have a 16:9 aspect ratio (i.e. widescreen). Services like YouTube or Vimeo encourage this format. There are many “standard” sizes, but the most useful two are HDV/HDTV 720 and HDV 1080.
Both formats are widescreen, and both have square pixels. Computer monitors have square pixels, which means viewers will see a true representation of your final image. Programs like AfterEffects can simulate other screen types, but if your project is for the Web, make it work with square pixels.
If you are doing a project for broadcasting, consult your client, the venue or the broadcaster that will be presenting it. They all have different sizes and specifications to adhere to.
7. Where To Type
Animation programs have their own typography tools, or you can create your own in a program such as Illustrator or Photoshop. With Illustrator, you don’t have to worry about your text being too small or large because it will be a vector image. You can infinitely scale the type without losing quality or increasing rendering time.
For ornate titles or long scrolling credits, laying these out in a program designed for text is best. AfterEffects and Flash can do pretty much anything Illustrator can do, but in them you will not be able to see when text runs off the canvas, which makes it difficult to plan scrolling or zooming credits without constantly moving the text or rescaling to get a better view. Illustrator and Photoshop allow have more sophisticated tools for outlining and customizing the style of your type.
In addition, designing in Illustrator or Photoshop lets you focus on the design of the type. You can more fully concentrate on making your typographic design cohesive and interesting.
For small bits of text, though, you can type directly in the animation program.
8. Pre-Rendering
Creating “Proxies” is a great way to reuse elements and cut down on rendering time. They allow you to render a single layer or many layers. If the elements are finalized and you don’t need to change them, you can render them as a single video file with an alpha channel. You can even render animation with an alpha channel.
A field of twinkling stars becomes much simpler with pre-rendering. The field of stars can then be combined and pre-rendered again, thus making one video file of a starry sky that is easy to use again and again.
Most animation programs can handle video, as well as Photoshop and Illustrator files.
Programs such as AfterEffects easily handle alpha channels without any rasterization or dithering. This is especially useful if the elements have a lot of rendering-intensive filters. Effects such as layers are dynamically loaded into each frame. Video is usually 30 frames per second, so a simple blur filter will render hundreds of times in just 10 seconds. If you think about how long it takes to put a filter on a layer in Photoshop, you have some idea of how long it takes for the same filter to be applied to many frames in Photoshop.
1 second to render an effect x 30 frames / second x 10 second = 5 minutes of rendering.
You can also duplicate any animation or layer and use it over and over again. This makes kaleidoscopic animation much easier, and pre-rendering cuts down on rendering time. Programs such as Flash are good at nesting and handling “instances” of the same animation, but the equivalent in AfterEffects is pre-rendering and using a new video layer.
Flash and AfterEffects both have features that allow you to take complex animations and reduce them to a single layer.
Complexity can be built from a few simple elements with spectacular results.
9. Organize For Your Future Self
First, create a group in your project with the “Timelines,” “Scenes” or “Compositions” that are the final renders. This way you, or anyone, will be able to easily locate and render them again. Most video and animation programs have a bin or library and allow for easy internal folder creation.
Second, have a good incremental naming system for renders. Very often, the “final” render is not really final. Using numbers or letters, the computer will automatically order the files for you; and again, anyone will be able to figure out what was the last render. Your_project_final_Final_FINAL_v4.mov won’t clarify anything for anyone. In AfterEffects, movie files are named after their Compositions. I put a “v” at the end of each one so that I can easily insert the right number just before I render. When making Web versions, I change the “v” to a “w” to indicate that this is the Web version. A list of renders would look something like this:
CI_TCfIH_edit_v1.mov
CI_TCfIH_edit_w1.mov
CI_TCfIH_edit_v2.mov
CI_TCfIH_edit_w2.mov
Computers like numbers, letters and order. Exploiting this proclivity frees you up for more creative endeavors. Because animation can take up thousands of files, organization is critical.
10. Incorporating Live Action
If you need to incorporate a green screen or other live action footage, shoot in an HD format if possible. These tend to have larger aspect ratios than standard television sets, which leaves room for some cinematic tricks later when you’re working in the animation program.
We won’t get into lighting, editing or shooting in this article. But once you’ve mastered this considerable set of skills, you can bring those elements into your animation and make your live action elements interact with the animated ones.
Web videos, like the ones on YouTube, are 640×360: well below standard video HD sizes. This means you will have “extra” video. By filming your live-action with a locked-down (i.e. non-moving) camera, you will get the best of both a steady shot and a perfect pan. Simply insert your footage into a slightly smaller composition and animate its position. Motion also guides the viewer’s eye and highlights certain parts of the screen. But panning the camera can make it hard to line up live-action and animated elements.
These images are shown to the correct scale. We could shrink the large video even more for better framing.
11. Have Fun And Experiment
Animation programs are a combination of two to three smaller graphic design programs plus a video editor. They have a wide range of effects, tools and capabilities. Only by playing around with it will you really learn what the program can do. However, only by trying something you’ve never done before will you find out what you’re truly capable of (i.e. turn it up to 11).
Long before you officially take the profession of graphic or web designer, your friends and family will support your ambitions by developing your talent. At first, your loved ones inspect your work and if they like what they see, you’ll get flooded with their requests for one page flyers, t-shirt designs, logos, and company websites. When you are just starting out, you welcome their requests because it gives you a chance to grow your skill set as a designer. After all, it’s almost like dealing with real clients, right?
The drama comes when you actually become a full time designer. The friends and family who drew upon your talent during your newbie years are still standing around with their hands out, and now you also must contend with two more groups of favor askers: clients and anonymous foreigners who contact you through Twitter.
Here are 8 of the most common and eye-rollingly annoying favors all designers encounter at one point or another. For ease of reference, we’ll call the offending party “Dude.”
1. “Hey, can you take a look at my site and tell me what you think?”
At first glance, this seems like a harmless five to ten minute project. Dude asks for your opinion, and you both know that you are an esteemed and dedicated design pro. You optimistically click on his website link, and you’re teleported back in 1998 with a Geocities-reminiscent design so horrifying it makes MySpace look professional. After you try hard not to lose all respect for Dude, you carefully suggest that he get rid of the Flash intro. You are then met with an uncomfortable defensiveness, where Dude refuses to accept your professional advice.
Lesson learned: Decipher whether your friend is looking for actual advice or just a pat on the back.
2. “Um, would you mind designing my site… for free?”
It’s shocking how many people feel truly entitled to a free web design. If you’ve ever had the pleasure of introducing yourself as a web designer, you may notice the wheels instantly starting to turn in your acquaintance’s mind. Everyone, even those without any product or any relevant thing to say, want, demand and need a website. These are the people, especially, who will want such a website produced for free. They may lure you with the distant hopes they use to fuel their own insanity: “Once I get some visitors, I’ll direct them to your services” (Standard practice, regardless).
Lesson learned: Limit your charity cases to those you can do in your free time and only do it for charity because the only reward you’ll reap is psychological.
3. “Can you help me design my site to look like ______?”
This request is closely related to the first two requests. Perhaps Dude has taken it upon himself to designed a website, already had a moment of epiphany and now realizes that it sucks. At least you’re on the same page. Then comes, “I’d like my site to look just like Avatar. You know, all 3D and stuff.” Once you realize that Dude is serious, another realization also sinks in. If you take on this “consulting” project, all of your time and energy will be engulfed by this vortex, and you won’t be getting paid for your trouble. What’s the solution? Direct Dude to Yahoo! Answers? No, he’ll never go for that, because this is a top secret idea.
Lesson learned: Find your inner ineptness and apply it to this situation. Feign ignorance, suggest peripheral design ideas such as blue color palettes and wait for your friend to get bored of the idea and come to his senses.
4. “I think I have a virus.”
No one likes to hear these words, and if someone’s sharing this information with you, they usually want one of two things: sympathy or help, sometimes both. When you hear these words come from a client, you must assume they are referring to a computer virus (let’s hope). This your client’s passive/ aggressive way of getting you to offer assistance. If you, wisely, remain silent, he or she will shamelessly ask you for your help. Just because you work in front of your computer all day does not mean that you qualify for tech support. You have to Google things just like everyone else.
Lesson learned: Get the courage to finally direct someone to Let Me Google That For You. However, for professional relationships, avoid the snark and actually lightly research the problem, but make no promises and waste no longer than 15 minutes.
5. “Let me help you with any of your extra work.”
This favor comes in the form of a donated favor. In other words, Dude is suggesting that he’s doing you a favor, when he’s actually just trying to get paid. One morning you open your email box, and there’s an email from some dude you’ve never heard of. He wants you to lend him some of your work. Depending on your level of job-related stress, you may be inclined to offer him some work, but what’s this? No portfolio? No website? No spell-check. Wait, is Dude even located in the same hemisphere as you?
Lesson learned: You get what you pay for.
6. “So, it’s been a minute… How much longer is it going to take?”
Just when you’ve got your Good Samaritan on and decided to help Dude during your free time, he starts becoming a diva. Never mind the impossible requests to make his website look just like *let your imagination run wild on this one,* or the countless revisions to a perfectly designed logo, or the endless hours you spent over IM trying to explain why putting an invisible list of keywords at the bottom of the webpage is unnecessary. When you least expect it, expect to receive a phone call, email, direct tweet saying, “Hey, so, um… when’s the project going to be finished?” You reply back, “Dude, I told you I was going to fit this in between my actual work from actual clients that actually pay.” To this, Dude replies, “I didn’t think it was going to take this long, maybe I should just get this professionally done.” Oh, that’s a killer. First of all, Dude has no consideration for the amount of time you’ve invested in this project. Secondly and more importantly, you are a professional. Why not offer you money so that you can prioritize his project?
Lesson learned: Clearly state from the beginning that it will take you some ridiculously long amount of time to complete the project for free and if Dude’s still on board, he’ll be happy if you finish it sooner than expected.
7. “Can I use your server until I get my own hosting?”
What’s so wrong about this request? You have extra space and you can afford the bandwidth. The problem is that Dude will never get his own hosting, and eventually he’ll forget about his site. A year later, you’ll remind him, “Hey Dude, you know you still have your stuff on my server? I’m moving to another server, so is it alright if I get rid of it? You have a back up, right?” Dude will do one of two things: he’ll respond with indignant anger, upset that you’re rushing him to get his act together or he’ll pretend to be okay with it, all the while, holding a grudge.
Lesson learned: Friends don’t let friends use their servers.
8. “Hey, I volunteered you to re-do my co-worker’s step-daughter’s wedding album.”
You can replace this with any task in which your mom volunteers your services for free. It’s always lovely to deal with someone who’s happy to accept your honest labor for free, because we all know they won’t make any unreasonable demands. The most difficult part of this ordeal is having to contend with your mother in her role as the merciless middleman who nags you for quality, timeliness and her good reputation.
Lesson learned: Grin and bear it? There’s no real way to avoid this nightmare.
What are some of the most annoying favors your friends and family have asked from you?
About the Author
Jacqueline is an artist and a writer who spends an inordinate amount of time playing Super Nintendo and watching Star Trek. You can find out more about Jacqueline on her website, and follow her updates on Twitter.
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.
[Offtopic: by the way, did you know that Smashing Magazine has one of the most influential and popular Twitter accounts? Join our discussions and get updates about useful tools and resources — follow us on Twitter!]
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:
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>
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:
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.
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.
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');
});
}
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>
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
)
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:
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.
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:
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:
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.