Saturday, August 05, 2006

A Crash Course in User Interfaces

Steps to good UI for programmers...

"Whenever the topic of interface development comes up, I’m always surprised to see most software engineers cringe as if they’re being told they need a root canal. Almost all modern applications require some sort of graphical user interface, and yet the UI is commonly the last consideration of development. Worse yet (particularly when it comes to web development) the user interface is often created by a graphic designer who isn’t familiar with software development. The resulting separation that occurs between the application’s internals and its interface can cause serious problems with the project.

The Black Magic of Interface Development
This aversion by software engineers to interface development is unfortunate, and can endanger the success of a software project. Since the UI is the only area of the application that the user interacts with, to them, there generally is no difference between the concept of the interface and the concept of the application. Internally, the software may be well thought out, extensively commented, using the most cutting-edge technologies and practices available — but if you make Aunt Marge enter commands at a text prompt, she’s not going to care. She’s going to think your application sucks. And she might hit you with her cane.

Many software developers look at interface design as a type of voodoo, except that all that sticking pins into your monitor is going to accomplish is leaking liquid crystal. Some of this is undoubtedly a result of the lack of formal training on event-based programming in software engineering curricula. During my entire time in college, only a single class contained any projects requiring a real event-driven graphical user interface. Then again, my education was based in C++, and I appreciate the powers-that-be not subjecting the students to the bone-crushing, mind-warping horrors of MFC. Maybe this is one of the (very few) benefits of moving university-level curricula to Java."   (Continued via Nate Kohari)               [Usability Resources]

State of Application Interface - User Interface Design, Human Computer Interaction (HCI), Ergonomics

State of Application Interface


Post a Comment

<< Home

<< Home