[n/a] C/S auto-search while typing experiences C/S
Author: email@example.com (ulrich-merkel)
- The user types something in a textfield
- while typing, he will get a list of matching datasets
For a couple of years (AFAIK from 1996), developers on the uniface C/S front tried to implement:
To monitor the input, one has to "persuade" the SMOD to fire on each keystroke which is not too hard to do.
Each time the user stroke a key (no cursor movements, are ) a new retrieve was sent to the database.
limiting factor(s): how long takes each retrieve
It was found in the old days, the usability killer is the performance of retrieving the database.
Especially at the beginning of the text, user suffer from "type ahead":
He typed "ABC", but the application displayed only his "A", after a while, "AB" is shown and finally "ABC"
Assuming each retrieve takes a second it takes 3 seconds before he sees what he typed in 0.2 seconds.
Alternative to avoid all the retrieves: fetch all data at first and then position:
- create a new record with a PK of the textfield
- retrieve/o - if you are lucky, a record exists with this PK and is activated and you RETURN
+ otherwise we have to position to a "next likely" record
- sort the complete entity in PK order
- create a new record with a PK of the textfield, just to find the new created record
- retrieve/o - now you are positioned in the list
- remocc/e to get rid of this helper and keep position
- (perhaps advance to the next position)
limiting factor(s): bringing all records in memory takes time, how fast is the sort?
In most cases, this functionality had not reached the eye of the end-user.