Ubuntu App Showdown 2012 day 7: Progress update
Sunday 24 June 2012
Tomorrow the first week of the competition is over and I am satisfied with the progress I made sofar, although I have seen some strong and pretty competition on reddit.
Here is the first screenshot of Houston. The main requirement of being able to display the status of active servers in the user's account works. There's a 'refresh' Gtk.Action and the statusbar displays something useful now as well. I obscured parts of the IP adresses since, as you'll have figured, these are my own cloud servers at rackspace, and I didn't want to invite any unwelcome visitors :)
One of the things that gave me a pause was setting up the TreeView. From my experience with GTK# and Mono, these mini-MVC widgets can be quite a lot of work. A blogpost by Tadej Borovšak helped me figuring out how this works in Glade and then it was a breeze. Another time-consuming aspect was implementing some half-decent dependency injection. I dropped
zope.component and wrote something myself, but it was worth it since the test coverage (91%) is now reasonable.
There is still a lot to be done. Importantly, the cloud requests are now being done on the UI thread, which means the window freezes during updates. This means I'll have to do these asynchronously at some point. Currently the user's account details are silently read from an ini-style configuration file at
~/.config/houston, but it would be great if this could be edited from the preferences window. After that, it is on to more features such as adding and removing servers, images, and more..