You’re reading Signal v. Noise, a publication about the web by Basecamp since 1999. Happy !

David

About David

Creator of Ruby on Rails, partner at 37signals, best-selling author, public speaker, race-car driver, hobbyist photographer, and family man.

The Swarm: Attacking as a pack

David
David wrote this on 14 comments

It’s very easy to divide and delegate your plans for the future into tiny, isolated pieces. Putting people to work on their own little niche, somewhat detached from the rest of the flow of improvements. And that’s usually a very efficient way of making progress on many fronts concurrently.

But every now and then it’s good to come together on a single project or feature for an all-men-in sprint. We like to call that The Swarm.

We go into Swarm Mode when we’re just days from launch. It’s a time where roles blend together and the sense of purpose and unity is heightened. We’re all in this launch together.

When you’re done, it’s a moment to bask in shared appreciation of the accomplishment. Good times.

Champions pay the price

David
David wrote this on 18 comments

Who knows what the impact of a new feature will be. Will people understand it? Are we going to get swamped with support requests? Will it be a drag on performance? You can always count on uncertainties to scare you off. There are plenty of “What ifs” that can kill a good idea through fear, doubt, and uncertainty.

What you need to climb that wall is a willingness from someone to accept the risks and pay the price. The champion. He who wants this bad enough to be willing to deal with the initially confused customers, answer support emails related to the feature, and put in the work to make it fast and solid.

With a champion in place, most of the counter-arguments lose their appeal as they’re usually born from a perceived discrepancy between cost and reward. As in “sure you want this, but I’m going to be the one who has to deal with the mess”. When cost is assigned to the bulls, the perceived discrepancy of the bears dissipates.

The working title for this story: “How 37signals adopted OpenID”

Nintendo pounds Sony and MS in sales

David
David wrote this on 31 comments

The Wii is beating the PS3 and Xbox 360 to pulps in the market place. In May, they sold 338K units — more than Sony (82K) and MS (155K) could manage together. In Japan it’s even more dominating, selling 5:1 against the PS3.

And while both of the super-advanced consoles from competitors are losing money for each unit handed over the counter, Nintendo is making a killing. As a result, the company’s market cap has peaked higher than Sony.

What a wonderful payoff for daring to be different with a simpler console that could be made at a profit from the get-go and can appeal to regular people who just want to have fun.

What if I actually like HTML, CSS, and JavaScript?

David
David wrote this on 87 comments

It seems to be Spring season for rich-interface technologies. Most trying to blossom with a story about how they’ll rescue developers from the perils of web programming and its dirty tech of HTML, CSS, and JavaScript. These stories are told with a shadow assumption that the only reason developers put up with this trinity of web specs is because of what they get back in form of ubiquitous distribution.

That assumption then leads to the fallacy that if only someone could come along and give us a competitive distribution story using more “advanced” and “rich” interface technology, they’d surely be golden. That all web developers are waiting on is someone to save them from the browser mess and deliver them the clean desktop-development experience of yester-century.

In the immortal words of Eric Cartman: Bullcrap.

As a web developer, I’d like to confess my deep appreciation of the restricted canvas that we get from the basics of the web. We’ve entered an era where the browsers are good enough, compatible enough, and, most importantly, our understanding of how to use what we got has been raised to a level where things are finally looking pretty good.

I actually find the development experience between a modern web-application framework, Firebug, and current JavaScript libraries more than just bearable, I find it downright pleasant. Even more so because it’s born out of the pragmatism of not needing to be perfect. It has evolved over a decade of experimentation.

On the user experience side of things, we’re not even close to tapping out the potential of HTML. The majority of web sites and applications still suck. And if most developers and designers can’t make a clean run with the training wheels and constricted playground of HTML, then we probably are in no rush to start playing with a Ducati on the Autobahn.

Don't be a hero: Giving up is good

David
David wrote this on 55 comments

Everyone wants to be a hero. Techies especially so. And there are special occasions where true glory awaits the hero. When there’s a crisis, it can pay to just carry on no matter what. Get the problem solved and celebrate victory. Winning through shear effort.

But most days are not like that. Most features need not heroes. They need realists. People who are willing to give up and walk away. Being a hero is all about sitting aside all costs and winning anyway. That’s not a prudent way to drive everyday development.

Here’s the problem: You agree that feature X can be done in two hours. But four hours into it, you’re still only a quarter of the way done. The natural instinct is to think “but I can’t give up now, I’ve already spent four hours on this!”.

So you go into hero mode. Determined to make this work, but also embarrassed that it isn’t already so. So the hero grabs his hermit cape and isolates himself from feedback. “I really need to get this done, so I’ll turn off IM, Campfire, email, and more for now”. And some times that works. Throwing sheer effort at the problem to get it done.

But was it worth it? Probably not. The feature was deemed valuable at a cost of two hours, not sixteen. Sixteen hours of work could have gotten four other things done that individually were at least as important. And you had to cut the feedback loop to avoid feeling too much shame, which is never a good thing to do.

That’s where the concept of sunk cost gives us a guide on what to do. It doesn’t matter what you’ve already spent. That time and money is gone. It only matters whether spending what’s left is worth it or not. Business school 101, but one of the hardest lessons to internalize.

In other words, stop being so afraid of calling it quits. You’re playing to win the full season, not a single game. Every time you play the hero card, you’re jeopardizing the next game.

Heroics are for when you have no other choice. When you can afford to take on tremendous risk because there’s no alternative. That’s probably not today.

Reining in the recruiters

David
David wrote this on 62 comments

The job market is booming. Unemployment in the U.S. just hit a 6-year low of 4.4% and there are 150,000 applications chasing just 45,000 available H1-B visas. Whatever the reason, the waters are frothy.

The tech sector in particular seems bent on a hiring frenzy. Our Job and Gig boards are flush with calls for talent. Skillful Rails developers everywhere are reporting full calendars and are turning down offers.

It’s obvious things are a bit crazy at the moment, but that’s no excuse for the rampant, clueless behavior during the recent surge in recruiter activity.

I’ve been increasingly annoyed by the spammy, mail-merged, sugar-laced drivel that passes for “personalized” contact these days. The latest sample came from a major tech company that gave me this spiel:

A colleague here referred you to me as a great Engineer and I wanted to see if you might be interested in exploring job opportunities with us. We have a number of exciting projects in Software Development in locations throughout the world.

What utter laziness. The only two words that are even attempting to be about me are as generic as they come: “Engineer” and “Software Development”. They’re even capitalized in a way that makes you think they came straight off the merge list with my email address. I can vividly imagine this:

Continued…

You're not on a fucking plane (and if you are, it doesn't matter)!

David
David wrote this on 203 comments

The idea of offline web applications is getting an undue amount of attention. Which is bizarre when you look at how availability of connectivity is ever increasing. EVDO cards, city-wide wifis, iPhones, Blackberry’s. There are so many ways to get online these days that the excitement for offline is truly puzzling. Until you consider the one place that is still largely an island of missing connectivity: The plane!

But planes are not a very common hang-out spot for most people. The two major groups of people who are on a plane often enough to care and have an interest in web applications are traveling salesmen and techies who go to too many conferences.

I used to somewhat belong to latter group. And I too liked the idea of having access to my web applications at 30,000 feet. Then it actually happened. SAS offered connectivity on their transatlantic flights between Copenhagen and Chicago. Nirvana, eh? Hell no. Access to my web applications meant that the one time where I’d actually have serenity to read a book or listen to a podcast or just chill out got sucked into looking just like any other day at the office.

Ironically, SAS killed the internet access on their transatlantic flights this January because nobody was using it. (Well, except for me saying “look, I’m online at 30,000 feet!!” in a chat room). And I think that’s a good indicator for offline web applications. The idea is cool, but the reality is that it just doesn’t matter. You don’t need access to all your stuff all the time. We’re already overloaded with connectivity. Cherish the few remaining strongholds for offlineliness!

(Yes, yes, I’m sure there exists other niches and pockets of dark holes where if only we had access to the GlobalMegaCorpSocialY application, the world would be a better place. I’m certainly not going to deny that. Just that for most people, most of the time, it couldn’t matter less.)

UPDATE: The Mile High Club: 37signals, fuck yeahs, and productivity stock-art

Wishing Kathy well

David
David wrote this on 26 comments

We were mortified by the news of Kathy’s death threats. Our Campfire was flush with wtf’s and holy sh*ts. Kathy Sierra is probably the most universally liked blogger among the 37 crew. To see her subjected to this kind of vile, despicable, criminal behavior is heartbreaking.

Hopefully the guilty will be duly punished and Kathy will be back to her usual cheery, wonderful, insightful self shortly.

Treat cute, clever, and cool as spices

David
David wrote this on 17 comments

Cute, clever, and cool are all important ingredients in a delicious application experience. But often their role is over- or understated. Too much and it’s hard to stomach, too little and it’s all bland.

So how do you get it right? One way to think about it is to treat these three C’s as spices. Spices are there to heighten the flavor of the main dish, not dominate and conquer its entire taste.

You can’t litter your page with darling kittens unless you’re Cute Overload, but you can add a few puns or quirky comparisons to put a smile on someone reading your help section.

You shouldn’t try to discern if someone is writing a letter in your word processor, but you can add a Google Maps link to something you know is an address.

You’d be foolish to make every link a fancy Ajax transition, but you can hide/reveal a very commonly used form with a nice fade.

It’s not about either or. You can be cute, clever, and cool in moderation and end up with character instead of clown.

Credit to Jeff Bezos for planting this comparison in my head.

RailsConf '07 sells faster than any other O'Reilly conference

David
David wrote this on 4 comments

RailsConf ‘07 is going down in Portland, Oregon this May. But it’ll be without you in attendance, if you don’t hurry up and secure yourself a seat. We opened up for registrations on Friday afternoon and today, Monday morning, we’re sold more than half of the 1200 tickets!

This makes RailsConf ‘07 the fastest selling conference that O’Reilly have been involved with.

37signals will of course be there with yours truly doing a keynote on Rails 2.0 and Jamis Buck a tutorial on Capistrano (our cluster-deployment tool) and a live version of The Rails Way. If you’re into web development, we hope to see you there!