Skip to content

Instantly share code, notes, and snippets.

@lloyd
Created February 19, 2010 18:43
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save lloyd/309029 to your computer and use it in GitHub Desktop.
Save lloyd/309029 to your computer and use it in GitHub Desktop.
I'm Lloyd Hilaiel from BrowserPlus.
[show the yahoo cow, moo]
This screencast explores the question, *how do we make uploading from the Browser, better?*
[textual question showing on screen]
What does better mean?
Better means *easier* for the user to select the content they wish to upload.
[easier floats in lower left portion of screen]
Better also means the selected content should transfer *faster*.
faster floats in lower right portion of screen
-- and --
easier animates to takes up whole screen and push off other text
Lots of people have been building features to support *easier* uploads:
fast flipping through screenshots of: facebook uploader, ffx 3.6 image uploader, gears logo,
plupload, and landing on Y! mail
What we've organically agreed upon is that there are six key elements to a good upload experience:
[zoom into attachment area]
1. Drag and Drop `[show DnD onto yahoo mail]`
2. Multi-file selection `[yahoo mail, selection of multiple files]`
3. Folder Selection
4. Content Type filtering
5. Inline Image Editing
6. Rich Visual Feedback
These six ideas compose *easy* - a smoother user experience, but it only answers half the question.
**What about faster?**
It turns out that making content go faster is *complicated* and varies based on a number of factors:
1. Bandwidth
2. Content-Type
3. Number of files
4. Processor Speed
5. User's intentions
So building a faster upload can be *difficult*. Our approach in BrowserPlus has been to expose tools that can
be combined in different ways to attack the problem at the web application level. These tools include:
1. combination - BrowserPlus supports combining multiple files into one using either tar or zip
2. compression - BrowserPlus services provide gzip, bzip2, and LZMA compression
3. content specific optimization - BrowserPlus supports high-quality image down-sampling
4. parallelism - upload multiple files at once
**Pulling it all together**
In order to see a number of different tactics and their relative performance, we put together this
uploading demo:
[show demo during upload]
Here you can viscerally see the different tradeoffs associated with different tactics in different environments.
Some interesting conclusions emerge, like:
1. Over a very fat pipe gzip compression is generally the best choice
2. parallelism alone can half the time it takes to upload several small files
3. LZMA compression can half that again when files are amenable to compression.
Ultimately,to speed uploads you need to send fewer bits. And BrowserPlus gives you a loaded tool chest
offering image resizing, file combination and compression. No matter what the situation, BrowserPlus
provides the right tool for the job.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment