[Pidgin] #8726: User selection of saved statuses for the quick/popular list
Pidgin
trac at pidgin.im
Wed Mar 18 20:16:39 EDT 2009
#8726: User selection of saved statuses for the quick/popular list
-----------------------+----------------------------------------------------
Reporter: royce | Type: enhancement
Status: new | Component: pidgin (gtk)
Version: 2.5.5 | Keywords: popular saved status
Launchpad_bug: |
-----------------------+----------------------------------------------------
Searching for a way to manipulate the list of popular statuses, I found
the enhancement requested in #301 and read in earnest MarkDoliner's link
to [http://www106.pair.com/rhp/free-software-ui.html Free software UI] and
The Question of Preferences.
I believe that an enhancement to address the root issue is worth the costs
listed there.
Please forgive the length. This topic is more complex than it may appear.
I've tried to organize this to optimize for programmer time.
= Summary =
Allow the user to populate the list of popular statuses themselves. This
broadens the fundamental usefulness of saved statuses, removes a
bottleneck to future usefulness of IM as a technology, and could
optionally reduce code complexity.
= Reasoning =
== For status, popularity != frecency ==
Frecency does not map well to IM statuses for the following reasons:
* Frecency works well for an ever-expanding list (like URLs) because it
facilitates deeper access. For status, however, there is a natural point
at which saving a status is not necessary (because it's simply not used
enough). This means that saved statuses naturally break into two subsets:
common saved statuses for quick selection (the 'popular' list) and those
used often enough to save, but not often enough to keep handy (the full
saved list). Frecency is not as good as the user at predicting which
statuses should go in which subset.
* Since there is no mechanism to seek, autocomplete, filter or search
popular statuses (as in Firefox), the user must visually inspect a
limited, non-scrollable list. This eliminates a significant part of
frecency's usefulness. (Note that I'm not arguing for adding these
features; they are overkill and would clutter the UI).
* The dynamic ordering makes it difficult for the user to find a
particular status.
* Infrequently used statuses, once used, end up in the list. This bumps
the ones that the user ''does'' use frequently. In other words, the
popular list now contains non-popular statuses. This violates
[http://en.wikipedia.org/wiki/Principle_of_least_astonishment POLA].
For all of these reasons, frecency may not be the optimal method for
populating the 'popular' list.
== Status is power ==
For casual users (for whom the default statuses are enough), the 'popular'
list is not yet needed.
Once users start to customize their own statuses, they automatically
recategorize themselves. They have overcome the saved status
discoverability 'hump' ("Oh, I can save statuses?") and now have a vested
interest in quickly accessing statuses that match a given context.
At this new usage level, the 'popular' list becomes very important.
Populating the list using frecency data ''without allowing the power user
to control the content'' leaves them in a kind of 'power user limbo': the
user wants to use saved statuses for the purpose that they were designed
for (ease of changing statuses), but they are subtly constrained in a way
that contradicts that purpose.
In other words: the power of saved statuses lies in the
''predictability'', ''repeatability'' and ''speed'' of their use.
== Why this preference matters ==
Using the preference criteria in the article:
1. '''Understand the root annoyance''': In a nutshell, it is that our
ability to dynamically express recurring availability, schedule and focus
is throttled. IM is a perfect fit for this expression.
Many technical people are grasping desperately for solutions to preserve
focus. My ability to stay focused, and to communicate with other members
of my sysadmin and programming teams, depends on clear and ubiquitous
communication of status.
Many users of Pidgin are probably willing to incur the cost of manually
driving deeper into the GUI every time because it is worth it to be able
to express these concepts - but there is a cumulative annoyance cost
because it requires manual intervention and thinking. This can break my
concentration and stride - with all of the associated costs that that
implies.
Programmers reading this should know exactly what I'm talking about here.
:-)
2. '''Can the issue be sidestepped'''? No. The solutions I know of are
"manually type the one you want, that's faster" (which would be an
argument for getting rid of saved statuses entirely, which seems false) or
"keeping driving deep into the GUI" - neither of which seem adequate -
precisely because they require more effort and thought.
3. '''Is the annoyance significant'''? Yes. Expressing status should
happen as often as is useful, and should have the lowest cost possible to
preserve flow.
The cost of each status change today is as follows:
* Bring up the list.
* Visually scan an unsorted popular status list to see if the one you
need is in it. (If it is, you have saved the cost of driving deeper into
the UI, making this check worth the time - but adding to the annoyance
factor if you cannot.) Psychologically, there is another impact: a status
that I used earlier today, but I only use once a week, is in the list.
* If not found, select 'Saved statuses' instead.
* Visually scan the list to find the one that you need. (I have imposed a
naming convention that sorts, to minimize this cost).
* Double-click it (or press 'Use' and 'Close').
If the list was simply user-selected, and naturally sorted:
* Bring up the list.
* Visually scan the sorted list.
* Click the status that you want.
Because such a list is static (until you elect to change it), the user
quickly learns where each item is - to the point that the application
recedes into the background - a mark of good design.
Reduce the cost, and the usefulness of statuses can grow.
4. '''Preference overload''': This is largely a solved problem.
Preferences less likely to need changing can be squirreled away using the
common 'show advanced options' metaphor.
5. '''Impact on maintainability''': If frecency is simply dropped, this
would automatically reduce complexity. :-)
= Proposed solution =
In the 'saved statuses' dialog, add a 'Show in popular' checklist column,
which defaults to all greyed out. Activate them when an 'Allow me to
choose which statuses are considered popular' is selected. Present them
in the 'popular' list in the natural sort order.
This could be implemented in a couple of ways:
Option 1:
Drop the frecency concept entirely, and simply let the user decide as
above. This reduces complexity, but might impact users.
Option 2:
Leave the existing frecency intact, disabling it when manual control is
activated. This option lessens the impact on the existing user base -
though I would argue that casual users of the 'popular' list wouldn't
notice, and non-casual users would all benefit from the change.
== Conclusion ==
I took the time to write this because I have a personal and professional
business case for it, given the cumulative cost of diving into the GUI to
make status changes. I also feel that increased user control of the
'popular' list unfetters IM to express more sophisticated status concepts,
more fluidly, that can help people to focus and communicate.
I submit this idea for consideration. if the community finds it useful, I
am willing to donate or to find volunteers interested in tackling it. My
hope, of course, is that the case speaks for itself and inspires the
people who best know the code. :-)
--
Ticket URL: <http://developer.pidgin.im/ticket/8726>
Pidgin <http://pidgin.im>
Pidgin
More information about the Tracker
mailing list