List filtering stability issues and how to solve them

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

List filtering stability issues and how to solve them

marcel.taeumel
Hi, there.

After my somewhat unlucky attempt to improve the list filtering feature in Squeak:
http://forum.world.st/The-Trunk-Morphic-mt-1119-mcz-tp4890816.html
http://forum.world.st/The-Trunk-Morphic-cmm-1120-mcz-tp4890853.html

And the great explanation of the status quo by Chris:
http://forum.world.st/Squeak-IDE-videos-td4890897.html
https://youtu.be/11CLNKl5334

I want to explain a little bit more, what the issues with the list filtering is at the moment.

-----------

Here are the good things:
- You can just start typing and the filter results appear.
- Matches that have the search term at the beginning come first, other matches follow alphabetically.
- The parts that matched in an item are highlighted.
- Hitting backspace or losing focus (controlled by preference) clears the filter.
- Re-typing after some timeout describes a new filter.
- If there are 0 matches, the new filter is not applied at all to not have an empty list.

Here are the challenging things considering stability in interactive, graphical tools:
- If there is no selection in the list, the first filter result will be selected automatically.
- If the current selection is not included in the filter result, the first filter result will be selected automatically.
- If the user makes a selection in the filtered list, removing the filter will revert the selection to the one that used to be there before starting to filter. (Which can be several minutes, days, hours, days, ago)

Here is a change set, which preserves the good things and fixes the issues:
list-filtering-stability-fix.cs

Here is a feature which -- in my opinion -- was not intended by the original idea of filtering lists and which -- unfortunately -- cannot be retained:
- Repeatedly hitting <Backspace> toggles between the last selection in a filtered list and the last selection in an unfiltered list.

However, I think that such a workflow is difficult to discover and should have a lower priority than the challenges described above. It might be added with a preference, though. For example, "Use two-level selection in lists with filters".

How about it? :-)

Best,
Marcel
Reply | Threaded
Open this post in threaded view
|

Re: List filtering stability issues and how to solve them

marcel.taeumel
Hi, there.

I like backwards compatibility. :-) And I like to retain existing users' workflows as much as possible.

Hence, here is a change set, which also retains the "two-level selection":
list-filtering-stability-fix.3.cs

I couldn't resist but also restore the filter where the second-level selection was made to help the user recall the decision-making and avoid confusion. ;-)

Best,
Marcel