Hello. I'm Scott Robbin. I enjoy making things to use, and see.

22 Apr 09 

Leaving Songza

I love music. Every since my parents let me pick out a few cassettes from our Columbia House ‘12 tapes for 1 cent’ mail-in order, I’ve been hooked. (I chose Thriller, Weird Al’s ‘In 3-D’, and the Flash Gordon soundtrack.) That’s why, when Aza approached me with a project he had been working on, I was so excited to join in. The concept: provide a way for people to legally listen to and share music, and do so in an incredibly user-friendly way. Flash ahead to the present: Songza has grown into a robust website that’s enjoyed by millions of people around the world. I’m incredibly proud of the work we’ve done, appreciative of the opportunities it has presented and thankful for the community that has supported us.

So why am I leaving? I’m working on a new project: a social network that allows people to send status updates to their friends, telling them what they’re doing…in 141 characters.

But seriously forks, I’m leaving so that I can return to freelance work with clients and to start a new project. The details of the new project are hush-hush for the moment, but I’ll be sure to announce them here when it’s ready to go.

Thank you to Humanized (Aza, Atul, Jono and Andrew–collectively and fondly known as The Humanoids) for all of the support that you’ve given me; to my friends and family for listening to me ramble on about Songza ad naseum; to my friends in New York who’ve welcomed me with open arms and taught me to completely obliterate my liver; and above all to the Songza community for making the past year and half of my life so wonderful.

14 Apr 09 

Visual Reinforcement of a Conversation

I like how Twitter Search uses overlapping profile images to distinguish individual status updates from ones that are conversational. It’s a nice, little touch.

11 Apr 09 

Balsamiq Mockups

Leah Buley’s ‘Being a UX Team of One’ presentation at SXSW was really inspiring. Since having seen it, I’ve been making more hand-drawn sketches as a starting point for projects, and it’s been refreshing.

Balsamiq’s Mockups is a great tool for designers/developers who lack good drawing skills, but still want to pencil-out their ideas (*blushes*). Additionally, it provides all the convenient features of application–drag, drop and undo–for those who could otherwise take pen to paper.

10 Apr 09 

iPhone Skin

I really like what Harper did to gussy up his laptops. Flipping through the Skinit.com website, I saw that they also do iPhone skins. If I were to make one, it’d look like this.

 

Performance differences between @import and link

Steve Souders is one of the brightest people I know. And, on top of that, he has an uncanny ability to convey complex topics in an easy-to-understand manner. If you haven’t already ready his book, High Performance Web Sites, I suggest you do so. Here’s his latest article about the performance impact of using @import or <link> when including stylesheets.

07 Apr 09 

NodeBox

Lately, I’ve been learning Python and applying it to the redesign of some older projects. A few weeks ago, I stumbled across NodeBox: “a Mac OS X application that lets you create 2D visuals (static, animated or interactive) using Python programming code and export them as a PDF or a QuickTime movie” It’s been a fun app to play with, work on my Py-skills and create some interesting patterns.

 

New Look

I’ve made a few changes here at srobbin.com; most notably: the site has a new design. In addition, I’ve started to prune some of the older pages/posts that are no longer relevant.

If you have any difficulties with the presentation or 404s, please let me know. Thanks.

12 Mar 09 

Textual Chocolate

It started off innocent enough: I wanted to play around Javascript key events, looking at words as they were typed. It progressed from there into examining at each keystroke at a character level and manipulating the output. It quickly devolved into this…

RêþLÃÇÏñg εÅςΗ ¢hªRã¢τÊ® ωîτh Τhê hΤΜι ÈÑτíτý Èqúî√âLéÑΤ óƒ gΩβΒLψ-gõÕΚ.

Sometimes we have a purpose to our actions, and sometimes we play around and have fun. This is the latter: fun without an ounce of purpose…

Textual Chocolate

23 Feb 09 

Navigating Content

Although many books define the purpose of typography as enhancing the readability of the written word, one of design’s most humane functions is, in actuality, to help readers avoid reading.

-Ellen Lupton, Thinking with Type

29 Jan 09 

Humane is in the Details

When I first learned to use a computer, my teacher told me to save documents early and often. She warned me of the day when I would be typing an important paper and my computer would crash, causing me to lose all of my work. So, I habituated: every sentence or so, I'd press the keyboard shortcut to issue a Save command.

Well, old habits die hard. Despite the increased reliability of text-based programs, auto-saving and operating system stability, I still hammer out Command-S periodically to "protect" my work.

But what happens when I try this in a browser-based application like Wordpress? It is a common scenario for me: I'm typing out a draft of my post and reach the end of a complete thought; subconsciously, my fingers press Command-S. Then, I encounter a problem: the browser isn't aware that I'm trying to save my work; it thinks that I'm trying to execute a "Save Page As..." command, and I see this:

To make matters even worse, I involuntarily hit the Return key and save a copy of the page to my local drive. Double doh!

Now, imagine that you're the developer or customer support rep who receives this bug report. A common response is to think, "it's the user's fault!" Clearly, the designers had a blogger's best interest in mind when they implemented auto-save and provided a Save Draft button. How could they have anticipated this problem? It seems unreasonable that developers should have to program for every use case...

True. I don't disagree with that statement: programmers cannot foresee every way in which their application will be used. But, this is what separates good UX design from great: an extraordinary attention to detail when accounting for human error.

For example, Google recognized this type of habituation when they created their programs, Google Docs and Gmail. In both applications, if you are drafting content and press Command-S/Control-S, the program will intercept the Save event and execute an auto-save command instead. It anticipates that your intention to save content, not a web page, and creates a forgiving interaction.

And, it makes sense, right? Google is trying to convince users to abandon the traditional desktop programs — Microsoft Office and Outlook — where users have become habituated to Command-S functionality. The designers had the foresight to understand users would try and use the browser much in the same way they had used their desktop app, and accounted for any "errors" they might make. Great design!

Demo

Rather than have you visit Gmail or Docs, I've setup a small example here. To see it in action, start typing in either text area, then press your keyboard save command (Command-S for Mac, Control-S for Windows and Linux) :

The Code

Intercepting key events is easy. If you have jQuery installed, you can use the keydown function:

$("#element-id").keydown( function(e) {
    if(e.which == 83 && e.metaKey) // Do Something
});

Note: The example above listens for keydown events tied to the "element-id" object, and responds to Command-S/Control-S keycodes. Other keycodes can be found here.

Discuss and Contribute

I'd love to hear of other examples that you consider good design, those that embody small, humane attentions to detail.

As for me, drawing on inspiration from John Resig's wonderful article on a Web Developer's Responsibility, I am going to submit "Command-S/Control-S event capture" as a feature request to the Wordpress bug tracking system (along with a patch). Wordpress is a phenomenal product — one that I use every day — and I have been remiss to get involved sooner.