[ticker-dev] Re: channel subscription rules

David Arnold arnold at dstc.edu.au
Mon Apr 19 17:32:56 CDT 2004


-->"Ian" == Ian Lister <ticker-lists at lister.dnsalias.net> writes:

  Ian> <...> my own experience dealing with technical users in a Unix
  Ian> (or at least Unix-aware) environment (i.e. DSTC) has pretty
  Ian> firmly convinced me that if usability is even a small priority
  Ian> for Tickertape it should be case insensitive.

without necessarily disagreeing with you, i'd argue that the problem
is potentially more that we're requiring people to transcribe strings.

people are bad at copying things exactly -- regardless of whether it
is getting the case of letters right, or just getting all the right
characters in the right order.

there are several methods that are widely used to assist people with
this task: filename completion in shells, variable/method/class name
popups in IDEs, URL completion (from history) in browsers, drop-down
combo box widgets, etc.

in considering the tradeoff between usability and efficient
evaluation, i'm not convinced that making the router do

  fold-case(Group) == fold-case("MyChannelName")

instead of

  Group == "MyChannelName"

is worth the usability outcome.  i believe the fundamental problem
lies in the UI where we require users to accurately transcribe
strings.


  Ian> <...> and by the time people need to specify directory paths in
  Ian> URLs they're more often cutting and pasting or just clicking
  Ian> than having to type from scratch.

exactly.

i've long felt that Tickertape needed to move away from a model of
requiring users to type in group names and towards using a MIME type
for channel descriptions (ie. my short presentation on this topic at
the 2001 workshop).  this would simplify the process of mailing and
tickering groups for subscription, allowing a click-to-subscribe UI.

it also has the side-effect of reducing the need for the users to
distinguish between their A's and their a's.

which is not to say that we shouldn't specify that group names should
be matching using fold-case(), just that i'm not yet convinced that a
justification of "users can't get case right" is sufficient to require
all Tickertape subscriptions to be more complex.


  Ian> I think recommending canonical decomposition is extremely
  Ian> important if we ever deal in non-ASCII group names (as
  Ian> hopefully we should).

i agree that we should support non-ASCII group names.

  Ian> I also very strongly recommend compatibility decomposition,
  Ian> even more so than case folding. The reason for this is that
  Ian> canonically equivalent character sequences are completely
  Ian> indistinguishable (without looking at the code points used to
  Ian> represent them), and that compatibility equivalent character
  Ian> sequences are only subtly different (and may not appear at all
  Ian> different in many fonts). On the basis that a user should be
  Ian> able to look at a group name and reproduce it elsewhere I think
  Ian> it's worth using compatibility decomposition.

so you'd recommend

  decompose-compat(Group) == decompose-compat("MyChannelName")

as the basic pattern for subscriptions?  (potentially with fold-case
wrapped around or inside that)




d


More information about the ticker-dev mailing list