More work on the uploader today, and with some experience gleaned from the last two days' worth of fiddling about with uploads I now have a lovely asynchronous uploading panel.
You can upload multiple files at once. You can see how far each individual file has got (i.e. a progress indicator; this does require a Perl CGI script, but there's no real way around that). If files fail, they turn red and you get a reason why (normally you've run out of quota). If files succeed, they turn green and then clear themselves after a few seconds (the disappearing is customisable for both fail and success).
If you don't have CGI support on your webserver, it falls back to normal PHP uploading (which is actually slightly faster), and a little spinner animation.
Overall, it's pretty neat, and is as close to Web 2.0 as ByteHoard uploading is probably going to get. Of course, behind the scenes it uses IFrames, but then that's the only way really.
Of course, there is still the issue of uploading entire folders and drag-and-drop from your favourite file manager, but they are issues that can only be solved in some sort of client-side program, be it a java applet or a small executable file. At least I've finally got progress bars after three years.
Screenshots follow, as usual.