- David Pogue: How can companies churn out such bad design?
- “But you don’t have to have an M.B.A. to understand that refusing to compromise on design, for any reason, can lead to fantastic commercial success. Look at Apple, Google, Sonos, R.I.M. (makers of the BlackBerry), or (in its glory days) Palm. So what goes through the minds of executives who don’t sweat the small stuff? Don’t they realize that critics and bloggers will find and publicize the limitations? Don’t they realize that customers nowadays can compare notes, can warn each other away?”
- You need to sell things which can not be copied
- “When copies are free, you need to sell things which can not be copied. Well, what can’t be copied? There are a number of qualities that can’t be copied. Consider “trust.” Trust cannot be copied. You can’t purchase it. Trust must be earned, over time. It cannot be downloaded. Or faked. Or counterfeited (at least for long). If everything else is equal, you’ll always prefer to deal with someone you can trust. So trust is an intangible that has increasing value in a copy saturated world.” [via MH]
- Trent Reznor: Why won't people pay $5?
- “And then Reznor ended the hoopla last week when he reported on his blog that 154,449 people had downloaded Niggy Tardust and 28,322 of them paid the $5 as of January 2. In the blog, Reznor suggested that he was ‘disheartened’ by the results.”
Mayor Daley gets his rant on
Vote NO and get an earful.
That’s how it works in Chicago.
Via Gapers Block
Writeboards get autosave
Writeboard, our simple collaborative writing tool just received a long requested feature: Autosave. Every 10 seconds your latest version is saved so you don’t lose any work if your browser window closes, crashes, or otherwise doesn’t cooperate.
Autosave is included in standalone Writeboards, and Writeboards that are integrated into Basecamp and Backpack. We hope you find autosave valuable.
The important thing
My wife recently purchased this book on quilting by Denyse Schmidt. One passage in the introduction is particularly compelling:
[This book] isn’t intended to be a comprehensive guide to quilting, and I certainly wouldn’t say that my way is the only, or the “correct” way to do things. Once you’ve developed a healthy obsession with quilting, you’ll want to explore many other approaches. The local library, quilt guilds and stores, bookstores, and the Internet are all great places to look for information and inspiration.
The important thing is to begin.
Sound advice, whether you’re quilting or coding!
The OpenID party just picked up all the big boys
Hot on the heels of Yahoo’s announcement to get on board with OpenID comes the news that Microsoft, Google, IBM, and VeriSign are all jumping on too. That’s fantastic news. If they stick to it, I’m sure it won’t take too long for everyone else to follow suit, and we’ll finally have that Internet-wide authentication system.
While we’re already taking advantage of OpenID on Basecamp, Backpack, and Highrise and integrating them all through our OpenBar, there’s still a lot more to do. We have quite a few plans to take OpenID usage even further and the news that all the big boys are starting to pay attention as well only prove to encourage those plans.
So if you haven’t already looked into this whole OpenID thing, I’d strongly recommend doing so. It’s one of those things where before you have it, it doesn’t really seem like a big deal. But once you do, you find it hard to believe you ever lived without it. And you’ll be somewhat annoyed when applications don’t support it (yes, yes, we’ll get Campfire on board as well).
A Brief Treatise on Octopus Development
For this installment let’s leave behind all the pixel wrangling from last time and look at something quite drippingly analog.
It is no secret that I have a long-standing interest in cephalopods and watercolors. So of late I’ve been combining the two in a series of of postcards based on actual species documented in Cephalopods: A World Guide. For the purposes of this post I documented some of the stages of painting the maori octopus displayed at left. I’ll try not to get all Joy of Painting about it.
SpiderOak: Online backup and storage
My cousin (and his crew) just launched a new online storage and backup service called SpiderOak.
One of the especially friendly features includes the automated invisible backup feature:
SpiderOak automatically recognizes any new and/or edited document, photo, song, or movie and backs it up in real time without you ever having to think, wonder or worry. This automated system works quietly in the background – never slowing down applications or Internet connections.
They also have versioning so you can roll back to any previous version of a backed-up file. They have desktop client software for Mac, Windows, Linux 32 bit, and Linux 64 bit. They’ve also open sourced some of their code.
There’s a growing number of online file storage and backup services out there, but if you’re in the market you may want to add SpiderOak to your consideration list. They have pay plans and a free plan that includes 2GB of space.
RELATED: A New Online Backup Solution (O’Reilly Digital Media)
Ask 37signals: How do you document code?
Emil Sundberg asks:
When serving thousands of customers with Basecamp, Highrise etc there must be a lot of advanced features though, how do you document your projects? How easy is it for a newly hired developer to understand how your products work.
The short answer is that we don’t document our projects. At least not in the traditional sense of writing a tome that exists outside of the code base that somebody new to a project would go read. I haven’t ever seen that work consistently and successfully at any software company I’ve been involved with.
Further more, I don’t really find it necessary for the kind of work that we do. Our biggest product, Basecamp, is about 10,000 lines of code. That really isn’t a whole lot in the grand scheme of things. Everything we do is build is also using Ruby on Rails, which means that most Rails programmers would know their way around our applications straight away. It’s the same conventions and patterns used throughout.
We try to do a fairly good job at keeping our test suites current and exhaustive as well. Basecamp has a 1:1.2 ratio of test code (thanks to the persistence of Jamis!), Highrise has a ratio of 1:0.8 (bad me!). So you can change things in the applications and feel fairly comfortable that you at least haven’t killed the entire application if you make a mistake as the tests would catch that.
Finally, we write our application in a wonderfully expressive and succinct programming language like Ruby that leads itself very well to a programming style like the one Kent Beck preaches in Smalltalk Best Practice Patterns. Keep your methods short and expressive. On average, our models have methods just four lines long. Adding documentation to a method should usually only be done when you’re doing something non-obvious that can’t be rewritten in an obvious way.
Writing documentation for your code base is a very heavy, upfront, planning kind of way to go about things. Maybe that’s what you need some times if you work in an environment that’s especially onerous or if you have very complex policies and strategies you’re implementing. But if you’re not burdened with such things, I’d recommend trying to work on the quality of the code itself and see if you can get by with sparring with new developers.
Got a question for us?
Got a question about design, business, marketing, etc? We’re happy to try to provide some insight into how we’d tackle the problem. Just email svn [at] 37signals dot com with the subject “Ask 37signals”. Thanks.
Upcoming speaking engagements
Jason Fried
February 29: University of Chicago Graduate School of Business TechVision 2008. Consumer internet panel.
March 8: South by Southwest (Austin, TX). Topic: 10 Things We’ve Learned at 37signals
March 28: Web App Summit (San Diego, CA). Topic: The Little Things Matter: Building Apps with a Laser-Like Attention to Details.
David Heinemeier Hansson
April 19: Startup School (Stanford).
May 29: RailsConf 2008 (Portland, OR). Keynote.
September 2: RailsConf Europe (Berlin). Keynote.
Ryan Singer
May 29: RailsConf 2008 (Portland, OR). Topic: UI Design on Rails
Want someone from 37signals to speak at your conference?
We’re interested in speaking on entrepreneurship, design, programming, a combination of biz/design/programming, and our Getting Real methods. Get in touch by emailing jason at 37signals dot com.
Three food tips: roll your own soda, order the D-roll, and use fresh garlic
Three random cooking/food tips:
Make your own soda
I avoid corn syrup. It scares me. That means Coke and the like are off the table. Instead I roll my own juice sodas (e.g. Apricot, Peach, etc.)
It’s a technique I picked up from my dad. It’s a simple combo of club soda and fruit juice nectar, which has a higher fruit content than typical juice. (Fyi, nektar is Latin Greek for “drink of the gods.”)
It’s simple: Put some ice in a glass. Fill it about 1/3 full with fruit nectar. I’m a big fan of Bionaturae organic nectars which I get from Fresh Direct. Top it off with club soda (I buy it by the case so there’s always some on hand).
Now you’ve got yourself one delicious, healthy, and cheap beverage. Call it the “soda of the gods.”
Always order the D-Roll
If a restaurant has an item that contains the name of the restaurant in it, order that.
For example, there’s a sushi place near me called Sushi D. It has a huge menu and the first time I went there, I wasn’t sure what to order. Then I saw the D-Roll on the menu. I thought: If they’re willing to name it after the restaurant, it must be good. And it was awesome. Last week at a place called Cafe Fresca, I ordered the Pizza Fresca. Also delicious.
If a restaurant puts its name on a dish, it’s probably a good sign that they’re proud of it. Reminds me of a piece of advice Edward Tufte gives: People should put their name on things — it shows your audience that you care about the content and take responsibility for it.
If that’s not an option, another ordering technique I like: Pick two items on the menu that sound appetizing and let the server decide between those options. They know what’s best on the menu (and, perhaps more importantly, what’s definitely not a good idea).
Or just go all in and order Omakase-style (i.e. the customer lets the chef prepare whatever the chef wants).
Continued…