Another Stellar Idea For Dolphin 7.1

houstonlively posted 27th of June 2012 in Community Voice. 10 comments.

Client side image resizing before upload. 

Ever try to upload a few dozen 5MB images to a D7 site?  Did it make you cry?  It should have, because it will take 30 minutes or more for most internet users.  Facebook does client side image resizing.... that's why image uploads are so fast.  People are used to this speed, and expect it.  Who wants to sit on an upload page for 30 minutes and watch upload progress bars?


Let's do a test.  Go find some 5-7 MB image files, and upload them to a Dolphin 7 site.  Then go upload those same images here:


I'll let the results speak for themselves.

Recommended by
Please login to post a comment.
Andrew Boon
Great idea.

We have played with this a little, but haven't' yet implemented due to some issues. It can be a viable "option", but there're some drawbacks...

First, with the new HiDPI/retina displays coming, you may want to have hi-res originals uploaded to your site. New rMBP has 2880px width, which means it can fit 8mpx photos at full zoom (and often you don't want them displayed in 100%). It may not be an issue yet, but it soon will be, and you won't be able to explain your users see more why you took their nice hires photos and stored dumbed-down versions only. if they rely on your site as photos repo, they wouldn't want them downscaled too much. users of cameras with higher mpx normally know how to resize before uploading. Also MacOSX offers resized versions for upload from iPhoto/Aperture libraries. Not sure how it works in Win.

Second, browser resizing is not yet supported by all browsers, and those that do support it stress processor quite a bit. Processing time is hard to quantify and estimate, so your users may get stuck with overall system slow-down, instead of extra upload time wait.

Third, if at any point you'd need to offer the photo for editing/resizing/cropping... you'd be better off with largest original possible. For example (and I know you don't like this particular example), avatar cropping tool.

Forth, pre-upload resizing is not transparent to user and may give results that users don't anticipate. It may have to be properly communicated.


Now back to why I still think it is a great idea...

Some modules would be better off without it (photo sharing), while other would definitely benefit (Blogs, Events, etc). Also some sites may be geared more towards high quality (photos clubs), while other just need basic pics (dating). So, it has to be an option with a bunch of settings. We will work on this, but don't expect it to be a quick thingy.
I would bet my retirement account, that the vast majority of Dolphin sites, have members that would rather get things done in a hurry. I don't know of a single Dolphin site that is using the platform for a professional photography or art site... those folks use gallery scripts. Social networking users go on vacation, plug their camera into their computer with a usb cable, and upload a ton of hi res photos. I have never once, heard anyone I know on Facebook, complain about client side photo resizing. see more In the demo I referenced, it took 5 seconds to upload a 5.2MB photo. Uploading the same photo to my D7 site, took 80 seconds.

I have no Idea what you are talking about when you say "browser resizing is not yet supported by all browsers". I'm not sure how Facebooks resizing works, but I expect it's a combination of javascript and a hidden flash app.... just like my demo. To the best of my knowledge, just about every browser supports flash and JS.

You don't need a lot of settings for photo uploads:

Resize Images: [ ] Yes [ ] No
Max dimension in px: 1024

You pass two variables to the uploader.... that's it.

As far as cropping, rotation, and all that other stuff..... leave that for a third party integration like AndreyP's photo editing using

Implementing this in 7.1 is a lot easier than you think Andrew.... especially if you keep swfupload. Their version 2.5 has this already built in. Although they call it a Beta, I can attest that it is essentially bug free. The folks at swfupload even have code examples, so there's no big learning curve here.

Speedy uploads would make a lot of people happy around here.

OH..BTW...................Please refrain from mentioning Avatars in serious conversations such as this one. This post is talking about 4096 x 3072 images, and really doesn't have much to do with a 64px thumbnail.
SWFUploader Beta has many problems as per active issues on their homepage, also it is not actively developed since beginning of 2010, so it looks like the issues aren't going to be fixed anytime.

So the best way is to use latest stable version for now without client resizing.

Integrating other uploader will require too many changes in current version.
Oh come on Alex.... what's a few hundred bugs to us Dolphin users? That's nothing.
It's more than nothing, some of the problems:
- it is beta feature, no one can guarantee that it is stable
- no one update for more than 2 years
- problem with resizing big images (is this what this plugin for?)
- hanging in some browsers/OS/Flash versions
- hanging with certain number of files
- multilingual problems
Smart guy like you, can fix all that stuff.
Thanks, I would do, but I have a lot of other things to do.
We will try to implement client's side resizing without flash in future versions.
Andrew Boon
I was referring to HTML5 resizing, which sounds like a promising feature and we're likely to use it in future updates.
...just to add this since you mentioned HTML5: the sound module to my website, is the most important module. I hope you have plans of introducing client side resizing of sounds too...for easier mobile (including JAVA/WAP) playbacks.
you're a great, I read many of your comments and I have never seen a critique useless.
you have my respect houstonlively
I do not understand how to do that is to say you're wrong
Below is the legacy version of the Boonex site, maintained for Dolphin.Pro 7.x support.
The new Dolphin solution is powered by UNA Community Management System.