Jeremy Quinn has created Apache Cocoon, a file-upload progress bar using Dojo Ajax Toolkit. File-type input fields in HTML forms can be tricky beasts, they have a limited API for security reasons. Marrying those with the excellent (but internally complex) CForms framework in Cocoon, posed another set of problems. Making the CForms BrowserUpdate mechanism work via Dojo’s IframeIO cross-platform so that file-type input fields can be submitted via AJAX events in the background was the biggest hurdle, as it exposes you to the plethora of DOM bugs in the current browsers. It still does not work in Safari (but has been fixed in Webkit, so should work soon).