This is something that I didn’t think that I would be writing in 2012 – we are switching to a Java based applet for our uploader. The problem has been that browsers and their operating systems handle uploads differently. Really differently. Evening using a project like plupload, you can’t polyfill over the cracks. There are new APIs coming out (if you want to call it HTML5, not strictly true though), but to handle backwards compatibility, including IE9, there needs to be a mechanism to make it generic and the only thing is Java.