Over the last week we have released several new services which provide features focused at even better browser-based uploading, and have built a new demo to explore various upload techniques using these new tools. We've summarized the new set of tools in a short screencast:
New Services and the Features They Provide
The shiny new Archiver service provides enhanced file combination options (including tar and zip), as well as rounding out the client side compression support in the platform to include both GZip and BZip2 in addition to pre-exisiting LZMA support.
FileAccess v2.0 and above supports "file chunking", allowing you to take a slice of an existing file to create a new file. This low-level feature can allow web applications to build higher-level features such as resumable uploads (especially combined with client side file checksumming) or more efficient parallel uploading.
Finally, a glimpse of a minor API redesign can be had by inspecting the new Directory service. Previously, services which produce file paths (like FileBrowse or DragAndDrop) exposed options to fuel mime-type filtering and recursion. The 2.x versions of these services no longer provide these features, and return verbatim the user's selection. Subsequently the web application may recurse and/or filter the user's selection as needed. This tactic ultimately affords the web application more control, and by moving functionality out of the core platform into services (FileBrowse and DragAndDrop are "built-in" services) we are able to leverage the service versioning built into BrowserPlus in order to fix problems and release features, faster.
Toward Intelligent Uploading
As you'll see in the screencast, a focus of some of these new features is better uploading, and we're hoping that these features will ultimately lead to much improved attachment performance in Yahoo! Mail as well as across the web in abstractions such as plupload.
Finally, as always, you'll find source code for most of the services referenced here available on github. We look forward to your feedback, ideas, and contributions.
The BrowserPlus Team