6/14/08

Scope creep

I updated the graphics of this blog a little bit. I'd been playing around with a VB/XNA logo hybrid in photoshop so I thought I'd use it for something.

I've been working very hard on my Web Updater and Wummer applications over the past 2 weeks and I haven't been able to resist putting more and more functionality into them. They're turning into things which may actually be quite useful.

The Wummer will now let you split up the files you want to publish over however many different hosts you specify; so for instance if you have 3 hosts at your disposal but they're slow uploaders (eg., homebrew DSL & Cable broadband line hosting like I use for most things) the Wummer allows you to divide the publication of files amongst multiple hosts, and the manifest now groups files by host.

You can also change the relative path binding of each file, so that any given number of remote URLs can map to the same local client install directory. This all required a somewhat extensive storage system for the Wummer, so I chose to use an sql server ce database, which keeps track of all the projects and files and hosts etc. of every probject you've ever published using the Wummer.

In addition to being able to react property to the new manifest files, the Web Updater will now also attempt to update itself by temporarily cloning it's own executable and launching it with the Web Updater's own manifest file specified. In this way the Web Updater sort of "cheats", using a copy of itself to update itself, which I thought was cute.

There are a few small but important touches to add to the Web Updater before it's ready for prime time, right now I've got the XNA Content Assistant performing updates with it and it's working pretty well, it's just not quite as elegant as I would like yet (currently there is much shutting down and restarting of programs during an update process which, while automatic and not necessarily cumbersome to the user, is unprofessional looking and some of it can be avoided).

At some point I would like to consolidate all this into an "xnamachine software portal" application, which installs the prerequisites & runtimes on your PC (such as the Visual C++ redist for XNA games, .net 3.5, sql server ce, and provide convenient links to the XNA redist & DirectX web installer, which are easier for the user to just run themselves at this time). That way, there would only ever be 1 thing you would ever have to "install" from xnamachine.com in order to use anything I release. The portal would be an updatable application launchpad that provides links to whatever I make available; the Wummer, the XNA Content Assistant, templates for Visual Studio, XNA games, whatever. Such a thing would not be very difficult to make so I may go ahead with that as a software distribution plan, unless I think of some horrible drawback to doing it that way.

0 comments: