Tag Archives: mayanna

GNOME-Zeitgeist meets Mayanna THE ULTIMATE FAQ

Perhaps as a result the recent news about GNOME 3.0 mentioning GNOME-Zeitgeist (Yay!). A lot of people have been visiting our IRC channel lately asking about the project. In the chats that evolved we told them about our merging with the Mayanna project which led to some questions regarding Mayanna. Since many people have the same questions, we compiled this little FAQ.

1. Why do you merge again? I didn’t get that part.

We have a little problem in GNOME-Zeitgeist. Our dataprovides reside in the same process as everything else and therefor block our GUI quite undesirably. Mayanna provides a solution to our problem that involves little work and has some additional benefits. More of it in Q5

2. What is this Mayanna no one was talking about just 5 minutes ago?

Mayanna is not Mayanna-legacy (an optimized fork of Gimmie). Instead it’s a complete rewrite without any of the obvious problems Gimmie used to have. Mayanna is basically a plugin architecture (plugin platform) written in python to manage and view objects-of-interest (emails, files, contacts, events, tasks, whatever).

3. What is Mayanna/Zeitgeists’s goal?

Both have the ultimate goal of providing you a personal interface to all the information you store on your PC and on the web. Complete with means to organize and search the stuff and with enhanced interaction subroutines.

4. Plugins eh? Like Add-ons in Firefox right? Now what use would that be, an application just babysitting plugins, doing nothing of itself?

Not exactly like Add-ons and well, not exactly plugins either. A plugin in Mayanna is a thin wrapper around so called Services which is used to manage them more easily. So what does a Service? It creates, manipulates or displays Items (the internal representation of the aforementioned objects-of-interest).

5. So every thing’s a plugin, right. Why not supply the GUI via plugin also?

In fact, that’s exactly the thing we want to do. Of cource Mayanna itself will have to provide a GUI to manage the services and to set some preferences. But apart from that the GUI will be supplied by plugins (some of which the Mayanna project will write). Why? Because everyone uses their computer differently and Mayanna wants to supply more than one possible solution to your every day computing needs. Different solutions require different GUIs. That’s why the Mayanna Team dances the plugin dance.

6. So what is that solution you mentioned in Q1?

Mayanna’s Services can be run in separate processes and it’s modular design makes merging very easy. Some parts of GNOME-Zeitgeist will be ported to Mayanna’s plugin system, others become core parts of Mayanna. The plugin parts will be a default part of Mayanna that comes with the application. We see Mayanna as a very robust framework for building apps. It isn’t quite a MVC, but its something equally neat. Besides, we really like the idea and realization of Mayanna and see the potential which lies in it’s services working together and using one another. We think Zeitgeist may very well profit from 3rd party services that way.

7. What about the name “GNOME-Zeitgeist”?

Although we (and a lot of other people) like the name Zeitgeist, Mayanna has a much broader scope and calling the combination of the two “Zeitgeist” or “GNOME-Zeitgeist” would be misleading and hurting the project in the long run. We know of course about the publicity connected with the name “GNOME-Zeitgeist” (we read the news as well) and we expect to lose some of that while merging. This FAQ is part of our effort to keep as much of it as possible and in the meantime to extend it to the Mayanna Project. The newly created plugin will still bear the name Zeitgeist. So it should not be forgotten. Zeitgeist will be the AI and partly a UI of Mayanna.

8. What about the developers?

The GNOME-Zeitgeist and Mayanna maintainers have worked together before and helped each other set the first milestones of their respective projects. With this reunion the developer teams will merge (as team Zeitgeist) to improve the Mayanna engine as well as the Zeitgeist algorithms.

9. What about GNOME 3.0

It is still our aim to be included in GNOME 3.0 as is the aim of the Zeitgeist (GNOME-Zeitgeist and Mayanna) developers. We see this merge as an important step towards that goal.

10. So how is it going?

It’s done. The most part that is. We are in the progress of tieing together the last lose ends on the Item producing part and looking forward to hacking away at the GUI code. Memory consumption is low as ever and we even see some improvements compared to the old code.

Bringing back some old code

I used to work an Gimmie under the mentorship of Alex Graveley and then started Mayanna with Alex Gabriel. At some point while staying busy on that trying to figure out the memory leaks I ended up prototyping this.

Here is a quick demo of a semi working sidebare.

Gnome Jounrnal Update #7

Natan Yellin and I have been organizing a lot in the code. Natan stumbled up on SpiffGtkWidgets and managed to integrate it into the code. Although the display is amazing its pretty slow. Thus Natan and I decided to hack on it and upload our patches :) .

A couple of new features will be added and/or are under development, most importantly:

  1. Search! We need to be able to search
  2. Bookmarking! I took out the bookmarking code to re-implement it at some point.
  3. Tags! Tagging items would be really a cool feature however we need a database for it
  4. Two new Iconviews Placeholders. “Frequently Used” and “Bookmarked”. I think the names say it all!
  5. We are considering of storing History in an sqlight database! We need the communities opinion on it
  6. Option of choosing a backend engine such as Tracker

Another very important thing is the naming of the Project! right now alot of the code is still related to mayanna-legacy! However since I will be also working on the new mayanna version I think renaming the classes and projects would be a good choice since alot of the original code has been changed and reduced. My suggestions would be:

  • Gnome Zeitgeist (The options of bookmarking and frequently used should encourage this name)
  • Gnome Reflaction (the a is on purpose :-) ) .. à la reflection in/for action
  • Gnome Did (sounds too much like Gnome Do though)
  • Gnome Timeline
  • Gnome Useline

More to come! Need to take a Nap

Gnome Journal Update #6

I managed to get Firefox history at last. After some issues with SQLite locks, copying the places.sqlite and work on it was the solution. Still it takes too long to display them!The good thing about the code is that both UI and engine are seperated. Another cool thing is now automatically when one writes a new dataprovider it can autmatically be filtered. Next on the list is improving performance and memory consumption(although its waaaaaaaaay better than gimmie/mayanna).

Features:

  1. Firefox now enabled
  2. Cleaned up code
  3. Enabled Drag and Drop

Issues:

  1. Refreshing the view or loading lots of items takes too much time!
  2. Bookmarking is still disabled

I will upload the changes as soon as I turn on my laptop!

*Update its all up on launchpad or just go bzr branch lp:gnome-doc-centric-playground

Gnome Journal Update #5

I assume this is update 5 thus #5

So the filters are working pretty well! All functional and every dataprovider will be automatically included into the filters list. I still have to work on the refreshing view thingie but all in all pretty stable. The issue concerning me is that when to much data is provided e.g. Firefox history (couple of thousand on my PC) it could take too long to create and view the items! The Firefox Dataprovider is in the code, however will not be displayed, since inserting over 3000 items makes the whole thing take too long to start up and filter out! Plus somehow Firefox blocks usage of the sqlite database while running.

Features:

  1. Filter works perfectly
  2. Firefox DataProvider included into code but disabled

Issues:

  1. Refreshing the view or loading lots of items takes too much time!
  2. Bookmarking is still disabled

As for hacking updates Natan Yellin set up a bzr branch on launchpad. Have a look here. To copy this branch open a terminal and go: bzr branch lp:gnome-doc-centric-playground

If someone can reach Federico please tell him to contact me :P

Implementing a Gnome Journal/Timeline Filter

As the topic says, I am working on a filter to filter in/out mimetypes into the timeline! As for now I took out Pidgin an bookmarking so i could improve the speed and memory consumption! They will be built back in soon.

I just noticed gnomejournal.org, thus I think the project needs a new name/codename… I think Gnome Timeline or “Gnome Zeitgeist”(GZG).

I could use some help with a Firefox plugin.. if some1 can send me a sample code of howto read in the firefox history using python i would be very thankful!

Tomorrow i will continue as for now I will sleep! The changes of today will be uploaded tomorrow since they are on my desktop and I am in bed!

Some new updates from the Gnome Journal Prototype

After a long day of studying, watchign series, hacking and lindy hoping, I thought it would be appropriate to tell the world (whoever is interested) about the new updates on the Gnome Journal Prototype.
I managed to get some academic and managment bacjup from my former boss and still current mentor Thorsten Prante. To do some advertising here a quick summary.
Thorsten Prante is a computer scientist and has worked in research at Fraunhofer, as scientific staff and deputy division manager, where he also lead software development efforts and co-directed an international research project. Thorsten has been involved in R&D projects and in academic research, also teaching at the Darmstadt University of Technology. His main interests are in interactive workspaces and personal information management. Interactive workspaces is a research area focused on how to tune-up working environments and relates to ubiquitous computing (including context-awareness), human-computer interaction, and computer-supported cooperative work. His interest in personal information management focuses on the use (manipulating, finding, keeping, maintaining, employing, experiencing) of information embedded in everyday activities of knowledge workers. He is currently working on his PhD.
I worked with him on a similar project before and managed to convince him to work support me on creating a smiliar project for Gnome.
As for hacking updates Natan Yellin set up a bzr branch on launchpad. Have a look here.
To copy this branch open a terminal and go:
bzr branch lp:gnome-doc-centric-playground
I managed to clean up the code alot. I took out pidgin again just until I manage to continue cleanign up. Another thing I am working on is improving the refresh rate of the Iconview. The concepts works however I have to be able to filter out unused days! Its a weired issue I will be writing about in the next days!
So I will continue hacking tomorrow! Me need to sleep! N8

Gnome Journal Prototype

Well I am still programing on it using python! Not sure if a switch to Mono is of big gain at the moment, since most of the code is based on Gimmie/Mayanna thus development could be pretty faster if I continue! However Mono would be a fresh start! Thus I wrote Prototype.

I created a git repository for it

What I am excited about the most is the fact that I fixed the memory leak I was having with Gimmie/Mayanna and thus will be working on it 100% again. I hope that Alex Graveley would show interest again in maintaining Gimmie.

I cant wait to apply the changes on the Iconview class form the Journal on Gimmie/Mayanna! I think this way I can get mayanna never to exceed the 30 MB limit! Would be amazing if I could then integrate the Timeline into Gimmie/Mayanna as an option!

More updates on the Timeline (semi working mockup)

After chatting with Federico. I showed him my quick gimmie/mayanna based prototype! He will be looking at the code to decide if it should be rewritten in c# or if we will modify the now existing python code or just take some classes! I hope it is the last one!I know for sure is that I will be writing him his providers

I added some new buttons to the layout! and an idea for filtering! its not functional though.Try it out.

*UPDATE: Implemented (more or less took from gimmie/mayanna) a “create new document” dialog and button functionality.

**UPDATE: Implemented Tomboy support. Again taken from gimmie/mayanna

Here is a picture:

timeline2

Quick timline update

I need a new name for it

*Update: Fixed some little bugs and issues. Still have to figure out howto refresh without consumign so much memory! Help me come up with a name! I am loving it