Bye bye 2008 and here it comes 2009
Happy new year to everybody. Continuing an initiative that I started one year ago, I'd like to draw a summary of my 2008 and express my intended plans for 2009, just in case this can be inspiring for other people wanting to go the open source way in the "poor man" mode like me.
Summing up things from 2007 for a comparison: blueMarine impacted with a 12% loss on gross profits (while other 10% was due to unexpected illness); my desires for 2008 were that "at the end of the year I'll be able to say that it has become a source of profits instead of expenses".
I don't have exact numbers (for bureaucratic reasons a part of revenues in the latest months will be invoiced in these days because of delays in approving orders - it's routine in Italy that you first work and then get the order), but roughly speaking "actualized" gross profits for 2008 have been 15% higher than the average (thus almost recovering losses from 2007); equally important, about 12% of revenues have been directly generated by blueMarine (more details below); a few consultancy days have been directly on the NetBeans Platform (also hearing experiences from fellow NetBeans Dream Team members, I can say it's a topic gaining traction) - they have actually been limited by my available time; another 25% of revenues come from consultancy in a project where Swing is the main activity (in addition to some server side stuff plus method advice and architecture). This wouldn't have happened if I didn't invest on that platform as part of the blueMarine efforts. I reduced the exposure at meetings and conferences (for what concerns Jazoon, they didn't accept my submission), but I presented blueMarine at JavaOne, which has been important for me: my first speech there (I couldn't present a talk accepted in 2005 because of illness). blueMarine development has gone on by a great deal, too. Summing up, I can say I've meet my main expectations for what concerns the money!
Now, the bad parts. Even because of a highly stressing Fall (due to multiple deadlines that, in spite of advanced planning, came together and an emergency on a project) I experienced a more-serious-than-average health problem in December. I risked to miss Devoxx and fortunately I hadn't to talk this year, so I could enjoy it in relax. The thing could have other impacts in 2009 if I don't treat it properly, so I'll have to be more careful. In the latest months, I've travelled too frequently, too much and too in a hurry; I also worked too much in 2008 and it's high time I pulled a bit the brake (fortunately, I've already gotten an order for a consultancy that will provide 35% of 2009 incomes and will be at my home town, a few kilometers from home - BTW, it's the same mostly Swing stuff quoted above, so thanks blueMarine).
In spite of many new functions in blueMarine, and improved test coverage, I didn't pay enough care for acceptance tests. The results are many nightly builds, but I wasn't able to have a new official release. What a moron. Also, for long periods of time I wasn't able to support beta users in the tiny community I've built (120 registered users in the forum). This is really serious: regular releases and presence in the forums must be the main targets for 2009.
Now, some more details about how blueMarine is evolving this year. First, soon support for new media (now in the incubator): movies and PDF so far (for movies, it's based on ffmpeg, but I hope to be able to use JMC soon). A new project in the cluster is born and it's named blueOcean. The repository is at blueocean.dev.java.net, while the website blueocean.tidalwave.it will come as soon as possible. blueOcean is a server-side application for creating a sharable store of media and a repository of knowledge attached to them. Knowledge is managed with an RDF store, and RDF is also being integrated in blueMarine, to replace the current tagging facility with a really powerful semantic search engine. blueOcean is the basis for the customer project I was talking before; the opensource part is so far just a framework embryo, but it will become soon a self-contained application (whose meaning, however, is to be the basis for customizations). The most interesting technical thing is that it's a server-side NetBeans Platform application, sharing most of modules with blueMarine and sporting a Wicket interface, WebDAV and REST support. I've just posted to DZone a first article on how this has been done.
For what concerns DZone, expect two series of posts coming soon: "NetBeans Platform Idioms" (based on things I've used for blueMarine) and "Designing a NetBeans Platform API" (based on the Metadata API of blueMarine). These two topics have been submitted as proposals for JavaOne 2009. Here on this blog I'll start talking about Semantic Web technologies; in a similar fashion to other things I've done, not as an expert of the topic (I'm not!), but with the architect's perspective, seeing how this technology can be integrated with the NetBeans Platform.
At last, I've got a new site for my photos. While TimelessWanderings.net needs redesign from scratch (I have some demanding requirements for contents and design, while so far it has been mostly a mess), StoppingDown.net is more relaxed and for my routine photos. 2008 is almost complete (missing the France trip on the way to Devoxx), then I'll proceed posting stuff from past years. There's also my photographic blog. For the record, photos published there have been postprocessed with Adobe Lightroom, but blueMarine should kick in soon, as soon as the Gallery Publishing module is ready. StoppingDown.net should also host, sooner or later, some JavaFX stuff I'm working with.