This forum has been archived. All content is frozen. Please use KDE Discuss instead.

Activities - Allowing the user to focus on a specific task

Tags: None
(comma "," separated)
AGuiFr
Registered Member
Posts
77
Karma
0
OS
I don't know if it was concious or not, but one important idea which was discussed in the previous thread was omitted in the summary : make KWin more activity aware. It was my understanding that this idea was consensual among the participants of the previous thread. This would mainly translate in three features :
  • Each activity has its own active virtual desktop: in scenario 1, when Berna switches back to her previous activity, she wants to come back exactly where she was, regardless whether she switched to another virtual desktop in another activity. Currently, if you are on (activity 1, desktop 1), you switch to (activity 2, desktop 1), then to (activity 2, desktop 2). If you then switch back to activity 1, you end up on (activity 1, desktop 2).
  • Each activity has its own number of virtual desktops : virtual desktops are used to organise your windows (related to your current activity). You might need 4 for a given activity and only one for another.
  • Create advanced rules to launch an application on an activity: this is related to what veqz is suggesting. An application can be an activity on its own. It would be useful to be able to make Plasma switch to my "drawing" activity whenever I start Krita. Or getting a notification asking about switching to it.
User avatar
ivan
KDE Developer
Posts
918
Karma
14
OS
@veqz
> "register" itself as an available Activity?

No, since there are no applications that want to do this.

@AGuiFr
> Each activity has its own active virtual desktop
This option already exists. It is not the default.

> Each activity has its own number of virtual desktops

This is one of the often requested features. The problem is technical - in the way VDs are implemented in KWin. We'll see.

> Create advanced rules to launch an application on an activity

Automatically starting an application on activity switch is in the works.

> It would be useful to be able to make Plasma switch to
> my "drawing" activity whenever

Automatic switching to an activity when an application is opened is already possible. If you create a window rule that forces an application to be on a specific activity, when you start the application (or whenever a window that belongs to that application is activated) you'll be transferred to that activity. (just tested with kate, hoping it works with others as well)


Image
User avatar
veqz
Registered Member
Posts
111
Karma
0
ivan wrote:@veqz
> "register" itself as an available Activity?

No, since there are no applications that want to do this.

But there are no insurmountable technical or political obstacles to implement such an API in the future, right?
fneu
Registered Member
Posts
4
Karma
1
OS
alake wrote:Activities enable the Plasma user to more easily focus on a specific task.

I know that it has been discussed before that the ideas of virtual desktops and activities are orthogonal, but please consider what you (can) use the former for. Sure, you can have various windows on different virtual desktops, but you can archieve a very similar behaviour just by opening these windows on the same virtual desktop above the others, right? I think Microsoft Windows (up to version 10) has shown that virtual desktops are not completely necessary for the "traditional desktop workflow". So what makes them great? I believe I'm not the only one that distributes his windows to several virtual desktops to separate them into thematically fitting groups, tasks basically, to more easily focus on them one at a time. And that's why I think that there is indeed an overlap of these features and I would even go so far and say that we don't need both.

Please consider a solution similar to what I believe was possible in earlier iterations of the plasma 4 workspace: To have a different activity for each virtual desktop. I think this would enable us to provide the features mentioned in this thread in a unique way that is easy to understand and use for most people. We wouldn't even force them to use the "additional" features.

Of course the fast switching between virtual desktops is not exactly fitting to what you defined as "tasks" before, but I believe this could still work very well. I can imagine having one desktop for college related things, one for developing, one for browsing etc. and different recent files, recent applications, and maybe recent contacts for each of them. Starting and stopping virtual desktops could also be an unique and useful feature. One desktop for media consumption which doesn't turn off the screen? why not?
AGuiFr
Registered Member
Posts
77
Karma
0
OS
@Ivan: Great ! Sorry, I didn't check whether this had been already implemented or not.
I think that "remember the current desktop for each activity" should be checked by default. Also, windows rules are really not easy to find. Now that there are usage statistics by activity, maybe there could be some suggestions to create these rules. For instance, if the stats show that Krita is always used in the "drawing" activity, and never in the other activities, when the user launchs Krita outside the "drawing" activity, a notification is sent to ask him if he wants to switch to it. If he accepts, the notification suggests to create a rule to always move to the "drawing" activity when launching Krita. Accepting would open the KCM with the corresponding presets, and the user would only have to click "Apply". Some other criteria than usage could be used for deciding whether or not sending a notification : for instance, when activity-specific favourites are implemented, if Krita is a favourite app in the "drawing" activity (and not in any other), the probability to send the notification could be increased.

I wonder if the same principle of suggestion couldn't be used to present the concept of activities to Susan (scenario 4). If some patterns in her usage of the computer are identified (same sets of applications opened, files from the same directory accessed, etc...), couldn't Plasma suggest to create an activity for this activity ? I guess it would be very difficult to implement and very annoying if it is not well tuned, so probably not a good idea. Just brainstorming.
arucard
Registered Member
Posts
60
Karma
0
fneu wrote:I know that it has been discussed before that the ideas of virtual desktops and activities are orthogonal, but please consider what you (can) use the former for. Sure, you can have various windows on different virtual desktops, but you can archieve a very similar behaviour just by opening these windows on the same virtual desktop above the others, right? I think Microsoft Windows (up to version 10) has shown that virtual desktops are not completely necessary for the "traditional desktop workflow". So what makes them great? I believe I'm not the only one that distributes his windows to several virtual desktops to separate them into thematically fitting groups, tasks basically, to more easily focus on them one at a time. And that's why I think that there is indeed an overlap of these features and I would even go so far and say that we don't need both.

It's true that the concepts of virtual desktops and activities are orthogonal, i.e. they should be considered independently from one another. Their indirect relation is that activities provide an environment specific to a task (optimized for that task by the user) which can contain multiple virtual desktops. So you can decide to use activities independently of whether you want to use virtual desktops and conversely, you can decide to use virtual desktops practically independently of whether you want to use activities (I say practically because even without using activities, you're implicitly still using the default activity but that has the practical effect of not using activities at all).

I think the overlap in features is mainly caused by the fact that virtual desktops were available long before activities. So people used virtual desktops to separate their tasks, as you mentioned, on each virtual desktop. The goal of Activities is to provide a better way to do just that. The goal of virtual desktops is simply to provide additional space, which it can still do within each Activity. If you still prefer to separate your tasks on virtual desktops instead of activities, nothing is keeping you from doing that. Though you may consider providing feedback on why you prefer virtual desktops to activities so the activities may be improved to the point that you start to prefer activities.

AGuiFr wrote:I wonder if the same principle of suggestion couldn't be used to present the concept of activities to Susan (scenario 4). If some patterns in her usage of the computer are identified (same sets of applications opened, files from the same directory accessed, etc...), couldn't Plasma suggest to create an activity for this activity ? I guess it would be very difficult to implement and very annoying if it is not well tuned, so probably not a good idea. Just brainstorming.

This does seem interesting, though in order to keep it from being annoying, we could only show these suggestions in the Activity Manager (since that's where you would usually create new Activities). There could be an icon somewhere that indicates to the user "hey, we have some suggestions that might be helpful here". You can easily ignore the icon or click it away if you don't wanna use the suggestions so it wouldn't be intrusive.
User avatar
ivan
KDE Developer
Posts
918
Karma
14
OS
fneu wrote:but please consider what you (can) use the former for.

Feature-wise, VDs are a subset of activities. They provide only the 'window hiding' feature of the whole concept. They do not provide different application favourites, recent documents, contact, etc.

fneu wrote:To have a different activity for each virtual desktop

Not going to happen. Different activities for different VDs, and later different 'widget sets, same activity' for different VDs were the biggest source of bugs in Plasma. Having 4 VDs that are at the same time activities is the same as having 4 activities and not using VDs. (I know that switching VDs was much easier than switching activities, but that was not a good reason to support the feature - it was a good reason to improve activity switching).

AGuiFr wrote:Also, windows rules are really not easy to find

That is an understatement :) (see the screen-cast posted earlier, with something like that, they would be easier to create)

AGuiFr wrote:maybe there could be some suggestions to create these rules

Theoretically, yes. In practice, you get Clippy. I like the idea, but I'm afraid that these intelligent things that pop up notifications more irritate the user than help. If they were a part of the normal workflow, it would be much better.

For example, in Plasma Active, we used to have a side-panel with 'Suggested actions'. One of those was 'this document is often opened in this activity, do you want to link it to this activity'. Nobody ever used that because opening a side-panel is not a part of the workflow. It was much better when we just placed the top used documents in the 'add document to activity' dialogue.

In a nutshell, I like the idea (very much), but as you said, it would need to be perfectly tuned (if we are talking about user-interrupting notifications) in order for it not to be irritating.


Image
AGuiFr
Registered Member
Posts
77
Karma
0
OS
ivan wrote:Theoretically, yes. In practice, you get Clippy. I like the idea, but I'm afraid that these intelligent things that pop up notifications more irritate the user than help. If they were a part of the normal workflow, it would be much better.

For example, in Plasma Active, we used to have a side-panel with 'Suggested actions'. One of those was 'this document is often opened in this activity, do you want to link it to this activity'. Nobody ever used that because opening a side-panel is not a part of the workflow. It was much better when we just placed the top used documents in the 'add document to activity' dialogue.

In a nutshell, I like the idea (very much), but as you said, it would need to be perfectly tuned (if we are talking about user-interrupting notifications) in order for it not to be irritating.

Clippy was awesome ! Siri, Cortana and other assistants are the Clippys of today. I am sure that you will see more and more of these intelligent assistants.

For suggesting the creation of new activities, I agree that it would be very difficult to tune it perfectly. For suggesting to switch to another existing activity based on usage, I think it is possible. By notification, I was thinking about something similar to what is sent when you delete a widget. A notification is sent asking if you want to cancel, and it is accessible in the notification history for 30s or so, then deleted. This is not intrusive, but still visible. As with many other things in KDE software, I think you had an excellent idea with Contour in Plasma Active, but the implementation needed some improvement. If this implementation didn't work, that doesn't mean that the idea was bad.
User avatar
ivan
KDE Developer
Posts
918
Karma
14
OS
AGuiFr wrote:Siri, Cortana and other assistants are the Clippys of today.

Well, those are mainly smart voice search engines. They show up when you ask for them, not when they think they ought to.

AGuiFr wrote:For suggesting to switch to another existing activity based on usage, I think it is possible. By notification, I was thinking about something similar to what is sent when you delete a widget. A notification is sent asking if you want to cancel, and it is accessible in the notification history for 30s or so, then deleted. This is not intrusive, but still visible. As with many other things in KDE software, I think you had an excellent idea with Contour in Plasma Active, but the implementation needed some improvement. If this implementation didn't work, that doesn't mean that the idea was bad.

No, the idea is good (these parts of the UI in PA sucked, but that is another story). Switching (suggesting switching, or doing it automatically) on location change for example, would be awesome. You bring the laptop to work, and it gets to the Work activity. That would be really nice.


Image
robins
Registered Member
Posts
3
Karma
0
I very much like hook's scenario of having activities somehow linked to dates(/todos), as I imagine quite a lot of develepers/scientists/.. using KDE have multiple projects going on with different states. Like Ivan though I am not using KDEPIM for my notes or todos: I am unsing emacs and org-mode: So my question for this subtopic is: Can we somehow make activities to be managed via some scritping/API as well rather than mouse interaction?
loop
Registered Member
Posts
1
Karma
0
ivan wrote:
fneu wrote:To have a different activity for each virtual desktop

Not going to happen. Different activities for different VDs, and later different 'widget sets, same activity' for different VDs were the biggest source of bugs in Plasma. Having 4 VDs that are at the same time activities is the same as having 4 activities and not using VDs. (I know that switching VDs was much easier than switching activities, but that was not a good reason to support the feature - it was a good reason to improve activity switching).


Since it seems that many current KDE developers are used to a different workflow than fneus, me and others that reported this as a bug, i'll try to describe my workflow and what does not convince me of the activities as currently implemented. I understand that different widgets per virtual desktop is a feature that is very hard to maintain but it is quite the selling point of KDE for some users so please bear with me while I try to explain why.

I use a 4 vd setup: general, work, fun, development. Each vd has a folder, a background image and appropriate widgets. General contains an all-purpose browser window, a terminal, something to quickly jot down notes. Work contains mail, skype, possibly papers, text and spreadsheet documents. Fun has chat, music, browser for news, social and fun stuff. Development has everything related to coding.
Each desktop shows the files I need there, the windows I need there and widgets I need there. The colour coded desktops, the pager, the geometrical disposition between desktops (including border switching) and suitable key shortcuts allow me to orient instantly, switch quickly from one desktop to another and move the windows between desktops quickly (e.g.: many things may start from general and end up somewhere else). The whole process is smooth, fast and looks nice. My setup is a convertible notebook-tablet so much of the interaction is gesture based and benefits a lot from the geometrical relation between VDs.

I tried KDE plasma 5 for a week and I ended up trying to emulate the previous setup. I assigned shortcuts to allow me to "rotate" through activities, different wallpapers for each to distingush them. I have no use for Plasma 5-style virtual desktops since they are all the same. I cannot find a use case where I would need many identical desktops. I have no pager now and orienting, switching activities and moving things between activities is awkward (lack of geometrical relation between activities requires to grab-switch-release while before I could use pager, gestures, or simply move a window to another desktop with mouse) and ultimately less visually appealing (e.g., no cube switch).

Consider that every smartphone and their sister now has different widgets and icons per desktop and geometrically related VDs between which you can flick, drag and switch. This interaction model is efficient, very much tried and tested and interactively consistent between platforms. On PCs, given that touchscreens on notebooks are quite common now, there is a need for a DE having similar capabilities. KDE is, or rather, was, the only one to offer this, which was one of its selling points.

I have no idea if it is possible at all, at this point, to implement something as the previous behaviour but, before dismissing the possibility, please consider what I, and many other users, are trying to tell you.

Thank you,
Loop
User avatar
ivan
KDE Developer
Posts
918
Karma
14
OS
Hi Loop,

Thanks for the explanation.

From my point of view, this does not constitute a reason why the feature should exist, but rather shows the deficiencies in the activities UI that made you create an activity-like workflow using VDs. And improving that UI is something that is the point of this discussion. In that regard, I consider your comments very valuable (this sounds cheesy, but really is true).

VDs are (and have always been in the *nix world, until we tried half-merging them with activities) a way to group windows, or better yet, hide the irrelevant ones.

> Consider that every smartphone and their sister now has different
> widgets and icons per desktop and geometrically related VDs
> between which you can flick

There is a big difference between these two. On phones, those desktops are meant for managing widgets and icons (essentially a super-application-launcher with multiple pages due to the limited screen space) whereas VDs are meant for managing windows.

Now, when I said "not going to happen", I did not mean it in a "I took your toy, and I'm not giving it back because I'm evil" sense. I don't work on those parts of Plasma, so it is not really up to me, it is just a general stance nowadays.

The point is that we should make a clear vision of what is what, and make those things fulfil as many different use-cases as we can (including yours, there have been suggestions, I think somebody is even working on it to make a pager-like applet for switching activities).

From what you wrote, the main pain points that I see are:
- activity switching
- moving stuff (guessing windows) between activities
(and, I agree those are probably the biggest issues with the current UI)


Image
AGuiFr
Registered Member
Posts
77
Karma
0
OS
Loop's workflow make me think again about one aspect that I would like to discuss about activities. Loop has a "general" activity, and 3 other ones. I also use a "main" activity, and have other ones for specific purposes.

The vision is important : Activities enable the Plasma user to more easily focus on a specific task.
But do we always need to focus on a specific task ? Are we always performing a specific task when using a computer ? Is "hanging around on the Internet" a specific task ? It would be interesting to gather feedback on how activities are used, and whether or not we are a lot of users having a "main" activity which is used by default, and others activities for specific tasks.

This would go together with my proposal of grouping everything related to activities in one place : in system settings, settings apply to the "main" activity, and you can choose to override them or to use the default for each activity. I know I already suggested this idea, but I didn't have any feedback (positive or negative) on it. What do you think about it ?
User avatar
hook
Registered Member
Posts
205
Karma
0
OS
robins wrote:I very much like hook's scenario of having activities somehow linked to dates(/todos), as I imagine quite a lot of develepers/scientists/.. using KDE have multiple projects going on with different states. Like Ivan though I am not using KDEPIM for my notes or todos: I am unsing emacs and org-mode: So my question for this subtopic is: Can we somehow make activities to be managed via some scritping/API as well rather than mouse interaction?


I completely agree that this should be done in a way to work with other ToDO/Task/Organising solutions.

My scenario was supposed to be just an example, plus KDEPIM is KDE’s official PIM suite.


It's time to prod some serious buttock! ;)
User avatar
alake
Registered Member
Posts
591
Karma
3
OS
So I took a stab at putting together some mockups primarily for the first 3 scenarios for Berna.

Activity Manager: Looks very similar today, but with a few extra bits of information giving a little more insight into each activity (and hopefully a little better idea of the purpose of activities). The third list entry show how the mouse-over could look. I understand that the "Copy" function may be difficult to implement, but I included it for completeness.


I thought it might be helpful to introduce a little "friction" when creating a new activity, since it would provide an opportunity to supply the user with a little more contextual information about what it is they're actually creating. So I'm suggesting the following activity settings dialog which would be shown both when creating a new activity and or to change settings on an existing activity. (These are sample settings so sorry if I missed a particular setting).




Of course, if the settings dialog on an existing activity is opened, the resources tab wouldn't show the updated list of resources based on the normal activity tracking that occurs while an activity is in use. I don't think it is necessary for this activity settings dialog to show every piece of information connected to an activity. These aren't drastic changes, but I'm hoping these help to make it a little easier for the user to really grok the purpose of activities. I think other ways of adding an application such as
  • dragging and dropping an application window onto an activity in the activity manager OR
  • any version of window "pinning"
can be good supplementary mechanisms to accomplish that particular action.

I elected to forego a 3-dimensional visualization since, I couldn't convince myself that it was an inherently better representation of the types of tasks the user would like to focus on than a simple list.

I updated the Activities VDG wiki page with these design proposals. Mockups for scenario 4 are still due, so I'll try to throw some mockups together with any ideas you all come up with. Of course feel free to share your mockups as well! :-)


Bookmarks



Who is online

Registered users: bancha, Bing [Bot], Evergrowing, Google [Bot], lockheed, mesutakcan