views:

131

answers:

3

I am giving a short talk on the subject from a programmer's perspective. I was thinking about talking about UI design along 3 axes:

  1. Proximity: How close the code you write is to the UI
  2. Interactivity: How flexible and powerful the UI can be
  3. Complexity: How difficult it is to build a user interface (technical/implementation)

I was then going to discuss the following UIs:

  1. Command Line:

    High on proximity, somewhat high on complexity, low on interactivity

  2. VB / MFC / Windows Forms

    Low on proximity (deal with a big API/controls/UI Model), medium interactivity - you can build it in but with a high penalty in proximity (3rd party libraries/controls), bigger range on complexity; simple applications are easy to build.

  3. Web

    Low on proximity (browser does the legwork, different browsers behave differently), high on interactivity (DOM/CSS/Javascript/Browser), high on complexity (lots of moving parts)

  4. Silverlight (perhaps other RIAs)

    Higher proximity than RAD/MFC/VB style interfaces as well as Web, high on interactivity, lower on complexity (e.g. animation in this environment versus OpenGL etc)

Questions

  1. Do these 3 axes make sense? I know there are some generalizations one could make such as a tradeoff of interactivity and complexity that apply in every environment but I see strengths and weaknesses inherent to each.

  2. Is there another axis or trait in UIs that makes sense to discuss?

  3. Future implications on how we develop (RIAs become dominant, etc...)

  4. Any other feedback (+/-)

+1  A: 

I think portability also is worth mentioning. Quite often, the UI components are what prevents the application from being ported to other platforms.

norheim.se
A: 

For the interactivity axis, I think usability needs to be discussed because flexibility and power are only helpful as they make a UI more usable. A user needs to rapidly be able to determine how to use the software, it ought to be intuitive.

Alex B
+2  A: 

I think the key to your approach is to know your audience, are they other developers, or people who would like to know more about the development process?

I think the absolute key to UI is usability, everything else (including ease of development) is subordinate to that. Progammability is normally a result of tools, and if the technology is pervasive enough then the tools will come, windows dev used to be awful, and then a few years later everyone was a VB coder.

MrTelly