Yahoo! BrowserPlus - a love-hate relationship

Für meine deutschen Leser: Ausnahmsweise gibt es dieses Mal einen englischsprachigen Text, da ich ein gesteigertes Interesse daran habe, dass es von einigen Leute gelesen wird, die kein Deutsch sprechen. Daher werde ich dieses Mal genussvoll ihre Muttersprache "bemühen". *BEG*

For my english readers: I hope you don't to suffer too much while reading this text. I haven't written many english texts lately. So it may contain bad grammar and syntax errors. Sorry!

This article is about Yahoo! BrowserPlus and the last year I spent with it. It has been a year of love, fun, pleasure, frustration and hatred. Okay, hatred is a strong wording, but I try to be honest. As much as I loved it, I have hated it ever and anon.

Some Background

Before going into details, let me tell you something about the project I have used Yahoo! Browserplus for. I have been developing and continue to develope a nice web application for my company. This software is meant to collect, plan, cultivate and publish content of all kinds using a strict crossmedia approach.

One way to collect content is to drop some media files - images, videos, documents of all kinds, and so on - onto a drop zone. The software files theses contents into the defined areas and keeps all the content for a topic together.

My first approach was to use file inputs or SWFUpload.Have you ever tried to upload 20+ Files using file inputs or SWFUpload on a regular basis? Sucks completely.

Next I decided to limit my application to Firefox for the moment, and used a technology described in this blog post. This worked like a charm on Mac OS X. You got asked once to give permission. Then you could upload files by drag and drop. Sadly, it only worked like a charm on Mac OS X. On Windows, Firefox kept asking the security question for each and every URL. This was pretty unuseable for a production environment as you might guess.

Yahoo! BrowserPlus

Luckily, I found the Yahoo! BrowserPlus plugin. It is available for the primary client platforms used by our customers - Windows and Mac OS X. The documentation is awesome. The support provided via the forum is great. And the guys behind it also provide support via twitter. You can even explore the services interactively online.

So far I have I been using the DragAndDrop, Uploader and Notify services in a production environment. The DragAndDrop service provides everything you need to handle drag and drop support inside the browser window. The Uploader is a handy tool to use in combination with the DragAndDrop service. And last but not least, the Notify service provides desktop notification for your web applications.

Sounds pretty awesome, right?

It is pretty awesome on Mac OS X. Everything works like a charm. No problems. No issues. Everything just works. The plugin is rock solid, integrates smoothly into Firefox and Safari and I never had any issue using it.

The sole problem I had during the development phase was: I had to accept the API.

The plugin enforces a certain style of programming on you, that is so much different from jQuery and Mootools, which are the primary toolkits I use these days. But you can question this in the forums and get a polite and very detailed reply by Lloyd Hilaiel. This is what I call great support. Thank you!

All this must sound like a real love realtionship between Yahoo! BrowserPlus and myself. But it is not.

The Problems

Sadly, the application isn't used by Mac OS X users, but all my users are running Windows and Firefox. On this combination of operating system and browser the plugin isn't as stable as on Mac OS X.

The problems I experienced are/were:

  • Fixed - I configured the Uploader to use a certain cookie. Sadly it wasn't used.
  • Fixed - I discovered a serious bug on Windows when using Firefox and the DragAndDrop service. The CPU usage went up to 100% and Firefox crashed.
  • Open - In my configuration and application the plugin crashes more or less regularly. Sometimes it just crashes when you go to a page which initializes the DragAndDrop service. Sometimes it crashes during upload inside the Uploader service. Sadly, it is not easy to determine the reason for that.
  • Open - If you have a Windows (Vista) machine, which is used by several users. The first user can install the plugin without any problems. Luckily, it can be installed without admin privileges on Windows. The second user is also informed, that the plugin is not installed for him. When he tries to install it, it is installed correctly but it can't be used.
  • Open - From time to time the plugin initialization doesn't work. You reload the page and eveything works again.
  • Open - Firefox 3.6 introduced a new bug. If you enable the DragAndDrop service on a page inside Firefox 3.6 the scroll wheel doesn't work anymore. With Firefox 3.5.6 everything is fine.

These problems occur from time to time, but often enough to bug my users. And if you know newspaper people, you know that they work with a tight schedule and every disruption is extremly bugging.

The Solution

The best news I received in the recent weeks was the release of Firefox 3.6. It includes the first release of the HTML 5 File API. With this API I have implemented a rock solid solution for drag and drop file upload for Firefox 3.6 and Safari 4. And the nice part is, that it also works in IE8 with some customization.

The HTML 5 File API solves all the issues mentioned, cause it just works. But it is also lagging some features that Yahoo! BrowserPlus provides out of the box. Some of them can be implemented using Javascript but some aren't accessible anymore.

  • Mimetype filtering of the allowed files.
  • Uploader functionality to limit uploads and handle timeouts.
  • Client side image scaling using the ImageAlter service.
  • Directory uploads aren't supported by the HTML 5 File API at the moment.

But I prefer less features and much more stability.

Will I return to Yahoo! BrowserPlus?

Sure, as soon as it is more stable. I will continue to track and test it. The client side image scaling is an awesome feature.