Sunday, September 26, 2010

Archibald

Almost five years ago, at the traditional KDE PIM meeting at Osnabrück, I drew the first version of the Akonadi architecture on a whiteboard. It felt appropriate to put the server into the center and arrange the different layers of the system around it in circles. The result was a beautiful diagram.


Trouble stroke, when I tried to create a digital version of the diagram. Putting texts on rounded shapes and arranging partial circle sections in a nice way was too much for all vector and diagram drawing applications I tried. So as a hacker, how do you solve problems? Right, you do it in software. So I wrote an editor for the diagram in Qt.


The mission was accomplished, the diagram up on our web pages. So the code for the diagram tool got buried under a pile of other stuff on my harddisk. But last winter, again at the traditional KDE PIM meeting at Onsbrück Steve reminded me of the tool by showing me an updated version with the then current state of the diagram, and a bit later at FOSDEM Paul complained that Kolab didn't show up in the first version. So there clearly was a need for an updated version of my tool.

After a little bit of hacking the tool is now able to handle multiple versions of the diagram, and here is a view of Kolab in the Akonadi architecture.


While hacking on the tool I also moved it into a git repository and published it on github. So if you want to have look, or if you feel inclined to play around with the Akonadi architecture, go ahead and clone Archibald. Let me know, if you do something interesting with it. I'm curious.

9 comments:

  1. "Putting texts on rounded shapes and arranging partial circle sections in a nice way was too much for all vector and diagram drawing applications I tried."

    Did you try Inkscape? It could produce the above diagram with not too much trouble...

    ReplyDelete
  2. looks like something that could be useful when added to another application, krita or kpresenter maybe?

    ReplyDelete
  3. @smls: Inkscape was much less advanced and had a lot less helpful tools back when Archibald was written.

    ReplyDelete
  4. So people mention other tools that probably could do the same job. And maybe Inkscape is one of them. Perhaps there are dozens for all I know...

    I think this misses the point, however. What I really like about Archibald is that it was created to solve a very specific problem. Sometimes the worthiness of a piece of software is not measured in its utility or in the amount of alternatives already in existence.

    Archibald was clearly written because the problem was fun and interesting. There's not better way to keep up your passion for hacking imo,

    Thanks for adding Kolab!

    ReplyDelete
  5. At the Kolab section, shouldn't the IMAP layer be closer to the Kolab layer, i.e. its position exchanged with the ones of "Email", "Contacts" and "Calendar"?

    ReplyDelete
  6. I must as well reply that Inkscape could do that now. But as well mention, maybe not 5 years ago.

    But the point still stands, that is good looking diagram and a standalone application for it is such what really is easier to use when wanted to make same kinds without SVG/Image editor. As that standalone application seems to allow easy way to edit the diagrams as well.

    What I am actually more thinking, is why not implent this now to KOffice? :D

    Even that pie charts are hard to read and they actually have fault to give inaccurate graphical information, that would work on many other situations as it is layered pie.

    ReplyDelete
  7. this looks very interesting...

    Any plans for a repository on the openSUSE Build Service? It would be nice if I'd be able to pull Archibald in from a repo.

    ReplyDelete
  8. @smls: I tried Inkscape and actually was able to create the diagram. But maintaining it was still quite painful, moving around blocks in a consistent way, etc. That's way simpler with a custom app.

    @Fri13: The code is hardly ready for KOffice inclusion. It's really very specific to the use case.

    @Gábor: Yes, would be great, and probably is really simple, as Archibald is a straight-forward qmake project. Do you want to give it a try to package it?

    ReplyDelete
  9. @Kevin: I guess you are right. You could check out the Archibald code, do the changes, and submit a patch. Should not take much more than ten minutes. Would you be willing to give it a try?

    ReplyDelete