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

Target micromedia

Matt Linderman
Matt Linderman wrote this on 22 comments

What we’ve found: When it comes to spreading a story, the mainstream media isn’t as important as the micromedia. Being written up at the right blogs has had way more impact for us than the press we’ve gotten in big-circulation publications.

Traditional media is losing ground
“10 reasons why newspapers won’t reinvent news” [via JK] explains why papers are having a tough time keeping up with the web:

Newsrooms don’t trail the leading edge simply because they’re too dumb to keep up…Most newspapers can’t see what’s coming…Most newspaper payrolls are bloated with pluralities of resentful Luddites who struggle with the complexities of e-mail…Inertia, uncertainty and toxic paralysis rule most newspaper companies…In 2008, all meaningful political discourse — the essential element of social currency — takes place on the Web. Print (and televised) political coverage is now but a pale shadow of the real action online.

This bit from “On the Bus, But With No Reason to Go?” [Washington Post], an article about the evolving role of the press in the presidential campaign, shows the impact: The mainstream media just doesn’t matter that much anymore.

Obama advisers have concluded that newspaper and magazine stories no longer have the same resonance but that a brief item by, say, Politico bloggers can spread like wildfire.”

We’ve noticed a similar trend in our sphere too…

Time vs. Daring Fireball
We’ve been written up in big mainstream publications like Wired and Time, but we’ve found that we actually get more hits when we’re profiled on sites like Daring Fireball or Lifehacker. Links from these places result in bigger spikes in our traffic and sales.

When 43 Folders’ Merlin Mann lists one of our products at his site, we get thousands of new visitors. During a recent 37signals Live we were conducting, Digg’s Kevin Rose posted a note to Twitter that he was watching us. We instantly saw a bump of 200 viewers. Articles in bigtime publications are nice and sound impressive, but they don’t result in that level of direct, instant activity.

These smaller sites don’t have the same volume of readers as, say, Newsweek, but the people who do read them actually care about what they have to say. There’s a relationship. The audience isn’t made up of random readers, it’s people who think a certain way.

Continued…

Cracker packaging

Jamis
Jamis wrote this on 33 comments

The first graham cracker company that produces decent packaging will win my loyalty forever. There is very little as frustrating as breaking every cracker in the package as a by-product of opening the package—especially when you’ve got a yowling one-year-old watching impatiently as you do so. The plastic envelope around each set of crackers is all but impossible to open cleanly, and you can forget about it being “resealable”. Once open, you have to resort to a plastic bag to prevent the crackers from going stale in a hurry.

I won’t go so far as to say how hard could it be?, but this can’t be the best possible solution, can it?

Saltines could definitely use some packaging love, too, but graham crackers are the worst.

Embrace real constraints, not artificial ones

Jamis
Jamis wrote this on 7 comments

I’ve been doing research for my RubyConf presentation on November 6th, and while digging through one of my old projects, I ran into an interesting bit of code.

The project in question was Needle, a result of a brief love affair with complexity. (This was before I met 37signals, and both 37signals and my wife have since forgiven me.) It was a fun project, but I added features because they “sounded cool”, not because I had any practical need for them.

Adding new features always results in increased complexity. (For some features, the added complexity may be fairly small, but there is not necessarily any relation between the perceived complexity of the feature and its implementation. That, however, is a topic for another dissertation.) In the case of Needle, I wanted (essentially) to be able extend objects on the fly, and I had two ideas for how to do this. In one, you specify an existing extension to append to the object. I called this the “with” approach, since the object is extended “with” another one. In the other approach, you specify an anonymous block of code to extend the object with. I called this the “doing” approach, since the object is extended by “doing” something.

Both sound cool, right? Yeah, man! Extend objects on the fly! Whee!

So I implemented both. The problem was that I couldn’t immediately see how to make both work together. What would happen if wanted to extend an object both “with” something, and by “doing” something? Adding the features themselves added complexity to the project, and I wasn’t willing to further complicate things by making the two features compatible, so I created an artificial constraint: the library would raise an error if you tried to use both features on the same object.

Now, constraints are good, and you should certainly seek to embrace yours. But creating artificial constraints because you’ve painted yourself into a corner is code smell, and the solution is not to accept your corner and wait for the paint to dry, it is to unpaint yourself out of that corner. In the case of Needle, I should have either worked harder to make the two features compatible, or removed one of them. (Or both of them!)

Ultimately, Needle failed because it didn’t fill a real-world need, and so its code is a graveyard full of things like these artificial constraints. Real projects need real applications. But complexity being what it is, eventually you’re almost certain to find yourself heading for that corner with a trail of paint chasing you. When you do, pause for a moment and consider whether this is a true constraint you’re embracing, or whether you can do with less complexity. Chances are, the prospects aren’t as bleak as you thought.

This is all related to a RubyConf presentation I’ll be giving in Orlando on November 6th, entitled Recovering from Enterprise: how to embrace Ruby’s idioms and say goodbye to bad habits. If you’re going to be there, do stop by and introduce yourself!

Instapaper lets you create a library of online articles on your iPhone

Matt Linderman
Matt Linderman wrote this on 15 comments

instapaperHands down my fave iPhone app: Instapaper (created by Marco Arment).

Whenever I come across a long article online that looks interesting — Bill Simmons’ list of the best sports pieces ever written is where I started — I click Instapaper’s “Read Later” bookmarklet and then the app automatically stores it on my phone so I can read it later.

The offline storage makes it great for subway rides in NYC.

Left: List of saved articles on Instapaper’s iPhone app.

instapaperThe app downloads a text-optimized version of each page which removes the need to zoom or horizontally pan. No more accidentally side-scrolling from a long text column.

Left: How a stripped down article looks onscreen.

Continued…

Real life usability

Sarah
Sarah wrote this on 12 comments

Very Clever: The Virginia Employment Commission preprints the return address of payment envelopes with their own address.

Not Clever: New York state Workers Comp Board tells me to mail my payment right away, but does not include the address to send it to. I have to call them to find out where to send my mail.

Recent jobs posted to the Job Board: Nokia, Rainforest Action Network, Hewlett Packard, Joost, etc.

Basecamp
Basecamp wrote this on 2 comments

Design Jobs

Nokia is looking for an Interaction and Visual UI Designer in Burlington, MA.

Rainforest Action Network is looking for a Web Designer/Developer in San Francisco, CA.

The University of Iowa is looking for a Web Applications Designer in Iowa City, IA.

A stealth-mode startup is looking for an Lead Interaction Designer in London, England.

FIRST ROI is looking for an Flash / Interactive Designer in Austin, TX.

Boston Apparel Group is looking for a Web Designer – Chadwick’s in West Bridgewater, MA.

ShermansTravel Media, LLC is looking for a Exciting Interactive Web Designer in New York, NY.

Clorox Creative is looking for an Experienced PHP Developer in Oakland, CA.

CashNetUSA is looking for a User Interface Engineer in Chicago, IL.

Check out all the Design Jobs currently available on the Job Board.

Programming/Tech Jobs

Hewlett Packard is looking for a Web Front End Engineer in Marlborough, MA.

Janus Health, Inc. is looking for a Web Developer Maverick in San Diego, CA.

Meetup.com is looking for a UI/Front End Engineer-Javascript/CSS in SOHO-NY.

Joost is looking for a Flash ActionScript Programmer located in New York, NY.

The MITRE Corporation is looking for an Experienced Ruby on Rails Lead Engineer in Bedford, MA.

Tribune Interactive is looking for a Developer (Java/Rails) in Chicago, IL.

Patch is looking for a Quality Assurance Engineer in Soho, New York.

Starbucks Coffee Company is looking for a Front End Web Developer in Seattle, WA.

Sitezoogle is looking for a Senior Programmer anywhere (telecommute).

Check out all the Programming Jobs currently available on the Job Board.

More jobs!

The Job Board is flush with great programmer and designer jobs all over the country (and the world). The Gig Board is the place to find contract jobs.