Nautilus getting Zeitgeist love…

March 5th, 2010 by Seif Lotfy 14 comments »

So a couple of days ago I promised a Nautilus + Zeitgeist hack… Thanks to Randy it is reality (and I am not a liar)…It is just a proof of concept, we will take time next week to look into details and make things really shiny… Read his blog for more info

Oh yeah here is the sexy stuff if you are to lazy to click and read his blog…

Zeitgeist @ CHI 2010 (Our first Paper and more…)

March 5th, 2010 by Seif Lotfy 1 comment »

Ladies and Gentlehackers,

I would like to congratulate (Dr. to be) Thorsten Prante for taking up on blogging… His first blogpost, surprise surprise, is about some ideas behind Zeitgeist… Also a paper about Zeitgeist has been accepted for CHI Workshop… Please enjoy….

Thoughts about the current Zeitgeist situation (GNOME 3 and beyond)

March 2nd, 2010 by Seif Lotfy 24 comments »

After stumbling upon

I am kinda proud and disappointed…

I am proud that the Zeitgeist team managed to start a project that tackles some of these points. Zeitgeist is aware of activities of other apps and can share it with them, as well of occurring events on the desktop. With the 0.3.3 release of the engine we can do even more. We will introduce a whole new set of machine learning algorithms, and believe me it will blow your mind away. I am blessed to have a team of rockstars hacking on Zeitgeist and GAJ. We got Zeitgeist running on Maemo now and maybe Android soon. (And it all started in my bedroom :P )

I am disappointed because I still don’t see GNOME Shell trying to make use of the information we have. I really think it is about time to get things running with Shell. I mean even KDE 4.4 copied our functionality (Zeitgeist-Filesystem) into Nepomuk. We are very  efficient  at what we do and we do it well. We will introduce the Nautilus Integration soon too. I cant see any road map or plan on working with Shell, but our developers are willing to start talking use cases. The Shell guys are an amazing bunch of developers, yet IMHO the Shell development is following too much the beaten track of desktop experience. Until now I can only call what they are doing providing enhanced and better experience, however not really new. When I say providing new experience I am not only talking about Zeitgeist but also Tracker as well. I mean if Shell is not going to make use of Zeitgeist + Tracker for a GNOME 3 experience than who will. Its time to end this phobia towards “semantic desktop”. Limiting oneself to an application centric desktop wont help the evolution of GNOME 3. Tracker and Zeitgeist provide ground for  re-scoping of possibilities (Application Centric, Document Centric and Event Centric).  Maybe a little IRC Meeting between the devs  of (Shell, Tracker and Zeitgeist) would be a good idea…

Most of the apps that make use of us are either homegrown (GAJ) or not official GNOME apps (Docky). Our Nautilus integration will most probably land into the Elementary OS Project and not in Nautilus :(

I would love to see Zeitgeist growing to be something like Telepathy in terms of providing a standard for event logging (even if  its in python), and I hope we get there soon. And I hope Nokia and Intel could also make use of what we have and not reinvent the wheel if they like what we do….

P.S: I am thinking of  starting a company with some of the Zeitgeist developers, the first steps have been taken…

Nautilus + Zeitgeist

February 28th, 2010 by Seif Lotfy 40 comments »

OK this post is from Ian Cylkowski aka izo.
please please have a look!
http://www.design-by-izo.com/2010/02/27/deconstructing-nautilus-and-rebuilding-it-better/
It shoes some nice mockups

So if someone can link me with a tutorial how to extend the nautlius sidebar I will add the “commonly accessed” functionality within an hour or 2!

PROMISE

GNOME Activity Journal 0.3.3 Video

February 21st, 2010 by Seif Lotfy 7 comments »

OK here is a video…

GNOME Activity Journal 0.3.3 is out!

February 21st, 2010 by Seif Lotfy 22 comments »

First the Release Announcement:

GNOME Activity Journal 0.3.3 – “Patrick Star meets Lady Gaga”
==============================================

The GAJ & Zeitgeist team, are proud to announce the second development release of GNOME Activity Journal, codenamed “Patrick Star meets Lady Gaga”.

What is GNOME Activity Journal?
=========================

GNOME Activity Journal is not a File Browser but an Activity Browser. It uses the ZeitgeistFramework to display what you did and introduces a better way of finding the things that you were doing quickly.

Where?
=====

* Downloads: http://edge.launchpad.net/gnome-activity-journal/0.3/0.3.3/+download/gnome-activity-journal-0.3.3.tar.gz
* About Zeitgeist: http://zeitgeist-project.com
* Wiki: http://live.gnome.org/GnomeActivityJournal

What is done so far:
==============

Since the last release we included some new features (but postponed others)
Alongside the “Pretty layout”, “Pinning of stuff, “Calendar scrubbing” and the experimental “Tracker Search” we are introducing:

* “Detailed Day View” accessible over left clicking the day label.
* “Thumbnail View” accessible over right clicking the day label.
* Remove Items from the Journal

Also a lot of bugs have been fixed alongside caching and performance improvements.

What to expect with the next releases:
===========================

* Improve “right-click” menu (Display related files).
* Add “right-click” menu to the new views.
* Search and interaction.
* Tags.
* Remove activities from the journal (permanently).
* Fixing all open bugs .

—-
Cheers
Seif

Now for Screenshots of the new views (accessible by clicking the day label)

  • Detailed View (Accessible over left click):

  • Thumbnail View (Accessible over right click):

The next release will allow more interactions and make use of Zeitgeist’s “Most used With” and “A priori Sets”. Zeitgeist 0.3.3 will be out soon…

Algorithms for learning association rules in Zeitgeist

February 15th, 2010 by Seif Lotfy 8 comments »

With the framework being in a stable form now and Siegfrieds work on a “dataprovider register” (he will blog about it soon i hope) I decided to take a stab at something new that has not really been used on the desktop before except in GNOME-Do.
However what we are doing is a bit more complicated.
With Zeitgeist knowing about your activities and events i tried to apply the classic “A Priori” Algorithm to detect associated files based on usage.
Unlike our current implementation of finding files related to other explicit given files. This one looks at a whole timerange and creates sets of files used together. It is kind of like detecting usage patterns.

Taken from wikipedia here is a little example:

A large supermarket tracks sales data by SKU (item), and thus is able to know what items are typically purchased together. Apriori is a moderately efficient way to build a list of frequent purchased item pairs from this data. Let the database of transactions consist of the sets {1,2,3,4}, {2,3,4}, {2,3}, {1,2,4}, {1,2,3,4}, and {2,4}. Each number corresponds to a product such as “butter” or “water”. The first step of Apriori to count up the frequencies, called the supports, of each member item separately:
Item Support
1 | 3
2 | 6
3 | 4
4 | 5
We can define a minimum support level to qualify as “frequent,” which depends on the context. For this case, let min support = 3. Therefore, all are frequent. The next step is to generate a list of all 2-pairs of the frequent items. Had any of the above items not been frequent, they wouldn’t have been included as a possible member of possible 2-item pairs. In this way, Apriori prunes the tree of all possible sets..
Item Support
{1,2} | 3
{1,3} | 2
{1,4} | 3
{2,3} | 4
{2,4} | 5
{3,4} | 3
This is counting up the occurrences of each of those pairs in the database. Since minsup=3, we don’t need to generate 3-sets involving {1,3}. This is due to the fact that since they’re not frequent, no supersets of them can possibly be frequent. Keep going:
Item Support
{1,2,4} | 3
{2,3,4} | 3

In much larger datasets, especially those with huge numbers of items present in low quantities and small numbers of items present in large quantities, the gains made by pruning the possible pairs tree like this can be very large
.

Now imagine the supermarket being all files on ur computer and the transactions being sets of events happening to the files per 30 minutes.

Using this we will be able to determine alot of cool associations between files and with some Tracker magic we could do this on a metadata level.

Now i pushed the implementation with this test case and another into a branch waiting for the team to review it and expose it properly over D-Bus. The test cases work though which kinda gets me excited to work on new algorithms and generate adaptive transaction since right now i assume every 30 minutes is a transaction. I have a lot of ideas and also I will be applying two other algorithms Winepi and Minepi to compare results.

Expect some cool stuff to come up soon…
Releases of the engine and GAJ are being prepared…
Cheers

No FOSDEM for me!

February 6th, 2010 by Seif Lotfy No comments »

Out of personal and convenience issues i decided not to board the train today.
So I wont attend FOSDEM. However 2 Zeitgeisters will be there.
Please don’t hesitate to contact Hylke Bons (hbons) concerning the GNOME Activity Journal and Siegfried Gevatter (RainCT) concerning Zeitgeist Framework!
Have fun! And lay off the booze! :P

Tracker – Part I (User stories and Problems of the current desktop)

January 29th, 2010 by Seif Lotfy 9 comments »

With Codethink sponsoring the prize for the upcoming to be announced competition for the coolest app using Tracker and RDF, I took the liberty to sum up the “fuss” around Tracker in 2 blog posts.

  • Part I: User Stories and Problems of the current desktop.
  • Part II: Tracker To The Rescue and Providing New User Experience

So here we go with Part I:

User stories:

  • Tony is making some changes to a document. To clarify some issues, he wants to refer back to the email threads or IM conversations he’s had about that document.
  • Jenna uploaded her vacation pictures from Brazil to her desktop. She would like to tag people in the picture with contacts in her address book. Later when she uploads the pictures to Flickr she expects to have the tags available there too.
  • John has to work on his Michael Jackson research. Since he worked using webapps such as “Google docs” and some local data, he needs to be able to globally search for all his data on the web and locally.
  • Rob is trying to land a contract with ACME Inc. he wants to get a list of all of his contacts who have a relationship to ACME Inc.
  • Tony met a hot girl at a house party. He wants to search which of his freinds know her.
  • April is working on a project. She wants to make a ‘folder’ containing all the research materials she’s using on the project. Her research materials include webpages, downloaded files, e-books, emails and IMs.

Problem:

  • Current information architectures store data in special, independent file formats. For example, e-mail messages in e-mail files (or an e-mail database), contact data in contact files, appointments to calendar files.
  • File formats differ between different applications and services, making an interpretation or even a combination of the data only possible via special software. In many cases, it is required to put use information from different sources together such an address book and a calendar.
  • The current desktop has no logic to understand its data, what they are about, who they are from or how they are related to other documents.
  • Current devices need to integrate with multiple online services, and there is no standard for doing this.
  • Data stored online is just as important local data, however there is no standard for handling both data sources simultaneously.

Zeitgeist running on Maemo

January 26th, 2010 by Seif Lotfy 3 comments »

After a some dirty hacks and little battle with dependencies. The Zeitgeist team got the engine running on Maemo…

Now for the UI and some Zeitgeist voodoo :)

BTW if u have any N900 to throw or donate at the Zeigeist developers side please contact us on irc.freenode.net #zeitgeist.