Make decisions so your users don't have to.

Category: General

I’m Joining LinkedIn

I’m very excited to share that I’ve joined LinkedIn as a full-time employee. LinkedIn has bet big on Ember. They debuted their new mobile site earlier this year, and have already started to roll out a new, Ember-based version of the desktop experience. I will be joining a team of top-notch engineers whose job is to scale up […]

JavaScript Frameworks and Mobile Performance

In response to Paul Lewis’ The Cost of Frameworks: Critics of frameworks tend to totally miss the value that they provide for people. Paul presents this list of why people use them: Frameworks are fun to use. Frameworks make it quicker to build an MVP. Frameworks work around lumps / bugs in the platform. Knowing [insert […]

You’re Missing the Point of Server-Side Rendered JavaScript Apps

There is a lot of confusion right now about the push to render JavaScript applications on the server-side. Part of this has to do with the awful terminology, but mostly it has to do with the fact that it’s a fundamental shift in how we architect and deploy these apps, and the people peddling this […]

Portland City Hall vs. Ride-sharing: The Lady Doth Protest Too Much

Last Friday, Uber started operating in Portland despite the city government’s stance that ride-sharing services remain illegal. One of the loudest voices of fear, uncertainty and doubt coming out of City Hall about Uber has been Steve Novick. Mr. Novick is a City Commissioner, and, unfortunately, in charge of the transportation board here. Let me […]

Mozilla’s Add-on Policy is Hostile to Open Source

Mozilla prides itself on being a champion of the open web, and largely it is. But one policy continues to increasingly grate: their badly-managed add-on review program. For background, Ember.js apps rely heavily on conventional structure. We wrote the Ember Inspector as an extension of the Chrome developer tools. The inspector makes it easy to […]

Maybe Progressive Enhancement is the Wrong Term

Many of the responses to my last article, Progressive Enhancement: Zed’s Dead, Baby, were that I “didn’t get” progressive enhancement. “‘Progressive enhancement’ isn’t ‘working with JavaScript disabled,’” proponents argued. First, many, many people conflate the two. Sigh JavaScript is an exercise in lobotomizing browsers and then expecting websites to still work with them. This is […]

Progressive Enhancement: Zed’s Dead, Baby

A few days ago, Daniel Mall launched a snarky tumblr called Sigh, JavaScript. I was reminded of law enforcement agencies that release a “wall of shame” of men who solicit prostitutes.1 The goal here is to publicly embarrass those who fall outside your social norms; in this case, it’s websites that don’t work with JavaScript […]

Evergreen Browsers

…Exponential growth is seductive, starting out slowly and virtually unnoticeably, but beyond the knee of the curve it turns explosive and profoundly transformative. The future is widely misunderstood… Today, we anticipate continuous technological progress and the social repercussions that follow. But the future will be far more surprising than most people realize, because few observers […]

Open Source, Thick Skin

Yesterday, Heather Arthur posted a well-written and sad account of how she felt after the open ridicule of one of the projects she had made available on GitHub. This caused the battle lines to be lain between the Ruby and node.js communities. Friends of mine opened fire at one another. That made me sad. Thanks […]

My iOS 7 Wishlist

Actually, it’s not a list at all. There’s just one thing I want from iOS 7. I want it to expose sufficiently powerful hooks that Google could implement Google Now for iOS. A few months ago, I switched from my iPhone 4S to a Nexus 4. This was quite an aberration for me, as I […]