Automatic activity switching and other stuff -- thoughts for 4.7
Aaron J. Seigo
aseigo at kde.org
Wed Dec 22 20:09:46 CET 2010
On Wednesday, December 22, 2010, Ryan Rix wrote:
> Hello Aaron,
>
> On Tue 21 December 2010, plasma-devel at kde.org <plasma-devel at kde.org> wrote:
> > On Sunday, December 19, 2010, Ryan Rix wrote:
> > > Basically, I'm trying to answer a simple question: "what would cause a
> > > user to change what they are doing (their activity),
> >
> > i think the answers you provide below are pretty good for a start:
> > location, calendar events .. i'd add network connections (e.g. if i pull
> > up my VPN or tear it down, i may wish to switch activities), file/disk
> > volume access ...
>
> When I get unblocked from Techbase i'm gonna start a usecases page
> somewhere...
s,Techbase,community.kde.org,
> > i think we may end up with a system of events that are associated with a
> > given activity, and when triggered, something that is up to the
> > application or plasmoid implementing that trigger, can let us assist the
> > user.
>
> I really like the verbage behind triggered... I think I may steal it :)
>
> "Plugging in projector triggers presentation activity"...
> "Connecting to work VPN triggers work activity"... etc
yes, this is the wording that chani and i came up with when discussing these
things previously. i really think it works well, too.
> > do we need plugins, or should this just be mediated by plasmoids and
> > applications which we already have, using a D-Bus api to enact the
> > changes?
>
> I don't know, would that mean that, say, Marble would have to be running
> 24/7 to monitor location?
i don't think this would belong in marble; it sounds more like a job for
something either baked right into plasma-desktop or as a plasmoid that offers
a window onto location awareness.
enumerating the different possible triggers, i think it becomes more apparent
that nearly all have an existing always-running source. geolocation is an
exception, so we'd need to find a home for that.
> I think that having the plugins outside of the application and outside of
> kactivitymanagerd would be a plus, given that I think it's a little tough
> to predict all the stuff thta users would probably end up doing, and
this is where having a list of possible triggers would be helpful. we could
start to detect patterns in them. the last time i did this, nearly every
single trigger already had a long-running process associated with it, or the
trigger made no sense unless the application was being used at the time
anyways (e.g. amarok/banarang/etc having media triggered activities)
> The big thing I'm seeing with having the code stay in the
> applications/plasmoids is that I have to ask "why have the activitymanager
> do anything at all besides switch an application" in that case? Configs
> for this end up being spread out, etc... I need some time to think on it,
> but it just seems ... messy :(
centralizing the configurations means knowing what the configuration means in
the central location. example: for a network connection trigger, it has to
have network connectivity awareness. to build that, we essentially end up
repurposing some parts of the network manager plasmoid. in some cases, that
will also mean synchronizing the plasmoid and the activity trigger plugins.
and then we need to ask ourselves where is the best place to asy "when i
switch to this network, i want that activity to show up". there are two
options that i can think of:
a) connecting activities at the source of the context: so if i want to trigger
an activity from networking, then i go to the networking tool
b) a central tool for defining activity triggers: probably something like the
mouse actions configuration only a lot more complex
the benefit of (b) is that we then have one place to gain an overview on the
configuration and you can see all ways that something can be configured. the
downside is it may end up being quite complex, both code wise and UI wise. the
power user in me likes this approach, though ;)
the benefit of (a) is that it is contextual and easy to figure out how to set
things up -> "when this thing changes, i want to trigger an activity change,
too". for things like korganizer, i think this is significantly easier on the
user and the developer.
maybe there's some sort of hybrid approach between the two ...
--
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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
Url : http://mail.kde.org/pipermail/plasma-devel/attachments/20101222/4c787c99/attachment.sig
More information about the Plasma-devel
mailing list