Σελίδες

Saturday, 31 March 2012

Activities and WorkAreas [Draft]




I will try to explain you the previous image even though I think many of you already understand it...
But because I believe a lot in this idea I will be a little more descriptive than usual...


I am using Kde for more than 6 years. Currently I am using Plasma Desktop 4.7. If someone would ask me if in general I like kde4 . I would answer «it's not only that I like it anymore, It's also that I cant live without it, I am bidden to it». Would you like to know why I am bidden to it? I am bidden to it because it represents at a great level my unique workflow and life (I believe that every person has its unique workflow). But how did it achieve that? Through Activities and Virtual Desktops in combination.... 


I have read a lot of articles trying to describe what an activity is for a modern desktop or a user. On the other hand many others describe that they dont get it so they will use virtual desktops because they want that plenty space....

For me activities is a unique set of tools for a specific task. For example for listening to music I want different tools than developing a program... But I am doing both each and every day... Lets make it bigger... I am a teacher I have many lessons so I need specific tools for my lessons, specific tools for my browsing experience, specific tools for drawing an image etc....

So an activity for me is the set of specific tools that I need immediately available for a specific task.

A virtual desktop on the other hand is a different instance for a specific set of tools(activity). For example I teach 4 lessons this year, so for each lesson I need its specific files opened, directories, websites and applications but the same tools. So because I have to use the same tools, for me it's the same activity but a different instance of it (I would prefer if it was called workarea as workspace is already being used)...

Virtual Desktops (workareas for me in the future)

Virtual Desktops alone without Activities is a way to use every single time the same tools in order to accomplish your work but having plenty space to organize that work.

Lest think that we use our computer for Browsing experience, Teaching some lessons, Programming etc.

For example
without windows
with windows


In this example even though I can add plenty space I use all the time the same tools... So my tools are going to increase vastly on screen and my performance is going to fall (many tools for different tasks on the same space).


Activities

Lets see how Activities work, I am going to use the previous example. I need an activity for Browsing, an activity for my Lessons, an activity for my Programming sessions and at last an activity for Linux OSes observations... I need these because these are the main areas I work this period, if something new arises I will a create a new fifth activity without even touching the first four ones.


That would look like that....
(my different tools in each activity without windows.... :) )
(with windows)



This is a clearer solution than previous case with Virtual Desktops as I can use different tools for different tasks.



But in that case also I have a small issue... Lets think I have 4 lessons, 2 Programming projects etc with all their windows in the relevant activity. In that case the windows are starting to increase and my performance is also starting to fall.



So in that case my unique sets of tools exist but on the other hand many look alike but different tasks in the end(e.g. Lesson1 + Lesson2 + Lesson3), exist in the same space....



Someone would say that this is not an issue as you can create new activities for each unique lesson. But in that case many questions arises... For example some time in the future you need to change the position of a tool, or you need to add a tool, remove one etc for all your lessons... 


(one activity for each separation)

In general both Virtual Desktops and Activities operate in one dimension logic. It's like a big one dimensional array that we can increase it or decrease it as much as we want...

Activities + VirtualDesktops(WorkAreas)

Let's see by combining these two great forces in our current Plasma implementation what we achieve.
(with no windows)
(with windows)

Problem1: In the first mockup we can see that there is a small problem with describing each WorkArea correctly. What is Desktop1 for Lesssons? Or Desktop1 for Programming? What is the real meaning for me? Answer: I only describe that space without taking focus on the task I use it... With Plasma we want our desktop to know exactly what we are doing (task centric) and where we are doing it in order to be able to interact with us more intelligently.





Problem2: In the second mockup we can see that if an activity needs 4 workareas(e.g. programming) then all the other activities also use 4 workareas even though they do not need them.


By these two problems we can understand that Virtual Desktops(WorkAreas) currently only focus on more space and only that. Every user can use them to organize his work but without really representing his workflow.


Solution

So what I propose? I propose to enhance our Virtual Desktops and make them WorkAreas :), in that way we can use a two dimensional structure that represents almost completely our workflow... It's not about more space, it's about meaning (task centric). We can have as much space as we want but that space will represent completely our workflow. 





Every set of WorkAreas is unique in its Activity, in that way I can have two workareas for Browsing with their representing names, three for lessons, four for programming etc.

WorkAreas Attributes:
-each one can have its unique name
-I can rename them easily
-I can add and delete them easily
-I can move a window from one workarea to another easily
-I can change their order easily
-I can even move them to another activity by only changing the tools(background tools) and keeping the windows
-ADD v2 -I can easily share them with my other devices which use plasma e.g. Plasma Netbook, Plasma Active, Desktop, Mobile etc.

Activities Attributes:
(even though they already exist)
-Add and delete them easily
-I can use templates with predefined set of tools
-I can rename them easily
-I can stop, run them etc.
-I can reorder them (I dont know if that exists)



For me plasma is a system that understands me, represents me and interacts with me not just intelligently but almost humanly. Plasma currently is not far from that. I am certain that in the future will influence all the other Desktop Environmets in how it is believed computers should interact with users....