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


About Basecamp

Basecamp is everyone’s favorite project management app.
Meet the team, if you'd like.

New page layout for Highrise contacts

Basecamp wrote this on 18 comments

This week we updated Highrise with a revised layout for the people and company pages.

We decided to change these pages because we thought the existing sidebar had become too cluttered. The old sidebar contained tasks, contact info, custom fields, dates, deals, background info, a list of people on company pages, a twitter stream, an email notification toggle and an RSS link. It was a bit of junk drawer. Many items were constrained by the small space afforded by the narrow sidebar and it was difficult to see where one section ended and another one started.

To help reduce the clutter we introduced tabbed sections for deals, the list of people in each company and the optional twitter stream. In the old sidebar the list of deals and people was often cramped and the twitter stream was limited to three entries. We wanted to give these sections dedicated spaces outside of the sidebar so that there was enough room to show more data like a person’s email address or details about each deal. We also wanted to make the appearance of deals and people consistent with other pages in Highrise.

The old sidebar had a seperate section for dates. We decided to merge these into the new Personal Info section because their presentation makes it obvious that they are dates. We also introduced a line of text that indicates which dates are configured with reminders. Previously you had to visit into the date editing pages to find out which dates had were setup with a reminder which was a bit of a hassle.

At the bottom of the old sidebar we had links to toggle daily digest emails and a link to the RSS feed. Both of these items provide a way to stay up to the date with the notes and emails that are added to a contact but their position at the bottom of the sidebar didn’t communicate that relationship very well. We moved them to the top of the stream of notes and emails to make it more obvious that these features were related.

The contact pages in Highrise have always been a challenge for us. They can contain many different combinations of data and everyone uses them in their own unique ways. We hope this round of changes makes these pages more useful and a little easier on the eyes for everyone who uses Highrise. As always, we’ll continue to review and revise as time goes on.

Lessons learned from implementing Highrise's custom fields feature

Basecamp wrote this on 20 comments

We recently added custom fields to Highrise (below) which allow you to keep track of extra details beyond standard contact information like phone, email, address, etc.

After the launch, we had a “looking back” conversation to see what lessons could be learned from the process. Three of our findings:

1. Add to an existing design before trying a new one.

When you begin work on a new feature, try to add it within the context of the existing design, evaluate it, and then make a decision about how to proceed based on that experience. That way, you quickly get a good sense of what works in the existing design and what doesn’t. You might even discover that the new feature fits into the existing design without any further work required. (Huzzah!)

We started with a different approach when we tackled the custom fields project. We began with a completely new design for the contact edit page and pursued that design (below) for most of the project.

In the end, we decided to discard this design because it wasn’t the right solution and it introduced a bunch of new problems. It took us a long time to make that decision because there was a lot of work involved in developing the new design. And most of that work was not giving us good feedback about the nature of the problem we were trying to solve.

When we reset, we discovered that some of our assumptions about custom fields were wrong. For example we assumed that shoehorning custom data into the contact page sidebar (right) would make the page too cluttered and inconvenient for people. But we failed to actually try it out to confirm this assumption. When we finally did try it, we discovered it wasn’t bad at all.

2. Resist the urge to make something special out of something boring.

Custom fields aren’t the sexiest feature we could have worked on. Plus, we were building them based on customer requests instead of our own internal needs. Because of that, we mistakingly tried to make the project more interesting with indirectly-related work, like a redesign of the contact pages, streamlined contact dates, bigger avatars, and fancier ways to save data. None of these things were required for us to launch custom fields, but we were tempted to tackle them because they were more fun.

Adopting all those extra concerns obscured the reality that custom fields could actually be a very tiny project. When we finally threw out all the extras, the feature seemed embarrassingly simple. Nonetheless, our customers love it. The lesson here is the tiniest version can be good enough.

3. Storyboard complex interactions instead of building them immediately.

We tried to build out the redesigned edit page so that every interaction could be demonstrated for real and then evaluated. Since there was a lot of complex interaction on the page, most of the work involved in this process was Javascript programming which took a long time to complete. And programming the interface early made it difficult to change the design as we learned more about the problem.

Creating a storyboard of all the states is a more efficient approach for developing pages with complex interactions. It takes much less time to generate storyboards and they are easy to share and discuss with everyone. We used this approach when we worked on bulk operations and it worked well. Everyone was able to see the design early and understand how it should work. From there it was much simpler to divide up the work and build the feature quickly.

Our storyboard for all the screens for the Highrise Bulk Operations project. Storyboards like this illustrate the complete flow so everyone’s on the same page.

New jobs on the Job Board: Teach For America, Yelp, Sears, NPR, and more

Basecamp wrote this on 1 comment

View all of the jobs and internships at the 37signals Job Board.

Programming Jobs

Google is looking for a Software Engineer in Pittsburgh, PA.

Yelp is looking for an Engineering Manager in San Francisco, CA.

Twitpic is looking for a Software / Systems Engineer in United States.

Chicago Public Media is looking for a PHP/Drupal Web Developer in Chicago, IL (near Loop).

View all Programming Job listings.

Design Jobs

Teach For America is looking for a Senior Interface Designer in New York, NY.

Gilt Groupe is looking for a Visual Designer in New York, NY.

National Public Radio is looking for a Lead User Experience Architect in Washington, DC.

Sears is looking for a UX/UI Designer in Hoffman Estates, IL.

View all Design Job listings.

The Job Board also has iPhone Developer Jobs, Customer Service/Support Jobs, Business/Exec Jobs, and more.

For programmers, it’s never been easier [to find a job]. The world of open source software is such an easy way to get into showing off your work — and it makes you feel good in the process.

One of the big advantages if you go to Harvard or Stanford and you want to get into investment banking is that you’ll meet a lot of people that will make it easier for you to get into investment banking. If you want to be a great software developer, you can do all of that without paying $60,000 a year in tuition, just by putting in some sweat equity in improving the comments in the open source world.

I’m constantly being asked, “Do you know any Rails programmers?” If you’re a programmer today and you’re not employed, you’re not looking or you’re not doing the right things: (A) get involved in open source development, (B) learn a development environment that’s hot right now.

David in Episode #26 of the 37signals Podcast. Read the transcript or listen to it.
Basecamp on Jun 8 2011 16 comments

SvN Flashback: Product roadmaps are dangerous

Basecamp wrote this on 15 comments

Jason 30 Jan 2006 — An email from a reader:

At every company I work at, I keep seeing product roadmaps with qtr by qtr delivery of different features – they typically go out 1-2 years. Of course the product roadmap is out-of-date almost immediately because knowledge is constantly gained from market analysis and interaction with customers. My question is do you guys do product roadmaps? If so, do you put times schedules around them? I’d love to see your comments on this stuff…

Our answer: Product roadmaps are dangerous. They close your eyes and often put you on the wrong path.

One of the tenets of the Getting Real process is the idea that the future should drive the future. When you let a product roadmap guide you you let the past drive the future. You’re saying “6 months ago I knew what 18 months from now would look like.” You’re saying “I’m not going to pay attention to now, I’m going to pay attention to then.” You’re saying “I should be working at the Psychic Friends Network.”

Instead of the roadmap, just look out a few weeks at a time. Work on the next most important thing. What’s the point of a long list when you can’t work on everything at once anyway? Finish what’s important now and then figure out what’s important next. One step at a time.

This doesn’t mean you can’t have ideas of where you think your product should go or future features you’d like to implement. This doesn’t mean you shouldn’t have a vision. It does mean that you need to pay attention to reality. Reality is where you’ll find the best answers. And you’re never closer to reality than right now. The further you get from now, the less you know. And the less you know, the worse your decisions will be.

The other problem with roadmaps is the expectations game. People expect you to deliver what you say you will in 4, 5, 6 months. And what if you have a better idea? What if there’s a shift in the market that you need to address? What if what you thought wasn’t what actually happened? Any change in the roadmap nullifies the roadmap. Then the map isn’t a map at all.

Try it. It’s liberating and certainly more satisfying than following a plan you know is outdated.

Spinfree had a dirty little secret: It wasn’t really a “company.” It was just me…[But] when describing Spinfree, I always spoke in terms of we, us, the team, or our offices. I trained myself always to use the collective first person—on the phone while pitching to potential clients, on Spinfree’s website, in the proposals I submitted…Why the bluffing? I was young and inexperienced and felt like people would not take Spinfree seriously if they knew that it was just me…I wish I knew then what I know now: Being small is nothing to be insecure or ashamed about. Small is great. Small is independence. Small is opportunity. Celebrate it. Don’t hide from it.

Excerpt from “Don’t Exaggerate Your Size,” Jason’s latest column for Inc. Magazine (more of Jason’s Inc. columns)
Basecamp on Jun 2 2011 14 comments

Whatever interests you naturally is the most important thing to work on

Basecamp wrote this on 16 comments

Below, David talks about motivation. Excerpted from Episode #26 of the 37signals Podcast (listen or read the transcript).

I have a very hard to impossible time forcing myself to do things that I don’t want to do.

When I feel that lack of motivation, there’s always a reason. I instinctually know whatever I’m working on is not actually worth it — that all this effort I’m about to put in is not going to pay off. Or maybe I’m just not good at what I’m trying to do. Either way, it feels like a waste of time.

Plus, I find it hard to have a wide array of things that I’m interested in at the same time. I usually pick one thing and I get really interested in solving that. Any other task that doesn’t fall under that banner has a hard time capturing my imagination and getting done. I just put that on the back burner until whatever I’m naturally interested in gets completed or my motivation runs out.

When you have a natural interest in something, your productivity goes through the roof. Even though whatever I’m naturally interested in might not, from an objective point of view, be the most important thing to work on at that time, it is the most important thing to work on because of the productivity gains I get out of just being super fired-up about it. I have to get that out of my system. And I wind up doing things really quickly.

When you’re not working on something you’re inspired by, your efficiency is so much lower. You find more moments in the day to let yourself be distracted by email or reading on the Web or something else. That’s usually the key smell I detect when I’m working on something I don’t really want to be working on: I check email much more frequently and I engage in chats about things that aren’t related to what I should be working on.

On the flip side, when I’m working on something I’m really fired up about, I couldn’t care less about new posts on Twitter or whatever. Instead, I get whatever I’m working on done right away.