Friday, June 11, 2010

Testdrive Success

After a bit of further hacking I have now access to testdrive from my SUSE Studio client. For a given build a testdrive can be started on the server and the client connects to it with an embedded VNC client. The following screenshot shows you the result, the infamous nInvaders appliance booting in testdrive.

The native VNC viewer gives great performance and is nicely integrated. This is a great environment for a little game of nInvaders.

It's Friday evening now, my hackweek ends here. I'm happy that I have reached my goal of implementing some basic functionality of a native graphical SUSE Studio client. I did a lot of infrastructure work, so that it's now much easier to add additional functionality to cover a more complete set of use cases. If somebody wants to help with implementing some more bits, I would be more than happy. But I will also try to find some time to do some more hacking on this project myself. It's a lot of fun.

Caching and more details

I've now implemented caching of API requests in Studiosus, the graphical SUSE Studio client. This is essential for making the application responsive, as with cached data is can operate on native local data instead of waiting for the round-trip from the server. It's a pretty simple caching implementation based on the URLs of the requests. I would love to hear feedback about better existing caching solutions which would solve this as well or better.

So now that the client appears fast, I also improved the appliances list a bit. Garrett suggested to show the builds on the home view, so I implemented that. This gives more direct access to the builds, which are the essential object you want to work on in the client, so I think it makes a lot of sense to do it this way.

I've also worked on the Studio API itself a bit. It was lacking some API calls to handle testdrives, which I need for providing some local access to testdrives in the client. So I did a bit of Rails hacking and implemented these calls. They aren't deployed on the production system yet, though.

Wednesday, June 9, 2010

Source code for SUSE Studio client

I have pushed the source code of my graphical SUSE Studio client to gitorious now. Get it from the Studiosus repository.

Second API call

After moving kxml_compiler to QXmlStreamWriter I'm now able to do more than one API call in my SUSE Studio client. So I can now show the user information alongside the appliances list.

Now I need some caching as loading the appliances list from the server can take a while.

Hackweek V

It's hackweek again. This time I'm working on a graphical client for SUSE Studio. Read more in the SUSE Studio blog. I will report more detailed progress here.