Web development , php , ajax , symfony, framework, zend
In: web resources
6 Jan 2010How to choose (or design) components based on sound principles of usability.
As a user interface designer, one of the most exciting changes I’ve seen in last few years has been the growth of rich Internet applications. Although I designed many good standard Web applications, interactions and components have long been limited. It was like trying to build a Lego sculpture with only three shapes. To me, having a full range of Legos is necessary to meet the complex challenges of designing interfaces for RIAs.
I have to think much harder when I design rich interfaces than when I work on standard Web applicaitons. With the increased flexibility and more components comes a higher risk of making silly mistakes. If I use a component inappropriately, users can’t figure out what to do, even though the components may look cool.
The purpose of this article is to help designers avoid mistakes and to help them choose (or design) components based on sound, fundamental principles of usability.
Before I get into that, let me explain what I mean by a component. A component is the most granular piece of an interface. For instance, a component might be something for a user to make a selection from a list, choose ranges, or to enter, edit, and view data. This would include drop-down lists, text entry boxes, sliders, editable text, and others. Sometimes components are called controls.
Selecting and using good components is a very important part of the design process. It would be easy to write a spec that says “drop-down list goes here,” “editable data field goes here,” but we need to do more than that. All drop-down lists are not created equal. Some are inherently usable, and others are terrible. Designers need to be mindful about how every component works—from how it displays on screen, what triggers it, what feedback it provides, and what happens when the user finishes an action. Designers shouldn’t leave component selection to developers, and developers shouldn’t assume their favorite component library is actually usable.
But back to usability. There are some fundamental principles of how human cognition works that can help us choose components and feel confident they’ll be usable. Let’s look at them.
Vision is our dominant sense (for those of us with reasonable eyesight) and we, as designers, rely heavily on users to visually notice, interpret, and understand our designs.
There are many interesting facts about vision that impact usability. Here are some important issues that will lead to better usability:
Why do I mention these facts when talking about interface design? Because they have everything to do with users seeing components on pages and noticing change. If people can’t see something or see it change, they aren’t going to be able to use it.
So when choosing components, here’s a handy checklist:

Kayak.com uses contrast and change to attract visual attention to the “updating results” message.

Quickflix uses deep shadow to make this notification message pop-out.
Assuming users spot a component, the next important part of usability is to indicate tothe user in to what the component does. There are two concepts that help users figure out what to do with something: affordance and intuitiveness.
Affordance
Affordance is the attribute of an item that communicates what can be done with it. When effective, users should be able to figure out what to do with an item just by looking at it. For example, in the physical world, round door knobs are for turning, buttons are for pushing, and chairs are for sitting on. Online, shadows and highlights can make buttons pop (which helps users know they can be pushed), sliders look like they can be slid, and dials look like they can be turned.
Intuitiveness
Everyone says they want interfaces to be intuitive. The funny thing about intuitiveness is that an interface can’t be intuitive—only people can be intuitive. Intuitiveness is also different to innateness (possessed at birth). Intuitiveness is about learned behavior and can be considered synonymous with the phrase “easy to learn.”
Things that are easy to learn build on existing knowledge. As designers, we need to know something about our users’ existing knowledge before we can design or choose a component that will be help them act intuitively. This knowledge may vary with the topic, perhaps on the user’s experience with computers, or the user’s overall exposure to the product.
Following the two key principles of affordance and intuitiveness, a usable component will be one that:

When you open the geolocator on etsy.com, the globe is spinning slowly—a visual indicator that it can be spun.

This menu looks, feels, and works in a similar way to a Microsoft Windows menu, suggesting familiarity.

This drop-down looks like plain text, not like a drop-down menu. People won’t understand what to do with it.

This component breaks convention. Checkboxes are for multiple selections, not for toggling pairs of items.
Another important part of usability is feedback. As users work with an interface or with components, they need to receive clear, helpful feedback about their actions. All feedback must be plainly visible, and must happen where the user is looking.
Feedback can take many forms, including (but not limited to):

Progress indicators help people know something is happening.


Twitter provides immediate feedback after clicking the “follow” button.

The MSN password strength component provides immediate feedback as you set your password.
Error management has always been an important part of interface design, and it is even more important when designing interfaces for rich Internet applications.
There are three aspects to error management:
The overarching goal is to help people avoid errors in the first place. Much of this can be accomplished with good task flow, layout, and labeling. But choosing the right components is a very big factor in error management. For example:

Date pickers help users avoid errors in format and date entry.

This button has help text so users can readily understand the consequence of an action.

Amazon‘s auto-complete functionality helps users avoid spelling errors.

Todoist‘s forgiving format allows users to enter the date how they want, not how the system demands.
When designing or selecting components, use this checklist to make sure every component in the interface will be usable. If you do, your work will make users happy, and that is your goal as a designer.
This article was originally published on the User Interface Resource Center (UIRC). For more info, please see http://uxmag.com/uirc
This blog delivers stylish and dynamic news for designers and web-developers on all subjects of design, ranging from: CSS, Ajax, Javascript, web design, graphics, typography, advertising & much more. Our goal is to help you communicate effectively on the web with an engaging website or functional interface.
8 Responses to Designing & Selecting Components for UIs
Tough Guy
January 21st, 2010 at 8:23 pm
Industrial designers are concerned with form (looks).
Product designers are concerned with function (operation).
Vincent G
February 12th, 2010 at 8:28 am
I believe what your asking is how can you send an unknown number of parameters of the same type to a function.
The simple answer is use an array as the parameter.
For example this function will take an array as an input and give you the maximum value of the integers in that array:
C Find the largest integer
FUNCTION MAXIMUM(IARRAY)
INTEGER :: NSIZE = SIZE(IARRAY)
DO 10 I=1,NSIZE
IF (MAXIMUM.LT.IARRAY(I)) MAXIMUM=IARRAY(I)
10 CONTINUE
RETURN
END
rose
February 13th, 2010 at 9:12 am
ok go to control pannal internet options dealt browsing history
blessed_thang
March 21st, 2010 at 4:06 pm
You don't say how old you are. It helps if you're under 30. It's who you know. If you don't anyone know, knock on doors where you'd like to work and have a spiffy CD / resume.
You don't say what language you can program.
Look through the papers for the classified jobs and the job descriptions are pretty specialized and citing "with 2 years verifiable job experience." Certification doesn't seem to matter. I noted with interest one state university that I admire had 60% job offers for their IT grads for 2007.
Any more, when I'm looking, I start out with the craiglist and see where the job offer locations are from. I don't bother with hotjobs.com, things like that. Those are fronts for temp agencies.
Famp F
March 22nd, 2010 at 4:38 am
- try this one. It has brief resumes for all US university IT courses, how much average grade should you have and some useful tips to apply.
potato
March 23rd, 2010 at 8:08 am
dizzy spell. fainting. I'm not sure exactly what it's called. But it's proably got something to with blood and the word 'low'.
Low blood pressure
Low blood sugar
Low iron in blood.
Get it checked out!
GodsChild
March 25th, 2010 at 5:57 pm
Hi,
First I want to say that I understand what you are going through. I have a B.S. in Business Admin. and working on an MBA with a concentration in Finance (if I don't change it) and I have struggled in finding a job. It took me 3 years to find a job after undergrad.
Concerning your situation, I encourage you not to give up if this is the area that you are passionate about and really want to pursue. One thing you should consider is learning those languages that companies are looking for. This will increase your chances – even with previous job applications. Also, ask some IT professionals about landing their first jobs and how they found their first jobs in the field.
Also, expand your options. Look into do something on the side to keep you occupied and going forward. I have just realized that I need to expand my options and I am thinking of doing phlebotomy to supplement for lapses in jobs. The medical field is a good area to do as a back-up because of high demand. (In my opinion)
Continuing with a temp position is also another choice to build up your time in the field.
Please know that you are not alone. By the way, I am 26 years old. Keep going strong and trying to find what you desire.
Thanks,
GodsChild
Aniruddh
April 3rd, 2010 at 2:18 pm
Think about Pandit Gangadhar Vidyadhar Mayadhar Omkarnath Shastri . Gram Bhatinda Post Tikholi….means Shaktiman