[UI] UI attributes

Adrin adrin at ic.cz
Wed Sep 12 15:25:17 UTC 2007


Hi,

I em interested in UI and GUI and new ways of presenting and 
manipulating data. I like to make my own GUI or participate in the 
existing ones. But first of all – Is there any study or theory what the 
UI exactly is, what needs UI to satisfy and what is the best ergonomic 
UI for most people?


I did not find anything complex enough to make my mind clear, therefor I 
just try it myself:


UI in layers (separate things that are not related):

    *

      ergonomic – define how to ensure users needs (controlling,
      visualization, eye candy, cooperation in terms of applications and
      multiuser interface)

    *

      technique – define how to achieve data visualization and feedback
      from users (widgets, costumes, etc...)

    *

      technology – define implementation (objects, databases, XML, etc...)


UI types (some UIs and its characteristics):

    *

      device's / machine's UI (inputs: buttons, switches, trimmers;
      output: control diodes, led numbers, displays) – it is mend for
      one purpose and ease understandings

    *

      batch commands (inputs: char stream; output: char stream) – batch
      commands are best in mathematic transformation or bulk data
      processing; there is no user interaction along the process

    *

      CLI – command line interface (input: commands, parameters; output:
      char stream) – in this UI users are able to react to outputs;
      input and outputs could be chained to each other

    *

      GUI (input: events; output: graphical objects) – users have almost
      fully control to processes; number of large time spending
      operations are minimized or they are hidden in background;
      interaction is highest but at the other hand, graphical objects
      are not, in most cases, reusable by other applications


UI attributes (everything what should be measured in UIs):

    *

      chaining – possibility to chain application's inputs and outputs

    *

      interaction – user's ability to see and control running process

    *

      visualization – possibility to view data on different complexity level

    *

      virtualization – ability to operate with data on different
      visualization level

    *

      independence – data and UI independence

    *

      image – possibility to data self presentation

    *

      freedom – user's freedom to transform and combining data

    *

      wizardness – ability to perform user's wishes

    *

      intuitiveness – ability to follow user's ideas

    *

      helps – ability to help user to resolve problems

    *

      undoable – possibility to undo data changes to original state

    *

      previews – possibility to view and compare actions and variant of
      actions

(it could be able to compare UIs like Linux shell, KDE, Morphic, Croquet 
by assigning points to these attributes)


It is obvious I try to point out that most of GUIs simulate something 
(for example machine's GUI) instead of allowing users to work with data. 
Thanks to Model-View-Controller programmer easily make new data 
visualization and new application, but user are not able to do that by 
easy way. There is bunch of questions before we make GUI for that 
purpose. Like: do users need absolute freedom or are they satisfied with 
completed solutions? is anywise possible to learn users more abstract 
UIs or are they struggled in idea: 'push the button means do the 
action'? is it necessary to write that kind of GUI from scratch, or it 
is possible to assimilate some completed one?


Anyway, no respect how this questions will be answered, if other 
attributes or diversification of UI cross your mind, I appreciate your 
ideas. I believe this abstract thoughts are important to the future of UI.

Have a nice day,
Adam



More information about the UI mailing list