Hello,
I'm looking for a UI concept for my model-driven development tool which
works with Python and PostgreSQL, and a thin ORM layer between.
On the application and database layer it supports transactions (just
wrapped the PostgreSQL features). Now I want to add also UI support to
the prototype and this usability questions are that what makes my head
screwed up.
I guess that some of you also build user-interfaces for PostgreSQL in
the one ore other project? Thus you probably already have experience how
to integrate transaction support into the UI (a locally installed,
native GUI, or a Web application). My considerations are less in a
technical meaning, but in an usability meaning.
Example: You have a Foo class (or table) with the attribute (column)
name. You want the end-user to be able to edit any Foo object (or
record). So there is some "Edit Foo" dialog with a text entry widget for
the name, a "Save" button, and a "Cancel" button, yes? It is obvious for
the end-user what will happen if he clicks on Save or on Cancel. And of
course it would be possible to have the UI using just one transaction
for selecting this record and updating it in the database. Deleting a
single record would be another simple example for a transaction with
just a single call to the database.
But what about transactions spanning multipe calls on a single object,
calls on multiple objects (including creating or linking them), or even
on objects of multiple components (databases)? How is it transparent for
an end-user which of the activities made in the UI are in a single
transaction or in different ones? Do you put anything inside a
transaction into a single dialog? Or do you use tabs/notebooks?
I have put some more background here
http://openswarm.blogspot.com/2007/02/transactions-in-user-interfaces.html
but I hope that you already got a picture what makes me thinking and you
probably want to share the one or other idea for the UI concept. I'm too
curious how you managed this issue in your projects.
Best regards,
Anastasios