I wrote a little test to find out which way of doing animation is the most smooth one. The three animation being tested are:
Changing CSS top and left property.
Chainging CSS background-position property.
Copy the image into a <canvas>
background-position seems to be wining on both Webkit and Gecko; Gecko preformed poorly on top/left property changing when full page zoom is in effect. Also Webkit preforms better than Gecko in all three animations.
So what should you do if you decided to ditch SWFUpload and embrace HTML5 solution for ajax file upload? In honor of the releases of Firefox 3.6 (with File API), I decided to just that in the GFX Firefox promotion site. (sounds perfectly reasonable to use Fx-only technology on such site, right?) Firefox now gives us the bricks (File API, binary XHR, and File drag-drop), but to build a house it still takes some work. The Mozilla Hacks demo works great but to work with the existing site I need:
To create a SWFUpload-like button that opens file selection dialog instead of HTML form file input.
To send the file as a ordinary file upload form – no need to change php backend to handle raw post
Send the file by jQuery.ajax, firing global callbacks