Neither I am very new to User Interface(UI) development nor am I a veteran and as I always put it, I fit into the profile of UI developer more than that of a designer, with no regrets. Oh Well! What was I writing about? … For a while( must be in years not any less) now , every now and then when I do get into a bit of UI Design ( when the professional designer has gone on a holiday), I always cant stop thinking whether my design should be properly complient or not (sincerely, not that I could achive 100% standards compliance, If I wanted too ). Then I tell myself, what crap! … The design should be simple, nice and primarily seem usable , it should not make visitors run away… or bounce ( to be technical). What good would a nice tableless CSS layout be to the visitor, who is oblivious to all the smart HYPERTEXT and Cascading Style Sheet under the skin of your webpage… Zilch!
It should look nice and be easy to use … then comes the all standards stuff.
I stumbbled accross this blog entry by Jason Fried of 37 Signals (For those who are not aware 37 signals are the onces who have created some awesome web apps like Basecamp, Campfire etc) who wrote something similar in 2004 and believe me, almost 5 years and not much changed since that … I was happy to read his post , as I totally agree with what he has to say and the also the fact , her is not sure about what is telling about its just his gut feeling and so is mine
Jason Fried : “There’s way too much talk about CSS and XHTML and Standards and Accessibility and not enough talk about people. CSS and Standards Compliant Code are just tools — you have to know what to build with these tools. Great, I’m glad your UI doesn’t use tables. So what? Who cares if it still doesn’t let people achieve their goals. Web standards are great, but people’s own standards include getting things done (and that’s still too hard to do online).
UI designers are making the same old fundamental “forgetting about the human being on the other side” mistakes — except this time their code looks better. Humans — not code validators — use interfaces.”
Checkout Jason Fried’s full article
DISCALIMER : This doesnt mean that we shouldn’t bother about standards at all. Standards are good to have and stick to them as much as possible . We only have to understand that Good UI design doesnt always mean 100% Standards Complience or Vice-Versa ….
From my list of my lessons learnt, I follow a few UI Design and Development Golden Rules … Heres the TOP 10 … not that you have follow them too …
1. Take care of your users. The users can make or break your site. DONOT make user look like an total idoit , utterly incapable of using your website. That is BAD!
2. Keep Simplicity and Ease of Use your primary guidlines. Too many things on the screen, the higher the probability that a user will get confused or distracted from their original task.
3. Be in the LIMITS … DONOT indulge too much into USABILITY, ACCESSIBILITY and STANDARDs. Use standards effectively and make them understood to the team . This will ensure right consistency in the product
4. Prototype the requirement. Since , these days the Use Interfaces are RICH , Prototyping always is better than just making simple wireframes and the latter is void of decent interactions, it would fail to provide the client a clear picture of the final product that is being developed. Always, It is easier to convert the prototypes into final deliverables. Also! with prototyping any interaction issues could be ironed out earlier in the development cycle.
5. Consistency in your design and interaction is very Important. Donot confuse your user with unpredictable interactions and gizmos.
6. Understand your “Design Mission Statement” . Aways focus on the primary action of the page beign designed. Also, make a list of your seconday actions on the page, and prioritise them.
7. Provide proper feedback to the site users. With most of the websites designed around AJAX , provide visual cues to the user about changes to page . The user has to given an acknowledgement of the completion of any task he performs. Donot make the user wait and guess, for eg. provide progress indicators for file uplaods.
8. Use controls appropriately. For e.g Use Select drop down list for small lists only , donot let the user choose one of 200 cities using select boxes. Understand the difference between a button and a link. A link and button have different purposes , donot use one for the other . Provide the right control to make interacting with a page easier. Avoid using Menus, that are more that two levels deep. Do not reinvent the wheel. Use standard controls, customise them only if very necessary. Define any custom controls required for your site first hand, so that they could be created and tested independently, ready for use accross site.
9. Donot ITERATE too much on the design. Remember! The whole product consists more that design alone. Build appropriate timelines into your project schedule for design iterations and stick to it. Iteration helps us to find out what works and what doesnt , pick out the trouble spots. As a good interface takes time, provide time for iterations in the begining of the development cycle, so that design iterations doesnot directly equate to REWORK. Too much rework could jeopradize deadlines.
10. Sit back and think like a user sometimes.