comments on StatusNotifier spec
Aaron J. Seigo
aseigo at kde.org
Wed Jan 20 14:11:33 PST 2010
On January 20, 2010, Michael Pyne wrote:
> On Wednesday 20 January 2010 12:10:44 Marco Martin wrote:
> > > Having the visualization be in control of presentation is great, but
> > > you need to give the app authors *something*. Right now, the spec
> > > basically says "here are some methods you can call, but there's no way
> > > of knowing what will happen when you do". An application can't use
> > > StatusNotifierIcon for any part of its UI that it actually cares about,
> > > because it's possible that the StatusNotifierHost will ignore exactly
> > > the parts of the spec that are the most critical to the app. And so the
> > > StatusNotifierIcon would have to be entirely redundant with
> > > functionality that was also provided elsewhere.
> >
> > (open question) we could have some -recomended- scenarios for
> > different kind of implementations? like desktop use case, mobile use
> > case, text only...
> > i fear it would kill great part of the flexibility however
>
> Well there's no reason we can't provide examples for how the various
> components (e.g. the title, icon) would be used in practice.
which would be ultimately unreliable given that visualizations may behave
differently.
the common mistake here is to consider this spec as a design guide for system
tray widgets. it's not. it is a description of how to get data from
applications regarding their status to other applications which would like to
integrate that data. a primary user of the data (at least right now) will be
"traditional" system trays.
this is a shift towards a more service oriented environment and away from an
overly prescribed system that welds the applications and the device
environment so closely that we end up seeing people reimplement the entire
thing everytime they want to do something even a little differently.
as examples of that, i give you Canonical's application indicators and Maemo's
systray-like icons.
i think it's fine to define what the data published should look like so that
both the entries and the visualizations of them can operate with greater
confidence. but defining the visualization interaction patterns isn't going to
fly.
application developers (and i'm one of them) simply have to get used to the
idea of operating in environments that provide access to services and which
craft the user experience appropriately for the context. this is the business
of the primary user interface (desktop shell, netbook shell, etc) and not the
applications. why? because applications will do it differently from each other
(consistency issues) and only the primary user interface knows what is
contextually appropriate (e.g. are we using a Dock or a taskbar+system tray;
is it a desktop or a smartphone; etc...)
> for things like what
> signal do I need to use if I want to intercept the mouse wheel of the
> systray?
org.freedesktop.StatusNotifierItem.Scroll
we have tried to cover the needs of application development. really we have.
because we are also application developers.
(and you shouldn't consider it in terms of "mouse wheel" but in terms of "my
status entry has been asked to scroll, for whatever that means in the context
of my status entry and application"; as you can see, the service concept is
actually pretty symmetrical in that regard since visualizations don't get to
interpret what scrolling results in :)
--
Aaron J. Seigo
humru othro a kohnu se
GPG Fingerprint: 8B8B 2209 0C6F 7C47 B1EA EE75 D6B7 2EB1 A7F1 DB43
KDE core developer sponsored by Qt Development Frameworks
More information about the xdg
mailing list