Well, I've been procrastinating on the Journal for so long (well over a month now) that other people are starting to work on exactly the same idea. Yesterday when I saw the Rebel's post about Jason's weblogging/news aggregator project I realized that I had pushed out too far! I hate that - but no biggie. I'm going to email Jason and see if we can work together on the project if our goals are sufficiently compatible. Hopefully we can join up as I have a SourceForge project already signed up and a wiki-website ready for docs, etc. I probably should have explained more about the Journal back a few months ago, but I'm always afraid that if I talk about a project, I'll never get it done, so I decided to hold off.
Here's a link to the Journal Architecture page on the new manywhere.com website. You'll see that it's basically the same exact concepts as everyone else is talking about. I've been mulling this over for a long while now and this is just the beginning of translating the stuff I have scribbled on napkins (actually, I have a big-ass notebook by my desk that I use, but napkins sound cooler).
The Journal is going to be a local webserver with scheduled aggregation for downloading and ftp uploading of content. In addition to a Weblog app, I'm working on a basic iCal-compatible Calendar and Photo Album. Basically all everyone needs on their home page or internal corporate website.
Here's my goals for the project:
- Usability - easy to install and use (the Mom test)
- Easy to upgrade - auto-updates over the internet (Webstart?)
- Easy to swap out both web-applications and scheduler plug-ins
- Extendable for different types of data to be aggregated/communicated (From ftp to email to SOAP).
I've got a demo running now loading up the webserver, HSQLDB, scheduler (I was using JDring until recently) and Velocity in a custom app sitting in the Windows Tray. The decision to move to Jetty and Quartz and use WebStart has pushed me back a bit, but I still think it's a matter of legoing the pieces together and building the app so it's easy to use. Once the "base" system is in place, we can expand on the Web Apps easily, as well as creating scheduler plug-ins for all types of content - RSS, Email, Server-file watching, etc.
I've been focusing on the size of the app. The 10 meg Java runtime sorta sucks, so I've been trying to make sure that the libraries for the app only take up 2 or 3 megs more. Jetty really helps that (my first prototype was using Tomcat, which is like 7 megs by itself!). Still, since the size of Radio is only like 3 megs, it's quite the leap. Installing the app over a slow-link without Java already isn't going to happen, but making it as painless to install as possible is a goal. Webstart will really help that, though I don't know if I can use it. I've already downloaded and tried out Install Anywhere and that's really sweet... The problem with WebStart is the .dlls I have in my demo and the variety of local files. Everything in WebStart needs to be in a signed .jar file, so it's going to be tricky to have it install via WebStart, but to set up the directory structure for the local user-files (html templates, images, db, etc. etc.) and add the .dlls. I'm not even sure if it's possible. We'll see...
Anyways, that's the thoughts for now. It's very late again here, so I'm going to bed, but lots more tomorrow for sure.