• Feed RSS

Swiffy: convert SWF files to HTML5

Swiffy: convert SWF files to HTML5: "

By Marcel Gordon, Product Manager, Swiffy



Some Google projects really do start from one person hacking around. Last summer, an engineering intern named Pieter Senster joined the mobile advertising team to explore how we could display Flash animations on devices that don’t support Adobe Flash player. Pieter made such great progress that Google hired him full time and formed a team to work on the project. Swiffy was born!



Today we’re making the first version of Swiffy available on Google Labs. You can upload a SWF file, and Swiffy will produce an HTML5 version which will run in modern browsers with a high level of SVG support such as Chrome and Safari. It’s still an early version, so it won’t convert all Flash content, but it already works well on ads and animations. We have some examples of converted SWF files if you want to see it in action.



Swiffy uses a compact JSON representation of the animation, which is rendered using SVG and a bit of HTML5 and CSS3. ActionScript 2.0 is also present in the JSON object, and is interpreted in JavaScript in the browser. This representation makes the Swiffy animations almost as compact as the original SWF files.



Swiffy is a great example of how far the web platform has come. Swiffy animations benefit from the recent advancements in JavaScript execution speed and hardware accelerated 2D graphics in the browser. Viva la Web!



Marcel Gordon is the Product Manager for Swiffy, doing the make-up and carrying the drinks. On the weekends he dresses up as a pirate and takes his hamster for short walks.



Posted by Scott Knaster, Editor

"
read more

Introducing the Google+ project: Real-life sharing, rethought for the web

Introducing the Google+ project: Real-life sharing, rethought for the web: "
Update: For our international readers, this post is also available in French, German, Italian, Japanese, Portuguese, Russian and Spanish. - Ed.



Among the most basic of human needs is the need to connect with others. With a smile, a laugh, a whisper or a cheer, we connect with others every single day.



Today, the connections between people increasingly happen online. Yet the subtlety and substance of real-world interactions are lost in the rigidness of our online tools.



In this basic, human way, online sharing is awkward. Even broken. And we aim to fix it.



We’d like to bring the nuance and richness of real-life sharing to software. We want to make Google better by including you, your relationships, and your interests. And so begins the Google+ project:









+Circles: share what matters, with the people who matter most

Not all relationships are created equal. So in life we share one thing with college buddies, another with parents, and almost nothing with our boss. The problem is that today’s online services turn friendship into fast food—wrapping everyone in “friend” paper—and sharing really suffers:

  • It’s sloppy. We only want to connect with certain people at certain times, but online we hear from everyone all the time.
  • It’s scary. Every online conversation (with over 100 “friends”) is a public performance, so we often share less because of stage fright.
  • It’s insensitive. We all define “friend” and “family” differently—in our own way, on our own terms—but we lose this nuance online.
In light of these shortcomings we asked ourselves, “What do people actually do?” And we didn’t have to search far for the answer. People in fact share selectively all the time—with their circles.



From close family to foodies, we found that people already use real-life circles to express themselves, and to share with precisely the right folks. So we did the only thing that made sense: we brought Circles to software. Just make a circle, add your people, and share what’s new—just like any other day:









+Sparks: strike up a conversation, about pretty much anything

Healthy obsessions inspire sharing, and we’ve all got one (or two, or three...). Maybe it’s muscle cars, or comic books, or fashion, but the attraction is always the same: it comes up in conversation, we immediately jump in, and we share back and forth with other fans. Often for hours. The trick is getting things started, and getting over that initial hump. Fortunately, the web is the ultimate icebreaker.



The web, of course, is filled with great content—from timely articles to vibrant photos to funny videos. And great content can lead to great conversations. We noticed, however, that it’s still too hard to find and share the things we care about—not without lots of work, and lots of noise. So, we built an online sharing engine called Sparks.



Thanks to Google’s web expertise, Sparks delivers a feed of highly contagious content from across the Internet. On any topic you want, in over 40 languages. Simply add your interests, and you’ll always have something to watch, read and share—with just the right circle of friends:









+Hangouts: stop by and say hello, face-to-face-to-face

Whether it's inside a pub or on a front porch, human beings have always enjoyed hanging out. And why not? It's how we unwind, recharge, and spend unscheduled time with old and new friends alike. Hanging out is deceptively simple though, and the nuance gets lost online.



Just think: when you walk into the pub or step onto your front porch, you're in fact signaling to everyone around, “Hey, I've got some time, so feel free to stop by.' Further, it’s this unspoken understanding that puts people at ease, and encourages conversation. But today’s online communication tools (like instant messaging and video-calling) don’t understand this subtlety:

  • They’re annoying, for starters. You can ping everyone that’s “available,” but you’re bound to interrupt someone’s plans.
  • They’re also really awkward. When someone doesn't respond, you don't know if they’re just not there, or just not interested.
With Google+ we wanted to make on-screen gatherings fun, fluid and serendipitous, so we created Hangouts. By combining the casual meetup with live multi-person video, Hangouts lets you stop by when you're free, and spend time with your Circles. Face-to-face-to-face:









+Mobile: share what’s around, right now, without any hassle

These days a phone is the perfect sharing accessory: it's always with you, it's always online, and it's how we stay close with our closest friends. We didn’t want “just” a mobile experience, however, so with Google+ we focused on things (like GPS, cameras, and messaging) to make your pocket computer even more personal.



+Location, location, location

In life, the places we visit shape conversations in lots of meaningful ways. If we call John from the airport, he’ll likely ask about our trip. Or if Jane texts from a nearby restaurant, we might join her for dessert. With Google+ you can add your location to every post. (Or not. It’s always up to you.)



+Instant Upload

Getting photos off your phone is a huge pain, so most of us don't even bother. Of course pictures are meant to be shared, not stranded, so we created Instant Upload to help you never leave a photo behind. While you're snapping pictures, and with your permission, Google+ adds your photos to a private album in the cloud. This way they're always available across your devices—ready to share as you see fit.









+Huddle

Coordinating with friends and family in real-time is really hard in real life. After all, everyone's on different schedules, in different places, and plans can change at any moment. Phone calls and text messages can work in a pinch, but they're not quite right for getting the gang together. So Google+ includes Huddle, a group messaging experience that lets everyone inside the circle know what's going on, right this second.









Starting today Google+ is available on Android Market and the mobile web, and it’s coming soon to the App Store.



+You: putting you first, all across Google

That’s the Google+ project so far: Circles, Sparks, Hangouts and mobile. We’re beginning in Field Trial, so you may find some rough edges, and the project is by invitation only. But online sharing needs a serious re-think, so it’s time we got started. There’s just one more thing—really the only thing: You.



You and over a billion others trust Google, and we don’t take this lightly. In fact we’ve focused on the user for over a decade: liberating data, working for an open Internet, and respecting people’s freedom to be who they want to be. We realize, however, that Google+ is a different kind of project, requiring a different kind of focus—on you. That’s why we’re giving you more ways to stay private or go public; more meaningful choices around your friends and your data; and more ways to let us know how we’re doing. All across Google.



When your invite arrives we hope you’ll join the project. But it’s entirely up to +You.



Posted by Vic Gundotra, Senior Vice President, Engineering

"
read more

Ten Things Every Beginning Developer Should Know

Ten Things Every Beginning Developer Should Know: "




In the world of web development, there’s so much to look at and do, it can be confusing to decide where to start as a beginner. If you’re wanting to be a back-end developer, what languages do you learn? Do you learn HTML and CSS if you just want to work in PHP and Ruby? Should you learn basic design principles as well? Or, should you learn a little about everything?

A lot of people are afraid to jump into web development because of this choice paralysis. Depending on what they want to do, they hear endless opinions about how and where one should start.

I’ve been a front-end developer myself for over ten years, since I was in the sixth grade. So I’ve definitely been there at each language’s beginning. I was there when there were no standards or CSS, and I’m here now to tell you what’s really important to know if you want to be a developer.

1. Figure Out One Language (and just one!)


Forget about what everyone says about being a generalist, or knowing as many languages as possible. When we’re just babies, we don’t try to learn English, Spanish, French and Italian at once. We start with one language and we master that first. Then we move on.

The web is just like that. If you’re wanting to be a front-end developer, start with HTML first. Then learn CSS, then move on to Javascript or wherever else you’re wanting to move to.

If you have absolutely no clue on what you want to learn, you might have a bit more of a difficult start. There are tons of web languages out there and they all do something different. I would suggest finding something you really like online or on your computer, figure out what it’s written in and learn that. For example, if you’re a huge fan of iPhone games, figure out what language it’s written in and learn it.

Otherwise, just do a bit of research with each language and figure out which one looks cool. Yep, you can do that.

2. Web Standards & Best Practices Are Your BFFs


No matter what language you decide to learn, make sure you learn it correctly. Don’t start out learning HTML by coding sites into tables. Read up on the best practices and standards for your language and follow them to a ‘T’. It may feel like extra work in the short run, but I promise in the end it’ll make your life a lot easier–and the web a much better place.

3. Save the Flashy Stuff for Last


Yes, each language has something super cool. CSS has CSS3, HTML has HTML5, Javascript has jQuery and AJAX….however it’s important to start with the basics first and work your way up. No way should you be learning how to code the next Facebook if you can’t even figure out the standard “Hello World” echo.

4. Find Something You Like–and Copy It


No, I’m not suggesting that you steal. The way people learn is to emulate others. Babies learn to talk and smile and cry by imitating their parents. Artists learn how to draw by copying favorite drawings, and sometimes even starting out by tracing (that’s how I learned!). When I first learned HTML, the internet was still new and there wasn’t anything online to help. So, I found some websites with layouts I liked. I viewed their source and copied and pasted on to my own site. From there I changed the graphics and began by changing their HTML (coded tables!). This quickly taught me what happened when I moved a TR or a TD, or removed properties like cellpadding.

Emulating sites for the sake of learning is the quickest way to learn any programming language out there. So just try it!

5. Soak in Information


Soak in as much information as you can about web development. Read books, watch videos, listen to podcasts and find articles and blogs online. This will also keep you up to date on new features and prevent your new skills from becoming stale. We all know the old guy who thinks because he knows Visual Basic from the 90’s, that that makes him a ‘webmaster.’ Don’t be that guy.

6. Learn How to Get Along with Designers


There I said it. Websites can’t exist with developers alone, designers are the skin to your developer bones. So many programmers I know can’t stand designers because designers are picky about the minute details and how things look, whereas we just care about how awesome it works. But believe me, you’ll need a designer some day to save your butt with a client. So learn how to get along well with them.

7. Learn to Build the Wheel–But Don’t Reinvent It


You should learn how to code anything in your chosen language, but that doesn’t mean you need to recode it every time you start a new project. Save code snippets and plugins for yourself that you can reuse with each project. Why recode a contact form or login script every time? This will decrease your coding time exponentially and cut down on errors and bugs.

8. The Right Tools Make All the Difference


Technically, you could code a full site on your plain text editor, but I don’t recommend it. Get yourself a proper IDE, whether free or paid. A good IDE will help you indent your code properly, highlight it for easy editing and check for errors. Try to get used to using one that will work with several, or all, code types.

9. Decide What Else to Learn–After Mastery


After you get good enough with your chosen language, now is time to figure out what’s next. If you want to niche yourself into one language, make sure you step your knowledge up and become an expert. If you want to learn another language or two, that’s great as well. Just wait until you know your original language well enough to work alone in it.

10. Just Get Started


I’m here to tell you a secret. It really doesn’t matter what language you learn or what ‘extras’ you learn either. All that matters in the beginning is that you just get started doing it. Now go and do!

Your Thoughts


Any other advice for the beginner developers out there?

Image by Sean K
"
read more

15 Powerful jQuery Tips and Tricks for Developers

15 Powerful jQuery Tips and Tricks for Developers: "
In this article we will take a look at 15 jQuery techniques which will be useful for your effective use of the library. We will start with a few tips about performance and continue with short introductions to some of the library’s more obscure features.

1) Use the Latest Version of jQuery


With all the innovation taking place in the jQuery project, one of the easiest ways to improve the performance of your web site is to simply use the latest version of jQuery. Every release of the library introduces optimizations and bug fixes, and most of the time upgrading involves only changing a script tag.

You can even include jQuery directly from Google’s servers, which provide free CDN hosting for a number of JavaScript libraries.

<!-- Include a specific version of jQuery -->
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>

<!-- Include the latest version in the 1.6 branch -->
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6/jquery.min.js"></script>

The latter example will include the latest 1.6.x version automatically as it becomes available, but as pointed out on css-tricks, it is cached only for an hour, so you better not use it in production environments.

2) Keep Selectors Simple


Up until recently, retrieving DOM elements with jQuery was a finely choreographed combination of parsing selector strings, JavaScript loops and inbuilt APIs like getElementById(), getElementsByTagName() and getElementsByClassName(). But now, all major browsers support querySelectorAll(), which understands CSS query selectors and brings a significant performance gain.

However, you should still try to optimize the way you retrieve elements. Not to mention that a lot of users still use older browsers that force jQuery into traversing the DOM tree, which is slow.

$('li[data-selected='true'] a') // Fancy, but slow
$('li.selected a') // Better
$('#elem') // Best

Selecting by id is the fastest. If you need to select by class name, prefix it with a tag – $('li.selected'). These optimizations mainly affect older browsers and mobile devices.

Accessing the DOM will always be the slowest part of every JavaScript application, so minimizing it is beneficial. One of the ways to do this, is to cache the results that jQuery gives you. The variable you choose will hold a jQuery object, which you can access later in your script.

var buttons = $('#navigation a.button');

// Some prefer prefixing their jQuery variables with $:
var $buttons = $('#navigation a.button');

Another thing worth noting, is that jQuery gives you a large number of additional selectors for convenience, such as :visible, :hidden, :animated and more, which are not valid CSS3 selectors. The result is that if you use them the library cannot utilize querySelectorAll(). To remedy the situation, you can first select the elements you want to work with, and later filter them, like this:

$('a.button:animated'); // Does not use querySelectorAll()
$('a.button').filter(':animated'); // Uses it

The results of the above are the same, with the exception that the second example is faster.

3) jQuery Objects as Arrays


The result of running a selector is a jQuery object. However, the library makes it appear as if you are working with an array by defining index elements and a length.

// Selecting all the navigation buttons:
var buttons = $('#navigation a.button');

// We can loop though the collection:
for(var i=0;i<buttons.length;i++){
console.log(buttons[i]); // A DOM element, not a jQuery object
}

// We can even slice it:
var firstFour = buttons.slice(0,4);

If performance is what you are after, using a simple for (or a while) loop instead of $.each(), can make your code several times faster.

Checking the length is also the only way to determine whether your collection contains any elements.

if(buttons){ // This is always true
// Do something
}

if(buttons.length){ // True only if buttons contains elements
// Do something
}

4) The Selector Property


jQuery provides a property which contains the selector that was used to start the chain.

$('#container li:first-child').selector    // #container li:first-child
$('#container li').filter(':first-child').selector    // #container li.filter(:first-child)

Although the examples above target the same element, the selectors are quite different. The second one is actually invalid – you can’t use it as the basis of a new jQuery object. It only shows that the filter method was used to narrow down the collection.

5) Create an Empty jQuery Object


Creating a new jQuery object can bring significant overhead. Sometimes, you might need to create an empty object, and fill it in with the add() method later.

var container = $([]);
container.add(another_element);

This is also the basis for the quickEach() method that you can use as a faster alternative to the default each().

6) Select a Random Element


As I mentioned above, jQuery adds its own selection filters. As with everything else in the library, you can also create your own. To do this simply add a new function to the $.expr[':'] object. One awesome use case was presented by Waldek Mastykarz on his blog: creating a selector for retrieving a random element. You can see a slightly modified version of his code below:

(function($){
var random = 0;

$.expr[':'].random = function(a, i, m, r) {
if (i == 0) {
random = Math.floor(Math.random() * r.length);
}
return i == random;
};

})(jQuery);

// This is how you use it:
$('li:random').addClass('glow');

7) Use CSS Hooks


The CSS hooks API was introduced to give developers the ability to get and set particular CSS values. Using it, you can hide browser specific implementations and expose a unified interface for accessing particular properties.

$.cssHooks['borderRadius'] = {
get: function(elem, computed, extra){
// Depending on the browser, read the value of
// -moz-border-radius, -webkit-border-radius or border-radius
},
set: function(elem, value){
// Set the appropriate CSS3 property
}
};

// Use it without worrying which property the browser actually understands:
$('#rect').css('borderRadius',5);

What is even better, is that people have already built a rich library of supported CSS hooks that you can use for free in your next project.

8) Use Custom Easing Functions


You have probably heard of the jQuery easing plugin by now – it allows you to add effects to your animations. The only shortcoming is that this is another JavaScript file your visitors have to load. Luckily enough, you can simply copy the effect you need from the plugin file, and add it to the jQuery.easing object:

$.easing.easeInOutQuad = function (x, t, b, c, d) {
if ((t/=d/2) < 1) return c/2*t*t + b;
return -c/2 * ((--t)*(t-2) - 1) + b;
};

// To use it:
$('#elem').animate({width:200},'slow','easeInOutQuad');

9) The $.proxy()


One of the drawbacks to using callback functions in jQuery has always been that when they are executed by a method of the library, the context is set to a different element. For example, if you have this markup:

<div id="panel" style="display:none">
<button>Close</button>
</div>

And you try to execute this code:

$('#panel').fadeIn(function(){
// this points to #panel
$('#panel button').click(function(){
// this points to the button
$(this).fadeOut();
});
});

You will run into a problem – the button will disappear, not the panel. With $.proxy, you can write it like this:

$('#panel').fadeIn(function(){
// Using $.proxy to bind this:

$('#panel button').click($.proxy(function(){
// this points to #panel
$(this).fadeOut();
},this));
});

Which will do what you expect. The $.proxy function takes two arguments – your original function, and a context. It returns a new function in which the value of this is always fixed to the context. You can read more about $.proxy in the docs.

10) Determine the Weight of Your Page


A simple fact: the more content your page has, the more time it takes your browser to render it. You can get a quick count of the number of DOM elements on your page by running this in your console:

console.log( $('*').length );

The smaller the number, the faster the website is rendered. You can optimize it by removing redundant markup and unnecessary wrapping elements.

11) Turn your Code into a jQuery Plugin


If you invest some time in writing a piece of jQuery code, consider turning it into a plugin. This promotes code reuse, limits dependencies and helps you organize your project’s code base. Most of the tutorials on Tutorialzine are organized as plugins, so that it is easy for people to simply drop them in their sites and use them.

Creating a jQuery plugin couldn’t be easier:

(function($){
$.fn.yourPluginName = function(){
// Your code goes here
return this;
};
})(jQuery);

Read a detailed tutorial on turning jQuery code into a plugin.

12) Set Global AJAX Defaults


When triggering AJAX requests in your application, you often need to display some kind of indication that a request is in progress. This can be done by displaying a loading animation, or using a dark overlay. Managing this indicator in every single $.get or $.post call can quickly become tedious.

The best solution is to set global AJAX defaults using one of jQuery’s methods.

// ajaxSetup is useful for setting general defaults:
$.ajaxSetup({
url   : '/ajax/',
dataType : 'json'
});

$.ajaxStart(function(){
showIndicator();
disableButtons();
});

$.ajaxComplete(function(){
hideIndicator();
enableButtons();
});

/*
// Additional methods you can use:
$.ajaxStop();
$.ajaxError();
$.ajaxSuccess();
$.ajaxSend();
*/

Read the docs about jQuery’s AJAX functionality.

13) Use delay() for Animations


Chaining animation effects is a powerful tool in every jQuery developer’s toolbox. One of the more overlooked features is that you can introduce delays between animations.

// This is wrong:
$('#elem').animate({width:200},function(){
setTimeout(2000,function(){
$('#elem').animate({marginTop:100});
});
});

// Do it like this:
$('#elem').animate({width:200}).delay(2000).animate({marginTop:100});

To appreciate how much time jQuery’s animation() save us, just imagine if you had to manage everything yourself: you would need to set timeouts, parse property values, keep track of the animation progress, cancel when appropriate and update numerous variables on every step.

Read the docs about jQuery animations.

14) Make Use of HTML5 Data Attributes


HTML5 data attributes are a simple means to embed data in a webpage. It is useful for exchanging data between the server and the front end, something that used to require outputting <script> blocks or hidden markup.

With the recent updates to the jQuery data() method, HTML5 data attributes are pulled automatically and are available as entries, as you can see from the example below:

<div id="d1" data-role="page" data-last-value="43" data-hidden="true"
data-options='{"name":"John"}'>
</div>

To access the data attributes of this div, you would use code like the one below:

$('#d1').data('role');   // 'page'
$('#d1').data('lastValue');  // 43
$('#d1').data('hidden');  // true;
$('#d1').data('options').name; // 'John';

Read more about data() in the jQuery docs.

15) Local Storage and jQuery


Local storage is a dead simple API for storing information on the client side. Simply add your data as a property of the global localStorage object:

localStorage.someData = 'This is going to be saved across page refreshes and browser restarts';

The bad news is that it is not supported in older browsers. This is where you can use one of the many jQuery plugins that provide different fallbacks if localStorage is not available, which makes client-side storage work almost everywhere.

Here is an example using the $.jStorage jQuery plugin:

// Check if 'key' exists in the storage
var value = $.jStorage.get('key');
if(!value){
// if not - load the data from the server
value = load_data_from_server();
// and save it
$.jStorage.set('key',value);
}

// Use value

To Wrap it Up


The techniques presented here will give you a head start in effectively using the jQuery library. If you want something to be added to this list, or if you have any suggestions, use the comment section below.
"
read more

Dissecting Google+

Dissecting Google+: "
Google has made more missteps with social networking than perhaps any other company online. MySpace’s slow death marks the death of one product. In the same time frame, Google has bought out, launched, and killed or neglected a score of social products. Wikipedia lists nearly a dozen social networking related acquisitions, depending on which you count, and Google’s own Orkut, Buzz, and Wave have either withered on the vine or been outright killed.

With this many failures, you’d think Google would cede the social networking market to Facebook and Twitter. Not so. Google unveiled yesterday their latest network, Google+. For once, it looks like Google might have a winner on its hands, if it can convince us to share on yet another network. It’s stylish, and includes features that take it beyond both Facebook and Twitter. Let’s take a look at what Google+ promises, and see whether it’s even worth trying to join.



Google+ | Search + Social


Google+ is a broad new social networking strategy at Google, in an attempt to pull together all of our online social interactions into the world’s most popular search engine. It’s been carefully thought out and designed, with a team led by designer Andy Hertzfield, famous for having worked on the original Macintosh team. Oddly enough, Google+ is itself an odd name for Google, since it’s difficult to search for. Try entering it in various search fields; chances are, you’ll only end up find stuff about Google itself due to the way search strings are handled.

While there have been rumors for months about a new social network product from Google, there have been few mentions of it from Google itself. That all changed yesterday, when Google unveiled the broad strategy behind its new social network. They released a series of demo videos and tutorials that help you see why you’d want to use Google+ over Facebook, their largest online arch-rival. Despite all of the publicity drummed up about Google+, it’s still not ready for launch. Even still, it’s informative landing pages are designed with a touch rarely seen on Google sites, and are even fully internationalized already!


Google+ (in Thai above) - Ready to take on the world?

The most major part of Google+ is Circles, a new way to group your contacts into family, friends, coworkers, and any other group you want. Most social networks treat all of your friends the same, but if everyone you know doesn’t have the same interests, you might bore them to death with info about tech or your hobbies. Circles gives you mini social networks where you can share things that interest specific groups. You can even start a video chat with your group with Hangouts, or send messages to the whole group to plan parties, meetings, and more. This sounds great in theory, but it may turn out to be more trouble than it’s worth. After all, do you really want to update your status specific for a dozen different groups?

One interesting thing about Circles is how nicely the main UI has been designed. You can select contacts and drag them to the circle, instead of having to fiddle with menus as you would in Facebook. Best of all, your contacts will be grouped with a paperclip as you’re dragging them. It’s not enough to make you want to switch, but it does show how much focus Google has put on the interface.


Circles may be the most unique Google+ feature

Interesting, Google+ isn’t just about communicating with people. It’s also about helping you find stuff that interests you. You likely follow major brands and sites you love on Twitter or Facebook to keep up with them, so we’re already using social network to stay up to date with companies and more. Google+ tries to automate this process. Just enter a topic you’re interested in, and Sparks will discover articles, videos, and more about it so you can find them anytime. This way, if your friends aren’t interesting enough, the Google Bots can keep you interested in Google+.


Google Alerts 2.0?

To get a better look at what Google+ will have to offer, you can try out their Interactive Demo today, or signup to make sure you’ll get in as soon as it’s ready for the public. Or, take a peek at the intro video below. It’s a surprisingly emotional take on what Google+ can offer groups, and reminds you more of an Apple ad about the iPad than of a Google ad. Google’s trying to hit a level of style they rarely aim for, and it’s interesting to see the search giant in such a different light.


A New Way of Searching Today


Another interesting Google site that’s recently popped up is What Do You Like?. There, you can type in a topic you like in a Google-style search box … only this time, the search button has been replaced with a heart. Your search results will show results from all of Google’s properties about the topic you entered, including videos, Sketchups, debates, patents, and more.

It’s an interesting view on topics you care about, but the vast majority of topics won’t have results in all of the categories. What’s most interesting, though, is that this seems like it could be a test for Google+’s Sparks feature, which will let you keep up with topics you care about.


Anyone want to debate about Envato with us?

A New Coat of Paint, Too


Last Saturday, I had noticed that Google searches were showing a black top navigation bar, and mentioned it as a curious change on Twitter. Turns out, I wasn’t just seeing things. Along with Google’s new Google+ network, they’ve added some sweeping changes to the interface on several of their sites. The top navigation bar on all Google sites is now black, and the Google header is now a faint grey color with larger blue buttons. The left side navigation buttons are a more muted charcoal color as well.


The new Google.com search experience

Along with that, Google has quietly highlighted one of their newer search-orientated sites: A Google A Day. This site poses a whimsical question of the day for you to answer, making your daily searches a tad more educational. I’ve often found Bing’s picture of the day and its fact hover-spots to be a similarly simple way to discover new facts. Interestingly, A Google A Day sports a newer design style, but one filled with lighter colors instead of the the new Google.com’s black and grey scheme. It almost feels more Android-style, whereas the new Google.com almost has an Apple-esque design.


Google to learn, with an older Google UI

Yet another major Google site to receive a design change yesterday was Google Fonts. This popular service lets you use a wide variety of fonts in your own site’s design, giving you a nicer option than the default web-safe fonts like Arial and Georgia. The new refresh gives it a full new UI, added a number of new fonts, and improved loading times for fonts. All of these new developments point to a new focus on design at Google, and a step away from their plain robotic design they’ve used for the past decade.


The new Google Fonts gallery

A New Future For Google


Google’s struggled through the years to find their true identity. Not content to remain simply the world’s most popular search engine, they’ve expanded into a mind-numbing number of categories. Their products span the range from search to maps to 3D drawings to operating systems and browsers. Google+, along with the newly redesigned parts of their other services, point to a more consumer-friendly face at Google that focuses on making their services more appealing to people.

As Stephen Levy, author of In the Plex, wrote in his Wired feature about Google+, Google’s dead set on making sure Google+ is a success, and that success is entirely built around people.

“We’re in this for the long run,” says Ben-Yair. “This isn’t like an experiment. We’re betting on this, so if obstacles arise, we’ll adapt.”

“I don’t really see what Google’s alternative is,” says Smarr. “People are going to be a fundamental layer of the internet. There’s no going back.”

Despite Google’s mammoth user-base, it’s still very uncertain whether their social networking efforts will ever take off. Facebook pratically defines the word “network effect”, and convincing people to switch would be a major feat. Most of us use Facebook because it’s the only network all of our family and friends use, and unless we can switch the whole way, we’re unlikely to ever put Google+ to use. You can’t blame Google for trying, though, and Google+ looks like it might have the best chance of taking off of any newer Google service. Like it or not, social networking is here to stay, and Google wants to make sure they’re a part of it.
"
read more

[Freebie] "Educons" Icon Set (PSD included)

[Freebie] "Educons" Icon Set (PSD included): "
To continue our grateful thanks to our readers and community in general, we are glad to release yet another freebie: Educons, an icon set with 15 quality educational related icons. These icons come in PNG format in 2 different sizes 128×128 and 64×64 pixels along with layered Photoshop PSD file of each icon.

education icon preview [Freebie] "Educons" Icon Set (PSD included)

These icons are designed by GraphicsFuel.com exclusively for Hongkiat readers, and are delivered in both Photoshop and PNG formats.



preview education icon set [Freebie] "Educons" Icon Set (PSD included)

All icons are free and you can download, edit and use them for your individual or commercial projects. You should not host the downloaded source files on your server and redistribute them as your own either in part or whole. If you like the icons, do consider sharing it with a retweet or a Facebook like :-)

Hope you enjoy this icon set!

Download



More: Click here for more Hongkiat.com exclusive freebies.

"
read more

Twenty Time Saving Tips

Twenty Time Saving Tips: "

Are you pressed for time?

It’s not at all unusual for a freelancer to run out of day before their work is done. If you’re using an application to track how you use your time, that’s a great start to making better use of your time.

There are other shortcuts and tricks you can apply to maximize your available time. In this post, I’ll share twenty tips to help you make the best use of your time.



My Best Time Saving Tips


Here are my very best time saving tips for work and home. First the tips for your freelancing work:

  1. Use boilerplates–Whenever possible, automate your business processes. If you send out many proposals for work, make a boilerplate and modify it each time rather than creating a new proposal from scratch each time.
  2. Specialize–Specialists have several advantages and one of those advantages is that they can get to know a particular part of their field well, saving project ramp up time.
  3. Outsource–If you find yourself with too much work and too few hours, it may be to your advantage to outsource the lowest paying projects to other freelancers who aren’t as experienced as you are.
  4. Use a VA–A virtual assistant can save you a lot of time by handling your routine tasks such as answering emails, phone calls, and even performing basic research tasks.
  5. Keep regular hours–In general, freelancers who keep set business hours devoted to their work tend to get more done than those who work at a different time each day.
  6. Do your difficult tasks during your peak hours–Each of us has a time of day when we are at our best. Discover your peak productivity time and use that for your most challenging or most creative tasks.
  7. Organize your office–Have you ever spent hours looking for something in your office or on your computer? Get organized so that you can find needed files and papers easily and quickly.
  8. Schedule rest-time–A tired freelancer is a slow freelancer. Taking the time to get enough rest will help ensure that you are always feeling and performing your best.
  9. Put yourself on a social media budget–Social media is a great way to promote your freelancing business, but you can have too much of a good thing. Determine a set amount of time each day for social media.
  10. Back up your files–Lost or damaged work files can take hours, if not days, to recreate. Spare yourself the hassle by choosing and using a good file backup system.

What you do with your personal time at home affects your freelancing business. If you can save time on your personal tasks, it is less likely that these tasks will spill over into your workday and use valuable project time. Now, the time saving tips for your home:

  1. Hire someone to help with time-consuming tasks–Just like outsourcing and delegating tasks can help you in your business, it can also help you at home. Especially if you would earn more working than you would pay someone to do the task.
  2. Combine small trips into one–Do you make multiple trips to run errands? If you do, you can save time (and money) by combining all those small trips into several larger trips.
  3. Make use of your “down time”–All of us spend a certain amount of time waiting, but with mobile computing devices your wait time doesn’t have to be wasted time. Use down time to check email, update your to-do list, etc.
  4. If you watch TV, use a DVR to tape shows and avoid commercials–It’s amazing how much of the average television slot is taken up with commercials. Use a DVR, or similar device, to skip commercials and save time.
  5. Keep some healthy, quick meals on hand. Are you too busy to eat healthy? You won’t be if you keep some handy, but nutritious, meals on hand. Salads, for example, are both easy to fix and good for you.
  6. Organize your home–Just like you can lose files in your home office, you can also lose things you want or need in your home. Keep your home organized and minimize the time you spend looking for lost items.
  7. Spread the load–Don’t try to do everything yourself. Divide your chores between family members. Even children can help with routine tasks around the house.
  8. Use mail order–It’s not always necessary to go to the store to get what you need. You can often order exactly what you need through your computer. Books, clothing, and computer equipment can all be found online.
  9. Practice preventative healthcare–Nothing takes as much time as battling an illness or injury. So, follow your doctor’s advice and avoid any unnecessary medical setbacks.
  10. Prioritize–From time to time, re-examine what you do each day. You may find that your priorities have changed and some of the things you do are no longer needed.

How Do You Save Time?


I’ve shared my best time saving tips, now it is your turn. Share your best time saving tips in the comments.

Image by klara.kristina
"
read more

Brainstorming Tips and Techniques for Freelancers

Brainstorming Tips and Techniques for Freelancers: "
Brainstorming is the secret weapon of every freelancer and entrepreneur. It helps us recall everything we know about the subject and any related ideas to it. Whether we realize it or not, brainstorming is at the root of every venture we undertake, be it a product, project or something as simple as a blog post.

brainstorming Brainstorming Tips and Techniques for Freelancers
(Image source: Shutterstock)

There’s a reason freelancers swear by the powers of brainstorming. A single brainstorming session can create new and creative ideas that either make you more productive or help you find a solution to your problem. It’s a great way to extract all the information you have and what you need to know more about. It allows you to notice connections and patterns in the information and helps you create an outline.

Knowing the importance of brainstorming, how can we use it to take our projects to next level? How do we brainstorm effectively? The following tips and techniques will help you get the most out of your brainstorming exercise.



Mind maps


Mind mapping is the easiest and most popular form of brainstorming. They’re especially effective if you’re brainstorming on your own. A mind map is a graphical representation of all your ideas linked to and arranged around one central idea, problem or topic.

mind meister Brainstorming Tips and Techniques for Freelancers

There are no rules to it apart from jotting down everything that comes in your head. Your mind map can be hierarchical or in a tree branch format. You can either do mind map on a paper or use an online program like Mind Meister which lets you save, import and export your mind maps and comes with a free version as well.

Brain dumps


Brain dumps are the most fun. Take a piece of paper or open up your word processor and start writing everything that comes to mind. There’s no rule saying it has to be related to the project.

brain dumps Brainstorming Tips and Techniques for Freelancers
(Image source: Sergey Peterman)

If you’re brainstorming logo ideas for a client and find yourself thinking about lunch, note down what you want to have. Trust me, it’s much more productive this way. Otherwise, you’ll be stuck trying to come up with logos while your mouth is watering as you’re thinking about food.

Collaboration


If you find yourself stuck for ideas, talk to someone and invite them on board for the project. Get them to brainstorm with you and compare notes. More often than not, your brainstorming partner will pick up something you might have missed, find a correlation or come up with a unique angle that you wouldn’t have thought of on your own.

collaboration Brainstorming Tips and Techniques for Freelancers
(Image source: Shutterstock)

If you don’t want to partner up on the project, that’s fine. You can still get them to collaborate with you for brainstorming as long as you return the favour.

Reverse brainstorming


Reverse brainstorming can work in two ways. The first is to visualize the result you want to achieve and then work your way back to the start. For example, if you want to write a blog post, then depending on how you write, your reverse thinking timeline will look something like:

  • Respond to comments
  • Publish post
  • Format post
  • Write post
  • Create an outline of the post
  • Write title

This technique helps you concentrate on areas that you may take for granted and highlights anything that you might have missed. In the example above, you might realize that you didn’t pay attention to the formatting of the post and now know that you need to do.

reverse Brainstorming Tips and Techniques for Freelancers
(Image source: Igor Leonov)

The second way is to ask yourself the opposite question of what you’re trying to achieve. First, ask yourself ‘How do I achieve these results?’ and then ask ‘How do I achieve the exact opposite?’

Let’s take this blog post for example. When brainstorming the ideas for this post, I wanted to make this post exceptional. So I asked myself ‘How can I make this post amazing?’ I drew up a blank. I spent an hour looking at my outline for this post trying to figure out how to make it amazing.

Then I decided to ask myself ‘How can I make this post mediocre?’ The answer was staring me right in the face – for both this question and the one above. I could make this post mediocre by simply explaining the tips and techniques for brainstorming and not giving any examples and not showing how to use these tips.

Group sessions


Group sessions are great for getting past ideas that have you stuck. If you’re stuck at a particular section of your project, a group brainstorming session can be your ticket to clarity. The people in your group bring their own experience and knowledge that will help you find ideas for solving your problem.

group sessions Brainstorming Tips and Techniques for Freelancers
(Image source: Yuri Arcurs)

It’s not necessary for the group members to be from the same field as you. As long as they have a rudimentary understanding of what you’re trying to solve, their ideas can be invaluable.

Sometimes, even input from someone who has no idea what you’re talking about can help. Encourage them to ask questions and propose any idea that comes to their head – even if it seems silly. Having a novice’s perspective on your problem may just be what you need to find a solution.

Ask Questions


Asking questions is a great way to come up with ideas and answers to your problems. Use prompters like what, where, who, when, and how.

Suppose you’re creating a website for a dentist, ask ‘Who is the customer?’ The answer will be, people who have problems with their teeth. Next, ask, ‘What kind of problems do they have? To which you’ll answer ‘Toothaches, cavities, dentures, etc’ and so on until you have all information you need.

Set A Time Limit


Setting a time limit is a great technique if you’re pressed for time or haven’t been able to brainstorm successfully. It forces you to focus and come up with as many ideas as it can in the given time.

time limit Brainstorming Tips and Techniques for Freelancers
(Image source: Gunnar Pippel)

The duration of the time limit depends on you. The limit has to be short enough to instil a sense of urgency but long enough to allow you to record all your ideas. If you’re trying this technique for the first time, start with 10 minutes.

For bigger projects, break your tasks down in small chunks and then brainstorm them one by one. This way you won’t feel overwhelmed by the sheer size of the project.

SWOT Analysis


A SWOT analysis is an analysis of your project’s strengths, weaknesses, opportunities and threats. Doing a SWOT analysis will give you a clear idea of what you have, what you need, what you can capitalize on and what you need to improve.

swot analysis Brainstorming Tips and Techniques for Freelancers
(Image source: Chad McDermott)

Reflection


The beauty of brainstorming is the lack of rules. It all depends on you. If you’re a list creator then you’re free to brainstorm through them. If you’re a graph lover then you’re more than welcome to go crazy with print or virtual graphs.

The only thing you need to do before you start brainstorming is:

  • Identify and elaborate the problem
  • Set rules for your brainstorming session (how many people per group in case of group sessions, time limit, etc)
  • Understand that there is no such thing as a bad or silly idea.
  • How do you brainstorm and what is your favourite brainstorming technique?

"
read more

Useful Ideas And Guidelines For Good Web Form Design

Useful Ideas And Guidelines For Good Web Form Design: "

The input form is an essential element of almost any website or application these days. Input is a core method of interaction, and in many cases it represents the hard conversion point between success and failure. With the amount time and effort we put into bringing users to our sign-up and contact forms, it’s surprising that we tend not to spend a proportional amount of time on the forms themselves.

A number of techniques and elements can be used in Web forms to turn them from abject failures into successful conversion points. In this article, we’ll present some interesting examples and useful guidelines for Web form design.

A Dash Of Quirkiness


Part of Web design is about communicating personality and being relatable, because people enjoy dealing with other people. One quality that almost always helps is a bit of quirkiness and fun. A small dose of friendliness and personality will make the input process a bit more enjoyable and human.

Jarad Johnson


Jarad Johnson‘s contact form has a flavor of good ol’ post card. The visual appearance of the form makes it stand out from the usual generic forms found elsewhere. A very nice touch to an often forgotten element of Web designs. By the way, the Postage for the email postal service was already paid. Good to know. Very well done.

11jarad in Useful Ideas And Guidelines For Good Web Form Design

Red Tiki


Red Tiki’s quirkiness is tied to the company’s brand and identity, but is powerful here nonetheless. From the frame motif to the wooden character peeking out, this form feels fun and approachable. Little colloquial phrases like “This lovely form” and “We’re always keen to lend an ear” are fantastic ways to make the company more relatable. The form is bursting with personality and flare, which helps the user complete the form and click the “Submit” button.

3red in Useful Ideas And Guidelines For Good Web Form Design

Applicom


Applicom’s form is a great example of how to be clean and professional without being sterile. Styling the form like a letter — with a stamp, subtle paper texture, striped edge and handwritten addressee name — may seem cliche, but it demonstrates a certain level of personality and care. Language such as the “Do: Be fine, use your real address. Don’t: Be negative, spam” may seem trivial, but it’s important. At the end of the day, it makes users feel like they are dealing with people who aren’t afraid to speak to them. Craftsmanship always indicates care and professionalism. People like that.

5applic in Useful Ideas And Guidelines For Good Web Form Design

Sophie Hardach


Sophie Hardach‘s form is another example of a post card idea implemented in a contact form. The input fields are a bit clearer than one would think, yet the “Submit”-button is a bit more difficult to find. In order to send the message, a stamp in the right upper corner needs to be dragged to the Stamp area of the form. In fact, the form is not only very original, but also accessible. Excellent work.

20sophie in Useful Ideas And Guidelines For Good Web Form Design

Two Paperdolls


Two Paperdolls has probably the busiest contact form of all the forms featured in this article. However, the form fits wonderfully to the overall design of the page which is a “We Are Hiring” page for designers with strong focus on typography. Notice the clean real-time validation for the form: the error indicator is diplayed in the right upper corner of each input field. Too bad that the navigation through form fields doesn’t work properly with “Tab”.

10twopaper in Useful Ideas And Guidelines For Good Web Form Design

Kontain


Kontain uses a different kind of a date picker for letting users pick the date for the form. The designers have arranged the dates in four rows rather than displaying them all vertically. A nice idea for reducing the horizontal scrolling for the users.

16-1kontain in Useful Ideas And Guidelines For Good Web Form Design

Wopata


Wopata‘s slider for the timeframe in their contact form is much different from the generic sliders, select-menus and radio buttons. This is a proof that filling in Web forms can be fun.

17wopata in Useful Ideas And Guidelines For Good Web Form Design

Fi


The language used on Fi is more friendly than formal. The inviting nature is reinforced by the short colloquialism for each form field that illustrates why the information is being requested. The language of labels should give off a little charm, without being insincere or overbearing. Isn’t everyone more engaged in a conversation if the other person is pleasant and approachable?

2fi in Useful Ideas And Guidelines For Good Web Form Design

egopop


egopop has a very simple, perhaps oversimplified contact form which however has a nice touch. The weird character on the right side plays wonderfully together with the other characters on the site and makes the contact form less boring than it would be otherwise. The contact form opens in a lightbox.

6egopop in Useful Ideas And Guidelines For Good Web Form Design

IdyllicCreative


Some forms are boring, while some are beautiful. IdyllicCreative‘s contact form is remarkably simple yet beautiful. Another example of a design agency which integrated a character from their work in their contact form.

8idyl in Useful Ideas And Guidelines For Good Web Form Design

Tinkering Monkey


Tinkering Monkey‘s character on their contact page is another interesting example of how the contact form page can be made a bit less boring. Notice the FAQ area on the right side of the contact form. An excellent idea for helping customers quickly find answers to their questions once they feel lost and can’t find a solution to their problem.

25tinkering in Useful Ideas And Guidelines For Good Web Form Design

Ditio


Ditio‘s designers have decided to combine their sign up form and a contact form in a hidden sidebar box, very much like it’s often done with the fixed “Give feedback” buttons on the left or right side. Once a trigger button “Inschrijven” is clicked, users can sign-up for their account and even upload a CV. Notice that there is no textarea available for lengthy details.

3ditio in Useful Ideas And Guidelines For Good Web Form Design

Treehouse Editing


Treehouse Editing’s contact form is another example of a quirky design with a clean and lean layout. When the user navigates to the page, the background changes to a spring theme, which is itself associated with making contact, thus encouraging them to fill out and send off the form. Notice that all that is necessary for initial contact fits into a couple of fields; further information can be collected in subsequent correspondence. Ask yourself whether a minimal layout would do the trick on your website as well.

4treehouse in Useful Ideas And Guidelines For Good Web Form Design

Amazee Labs


Amazee Labs doesn’t have to do much to make its form usable and inviting. The form has only a few quirks, namely the texture, the “Hi there, let’s get in touch!” line, and the “Send It!” button. It may not seem like much, but the casual language, careful color choice and overall texture help Amazee Labs instantly feel like a friendly and easygoing bunch.

6amazi in Useful Ideas And Guidelines For Good Web Form Design

Wing Cheng


The motif of Wing Cheng’s website is an open sketchbook, with most of the sections designed as sketches and thumbnail drawings. The contact form maintains this personality and coherency by following the motif. The form is simple and appropriate. The thought diagram with the email address adds visual interest. Maintaining the hand-drawn style is what brings out the quirkiness. Imagine how jarring and uninviting this form would be if it was a default HTML field set stuck on top of a beautiful paper texture.

7wing in Useful Ideas And Guidelines For Good Web Form Design

Break It Down


No one likes a humongous unending list, especially a list of elements to fill in or interact with. Just as a giant paragraph of text is daunting to the user, so is a giant block of empty fields. To coax the user to the finish line, the designer should make them feel like they are completing steps, or bite-sized chunks. Take a giant web project: trying to wrap your head around it all at once is almost impossible. But if you break it down into goals, and then stages, and then sets of tasks, it becomes much more manageable. This is what we want in a Web form, especially if you’re asking for a sizeable amount of information. Keep in mind that you can organize a form simply by sectioning off parts of it or by arranging the content into columns.

CollisonLabs


CollisonLabs‘s contact form might appear to be a bit too complicated at the first glance, but it’s quite straightforward. The left side of the contact page contains alternative contact information as well as a map which is designed with the overall design of the website in mind. On the right side, each input field is clearly represented and highlighted when the user fills out the form. Nice, clean work.

14collision in Useful Ideas And Guidelines For Good Web Form Design

Visual Republic


Visual Republic‘s choice of design for input field labels is similar to the solution by guys over the CollisonLabs. Giving the field label a solid background with an arrow to indicate where the text would need to be typed is a nice technique that could be used more often.

26visualrepublic in Useful Ideas And Guidelines For Good Web Form Design

CSS Tricks


CSS Tricks‘s comment area is a great example of a well-organized, helpful and clean comments area. Notice how the “star” image in the text area fades away as the user types in some text in the form.

22csstricks in Useful Ideas And Guidelines For Good Web Form Design

Barley’s Greenville


Barley’s Greenville‘s form for beer rating is an interesting example of how multiple sections can be combined to make the form intuitive and easy to use. Notice the arrow-like symbol between the first and the second section as well as various shades of the brown color within the form.

23barley in Useful Ideas And Guidelines For Good Web Form Design

Blue Sky Resumes


Blue Sky Resumes uses sections to make its extremely long form much more manageable. Standard headings and horizontal rules are used to divide sections. The designer was also careful to visually distinguish the different sections so that the form doesn’t look like a long list of fields.

 in Useful Ideas And Guidelines For Good Web Form Design

Validate Clearly


Users will not spend extra time making sure they have given you all of the information you need. Many designers believe that form validation detracts from the user experience, but its effects are adverse only when done poorly. When validation is simple and clear, it merely offers alerts and guidance to the user.

Make sure that you clearly mark the problem and tell the user exactly what is wrong. The fastest way to kill the user experience is with generic error alerts that mean nothing to the user. People are more than happy to quickly fix an issue if it is pointed out to them plainly.

Moody International


Moody International provides an excellent example for a contact form that nicely combines different types of contact information in one place. On the left, you’ll find a postal address along with a map, a phone number as well as the company’s email address. The right side is dedicated for more detailed inquiries and consulation requests. The form’s labels disappear once the user has provided their data. Unfortunately, the form doesn’t have an instant real-time validation and uses JavaScript pop-ups to inform the users about their input mistakes. Besides, the map on the left side could be integrated a bit better by using zoom controls as well as search functionality provided by Google Maps.

1moody in Useful Ideas And Guidelines For Good Web Form Design

El Passion


El Passion is another example of a contact form that combines various types of contact information in a very compact and meaningful way. Real-time validation in use. The map on the left side could be zoomable, though.

5elpassion in Useful Ideas And Guidelines For Good Web Form Design

Orlando Advertising


Orlando Advertising‘s form beautifully integrates its branding colors in a clean and attractive Web form. The red borders might be misunderstood and could be used to visually highlight errors in the form, but instead validation errors are displayed once the “Submit” button is clicked.

28soap in Useful Ideas And Guidelines For Good Web Form Design

Reinvigorate


There are usually two essential elements to effective form validation: identifying the specific problem, and clearly marking how and where to fix it. Reinvigorate uses an alert icon and a loud red outline to indicate the problem, and then it uses the side column to tell the user what’s wrong with the information. Moreover, the user gets a visual indication when the information is corrected. Being clear about the problem and not leaving the user in the dark make for a smooth experience.

Reinvigorate in Useful Ideas And Guidelines For Good Web Form Design

GitHub


GitHub‘s sign up form is as simple as its overall design, yet its beauty lies not in aesthetics, but in its functionality. When you enter your credit card details, GitHub automatically recognizes the credit card provider and visually highlights it in the form, thus providing instant feedback to the user. A wonderful example of invisible design.

15-1-github1 in Useful Ideas And Guidelines For Good Web Form Design

15-2-github2 in Useful Ideas And Guidelines For Good Web Form Design

Blue Sky Resumes (revisited)


I would like to point out another great part of Blue Sky Resumes’ form. The error alert is clear and specific. By specifically telling the user that their name is missing, the user is spared confusion and is able to find their bearings quickly. To reinforce this message, the name field is clearly highlighted and marked as required.

 in Useful Ideas And Guidelines For Good Web Form Design

Interactivity


A form is an interactive part of a website or application. In general, people want to interact with elements that feel alive and that follow convention. Many forms have a slight indent, creating a slight 3-D effect, whereas other forms simply show a box outline to delineate form fields. The key to any interaction is expectation and feedback. Make sure your forms react to user input, mainly by specifying the focus and hover states of input elements.

Grooveshark VIP


On Grooveshark, its styling of the focus and active element makes it clear which field is being interacted with. Besides, erors are displayed in a nice, helpful way while error messages are displayed at the top of the “window” using Ajax.

12grooveshark in Useful Ideas And Guidelines For Good Web Form Design

The design helps the user to maintain focus and to breeze through the form. It even makes it kind of fun, because the user wants to see a response when they click on or interact with an element.

Unlocking


Unlocking‘s checkout form is a nice example of how simple design can work very well with appropriate level of responsiveness. The input fields look nice, the hover state is very clear and the hints on the right side are helpful and unobtrusive. The contact form shows a subtle blue background when the user focuses on a field.

The form uses an additional color to highlight fields. As long as the interaction creates a noticeable effect, the form will be more usable.

The highlighting is not as bold as on some other sites featured above, but still effective and interactive and perhaps even more usable.

18unlocking in Useful Ideas And Guidelines For Good Web Form Design

Jason Long


Jason Long‘s form silently sits on the page, doing nothing, unless… well, unless you send it out. Jason uses an animated contact form which flips and changes as the message is being sent. An interesting, memorable tweak that makes the user experience just a tiny bit more interesting.

38-1-black in Useful Ideas And Guidelines For Good Web Form Design

38-2-black in Useful Ideas And Guidelines For Good Web Form Design

38-3-black in Useful Ideas And Guidelines For Good Web Form Design

The Finish Line


An effective Web form should get the user to cross the finish line. It might be a “Submit” button, an order confirmation button or a sign-up button. At the end of the day, the designer wants the user to hit that conversion point and be reasonably happy with their decision.

Make sure that the way of submitting the form is bold and specific. Where possible, use language like “Send email” or “Finish signing up,” so that the user understands exactly what the button will do.

Squarespace


On Squarespace, the designer has gone as far as to label the button “Finish & Create Site” and has also made note of its function just below. This page is especially effective because of the contrast: the layout is completely monochromatic, so making the button green puts more focus on completing the process.

1sqr in Useful Ideas And Guidelines For Good Web Form Design

BLITZ


BLITZ has come up with an interesting solution for their contact form. A content block appears in a lightbox and presents three different types of contact forms: inquiry about business, jus saying “Hi” and CV submission. The forms have a similar appearance but have a different structure. In all cases, the user has a checkbox for email updates at the bottom as well as postal address under the form. One confusing bit is that the form fields get a red border when you type in your data. Some users might confuse it with error notifications.

12blitz in Useful Ideas And Guidelines For Good Web Form Design

Custom Bags HQ


Custom Bags HQ has tried to combine various content blocks within one context. The “Contact” link in the upper navigation leads to a page which contains both the contact form and the “About us” information. In our opinion, “About us” doesn’t really detract from the user experience, but it doesn’t enhance it either. The link doesn’t feel right here, at least at the first glance. Interesting idea: the form contains a checkbox asking users if they are interesting in receiving an email newsletter. A smart handle to keep customers close to you and keep them informed about your updates and news in the future.

7custombag in Useful Ideas And Guidelines For Good Web Form Design

Clear Labels


Any interaction that we encourage must be as non-threatening as possible. After all, we are asking for personal information of the user. They are under no obligation to provide it. The first step to avoiding frustration and confusion is to use plain and simple language. Make it to the point and not flowery.

Foundation Six


Foundation Six’s labeling is effective because it streamlines the process and simplifies commitment for the user. The company boils each category of information down to one word. The “Submit” button is also clear and straightforward. There is no confusion in the user’s mind. Another strength here is the balance between multiple choice and fill in the blank (which we’ll get to below).

Foundationsix 01 in Useful Ideas And Guidelines For Good Web Form Design

Bärnt&Ärnst


Bärnt&Ärnst‘s designers follow their minimalistic approach to design and provide all contact information such as postal address, phone numbers, email as well as a short form for user’s convenience. Often you really don’t need to require more information than that for the initial email.

2born in Useful Ideas And Guidelines For Good Web Form Design

Zoltan Hoszu


Zoltan Hoszu‘s contact page illustrates how icons can be used effectively to indicate the purpose of input fields. The form itself is very simple and quite unspectacular, but icons as well as some subtle textures make it a bit more distinctive and interesting.

33zoltan in Useful Ideas And Guidelines For Good Web Form Design

Stuck Axiom


The labels in Stuck Axiom’s “New business” contact form are short and concise. The simple language and clear labeling make the form non-threatening and easy for the user to fill out. Contrasting with the gray of the form fields, the “Submit” button is set off and accented in red, making it clear where to click.

8struck in Useful Ideas And Guidelines For Good Web Form Design

Solid Giant


With clear labeling, not too many check box options and predefined budget ranges, Solid Giant can get back to a potential client with a precise offer. The “Submit” button is clear and straightforward, marking the end of an intuitive path through the form. All elements are described carefully, and there is no room for the user to misinterpret what information to enter where.

9solid in Useful Ideas And Guidelines For Good Web Form Design

Joey Rabbitt


Joey Rabbitt isn’t a fan of lengty emails. The message of the textarea can contain at most 500 characters. However, if the user would like to email Joey directly, he can use an email on the right side of the page. Joey also showcases the networks he is a member of as well as his current location. Notice how beautifully the content is designed by using icons and various colors of grey throughout the page.

4joey in Useful Ideas And Guidelines For Good Web Form Design

Multiple Choice Vs. Fill In The Blank


Selecting items from a list is naturally easier than filling in a blank. A blank sometimes raises more questions than it answers, especially if the labeling is not clear or there are too many empty fields. The user may be confused by the format, the type of information being requested or how exactly to answer a question. In general, a choice is better than a blank, especially with information that could be confusing, such as scope, budget, project type, etc. This is why most order forms do not require you to fill out every piece of information.

Pieoneers


Pieoneers uses the fill-in-the-blank format in the left column for generic information, with established conventions for format and type. On the right, more complicated questions are in the form of drop-down boxes, letting you choose between broad options, so that there is no confusion or hesitation.

10pie in Useful Ideas And Guidelines For Good Web Form Design

Information Highwayman


Information Highwayman cleverly combines multiple choice and fill in the blank. The empty fields are for simple bits of information specific to the user: name, email address, comment. These are all non-threatening and could not be formatted as multiple choice. Questions related to services sought and budget tend to be more complicated. Giving user some options here simplifies the process of explaining what you’re asking for.

Information-highwayman in Useful Ideas And Guidelines For Good Web Form Design

When Things Go Wrong: Facio Design


Facio Design‘s contact form is probably the most difficult contact form featured in this article, and rightly so. The choice of typeface and the font size is suboptimal as it is very difficult to read, especially on Windows. The designers have tried to mimic the appearance of a letter, but it doesn’t quite work here. A very simple, basic form would work better here. A nice example of how aesthetics can fail the functionality of the form.

37facio in Useful Ideas And Guidelines For Good Web Form Design

Conclusion


This overview covers a few simple best practices that you can apply to Web forms. Just remember to spend the extra time on your next website; many of these approaches are not hard to implement and will lead to much higher conversion rates, but they are often overlooked. We spend so much time getting people to the door that we forget to make the door as inviting and useful as the path to it.

© Shawn Borsky for Smashing Magazine, 2011."
read more