03 settembre 2010

Ruby Summer of Code, End

Ruby Summer of Code has come to an end. We want 1.0 of Hackety Hack to be really polished and ready, so on Whyday we decided to release just a prerelease version, it can be downloaded from github (you can find the Ubuntu version here). It has already been downloaded over 650 times. There will be another prerelease version in a few days with the latest improvements included. It should not be much then until 1.0 final.

Most of the change since my last blog post are lots and lots of bug fixes and small improvements, specially to the user interface. The state of not used tabs is now preserved, and you don't risk accidentally losing unsaved changes anymore. The lesson architecture, which was very minimal when just implemented, now has an index to easily navigate through the pages and when a lesson set gets opened it will do so on the same page the user last left, along with many other enhancements. And thanks also to an improvement in Shoes, now window size is handled much better.

To make contributing to Hackety Hack easier I added some documentation for developers to the wiki, there are also much more comments in the source code than before. On the website there is some help for users available, so that they won't get lost.

Sometimes I found it a little hard to work with Shoes, as it seems to not have the flexibility needed in an application of medium size. This is why, triggered by a discussion on the Shoes mailing list (see also this follow up discussion), I played around a bit with the idea of a Shoes implementation based on qt-ruby, some proof of concept code can be found on my github repository. Based on my initial idea Steve Klabnik also created a Shoes branch. Some of the advantages of using Qt include good cross platform support, including support for multimedia and support for the promizing MeeGo mobile platform, many additional features that would be provided by Qt for free. And it might be easier for people to contribute to code written in Ruby instead of C, I know C a little but I found that the current Shoes code base isn't very welcoming.

Of course this is, for now, just proof of concept code, and there are quite a bit of things to do before it will become obvious if this road will really lead to something useful. For example I did't find a straightforward way to implement the current way text and other elements are combined. But it looks promising nevertheless.

So, I must say it has been wonderful to have this opportunity. Many thanks go to my Summer of Code mentors Steve Klabnik and Christopher Redinger for their help and encouragements, and to all the RSoC sponsors that have made this possible. I hope and am quite sure this will pay back in terms of a very nice application that will help many people get into programming, ruby and free software.

Bugreports and comments are obviously welcome!