Quickly Gtk update

As part of the Ubuntu App Showdown I started on a small project to provide a nice GUI frontend to Quickly.  While I was able to get it working and submitted before the contest deadline, I unfortunately didn’t have the time to make it do everything I wanted.  Since the end of the contest, however, I was able to spend a little more time adding some nice features to it.

Project Management

The majority of the work has gone into Quickly-Gtk’s project management.  Some of this was implemented already, such as the ability to switch the “current” project. But internally it was all kind of a mess of code to track that.  So I replaced all of that with a ProjectManager class that will store both the list of projects Quickly-Gtk knows about, but also keeps track of which project is “current”.  This class also implements Observer design pattern to let other parts of the code know about changes to both the list of projects and the current project.  This made it easy to, for example, display a notification on the screen whenever the current project was changed, regardless of whether it was changed in the window, the indicator, or from a Zeitgeist event.

Zeitgeist event monitoring

The other big development was integrating Quickly-Gtk with Zeitgeist.  For those that aren’t familiar with it, Zeitgeist is an event log that tracks all kinds of user activities and system events.  Applications can read past events or monitor them as they happen.  I wanted Quickly-Gtk to be smart enough to switch to a project as soon as the user started working on it, without requiring the user to make the switch themselves.  To do that, I set a Zeitgeist monitor to listen for file system events in any of the saved project directories.  I also set it to watch for the user viewing the project’s Launchpad page.  If any of those events happen, Quickly-Gtk will automatically make that the current project.

The future of Quickly-Gtk

While I was able to get a lot done with Quickly-Gtk, the underlying Quickly API and command line really weren’t designed to support this kind of use.  However, as a result of what we learned during the App Showdown, Didier Roche has begun planning a reboot of Quickly, which will improve both it’s command-line functionality, and it’s ability to be used as a callable library for apps like Quickly-Gtk.  If you are interested in the direction of Quickly’s development, I urge you to join in those planning meetings.

 

Launchpad Project: https://launchpad.net/quickly-gtk

 

This entry was posted in OpenSource, Programming, Projects, Work and tagged , , , , , . Bookmark the permalink.

7 Responses to Quickly Gtk update

  1. Adrian Wechner says:

    that is great! nice to see a front end for quickly, much better to see how awesome it is to integrate zeitgeist. it’s a perfect example how powerful this platform has become.
    actually this project could be used as a template project: how zeitgeist and other unity features can be used. Awesome! Congratulations!

  2. Hans says:

    Nice to see this.

    Why is there still a template for flash game if flash is depricated software?

    • Michael Hall says:

      The Adobe’s Flash Plugin is depricated, but Chrome will still have one and there are open-source alternatives that will still exist. Plus even Adobe’s Flash Plugin will be supported for the life of Ubuntu 12.04.

  3. Aaron Haviland says:

    This is great progress! I had also submitted a Quickly front-end, not knowing you were doing so as well. Yours has come a long way, and I’ve not had opportunity to work on mine much since the showdown.

    The one thing I was intent on and couldn’t figure out how to do was to embed the gedit and glade applications inside the front-end (like a real IDE). I’m starting to think it’s not possible, which has driven me to the point of losing interest (at least temporarily), so I’m very glad to see you making so much progress!

    • Michael Hall says:

      Yeah, embedding other apps into yours probably isn’t possible. You should definitely join the planning sessions for the Quickly reboot later this week though, I’d be interested to get your perspective on using Quickly as a library for another apps.

  4. Pingback: Quickly: Rebooted | Michael Hall

Comments are closed.