Posts Tagged ‘Psycho’

Back to work… on Psycho

Friday, May 2nd, 2008

A few weeks ago I have noticed a lot of traffic on the Psycho website. A quick look at referring sites showed me that it’s all coming from the Gnome page of Google Summer of Code ideas. Some kind soul has mentioned Psycho in the mind mapping proposal. Turns out that increased traffic on my website was the only positive outcome of that proposal. For some reason it was not picked us as SoC project. That was one of the things that made me decide to seriously get back to work on Psycho. It’s haunting me all the time anyway so I can just as well put the constant thinking about it to a good use and get into a usable state. As a part of that resolution I have decided to spend at least an hour a day hacking. We’ll see how that goes. The important thing is that I have also decided to rewrite the whole thing, although rewrite is probably not the best word here. It would mean that something valuable was already written… :-) Anyway, I’m starting from scratch and that should provide me with some additional motivation as I have a lot of new ideas that I’m going to be very eager to try.

  • Complete separation of data and its visual presentation.
    Last time round the main object (Topic) was based on Gtk.Widget which didn’t really make a lot of sense. Even though it was using the MVC framework the data was still tightly coupled with the with. That will change and thanks to that it should be possible to write different frontends, not necessairly based on Gtk.
  • Mind map widget as a separate Gtk# library.
    The first reason for that is the same as above but there are some additional benefits. I’ll try to make that library usable for others so maybe someone will be able to use it in some other projects. A mind map is an amazing way of visualizing all sorts of data so someone may find it useful. Beside it I was inspired by the amazing work that Aaron Bockover has done on his ListView widget and Banshee in general.
  • Using MonoDevelop and Linux as primary development environment.
    I decided that it’s time to put my money… er… my freedom, where my mouth is. I’m complaining about being stuck on Windows all the time and still I’m choosing to use it when nobody forces me to. Of course the biggest factor here is the amazing progress happening in MonoDevelop which actually makes it possible.
  • Using Git for local source code management.
    Well, just being trendy here… I’m using Git-svn to communicate with the Google Code SVN repository. I’m actually playing with it so much that most of my commits have around 2 lines. It’s better to commit too often than not often enough, right?
  • Supporting Mono.Addins right from the start.
    That’s just something that I’m considering right now. It would be cool to enable other people to easily enhance Psycho’s functionality, but first I need learn how to do it. I guess it should be easier if I start doing that right from the start of the rewrite.

OK, so as you can see I have a lot of plans and I certainly didn’t abandon the project. As usual, some help would be nice. I have a lot of questions and doubts that someone experienced could easily answer. Without those answers I’m wasting a lot of time and I get very frustrated sometimes not being able to progress as fast as I would like to. So, if you were going to mentor a project for Google SoC but it wasn’t accepted, I could really use your help. Especially if you know a thing or two about Gtk(#) and cairo. Please.

Get Adobe Flash playerPlugin by wpburn.com wordpress themes