Fwd: Re: KDE development idea
charlie.abela at um.edu.mt
Thu Sep 3 10:07:53 CEST 2009
-------- Original Message --------
Subject: Re: KDE development idea
Date: Thu, 03 Sep 2009 09:30:10 +0200
From: Charlie <charlie.abela at um.edu.mt>
To: Aaron J. Seigo <aseigo at kde.org>
CC: kde-soc-mentor at kde.org
Hi Arron, thanks for your reply.
I have been following some discussions, both on the plasma and kde
I have some idea about how nepomuk works but I lack background in kde
and related developing langauges, though I have to say that now I am
getting to grasps with both, I think at least :)
Anyways my initial idea is to look at task persistence. A task in my
mind, and from research I've done, is an abstract concept pertitent to
the user. It is made concrete (at least partially) by his activities on
his personal desktop. Looking at KDE (btw I'm using kubuntu 9.04 and
have set up also a development environment with kdevelop (beta ver) and
qt) it seemed natural to present a solution based on the existing
plasmoids framework. In fact two very important plasmoids, the
folder-view and the task manager have somewhat contributed to inspire my
idea. The initial idea of a task-viewer or rather a containment that
somewhat reflects the user's mental grouping of activities to solve a
specific task. The grouping action is tricky and one can do away with a
manual approach, however more versatile approaches could look into
machine learning techniques that can automate the process (most probably
only partially, cause the user will most probably never leave things
entirely in the hands of his digital assistant).
In any case my initial ideas are to go for a manual approach, however
some automation is still possible, especially with the help of nepomuk
tools at the backend.
So to recapitualte: a task-view that provides context-menus and the
ability to manage and maintain existing tasks, together with a
1. Context Menus (associated with the task viewer)
i. Rt-clicking on the plasmoid's area will bring up a menu that allows
for the creation of a new task as well as the possibility of opening an
existing task. When the new task option is chosen the user will be
presented with a number of options, including create a new task and
create a tagged task. The latter will be represented by a list with
tasks that where previously tagged or labeled by the user. Typical
examples for a knowledge worker would be, ``PhD task'' or ``EU Project
task''. The granularity of the list is user-dependent and will most
probably be only intuitive to the user. Upon choosing any of these
options a dialogue window is presented, through which the user can
define certain parameters, such as task-title, time stamp (defined
automatically) and type of task (this is a tag which will be used later on).
ii. Expanding up a task will trigger the execution of the Task
Management tool. The latter is a tool that allows tasks to be browsed
(queried) as mindmaps.
iii. Task icons can be sorted and ordered in different ways. Tasks can
also be deleted. This functionality is inherited from the folder-view
iv. An option to resume a task will also be provided. This will expand
the gathered task information by opening up any documents which were
visited during the monitoring phase for that specific task.
2. Task Management tool
This task-management tool allows the user to visually maintain the
created tasks. Each task can be viewed as a mindmap whereby each node in
the mindmap will represent a document that has been visited by the user
while performing that task. The relation between the nodes implies an
ordering based on timing as well as document-content. Two documents
whose contents are very similar and whose time of access is close will
be grouped closer to each other. Other possibile algorithms will need to
be researched here.
3. Activity Monitoring service
An activity-monitoring-service instance has to be assigned to each
initiated or resumed task (this might need serious thinking, due to
resources involved possibly hogging the system). This service is
fundamental to capture the information about the activities going on, on
the user's desktop. Each task requires a separate monitoring instance.
At present I'm also working on a couple of use cases which are somewhat
different from the traditional and common knowledge-worker one.
Though I have started looking at both the folder-view and task-manager
plasmoids, and started to understand bits and pieces of the former,
these are complicated components, at least for me, possibly due to my
lack of knowledge of the implementation aspect, as well as to teh design
of kde itself. However this, I'm sure will improve as I go along, but
its here and in the design of the new plasmoid that a mentor would be
So what do you think? How does this fit with what has been discussed so far?
let me know
On 09/03/2009 12:19 AM, Aaron J. Seigo wrote:
> On September 2, 2009, Charlie wrote:
>> I'm at present looking into work related to personalisation of the
>> user's desktop.
>> My idea is to combine user's activities together, based on context. I'm
>> relativley new to C++ and KDE development and a mentor could be ideal.
>> Is the offer still on?
> of course :)
> Ivan has started working on exactly this area but there is a LOT of different
> things that should (let alone _could_) be done. i'd suggest that you, Ivan and
> I get together (on irc?) to discus where we are right now and the move on from
> there together.
> we have begun stitching Nepomuk and Plasma's activities together, but that is
> just beginning really and there are still areas like geolocation, remote
> widgets, open social, etc that are completely unexplored yet.
> if you aren't on plasma-devel at kde.org, that might also be a good idea.
> so, all that said .. what sort of ideas do you have?
> Ivan just went to bed (we're in the CEST timezone at the moment), but we can
> definitely get together in the next few days :)
Rm 409A, Computer Building,
Department of Intelligent Computer Systems,
Faculty of ICT,
University of Malta,
MSD 2080, Msida, Malta.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Plasma-devel