posted on Friday, February 17, 2006 12:42 PM
by
chrisdonnan
Developing User Interfaces.....
Inspired by an article linked @ SlashDot ...
I got to thinking about developing software for end users, as I often do....
My current project is a desktop credit derivatives trading application that ~900 users globally use (not too many I realize - but enough to be interesting). When I 1st came on the project the 1st thing that struck me was how poorly designed the user interfaces was - it was NOT apparent how to use it at all. We did have the opportunity to work on that... I have spent the recent time working on a new 'trade blotter' and general UI application architecture. One of my primary goals is, and will continue to be - making the UI feel like home to the end users. Making the UI really support the habbits, quirks and needs of the end user in a way that is not just 'some fluff atop the "real" program'. The UI is the real program as far as a user goes. All the nice 'backend processing' in the world is great - 100% needed, but the UI is where you can get strong percieved wins from your end users.
Here are a few links for those folks that want to keep up on UI design practices and patterns. So many software developers consider the UI tier to be the fluff part that means the least. Unfortunately - the users (that pay for the development generally) think the opposite :)
welie.com
designinginterfaces.com (book site with refs)
Sari Laakso's patterns
..newer Yahoo!s UI patterns site
I will also mention that after a few years of doing larger class desktop application/ smart client development - I have seen the same issues and constructs come up over and over. 2 frameworks abstract smart client/ rich client/ desktop applications extremely well.
The 1st is the latest Microsoft CAB (Composite UI Application Block). This specifies excellent abstractions for common rich client application needs. When I was going over the internals - again and again I found myself saying 'yes - we did that too' or 'wow - we solved that issue differently - you guys did it better!'. I will also note the Infragistics 2006.1 works directly with the CAB. Excellent move on their behalf!
The other is the Eclipse RCP (Rich client platform). I have been really studying out the guts of eclipse - the RCP in particular (while reading - The Java Developer's Guide to Eclipse, 2nd Edition). What an excellent set of APIs these folks have come up with. The plugin architecture and the notion of 'contribution based extension' are particularly excellent.
-Chris