Direct Multipart Uploads to S3 in Rails

Check out our gem for direct multipart uploads to S3.

When building we took a hard look at the available open source uploading options. We wanted to create an uploading experience that took full advantage of our users’ upstream bandwidth, delivering videos as quickly as possible to their destination, but that duplicated effort as little…

(Source: bitcast)

Max Gillett: Devise + Omniauth + Facebook JS SDK Tutorial


There is a seeming abundance of posts and tutorials on integrating Facebook with Omniauth and Devise, but nothing definitive on making it all asynchronous (zero reloads or redirections). The closest implementations are found in an example Sinatra app that the creators of the

Brilliant Devise + Omniauth + Facebook SDK tutorial from Max.

(Source: maxgillett)

Is T.V. Doomed? Well, it Depends.

It depends on how you define “Television.” Many people think of traditional television as a monthly subscription, hundreds of channels, and annoying fees. I define T.V. less by the networks and more by the experience. The experience I’m referring to is the traditional one in which a family gathers around a large screen in a living room, or a tired spouse plops in front of the T.V. after work to decompress. These behaviors aren’t going anywhere. I can’t say the same for the network model though.

There was a lot of discussion at last week’s T.V. 3.0 summit regarding Henry Blodget’s article entitled “Don’t Mean To Be Alarmist, But The T.V. Business Might Be Starting To Collapse.” The attendees, many of whom are heavily invested in traditional television, argued fiercely against Blodget, citing all kinds of statistics about how T.V. networks are doing better than ever. Blodget argues that the traditional network model is breaking down: “The only question that’s relevant is whether it’s available on Netflix, HuluAmazon, or iTunes.” To top it off, Dan Frommer argued that the major networks aren’t going anywhere and have just signed long-term contracts with providers that ensure they’ll be here for a while. There’s no clear right answer here, but I do think we will see a shift away from the network model, although this may take a long time as Frommer argues.

Here’s a simple tentative list of what I think  people will stop doing, keep doing, and start doing:

People Will Stop:

  • Paying high monthly fees for content they don’t need or watch
  • Mindlessly flipping through channels trying to find something compelling

People Won’t Stop:

  • Gathering in front of big screens in the house
  • Using the screen as a way to decompress
  • Saving content to watch later(like TiVo or DVR)
  • Watching live sports

People Will Start:

  • Queuing up content from their computer to watch on T.V. later
  • Sharing content they’re watching with friends
  • Choosing exactly what program/show they want to watch without regard for network scheduling

Make Signing Up Fun, or at Least Less Annoying

Sign up is where conversion goes to die.

Over the last few weeks I’ve been helping conduct UX tests at the TechStars NYC office, and I have to say that the whole experience has been really illuminating. I’ve long revered the power of a great UX/UI for delivering on conversion, retention, and engagement, and this week really cemented that. I’ve become really passionate about UI/UX and want to distill everything I’ve learned so far so that you can use these techniques in your own applications. 

Users are faced with more sites than they can possibly hope to sign up for. As a result, they have become extremely picky and time-sensitive. If they’re faced with your sign up form, you’ve generated some kind of interest. Now don’t screw it up. Remember – Sign up is where conversion goes to die.

Every minute they spend signing up for your site is a minute you’re competing against Facebook, Tumblr, and Twitter for attention. Since I’m competing with them right now for your attention, let’s get started.

Big Forms Are Giant Obstacles

I’m actually amazed you’re still reading this after seeing that form. Phew! If you try to make me fill out this form and your service doesn’t give me super powers then I’ll hate you forever.


"Keep it simple stupid." A sign up is a win for you, so make it painless.

Wunderlist does a fantastic job with this.

Get Them Excited

Wouldn’t you just love to sign up for this one? This beautiful sign up form from Matthew Skiles makes you want to hit the waves, even if you’ve never gone surfing before in your life.

Evoke Some Emotion

Emotion more often than not is what causes people to take action. Heroku is legendary in my book for incredible UI/UX. Notice how their gorgeous sign up page invokes a sense of peace and calm. 

Remind Them Why They’re Signing Up

Foodzie does an awesome job of reminding you that you’re signing up for delicious gourmet food by using an immersive fullscreen background image. 

Stand Out Through Design

Journnl’s sign up form takes it to the next level, creating a beautiful typographical experience that helps you understand the real product. Signing up is fun.

Handle Errors Gracefully

Jesse Stewart has an excellent example here on dribbble. Handling errors well is key to providing a clean and simple sign up process. Don’t flash a giant alert in the user’s face or reload the page, just give a simple inline hint as to what they need to correct. 

Allow Sign Up Through Multiple Services (check it out if you haven’t yet, it’s awesome) does this exclusively. Allowing signup/login through 3rd party apps like Twitter and Facebook is the way to go. It allows you access to more information via their APIs and it also means one less password for your users to remember. 

Provide Some Guidance

Directing the user’s eyes through the necessary steps makes sign up incredibly fast and intuitive. See  Wunderlist above.

Condense Multiple Fields Into One Line

You don’t need to require a user’s password multiple times, it’s annoying and you can do it dynamically using some nifty javascript. Again, see Wunderlist above.

Try to Initiate a Conversation With the User

Having a conversation with the user is an amazing way to engage, educate, and build trust with your users. I got to check out Bondsy’s iPhone sign up process the other day at TechStars and it absolutely blew me away. They’re still in beta right now so you’ll have to wait to see that. 

Don’t Require Email Confirmation

Unless absolutely necessary, don’t require users to click a confirmation link in their email. The user has just given you their information, you can sign them in first without making them confirm.

Multiple Forms on Multiple Pages

If you need to gather more information from a user, don’t confront them with a giant sign up form like the one seen above. Instead, break up the forms into different pages so they’re not so intimidating.


If you really need to capture more information from your customers, autofill as much as possible to ease their strain. 


Captcha definitely poses a usability issue and unless your site is facing serious security/spamming problems, you should probably avoid it. That being said, I’m a huge fan of what the reCAPTCHA project is doing. Why!?!? Because by filling in those annoying little forms, you’re actually helping to digitize human knowledge. Don’t believe me? Read here:

[9] Things I Learned Last Week at

[0] When learning to pitch, there are no substitutes for a) pitching strangers, and b) repetition.

[1] There is a ton of value in creating an online following. 

[2] People are very sensitive to 3rd party apps sharing content on their social networks.

[3] Don’t rely on user initiative, in your app you have to spoon feed things to people.

[4] Try making the arduous parts of the sign up process entertaining, or at least less annoying.

[5] Constantly watch your users interact with your product. We use Screenflow.

[6] Some of the most successful products(both digital and physical) rely on addiction.

[7] Keep track of the competition, but play your own game.

[8] If someone won’t tell you anything about their idea unless you sign an NDA, they probably don’t have anything worthy of protection.  

[9] Listing things using array notation is way cooler. You thought you only read through 9 points but it was actually 10 ;)

Please note that I plan on doing follow up posts on all of these points very soon, I just wanted to give you a quick overview. Day[0] as Intern[1] at


As I swung open the door at “Cyberdyne Systems” yesterday morning, I wasn’t sure what to expect. A few months earlier, after chatting with Reece and Chris about a potential internship, I’d been assigned to Project G.O.A.T.S., during which I was tasked with the odd job of finding (yes,…