Tuesday, 30 November 2010

Introducing Synapse: Acetylcholine

As some of you know, during the summer I was working on a few Zeitgeist-related projects, one of them was Sezen and the panel-applet inspired by Sezen which allowed you to search Zeitgeist log conveniently from your panel. But I was never particularly happy with these solutions, and as a Gnome Do user, I was always disappointed that it is unable to find files the same way Sezen can, while the interface is pretty much a perfect fit for it. And that's when Synapse was born...

So what does Synapse do?
It well... searches stuff... If you ever used Gnome Do / Quicksilver / Gnome Launch Box, you'll feel right at home with Synapse, if not, the only thing you need to do is run Synapse (or press Ctrl+Space to summon it), type what you're looking for, and Synapse will present you a list of items that match your query. Once you found the item you were looking for, you can perform an action on it (and these are defined by the plugins you're using). If you don't like the default action, just press Tab and search appropriate action.
And besides this primary use-case, you can also browse recent items which were logged by Zeitgeist, in case you close a document by mistake or just want to hear again the music track that played a few minutes ago.


Acetyl... what?
I'm glad you agree that the release codename is just awesome, and besides that it's also a name of a neurotransmitter which transmits signals across synapse. But other than that it's an alias for Synapse 0.2.0.



How does it find stuff?
Using plugins of course - currently the development was focused primarily around using Zeitgeist for the searches, and there are even plugins that process the output from the Zeitgeist plugin and either try to improve the results, or find similar files on the filesystem (for example the Hybrid search plugin).
Still, all of the functionality is based on plugins, so further development can lead anywhere.



What plugins are available in Acetylcholine?
Current version ships with these plugins:
  • Applications - searches your desktop files
  • Banshee - allows you to play/enqueue music files in Banshee
  • Commands - runs any command (ie. "sudo apt-get update")
  • Devhelp - search documentation using Devhelp
  • Dictionary - find definitions of words
  • Directory search - allows opening of commonly used directories
  • Gnome session - log out, shut down, restart
  • Hybrid search - complete Zeitgeist results by searching for similar files
  • Rhytmbox - play/enqueue music files in Rhythmbox
  • UPower - suspend & hibernate your computer
  • Zeitgeist - search anything logged by Zeitgeist
How to get it?
You can either download the tarball from Launchpad. Or if using Ubuntu (Lucid/Maverick) add ppa:synapse-core/ppa to your sources and install "synapse" via the package manager. Please note that you need "zeitgeist-fts-extension" (and of course zeitgeist itself - preferably with as many dataproviders as possible) to experience it the way it was meant to be. :)

Please feel free to report bugs, ask questions, or talk to us in #synapse on freenode.

I want my app to provide results for Synapse!
The easiest way to do that would be to push data to Zeitgeist (or at least to recently-used) and you've got Synapse integration for free. If you need something more complex, we'll welcome your plugin. ;)

And before I wrap this post up, I want to thank everyone involved in the development - especially Alberto, who implemented the beautiful UI and designed most of the themes; then Seif, who (after finding out about the project, despite me trying to keep it a secret from him) helped a lot to steer it in the right direction and also came up with this great name; Izo who contributed us the icon and logo; and also all of our early beta testers (especially Mikkel, who had multiple good points and Ketilwaa, great idea with the codenames).

22 comments:

  1. wooah, this is... HOT!
    ...and pretty fast.
    Always wondered what this thing is about, after seeing a screenshot on omgubuntu :-)

    ReplyDelete
  2. Glad to have contributed in some small way. Just gunna install it now. =]

    /izo\

    ReplyDelete
  3. Nice! And thanks for letting me be a small part :)

    ReplyDelete
  4. What about Tracker? It would be great to have its search integrated in this tool.

    ReplyDelete
  5. Wow, it looks great! I'm gonna install it :)

    ReplyDelete
  6. Given that deskbar seems to be dying, this looks to be a really nice alternative. Now we just need a panel applet and we're set :D

    ReplyDelete
  7. I need an rpm package for Fedora 14, i can't install it from source no matter what i do (I'm not very skilled installing from source btw).

    ReplyDelete
  8. Wow, this is FAST! Beautiful work :)

    The scrolling animation is pretty funny because of how the text colour changes on the selected item. No real suggestions how to fix it, and I'm sure you've noticed it. Personally, I would probably make the highlight move a lot faster and have a fade for the text as well. (Maybe 150ms for the whole thing just to give the impression of movement).

    Good luck with this! I look forward to seeing where it goes. I've already made a bzr branch (and I like your choice of language :b), so hopefully I'll be able help one day.

    ReplyDelete
  9. Done, after an hour, i successfully installed Synapse in Fedora 14, everything is running great.

    Good Bye Gnome-Do

    http://twitter.com/#!/wereveryware/status/9841032040550400

    ReplyDelete
  10. +1 for Tracker, and then a zeitgeist/tracker hybrid would surely be awesome

    ReplyDelete
  11. Looks great.
    The scrolling behaviour is weird, though. I suggest instantly moving the highlight to the new item, while slowly sliding it to the center.

    ReplyDelete
  12. @David Gómez: you installed it on fedora by compiling from source? How you managed to install libzeitgeist?

    ReplyDelete
  13. Nice to have a non-mono alternative to gnome-do available, compiling right now.

    ReplyDelete
  14. Yes. Gnome-do has its issues, and depends on mono.

    ReplyDelete
  15. I have focus follows mouse and when I summon synapse it doesn't steal focus like gnome-do did. Also, I cannot seem to bind it to super+space.

    ReplyDelete
  16. scratch that on the binding to super+space :( Just tried it again and it works! Still have the problem with focus though.

    ReplyDelete
  17. Please use the link from the post, this is not a place for bug reports.

    ReplyDelete
  18. Great piece of software!
    But it needs to memorize your most used searches/commands, just like Do and Kupfer do.

    ReplyDelete
  19. long time Gnome-Do fan, but this is quick on this very old PC I'm fixing up =) i like.

    ReplyDelete
  20. I really missed this functionality after switching from Mac (Spotlight/Quicksilver).

    ReplyDelete
  21. Trying to figure out how to use this. I can launch apps, and can find local files. But, for example, how do I get the dictionary plugin to function? Is there a quickstart guide/cheatsheet for the various plugins?

    ReplyDelete