We had some help on the Flash end from an internal team for the uploading component; the UI is entirely HTML/CSS/JS, and we’re using ExternalInterface fairly heavily. Flash does the actual upload and makes callbacks for file progress etc., while all app logic is handled in Javascript.

I worked on the Yahoo! Photos 3 uploader previously, which was plugin-based (ActiveX and Firefox extension, I worked on the frontend which ran on top of this.) We considered something like this for Flickr, but ultimately decided to use Flash to upload files.

Flash 9 works across more browser and OS combinations, and the native file browse/upload functionality of browsers is pretty bare-bones (not to mention slower.) The bar to entry is lower as well given far fewer installs/upgrades will be required, which I am particularly happy about.

I recalled seeing Bubbleshare’s Flash-based upload quite some time ago which appeared to use some Javascript (I think it was not long after we released the Photos 3 stuff, this would have been 2006.) Someone demoed a simple Flash uploader at a Yahoo! Hack Day event last year which highlighted the faster upload speeds, as well; there were features shown by both which I found to be attractive.

I forgot to mention – the latest version of Flash available for Linux does not support some functionality required for uploading, so we are redirecting users to the old, “basic” uploader for the time being. In the meantime, we’re hoping to work with Adobe on getting this fixed. (Related official Flickr uploadr thread.)
If you’re on Linux and want to try it anyway (maybe you have a debug version of the Flash plugin installed or are just curious,) try this URL which should ignore the support/platform check.

Scott this is pretty slick. Were you or your team planning on releasing any tech details at all? You mentioned the internal Flash team, so do we take it this doesn’t use any SWFUpload logic from Lars’ project? We’ve been looking for a multi-file uploader for a while but the most robust we came up with was ActiveX/Java combo which presents pretty irksome entry barrier. I’m definitely going to be debugging the heck out of this new release for ideas now!

I can’t speak on behalf of the Flash development end of this, but I imagine it’d be helpful to share details/ideas if we’re doing anything terribly new or different. All code was developed internally, but the approach is presumably similar to other Flash-based uploaders – basically, making Flash’s file control stuff available to JavaScript, and enabling callbacks for progress and the like – so any similar library would presumably make the same Flash methods and properties available.

Wow, Lars.. you invented that? Do you work for Adobe then? Thats so amazing because Im sure nobody at Flickr could have figured that one out by themselves, even though its a fairly well-known technique. Kudos.

This looks pretty nice but, is it possible to *easily* select an entire folder and sub-folders recursively? One of the most difficult requirements we have to fulfill is the ability to upload a file with supporting files (including supporting subfolders) within the browser environment.

I’ve accomplished it with an ActiveX control, but without cross platform support it really is a limited option. I was hoping flash would fix this, but it seems that the latest version doesn’t allow you to select folders to upload either.

FTP is unsafe and cumbersome. Folder uploads (or another way to enumerate files) would be very nice to see at some point in the major browsers.