Sunday, July 15, 2007

Hack Week Recap

Hack Week ended two weeks ago, but I didn't find the time to write down some finalizing thoughts up to now. But here we go now:

Hack Week was an tremendously great experience. It was amazing how much creativity was set free. A smart move was the free breakfast for all which lead to people coming early to the offices, having a healthy meal and start hacking. It was in general a very positive atmosphere. I guess everybody enjoyed it. One frequent meme was "Do it again". Let's hope this will work out.

Two other statements I heard quite frequently were "My project turned out to be more difficult than I thought." and "I found a project which already does what I wanted to do." Both is good, because it shows that people were ambitious and the free software cosm provides a lot of solutions even to ambitious projects. Of course many developers found challenges which weren't solved before and did great work on them.

My own project was not as successfull as I would have liked. I discusses a lot of ideas and wrote some decent code, but I didn't get it to a really useful state. Garrett did some more work on the user interface which already looks quite nice and collects some useful data. We need to connect our two parts together, though, to achieve a richer experience for the user. I realized that this project has a lot of potential during the Hack Week. There are so many interesting things you can do with it (provided it works at some time) and when talking to others about the project, many exciting ideas came up. So I'm looking forward to spend some more time on this project.

Friday, June 29, 2007

Make it colorful

I have removed some of the ugliness of the collector code. It now more or less correctly parses OPML files now which define the services which are to be aggregated and writes it in a way the Rails GUI can understand.

When Klaas saw the GUI he said: "Make it colorful!". So I did:



This clearly is a cry for help by an artist as you can see (if you didn't get blind by looking at the screenshot).

Thursday, June 28, 2007

Collaboration Magic

At hackweek two cases of serious collaboration magic happened to me.

At the beginning of the week I talked to Garrett about what he was planning to do. He told me and we quickly realized that it was the same idea from two different angles. We were both thinking about a dynamic SUSE portal. My idea was focused more on the backend side and how this could be useful internally. Garret was coming from the UI side and how this could be useful to the external community. A perfect match :-)

The other case of collaboration magic happened when Tom realized that he was stuck in his project because of some kernel problems he wasn't able to fix. So he made a short detour and implemented an Atom feed for SWAMP, ready to be used by my project. Jippie!

Wednesday, June 27, 2007

Second Screenshot

Breaking News: Here it is, the second screenshot. You have to look closely to see the difference to the first screenshot. In the Hack Week Blog part there now is an additional entry: First Screenshot. That's the first sign of my code doing the right thing. Huzzah!



Ok, now on to the third screenshot... (just kidding).

First Screenshot

After a day of happy Rails hacking I now have my first screenshot:



It already looks vaguely similar to the initial mockup. Under the hood there is a set of small Ruby modules which collect data from various sources and provide them as Atom feeds to the GUI. The GUI is a small Rails app which shows the feeds. The structure of the page on the screen is defined by an OPML file. The code still lacks in terms of nearly everything, but at least it's a first working slice through the application.

Codename: Molecule

I had to came up with a codename for my project, so I could properly name my git repository and the rails directory. So what could be a better name for an aggregation of Atom feeds than "Molecule"?

Monday, June 25, 2007

Design Document and Mockup

There is progress on my Hack Week Project Dynamic Web Service Portal. I have created a fantastic design document and a mockup.



In the mockup you can see the aggregation of data from different sources. I intend to use Atom feeds for that which are created by small modules accessing the sources via a web service. In the simplest case this is already an Atom feed where nothing has to be done other than fetching it. In less simple cases there is a bit of parsing and reformatting involved or operating a SOAP protocol or similar things.

What you also can see in the mockup (well at least if you are so lucky to decifer my handwriting) are the actions associated with some entries. For example for resolving a bug, showing the diff associated with a SVN commit, marking a mail from a mailing list as todo or for closing a bug resolved by a SVN commit containing the corresponding bug number in the commit message. These actions I intend to embed in the Atom feeds using some custiom extensions. The result would be something like "Activated Atom".

Now add a bit of code to actually create the user interface and we are done. Sounds easy, doesn't it? Let's see. Back to coding.

Start of Hack Week

Hack Week has started. It's exciting. The complete Linux engineering team at Novell is working on whatever they find interest. We will have one week without the normal obligations by the job, but with time for working on crazy ideas. See the openSUSE Idea Pool for details about what's going on and some interesting video footage.

I will work on a Dynamic Web Service Portal. More info and first code is under production...