Generic Import, Usual Usage Scenario
Christian Stimming
stimming@tuhh.de
Fri, 22 Nov 2002 16:38:28 +0100
I feel that we are still quite far from actually having the same
objective with the generic importer. Therefore I thought I should
describe more clearly what "the usual case" for the generic importer
would be -- what is "the usual scenario" for when users are going to use it?
From my point of view, "The Usual Usage Scenario" is
* The user regularly (every 1-30 days) imports a number of transactions
(some number between 1 and 100).
* 90% of these transactions are *new* transactions i.e. are *not* a
duplicate of an already entered transaction.
* For 50% of these transactions, payee/description/text is uniform
enough so that the destination account can automatically be correctly
guessed.
If we now argue about a GUI for the importer, please keep in mind what
our Usual Scenario is. If you think my above description doesn't quite
fit your situation, please send your comments.
For the HBCI protocol, additional assumptions will hold that narrow down
the usage scenario even more, giving "The Usual HBCI Scenario":
* *All* transactions have one known originating account.
* The bank account belongs to a German bank (HBCI simply exists only
here), which implies the following two points:
* If an imported transaction is a duplicate of an existing (probably
manually entered) transaction, the amounts will match *exactly* in 99%
of the cases.
* If an imported transaction is a duplicate of an existing (probably
manually entered) transaction, the date will be off by 1-2 days for 50%
of these transactions.
In the ongoing discussion, I want to achieve a GUI that serves the
user's needs in "The Usual Scenario" as good as possible. Additionally,
I would love it if there is enough configurability to take into account
"The HBCI Scenario" as well, which is currently the case e.g. through
the fact that the hbci-protocol can call the
Transaction-duplicate-matcher without having to call the account-matcher
first.
Now what kind of GUI matches "The Usual Usage Scenario"?
As you can see above, I believe that the action of "duplicate detection"
is the *exception* and *not* the rule. Therefore ultimately I would like
to arrive at a GUI where the *exceptions* are marked in a way that they
signal "Here further checking is necessary", and for the 90% rest it
automatically should be obvious that the *don't* require any further
manual checking for duplicates. One example of applying that point of
view is that I strongly oppose any GUI that would require "clicking on
every transaction" just to confirm the fact that they are new ones.
Also, since I just argued that only a small minority of imported
transactions will turn out to be duplicates, I actually want to arrive
at a GUI that does *not* require the user to ask himself "Is this
transaction a duplicate" for *every* transaction. Again, this question
is only relevant for a small minority of the transactions. That's why I
oppose the integration of the destination-account-choosing into the
existing duplicate-detection GUI: If these two actions appear in the
same window, it means that the user is in fact asked both questions for
each transaction. This IMHO will result unnecessary distraction from the
real task. Therefore I am voting for a seperate window/druid page for
the destination-account-choosing.
I believe that this is actually a point where the application of the
Inductive UI Guidelines from
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwui/html/iuiguidelines.asp
would make perfectly sense. To quote their four steps in designing IUI
software:
1. Focus each screen on a single task.
2. State the task.
3. Make the screen's contents suit the task.
4. Offer links to secondary tasks.
In that sense, one single task is "Find the [10%] duplicates in the
imported transactions". A different task is "Choose destination accounts
for imported transactions".
Uh well. Maybe people should first comment on what I've already written.
Christian