[TYPO3-dev] usability bug when changing type field
Glen Stark
mail at dontspammebro.glenstark.net
Tue Oct 13 11:43:58 CEST 2009
Greetings.
I hope I'm in the right place for this post. Apologies if I'm OT
I'm working at the LEM at the ETH Zurich as technical lead for a suite of
software from Gecko-Research. I've been asked to look at our web page to
try and improve how things run, so for the next few months I'm taking
care of the web page, doing a lot of data entry, and figuring out how to
streamline things.
I have run into what appears to be a usability issue, or perhaps more
correctly it's a bug which a hack has turned into a usability issue.
In our specific instance, we have a form which allows entry of
publications. These might be of different types, say Journal
publication, Conference paper, phd-thesis, etc. The data entry fields
change depending on what type of publication you are entering. So, for
example, when create a new paper, and choose a non-default value, say
"conference paper", a popup appears to tell me:
"This change will affect which fields are available in the form.
Would you like to save now in order to refresh the display?"
This is a useless, and indeed harmful dialog in this context (in all
contexts?). If I need to change the paper type, providing me the option
to say ok or cancel is useless in that it is no choice at all. I must
click ok. So we have the following problems:
(apologies if these things are overly obvious, or appear overly
contentious)
- It is inefficient: it interrupts my workflow and concentration,
forces me to navigate the mouse to click "ok" on a meaningless dialog.
It's like having someone stand by your desk and ring a bell at random
intervals... It's minor, but it interrupts your concentration, rapidly
becomes very annoying, and negatively affects productivity. In my case,
I have mouse induced repetitive stress injuries, so I get really annoyed
by unnecessary mouse clicks.
- Usability research, and probably your own experience, has shown that
useless dialogs are harmful, in that they train the user to ignore pop
ups. They eventually barely register the pop up, clicking ok on
auto-pilot, leading them to ignore important dialogs. Thus, one should
interrupt the user only when one thinks the user would appreciate the
interruption: i.e. some event the user shouldn't be able to ignore.
Since the user can safely ignore the dialog in question, it would be
better gotten rid of.
- if the user creates a new publication, changes the publication type,
and then closes the dialog without saving, NO publication should be
saved or created. As it stands an empty publication is created.
- if the user saves a publication (or edits an existing publication
type), makes some changes, changes the publication type, and then says
"oh crap, I'm working on the wrong paper", and clicks on "Close
Document" (without saving), the publication should remain in the state
it was in when last saved. As implemented the would have to manually
undo their changes.
I contacted the site administration team, and they inform me this
behavior is inherent in the typo3 implementation, and they can't do
anything about it (they have apparently gotten rid of the pop up for me,
but that just removes the hack, not the original problem). According the
support team:
<<
It's all about the 'list mode'. It can be used to edit any DB table
contents.
As a typo3 extension programmer, you only provide a DB schema dump
and a description of how the editor for the DB fields shall look like,
called TCA (table config array -- it's a huge PHP array).
http://typo3.org/documentation/document-library/core-documentation/
doc_core_api/4.2.0/view/4/2/
In that array, you can define a 'type' field (see 'ctrl' section on top
of the page named above).
Whenever the 'type' field is changed, you'll get that popup (by default).
The fact that it _saves_ during switching types is really a [bad] typo3 >>
>>
I haven't taken the time to dig into your code, but from my perspective,
it seems like on changing the type, the records is saved, the form is
refreshed, and the record ID is passed to the refreshed form which loads
the saved record. This is probably economical in terms of development
time, but has the negative consequences I outlined above. A simple
workaround, which would avoid the bad behavior, would be to use a
temporary record, which only gets written to the permanent table (and
gets assigned a record number) when the user chooses to save the record.
I can think of other alternatives, but that seems like the simplest.
So, I would like to ask the people on the list:
- Is it true that this is inherent the typo3 implementation, or is the
support team just passing the buck?
- If this is a typo3 thing, is there a plan to correct it in the next
release?
- If not, what can I do about it? Would filling out a bug report be
appropriate?
If there is a technical issue I'm missing, I'd be interested to hear
about it.
Thanks for your time,
Glen Stark
More information about the TYPO3-dev
mailing list