jQuery Toronto: Coming in hot

Quick Left likes JavaScript, that's no secret. What has been a secret until this very blog post is that we're international evangelists, and as such are sending Sam and Alex to speak at jQueryTO on March 2nd and 3rd.

This time around we're sharing some knowledge about our larger JavaScript applications and what we've learned from them.

Read More

How to Upload to Carrierwave with JavaScript

Carrierwave makes it easy to attach files to Rails models, but all the uploading magic operates synchronously. If you're using Backbone and want to keep model updates asynchronous, it may seem like you're out of luck.

You're not. The new XMLHttpRequest spec, which you may know better as AJAX, supports an interface called FormData. This uses the same format as a synchronous form submitted with its type set to multipart/form-data, which is what enables file uploads in a regular, synchronous form. Make sure your target browsers support FormData.

Say you have a User model with a Carrierwave field called :avatar. The update action of your RESTful controller might look like this:

Read More

Backbone Bites – Part 1

Backbone is not a very opinionated framework. It's super useful and we love it, but it definitely gives you enough rope to hang yourself (and then-some).

We at Quick Left have done battle against the likes of spaghetti DOM code and phantom views, and lived to tell the tale. Here's a new nugget from our adventures: Idempotent View Rendering

Read More

Backbone.js Training: Next Stop – SF

On Saturday, Sept. 8th, our Backbone.js training is kicking off in San Francisco. Our friends over at Singly have graciously agreed to host us, so we'll be setting up shop right in the Mission district of SF. In this hands-on training session, we’ll cover the basics of how to best utilize Backbone, from getting up and running to organizing large JavaScript applications. Attendees will learn how (and when) to leverage Backbone within their projects and best practices for building applications. Get all the details and register.
Read More