JBW Evolved vs 1.0.1

Subscribe to JBW Evolved vs 1.0.1 2 post(s), 2 voice(s)

Avatar Laurence Pas... 59 post(s)

Hi Morgan,

You’ve mentioned JBW Evolved before. I’m curious what the difference between JBWE and 1.0.1 is. Is JBWE a complete rewrite; a significantly altered version or simply 1.0.1 plus a few nifty extra features? Is it stable? Is it available? So many questions :)

Any chance of a short introduction as to what JBW Evolved is and what you want it to be? Thanks.

Avatar Morgan Schweers Administrator 1,204 post(s)


Heh… JBE is my desire to fix all the annoying things that I kept saying, ’I’ll work on that when I get to 1.0’ about.

At the core, one of the things I did was fix the source code layout. I also migrated to Subversion, because CVS doesn’t let me fix the source code layout and preserve history. If I’m going to lose history, I might as well go to a better version control system that will let me move files around w/o losing history in the future. There’s a weird statement for ya…

On top of that, I added OneJar, a method for including library .jar files inside an application .jar without having to extract them before using them. This let me add libraries, instead of having to unjar them into my app, or write a complex installer.

Once I had libraries enabled, I added Derby, an in-process database. I’m still futzing with that, but it’s going to be the new data store for JBidwatcher. This means that I won’t necessarily have to keep all the auctions in memory, for example, which makes JBidwatcher able to be used for much larger data sets.

I’m also toying with adding scripting into the mix. Probably something simple like BSH, not as powerful as JRuby, but enough to provide some interesting capabilities for ‘Smart Sniping’, where people can build their own rulesets.

The webserver gets some additional capabilities, such as a simple way to send ‘messages’ to the various listeners in the app, so anything can add a new auction trivially, and do a lot of basic scripting capabilities through the HTTP-based interface. (That’s already in it, but it’s not fleshed out well, nor documented at ALL.)

Some changes to the UI are also in the back of my mind; adding what I’m calling micronails (thumbnails the height of the normal lines), for example.

Importantly, I also want to take this version to extract out everything that is in English, and try to make it internationalizable, as I’m forever getting offers from folks to provide translations, to French, German, Spanish, and Italian, mainly.

Those are the broad-strokes answers to what I’m envisioning for the ‘Evolved’ version.

It’s definitely not stable, it’s definitely not available. Heck, the DB stuff isn’t even all checked in right now. :)

One problem which I’m bumping against is the actual upgrade process itself, converting from auctions.xml to a database store, for example. The timing of that, along with making sure it only happens once, adds a bit of complexity, which I’m trying very hard to reduce.

Anyhow, all this stuff is bouncing around inside my head. It’s all doable, I can see how to get there, but I have found that I don’t have nearly as much time as I used to have. Thus it’s likely to be slow going…

When I release the first betas of the JBE/JB+/JB2/JB:NG/whatever, I’ll also open up the SVN repo. Right now, though, it’s just downright br0ken. :) I want to get a few core things in place, before doing that though.

…and of course, there’s ALWAYS the problem of documentation…

Does that help give an idea of where I’m looking to take JBE?

Please, feel free to ask any questions at all, as I find questions help me flesh things out that I may not be sure of yet.

— Morgan Schweers, Cyber*FOX*!