You can find my plugins here
Introduction to Better Uploader
Today, the “Better Uploader” plugin makes it to the marketplace!
“Better Uploader” is a useful tool bubble developers of all skill levels. One of it’s best features is that it can be incredibly useful for app optimization for large scale apps. It can cut down on a lot of processing time (in case where apps are handling large files and or multiple files at a time), and let’s not forget bandwidth fees
What it does:
- Supports drag & drop
- Support multi-file uploading
- Supports displaying loading & uploading progress as a %
- Separates uploading files locally (to the browser) and sending those files to server
- Supports standard style customization (background color, font properties, border, etc …)
- Preview your file (such as an image) before sending in to the database
- Enables doing work (processing) on files before sending them to server
- New (v.1.2) Rename files before uploading them
What does this mean? Well, let’s look at the exposed states:
Pay attention the two highlighted exposed states, this is the interesting part. Once a user uploads a file to the file uploader, an exposed state called “Raw Data” is made available; it is a list of data Urls which can be used as the source of an image in order to preview images before uploading them to the server, for instance.
Better yet: a plugin builder might want to run some code on an image before sending it to the server. For example, I’m building a filter plugin that applies standard image filters to images. The normal workflow would be to use the default bubble uploader which automatically sends files to the server automatically, so the builder would have to
upload image → retrieve image → apply code → upload new edited image → replace image
I say, BLASPHEMY to such inefficiency!
My upload compacts that down to this workflow:
upload image → do code → send to server.
Et voila! My uploader cuts down on processing in half in some instances. Imagine, having to apply modifications to 50 files and doing it the default way, you’d have to perform double the processing.
Questions, comments, suggestions? Please leave a reply!