“Where’s the source John?”
That’s a fair question considering that I uploaded a new version of HotSheet Thursday but haven’t released the source for it yet. I delayed thinking I could get something in the build file that would automatically increment a build number every time there was a successful build. Unfortunately, that looks to be a little harder than I thought. Then I vegged over the weekend and went to the Dave Matthews concert last night. So I accomplished absolutely zero this weekend.
I’ll just zip everything up and put it out there tonight. I promise. It won’t have auto-incrementing build numbers but that’s not exactly critical. More important will be utilizing the new events/listeners to change the way channel refreshes are done. Currently everything is very sequential and linear: retrieve a channel, parse the channel, update the model, go to next channel, repeat.
That’s great when everything is working, but you have problems like the one today where BetaNews seems to be down. They aren’t serving up the page that HotSheet expects and since I currently rely on the JAXP code to do both the retrieval and parsing I don’t have any way to tell it to just timeout if the URL can’t be retrieved in a timely manner. As a result HotSheet effectively hangs waiting for something to happen on that channel and never gets to other channels that it could actually retrieve.
OpenJNLP 0.3 is now available. Don’t bother trying to run it from Java Web Start, I got an error when I tried and I already reported it back to the author(s). I did download it and run it from the command line using Windows though and it worked just dandy. Thanks to UI improvements its considerably more functional in the latest version.
Next up will be to make use of the newly added events and listeners code to: play a sound when new items are added, hook up a timer to refresh channels automatically and make the interface update whenever new items are added.
Then I’ll tackle using HypersonicSQL to provide a database to hold all your items, channels and history rather than the serialized linked lists and hash maps that are being used now. It’s not as simple and convenient but it will be much much faster, especially when you have lots of items and channels. With HypersonicSQL I’ll be able to bundle a JDBC database with the program to provide built in capabilities but for users who want to use the program and have it automatically populate another database with data (for example to populate a database that a website then queries to display news items) you’ll be able to use it with other JDBC drivers against databases like mySQL or Oracle.
There’s a new release of HotSheet on the server (upgrade is automatic next time you run it). It has several big changes:
- News items are automatically filtered out and not added to the list if they’ve been added before. You can now refresh without clearing the list and not get duplicates!
- The released version will show both the current version number and the build number in the about box.
- (For Developers) There is a standard Java events and listeners system in the RSS library now. You can listen to events on the ItemStore and ChannelStore and just react to them if that is a more natural model for your program. There is also a new demonstration program that shows events and listeners and demontrates the basics of using the item and channel stores.
- (For Developers) The demonstration programs have been broken out into their own jar to make HotSheet a smaller deployment.
Don is going to tell me how to add the needed items to the Ant build file to get the version number and build number in the about box. After that I’ll do a source release as well (hopefully by Saturday).
Cool software, only available in Java form. This is how you get people to download and install Java: Photomesa
I’ve updated the project page for HotSheet. It now shows screenshots of HotSheet running on Windows and Mac OS X (thanks Morbus!) as well as updates to some of the text on the page and a link to OpenJNLP for Mac users.
Finally bought a digital camera and it’s not one of the fancy ones I had been planning to buy. Originally I had planned on buying either the Nikon Coolpix 990 or the Olympus 3030. Both are 3.3 megapixel cameras with loads of features and very high image quality. Unfortunately both are also more than $600 and Rockelle and I are finding ourselves frustrated by not having a real digital camera (my son’s JamCam toy not counting). So instead the initial winner is the Kodak DC 3200 1 megapixel camera which sold for $129 from OfficeDepot. After having used it the only think I can complain about is the lack of a USB connection to the camera (which oddly enough, the JamCam has). Downloading images over serial is really pretty dark ages but it won’t be an impediment for long because it takes CompactFlash cards and we intend to get one and a USB reader (probably from Lexar) to expand the number of images we can take and speed their download significantly.
Been wanting to package up your application using a nifty JNLP file so users can download, install and run your program with a single click of the mouse? But you just aren’t sure you want to spend the time to learn how to build a JNLP file? Try the Venus Application Publisher! (Note: I can’t personally vouch for this application, I built the JNLP file for HotSheet by hand. But it sure looks neat and I think it would be hard to screw a program like that up. Plus the author seems to have four other JNLP related programs on his website as well.)
Once you have your program all ready to go off of a website, send a link to it to the Connect & Work External Catalog. They maintain a list of Java applications that can be run via JNLP and news about JNLP and the various installation programs that can use it (e.g. Java Web Start or OpenJNLP).
P.S. I’ve already sent them an email telling them about the Poseidon UML editor, HotSheet, and the Batik demo application. I’m sure they’ll get them in the catalog soon.