<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>

<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
</head>
<body text="#000000" bgcolor="#ffffff">
<br>
<br>
-------- Original Message --------
<table class="moz-email-headers-table" cellpadding="0" cellspacing="0"
 border="0">
  <tbody>
    <tr>
      <th valign="BASELINE" nowrap="nowrap" align="RIGHT">Subject: </th>
      <td>Re: KDE development idea</td>
    </tr>
    <tr>
      <th valign="BASELINE" nowrap="nowrap" align="RIGHT">Date: </th>
      <td>Thu, 03 Sep 2009 09:30:10 +0200</td>
    </tr>
    <tr>
      <th valign="BASELINE" nowrap="nowrap" align="RIGHT">From: </th>
      <td>Charlie <a class="moz-txt-link-rfc2396E" href="mailto:charlie.abela@um.edu.mt">&lt;charlie.abela@um.edu.mt&gt;</a></td>
    </tr>
    <tr>
      <th valign="BASELINE" nowrap="nowrap" align="RIGHT">To: </th>
      <td>Aaron J. Seigo <a class="moz-txt-link-rfc2396E" href="mailto:aseigo@kde.org">&lt;aseigo@kde.org&gt;</a></td>
    </tr>
    <tr>
      <th valign="BASELINE" nowrap="nowrap" align="RIGHT">CC: </th>
      <td><a class="moz-txt-link-abbreviated" href="mailto:kde-soc-mentor@kde.org">kde-soc-mentor@kde.org</a></td>
    </tr>
  </tbody>
</table>
<br>
<br>
<pre>Hi Arron, thanks for your reply.
I have been following some discussions, both on the plasma and kde 
mailing lists.
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 
monitoring service.

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 
component.
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 
estremely helpful.
So what do you think? How does this fit with what has been discussed so far?

let me know

cheers

Charlie


On 09/03/2009 12:19 AM, Aaron J. Seigo wrote:
&gt; On September 2, 2009, Charlie wrote:
&gt;    
&gt;&gt; I'm at present looking into work related to personalisation of the
&gt;&gt; user's desktop.
&gt;&gt; My idea is to combine user's activities together, based on context. I'm
&gt;&gt; relativley new to C++ and KDE development and a mentor could be ideal.
&gt;&gt; Is the offer still on?
&gt;&gt;      
&gt; of course :)
&gt;
&gt; Ivan has started working on exactly this area but there is a LOT of different
&gt; things that should (let alone _could_) be done. i'd suggest that you, Ivan and
&gt; I get together (on irc?) to discus where we are right now and the move on from
&gt; there together.
&gt;
&gt; we have begun stitching Nepomuk and Plasma's activities together, but that is
&gt; just beginning really and there are still areas like geolocation, remote
&gt; widgets, open social, etc that are completely unexplored yet.
&gt;
&gt; if you aren't on <a class="moz-txt-link-abbreviated" href="mailto:plasma-devel@kde.org">plasma-devel@kde.org</a>, that might also be a good idea.
&gt;
&gt; so, all that said .. what sort of ideas do you have?
&gt;
&gt; Ivan just went to bed (we're in the CEST timezone at the moment), but we can
&gt; definitely get together in the next few days :)
&gt;
&gt;    

-- 
----------------------------------------
Charlie Abela
PhD student,
Rm 409A, Computer Building,
Department of Intelligent Computer Systems,
Faculty of ICT,
University of Malta,
MSD 2080, Msida, Malta.
Tel: +356-2340-2027
Web:<a class="moz-txt-link-freetext" href="http://staff.um.edu.mt/cabe2">http://staff.um.edu.mt/cabe2</a>

</pre>
</body>
</html>