YOUR FEEDBACK
Brian Vicente wrote: Where are listing 3 and listing 4?


2008 East
DIAMOND SPONSOR:
Data Direct
Frontiers in Data Access: The Coming Wave in Data Services
PLATINUM SPONSORS:
Red Hat
The Opening of Virtualization
Intel
Virtualization – Path to Predictive Enterprise
Green Hills
IT Security in a Hostile World
JBoss / freedom oss
Practical SOA Approach
GOLD SPONSORS:
Software AG
The Art & Science of SOA: How Governance Enables Adoption
PlateSpin
Effective Planning for Virtual Infrastructure Growth
Fujitsu
Automated Business Process Discovery & Virtualization Service
Ceedo
Workspace Virtualization
Click For 2007 West
Event Webcasts

2008 East
PLATINUM SPONSORS:
Appcelerator
Think Fast: Accelerate AJAX Development with Appcelerator
GOLD SPONSORS:
DreamFace Interactive
The Ultimate Framework for Creating Personalized Web 2.0 Mashups
ICEsoft
AJAX and Social Computing for the Enterprise
Kaazing
Enterprise Comet: Real–Time, Real–Time, or Real–Time Web 2.0?
Nexaweb
Now Playing: Desktop Apps in the Browser!
Sun
jMaki as an AJAX Mashup Framework
POWER PANELS:
The Business Value
of RIAs
What Lies Beyond AJAX?
KEYNOTES:
Douglas Crockford
Can We Fix the Web?
Anthony Franco
2008: The Year of the RIA
Click For 2007 Event Webcasts
SYS-CON.TV
TOP THREE LINKS YOU MUST CLICK ON


Less > More
Less > More

Among geneticists there is an ongoing argument about which species is superior: humans or bacteria. Both are the end product of millions of years of evolutionary refinement; they just took separate routes on the road to survival. Humans represent the pinnacle of animal development, possessing feature upon feature such as communication and the ability to alter the environment to suit their needs, while bacteria took the opposite tack and remained single-celled organisms that adapt to fit their environment. Large animal species tend to be very vulnerable to environmental change as each ice age or asteroid collision tends to result in a mass extinction. The small and nimble bacteria, however, can weather all storms that the planet throws at it; the irony is that bacteria predate us and will outlive us.

I'll segue this into application user interfaces. When building software tools it's often good to put yourself in the mindset of the users who don't have your program available to them. Without the functionality you are about to add, what would they do instead? It should always be possible to not use a tool; without a particular tool a developer will just fall back to editing raw files in a text editor and running scripts to do builds or database updates. The job of a program is to take the raw APIs and package them in a form that make sense at a higher level, adding features such as validation, persistence support, or transactional integrity. Once these tasks have been done, a user interface can be added so that the execution of the tasks is easy and intuitive to the user.

Before immediately writing a lot of GUI code, if the user without the tool was going to edit raw files and run scripts, why not work with rather than replace this environment? Some folks swear by their favorite text editors like VI, emacs, or SlickEdit, priding themselves on their ability to customize and configure macros and shell scripts. I've seen developers who when running into a particularly nasty problem crank up a command prompt and start grepping log and trace files to find out what is really going on. I used to always view it as a failure of the high-level tools if they weren't able to fully replace the need for developers to have to inspect raw files, but now I think it's just a different application species. Text editors came before the GUI and will outlive the fads of client/server to Web client to rich client and back. For me, as a Java developer, the features I appreciate most are those that help with writing code by coloring source, highlighting errors as I make them, or offering code completion choices. When the electronic keyboard was created, the piano keys were kept as they had been for hundreds of years with features added for sampling and mixing the sound. At what point does a computer program reach nirvana for its user interface?

If the most long-lived applications are those that fit themselves around the existing interface, adding and augmenting what a user would do if the program weren't there, how does this relate to business applications? Before computers there was lots of paper and filing cabinets. Databases replaced the filing cabinets; however, apart from being a good way to archive and store information, databases didn't fundamentally fit into the way companies run. In any organization information is collated, files are dealt with or passed on for attention, and the data flows around the company. I'm not sure what the best user interface is to deal with the real world, but it is one that mirrors a world without the computer, where paper trails are kept, phone calls made, and meetings take place. I even question whether or not database records should be so formatted into rigid fixed columns that, while they help to collect data, they constrain what information can be held and arguably are just there so that fixed format reporting can occur.

At some point in the future the kind of applications we use will look horribly dated. Something far better will come along that completely replaces the keyboard and monitor. Jakob Neilsen has a nice list of books that talk about the user interface of the future (www.useit.com/books/futurebooks.html), discussing ideas ranging from three-dimensional globes to visualize weather, to a virtual reality markup language. Whatever it will look like, one thing that evolution should teach us is that sometimes more is not necessarily better and that refined simplicity stands the test of time, and the best computer interfaces augment what the user would do if the application wasn't there.

About Joe Winchester
Joe Winchester, JDJ's Desktop Technologies Editor, is a software developer working on development tools for IBM in Hursley, UK.

LATEST JAVA STORIES & POSTS
Unit testing is hard. There I said it. Although I have been developing software for the past 18 years I still find that putting my applications through their paces via unit testing is difficult. I have learned the lesson (I'm sure like many of you) the hard way. Unit testing is p...
Continuent has announced support and enhancements to MySQL Server 5.1.30 GA release, the 5.1 production version of the open source database. MySQL 5.1.30 is recommended for use on production systems by the MySQL build team at Sun Microsystems. Continuent Tungsten provides advance...
As a software journalist, there are times when certain vendors will shut the door on reporting opportunities that might represent too much of an "inside view" of their technology or their organization. I've been to more developer events than I can remember where I've been handed ...
Active Endpoints has announced the general availability of ActiveVOS 6.0.2, in response to ever increasing demands for improved process performance and efficiencies. ActiveVOS is an all-in-one, 100% standards-based orchestration and business process management system (BPM) that p...
Just because the web has been open so far doesn't mean that it will stay that way. Flash and Silverlight, arguably the two market-leading technology toolkits for rich media applications are not open. Make no mistake - Microsoft and Adobe aim to have their proprietary plug-ins, ak...
Doing network I/O on the user interface (UI) thread is bad. Most developers know that and can tell you why; unfortunately, it’s still done. At this year's JavaOne, one of the keynote JavaFX demos bombed because the network was slow, something that would be forgivable had the en...
SUBSCRIBE TO THE WORLD'S MOST POWERFUL NEWSLETTERS
SUBSCRIBE TO OUR RSS FEEDS & GET YOUR SYS-CON NEWS LIVE!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021


SYS-CON FEATURED WHITEPAPERS

SPONSORED BY INFRAGISTICS
In every field of design one of the first things students do is learn from the work of others. They ...
There are many forces that influence technological evolution. After a decade of building enterprise ...
2008 is going to be an important year for Rich Internet Applications. Most organizations are deliver...
The OpenAjax Alliance is developing an Ajax industry wishlist for future browsers, using a dedicated...
Infragistics announced the availability of two Community Technology Preview (CTP) User Interface (UI...
The YUI development team has released version 2.5.2; you can download the new release from SourceFor...
ADS BY GOOGLE