The last week of Kesäkoodi stretched to two sparse weeks. Here are the main points:
Attended a seminar celebrating the 15-year birthday of Linux at University of Helsinki.
Attended Open Tuesday.
Released the font autozoom feature as an extension for Firefox 1.5.
Published a document about clipboard formats.
Uploaded the XPCOM string / Cocoa string conversion code to Bugzilla.
Uploaded the Cocoa clipboard code to Bugzilla.
Here’s a very short summary of what went right and wrong.
I made a patch that make the XML content sink incremental. As far as I can tell, the code works exactly as expected. Code-wise, the main part of the project was successful.
I implemented a new front end for the font zoom that works exactly as expected and designed.
I implemented the clipboard using the Cocoa API. The implementation works and I believe that it is more compatible within the platform than any Gecko clipboard implementation for any platform.
I learned a lot about the Mozilla codebase and had a chance to do something real in C++ and Objective-C++.
Having three subprojects that I could suspend and resume was a very good idea, because at times one of the subprojects was blocking when waiting for advice from others.
The time I had allocated to the content sink work was remarkably well guessed considering how bad software project timing estimates tend to be.
When putting together my pitch and plan, I imagined some contingencies that were due to the nature of the Firefox project and that could make my project go less smoothly. All those contingencies were realized. My proposed zoom changes were not welcome, the content sink code got stuck in the review phase and it wasn’t a good time to hack on the graphics code (so the clipboard had to be used as a substitute subproject).
The font zoom subproject took a lot more time than initially budgeted. The magnitude of the JavaScript performance problems caught me by surprise. The repercussions of having to rewrite the code in C++ were significant in terms of project time used.
I spent too much time fighting with Eclipse CDT. I should have given up earlier.
When the clipboard code was mostly done, there were too many loose ends to tie and too little time to tackle another non-trivial bug. As a result, the last weeks of the project weren’t nowhere near as productive as the earlier weeks.
No code that I wrote during the project got into the Mozilla CVS repository during the project. (But I didn’t even expect code to get in during the project.)
Since objectives were reached (except for check-in), I think the project was successful.
I’d like to thank COSS/Hermia, FILOSI, Nokia, IBM, Ericsson, Novell and everyone who helped make the project happen. (I don’t know if everyone who helped behind the scenes want to be named, so I’ll leave this on a general level.)
I’ll continue work on my Master’s Thesis and the associated HTML5 conformance checking software—with funding from the Mozilla Foundation. I won’t be working on Firefox actively. I expect the content sink code to get into CVS later this year. Realistically, I don’t expect the font zoom code to end up in the Mozilla CVS repository. I expect the bulk of my clipboard code to be used in the Cocoa widget implementation once someone else writes a companion drag&drop implementation.