Both floats and positions deal with the relationship of elements between each other. Without these, padding and margins would be ineffectual.
Both floats and positions deal with the relationship of elements between each other. Without these, padding and margins would be ineffectual.
An article on how to make your site navigation usable.
This script uses jQuery to dynamically pad horizontal navigation elements to fit a specific width container (great for CMS where you can’t build static nav structures).
26 cool and useful jQuery tips, tricks & solutions that you can use!
When in reality you should do what works best for you and your users. Here you will find a variety of excellent User Interface resources that will allow you to access, redefine, and create a well designed User Interface.
With spring on the way, we figured it was about time for some inspiring spring photography! Each of these photos capture the themes of growth and vitality associated with the season. Many of the photos include macro shots of flowers, and the shift from winter to the approaching life of summer.
![]()
I love simple and sleek looking icons. I love them even more when they’re easy to make, and completely versatile as a foundation for a ton of other icons. With a little practice, you can probably whip out some really beautiful icons in under a few minutes!
Hi! My name is Brian Tom and I’m the San Francisco based Freelance Graphic Designer who works under the alias of Hoshimo. I focus mainly in logo and identity design, but when I can, I love designing anything I can get my sticky fingers on. Feel free to check out more of my work at Hoshimo.com, follow me on Facebook, or find me on Twitter.
Below is the final image that you’ll get from working through this tutorial. It’s my logo! But as you trek through this tutorial, you’ll soon see that you can apply the steps to almost anything you want. I’m a strong believer of dissecting other people’s files to learn from them, so here is the .ai file (AICS3).
![]()
Let’s take a quick look at what we’re making here. Wait, what? Two shapes with just some minor variations? Yep. The beauty of this tutorial is that it’s simple, but also shows tips on how to apply transparency modes and simple shapes to create the effect of light, shadow, and depth.
![]()
Create a rounded square by using the Rounded Rectangle Tool. Make sure to hold down shift to keep it proportionally constrained. Before you let up on the mouse click, toggle the radius of the corners by hitting the up or down arrow keys. Fill the shape with a 30% black (in the swatch palette it says K=30) to a 60% Black gradient and use the Gradient tool (G) in the toolbar to get it going from top to bottom. Set the stroke to a 1px black. Select your beautiful new shape, Copy (Command + C) and Paste in Front (Command + F), then while this copy is still selected, go to Object > Path > Offset Path and set the Offset to -3 (make sure its NEGATIVE 3!). You should see a new rounded rectangle within the one you had originally made. Select the top two rounded rectangles (the copy and the offset, not the original), and go to Object > Compound Path > Make or you can just hit (Command + 8). With the new shape selected, remove the stroke and set the transparency mode to Multiply. Check below to see what it should look like by now.
![]()
We’re basically going to be repeating what we just did to create another inner bevel. Select the original rounded rectangle, Offset it -3px, then without clicking anything, offset it -3px AGAIN. Select those two new shapes and make a Compound Path out of it. Remove the stroke and set the Transparency Mode to Screen at 25% Opacity. Time to create some environment by adding a simple shadow. Create a white Ellipse. Copy, Paste in Front, change color to black and shrink it down. Select both objects and Blend (Command + Alt/Option +B). Set the Transparency to 75% and the Mode to Multiply. Send this shape to the back (Shift + Command + [) and place it nicely under the icon. Resize it if needed.
![]()
Time for the fun stuff! Create a simple shape (even a letter will do). Copy, Paste in Front, then Paste in Front again. We have three of this shape now, with the newest one selected. Tap the down arrow a couple times, then select the top two objects and use the Subtract Pathfinder. Set the Transparency to Multiply at 75%. Now select the original shape, Offset Path 3px (positive 3 this time) and give that shape a black to white gradient. Make sure the gradient goes from top to bottom with white on the bottom. Set the Transparency to Screen. And. We. Are. Done!
![]()
Some simple techniques, some tools we might not usually use in Illustrator, and a little bit of time can get us some awesome results. These steps are great for adding subtle depth to graphics and getting pixel perfect highlights and shadows. I’m sure you’ve noticed this style in many other graphics online, in typography and website designs too. Now you know how to do it! I hope you enjoyed it!
![]()
So many articles explain how to design interfaces, design graphics and deal with clients. But one step in the Web development process is often skipped over or forgotten altogether: content planning. Sometimes called information architecture, or IA planning, this step doesn’t find a home easily in many people’s workflow. But rushing on to programming and pushing pixels makes for content that looks shoehorned rather than fully integrated and will only require late-game revisions.
[By the way, did you know we have a brand new free Smashing Email Newsletter? Subscribe now and get fresh short tips and tricks on Tuesdays!]

On day one things are great. You’ve landed a new job, the client is excited, you’re stoked and the project will be great. First things first: you have to collect the main materials to begin the design. You send the client an email asking for what you need.
On day two you get the following:
And on day three you get an email that makes half of the junk you got yesterday obsolete.
You’re only three days in, and the project is already no fun. You got into Web design to make great layouts, solve problems and create functional art that breathes through programming. It never occurred to you that cleaning up your client’s disorganization would be a part of the gig.
We know that a great website relies on all parts working in harmony. To achieve this, you have to start on the right foot at the beginning of the project. You need an organizational system that does the following things:

Your website’s users will have to “live” inside your website for a period of time. Because of this, some real-world architectural principles apply to website planning. A sense of context and “place” helps users find what they’re looking for. When we talk about the architecture of a website, we’re talking about the hierarchy of its navigation and its structure. We’re not talking about graphics, text or anything cosmetic.
You can plan your architecture in many ways.

Card sorting is a way to organize content based on hierarchy. To try it, simply put all of the pages for your website onto index cards. Ask stakeholders to sort those cards into logical stacks that represent the hierarchy of your website’s navigation. It’s a great exercise to make sure that the content on your website can be found in the most logical place and that like-minded content is grouped and named appropriately.
A few resources to learn more about card sorting:

A content inventory is a great way to understand the breadth of your website and the purpose of each page. Simply create a spreadsheet of all your pages and their corresponding URLs. But a content inventory gets much more useful when you add things like page notes and single-sentence summaries of why a page exists. Use a content inventory to quickly understand topography and figure out what should fit where. It is a great way to think through a redesign but may not be the best way to plan new websites.
A few resources to learn more about content inventories:

Sometimes paper just feels good. The free form allows for incredible expressiveness, and nothing is faster for capturing ideas. Unfortunately, the drawbacks are tough to ignore. Paper is easy to lose, hard to share, wasteful and not very useful past the early stages of a project. Eventually, everything for a website becomes digital, and so going digital as soon as possible is best. Use paper to capture thoughts in a meeting to brainstorm and to explore. But do yourself a favor and transcribe or scan the information as early as possible.
A few resources to learn more about sketchboarding:

A visual site map is quick to make, fairly expressive and easy to change. People have all sorts of methods for building site map diagrams. Whatever your tool, the diagram is a useful way to demonstrate hierarchy. It clearly shows the relationships between pages and tells you where your website is too shallow or deep.
A few resources to learn more about site maps and diagrams:
There is no one right way to plan the architecture for a website. Depending on the size of the website, you might use all of these techniques. They’re not opposed or mutually exclusive—just different means to similar ends.
When picking your method of architecture planning, consider these things:
A few tips on architecture planning:
Like the website itself, each of your pages has a structure and hierarchy as well. The architecture helps users find the right page. The hierarchy and semantics help users find the right content on that page. Too often, copywriting is an afterthought in Web development. No matter how attractive, clever or interactive a website is, its main purpose is to convey information. A great website is designed around the content.
Most of the tools that are great for planning architecture are not so good for planning content. This causes many people to skip the process of content planning, to abandon their copywriters and to use their CMS as a content organizer (i.e. leaving it as an afterthought).

Making your own wireframe is a smart way to demonstrate your plans to collaborators. It’s a great visual tool and very expressive. The drawback of using manual wireframes is that they are… well, manual. You’ll end up spending time on the front-end getting everything just so and more time on every revision. While manual wireframes are the perfect tool for many DIY coders, keep things simple! If you over-design your wireframes, your client will focus more on cosmetics than substance.
A few tips on manual wireframes:

Many copywriters reach for MS Word or Apple Pages when starting to write website content. The simple tools are often the most useful and powerful. In this case, that’s only partly true. While text editors are a great way to quickly organize text, they have their drawbacks in website planning.
A few tips on using text editors for website planning:

As with text editors, many people already own a tool that creates slides, such as PowerPoint or Keynote. In fact, for many office professionals, it’s the only layout tool they own. Thus, many websites are planned in PowerPoint. Its availability and relative ease of use make it a good option for some workflows.
A few tips on using slideshow creators for website planning:

Jumpchart lets you make simple and quick HTML wireframes. Whatever planning method that works for you is a good one. But in our studio, we find that no tool gives us as much flexibility or momentum as Jumpchart, and that’s why it’s our tool of choice. It simply organizes content hierarchically, compiles feedback and exports to the next stage of the development process.
A few tips on using Jumpchart for website planning:
Finding the right combination of tools and processes is an important part of planning a website. A lot of thought should go into even the smallest website. This can be daunting for even the best developer, but we’ve yet to cover one of the biggest obstacles to the development process: the client.
Calling the client an obstacle is not fair, of course, but it feels that way occasionally. Clients can throw a wrench in the cogs of the best process. Take pity on them, though. They have jobs and lives like the rest of us. This “website” thing is usually just another line on their long list of action items. To create a planning process that embraces the human component, consider how you can better accommodate their needs.

Clients change their minds. It’s in their genes to be indecisive and difficult. If they knew what the heck they were doing, they wouldn’t need us. Our job is to turn their mess into perfection. Despite the mess, budget and timeline, your work will be judged on its own merit. You either got it right or you didn’t, and there’s no passing the buck.
This Scylla and Charybdis are no reason to stop trying. What you need is a workflow that embraces change rather than resists it.
If you plan in a vacuum, you’ll only end up with a pile of lint. The secret to efficient planning is to include those with authority in the process. If you spring architecture and content on stakeholders late in the game, expect far-reaching changes that require backtracking.
Get architecture, content and deliverables approved before moving on to the next steps. Modern CMS’ have templates that can accommodate a wide variety of content, and this might make it seem as though content organization and architecture aren’t your problem, but they are! If you write the CSS and programming without understanding what exactly you’re building, you will be forced either to backtrack or to fit content into a template that isn’t ready for it. Content comes first.

You may be a great designer, programmer, architect or manager, but if you can’t show progress and convey ideas to clients, you will fail. Clients need feedback. They need to see where you are heading with the project. Telling them is one thing; show them another. Many potentially great websites were derailed because the designer did not effectively explain what was happening to the client.
So you’ve dodged all potential problems so far. The die is cast, and the plan is laid. It’s time to start designing and building the website. Do you have to start over now, or will your plans accelerate the process? It’s been said before, but a plan that has no momentum is wasted. If you have to retype, reorganize or re-explain your plan in order to start the next step, you’ve been wasting time.
A great design process builds on the website’s content. A great process allows you to build on the last step. To be cost-effective and efficient, the process should include only the critical steps. An awkward transition from planning to building a website is a common roadblock. Frequently, the people who plan a website and communicate with the client aren’t the people who actually build the website. This means that the planning documents have to be expressive and comprehensive in conveying the process that has been followed to date.
Avoid costly revisions and staff frustration by having a process that slingshots you into development rather than requires backtracking and further investigation. Sure, the process should be fluid, but a good plan ensures momentum.
As professionals, we need to embrace better planning methods in our projects. Being agile is great, but don’t outrun your client or the goal of the project. True agility is about being adaptable and reacting quickly. Planning a website is a daunting task, but it can be done if you stick to a process that works.
So many of us design too fast. You need to make so many decisions before working on a visual wireframe or pixel-based mockup. If you start designing before understanding the breadth and depth of the content that your website will contain, you’ll inevitably have to cram stuff into places that it doesn’t fit.
Building a website is like telling a good story. It starts with a cohesive outline and clear plot. No matter how fantastic your website looks or works, eventually someone will read it. Someone will have to navigate it. Truly great websites pay attention to content and organization. There’s no way to fake that late in the game. Greatness comes from a solid plan.
(al)
© Kristin Wemmer for Smashing Magazine, 2010. | Permalink | 15 comments | Add to del.icio.us | Digg this | Stumble on StumbleUpon! | Tweet it! | Submit to Reddit | Forum Smashing Magazine
Post tags: ia, planning
I’ve been creating a lot of slideshow posts lately. Why, you ask? Because they help me get chicks. A quick formula for you:
var numChicks = $$('.slideshow').length; //simple!
The following code snippet will show you how to create a simple slideshow with MooTools; the script will also preload the images and feature a progress message. Why preload images? They make the slideshow more elegant and you can avoid an onLoad mess. Oh, and chicks…loads and loads of chicks.
<div id="slideshow-holder"> <div id="progress"></div> </div>
Basically just two DIVs which will hold content.
#slideshow-holder { width:600px; height:400px; background:url(spinner.gif) center center no-repeat #fff; position:relative; }
#progress { position:absolute; width:100%; text-align:center; color:#999; top:225px; }
The image holder is given set dimensions, starts with a background spinner, and its position set to relative; the images will all be positioned absolutely. The progress holder is set right below the spinner.
window.addEvent('domready',function() {
/* preloading */
var imagesDir = 'epics/';
var images = ['2.jpg','3.jpg','1.jpg','4.jpg','5.jpg'];
var holder = $('slideshow-holder');
images.each(function(img,i){ images[i] = imagesDir + '' + img; }); //add dir to images
var progressTemplate = 'Loading image {x} of ' + images.length;
var updateProgress = function(num) {
progress.set('text',progressTemplate.replace('{x}',num));
};
var progress = $('progress');
updateProgress('text','0');
var loader = new Asset.images(images, {
onProgress: function(c,index) {
updateProgress('text',index + 1);
},
onComplete: function() {
var slides = [];
/* put images into page */
images.each(function(im) {
slides.push(new Element('img',{
src:im,
width: 600,
height: 400,
styles: {
opacity:0,
top:0,
left:0,
position:'absolute',
'z-index': 10
}
}).inject(holder));
holder.setStyle('background','url(logo.png) center 80px no-repeat');
});
var showInterval = 5000;
var index = 0;
progress.set('text','Images loaded. MooTools FTW.');
(function() {slides[index].tween('opacity',1); }).delay(1000);
var start = function() {
(function() {
holder.setStyle('background','');
slides[index].fade(0);
++index;
index = (slides[index] ? index : 0);
slides[index].fade(1);
}).periodical(showInterval);
};
/* start the show */
start();
}
});
});
The first set of variable declarations represent basic settings for the preloader: images, preload-message-updating, etc. We pass our Asset.images instance an array of images. When each image loads, we update the status message. When every image has loaded, we remove the status message and start the slideshow. That’s it!
Of course the above could be turned into the class….I’m just slightly lazy…Feel free to turn it into a class and share with everyone!
Don’t forget to follow me on Twitter and be sure to visit Script & Style for the best Javascript and CSS articles around!Sponsor the David Walsh Blog and get your brand in front of several thousand users per day!
Create a Quick MooTools Slideshow with Preloading Images
Related posts:
Microsoft Internet Explorer 9 to add SVG (scalable vector graphics), background compiled Javascript and HTML5 support.