[ticker-dev] Timeout attribute
David Arnold
arnold at dstc.edu.au
Fri Mar 19 05:21:39 CST 2004
-->"Ian" == Ian Lister <ticker-lists at lister.dnsalias.net> writes:
Ian> It's been a while since we've made any progress on the v3
Ian> standard, so I'd like to raise something that's been bugging me
Ian> for a long time.
As an aside, I've been slowly working on the general text of the spec,
and am basically happy for it to be (finally) published once this
issue is resolved. I'll announce the current draft shortly.
Ian> The choice of minutes for the units of the Timeout attribute is
Ian> a bit odd. The justification at the Ticker workshop for using
Ian> minutes rather than seconds (being a standard unit) was that
Ian> Tickertape has no real need for sub-minute precision, and
Ian> minutes would do just fine.
While I don't really recall the detail, the minutes of the session
actually say that we agreed on seconds:
http://elvin.dstc.com/projects/tickertape/ticker2001/minutes/renaming/index.html
(which is neither here nor there, but ... anywway)
Ian> However, Tickertape notifications often conform to other
Ian> protocols, and a timeout is a common concept across many
Ian> protocols. Just because Ticker doesn't feel the _need_ to use
Ian> anything other than minutes doesn't mean other protocols don't
Ian> either.
ie. see the last comment in the notes on the renaming session at the
workshop at the URL above.
Ian> We measure time arcanely, but the second is a much more sane
Ian> unit than the minute. All units smaller than it are decimal
Ian> (saves you talking in 0.01666ths of a minute), and it's the
Ian> standard international unit for time.
Ian> I would like to propose that the Timeout attribute in
Ian> Tickertape v3 be measured in seconds.
As you might have guessed, Ian and I have spoken (well, tickered)
about this, and I agree, for both the reasons above.
My reservations were mostly to do with compatibility ...
Ian> David has come up with a plan for avoiding problems in the
Ian> transition from the current draft implementations (which I'll
Ian> leave for him to present), and I can't see any reasons not to
Ian> proceed (other than not being bothered, and I'm certainly
Ian> bothered :-).
So, I recorded the timeouts of all public and Mantara internal ticker
traffic today as a small research task. Here's the results:
Timeout Number of Messsages
----------------------------
2 43
5 177
10 6
60 7
1440 6
I also think that it is a greater problem for the scrolling message to
disappear too quickly, rather than too slowly. For example, if the
timeout was 5 minutes (a popular value), and the message was displayed
for only 5 seconds, it's likely that it would disappear before it had
even scrolled onto the screen during busy periods.
On this basis, and after looking at the UI of some popular tickers, my
proposal is this:
For a limited transition period, the following rules are applied to
timeouts on v3 messages:
On reception:
If 0 < timeout <= 60, treat the units as minutes
Elif timeout == 1440, treat the units as minutes
Else, treat the units as seconds
On sending:
If the user selects 1 minute, set the value to 61
Else, set the value in seconds
This will ensure that new clients display messages from old clients
for sufficiently long that they're readable. Very old clients (v1)
will be unaffected (since the TIMEOUT field is still in minutes), and
the current clients will display things for too long (and will require
manual deletion).
Clients should feel free to interpret the timeout in minutes, if they
want, so long as the on-the-wire value is in seconds. Having
user-level control to the nearest second is obviously not necessary.
Regardless, with new releases of Sticker, eTiks and xtickertape all
coming soon, and a new release of aquatik long overdue (did i say
that? :-), the transitional period for new clients should be both
short, and (I think) bearable in the interim.
So ... I think this is a good idea. The more applications we write,
the more useful it is to have common semantics for same-named
attributes. I realise that some might say "I smell ontologies and I
don't like it", but ... I think this is a simple change with some real
benefit for future proofing.
So ... unless I hear strenuous and compelling objections, I'll update
the spec ... :-)
d
More information about the ticker-dev
mailing list