Sometimes It’s Crazy At Work

In October, Jason Fried and DHH released their new book, It Doesn’t Have to be Crazy at Work. The book featured their writing, as well as cover art and interior illustrations from Basecamp designers Adam Stoddard and Jason Zimdars. The launch initially seemed like a great success — but then things went awry. In this episode of the Rework podcast, we look at the work that went into the book and the problems with the release, and attempt to find some lessons in the aftermath.

New in Basecamp: Sort the Message Board

Basecamp 3’s Message Board is a central place for your team to post updates and gather feedback on the record. It’s great for announcements, internal pitches, and just bouncing ideas back and forth.

Since Basecamp 3 first launched, the Message Board has been sorted so new posts appear at the top with older ones below. That’s great most of the time, but many of you have asked for other ways to sort your posts.

New ways to sort

With this update, we’ve added a new sort order setting to Basecamp 3’s Message Boards. You can access this setting on your computer, tablet, or phone from the menu in the upper right corner of the Message Board:


Now, you can sort your posts three ways:

  1. By original post date: Messages posted recently will always be shown first. This is still the default setting.
  2. By latest comment: Messages with new comments be shown first. This keeps the most active discussions right up at the top.
  3. Alphabetically A-Z: Messages will be sorted based on their title. If you use the Message Board like a table of contents for your team or company, this option will come in handy.

Applies to everyone on the project

Whatever you choose, this will affect everyone on the project. That way, everyone will know where to put things and where to find things—you’ll all see posts in the same order.

Different projects, different settings

Each project has its own setting. If you prefer organizing your Company HQ alphabetically, your client projects by latest comment, and your marketing team by original post date that’ll work great!

What’s more, Message Board posts on your project’s home screen will remember your sort order, too:

The Message Board card, sorted alphabetically

That’s it!

We hope this update gives you more flexibility and makes the Basecamp Message Board even more useful. Let us know what you think!


Curious how we build features like this while working sane, 40-hour weeks? Be sure to check out our new book: It Doesn’t Have To Be Crazy At Work.

Working in quality time instead of clock time


One of the things I love about our flexible work environment at Basecamp is the freedom to step away from something whenever I need to.

Right now I’m exploring designs for a new product idea. R&D work like this depends on having good mental and emotional energy. Sometimes you have it, sometimes you don’t.

When you’re energetic and motivated, great things happen spontaneously, in unpredictable bursts of inspiration.

But when you’re tired, distracted, or in the weeds on something, it’s usually better to stop working. Just admit (temporary) defeat and give yourself a chance to regroup. Do something else that’s less taxing, or call it quits and start again later.

I always find this difficult to do, because the working world tells us that full-time employees should put in 8+ consecutive hours no matter what. So what if you’re frustrated, burned out, or not making much progress? Too bad, gotta punch the clock! Back to the grind! Grind it out!

The problem is, grinding it out is counterproductive for creative work, because creativity doesn’t happen on a linear time scale. Forcing it usually makes things worse. If you drain your human gas tank all the way to empty, you’ll get even more burned out. And then your bad mood and low energy spills over to another workday, prolonging the creative drought.

Don’t do that! Walk away instead, and leave it for your future, better self to look at with fresh eyes.

Then start thinking about productivity in terms of quality time instead of clock time. You might end up making the same progress with only 20 energetic hours that you would have made in 60 tired hours.

Once you get in the habit of that, you can optimize your schedule around your own energy and enthusiasm. I’m usually at my creative peak in the mid-morning and lose steam after lunch, so I shuffle my work accordingly. I do exploratory freeform stuff in the morning, and I save routine tasks (like implementing something I already know how to do) for the afternoon. I also have a rather short attention span, so I take tiny breaks a lot.

Your schedule might be the opposite. But whatever it is, give yourself the freedom to go with the flow, or shut off the flow altogether. Some days suck and you have to cut your losses. Other times you just need to walk away for 20 minutes to get a flash of inspiration.

The key is to be self-aware and completely flexible about time. Dump the clock. You’ll be much happier and more effective, and your work will still get done in the end.

Oh by the way, we have a new book about this sort of thing! Check out It Doesn’t Have To Be Crazy At Work.

How You’re Being Manipulated By Software

(And what you can do about it)

The Book of Life (1898)

There’s a term we use in software design called the happy path. It describes a best-case scenario, in which customers use a product exactly as intended, without bumping into any edge cases or uncommon problems. This includes the interface you see when you sign up, setup steps you have to complete, and so on.

For software designers, a happy path is also an extremely powerful psychological tool that allows us to control people’s behavior and direct them to do whatever we want.

If that sounds surprising—and slightly terrifying—think about how many times you’ve blown past a lengthy software license agreement and clicked the Agree button without looking.

Were you thinking deeply about what you were doing?

Probably not. And you’re not alone! Research shows that humans have a natural aversion to decision making. As Smashing Magazine describes it, people simply don’t like to make choices unless they have to:

Making an explicit decision requires effort, after all. Time, thought and consideration are often required to determine the best choice. It turns out that people are remarkably sensitive (and averse) to the amount of effort that making a choice demands.

And therein lies the trouble.


If you pay close attention, you’ll notice something else about software happy paths. Like a tell in a poker game, they subtly reveal a company’s underlying motives.

Since designers know you’ll probably avoid making difficult decisions, they take advantage of your passivity and coax you into doing anything they want.

For example, if you’ve ever installed the Facebook Messenger app, you were likely encouraged to continuously upload all of your phone’s contacts to the service. This is framed as a way to help you text people quickly.

Look at that screen for a moment. There’s no opt out button! You can only choose OK or Learn More.

And who wants to Learn More when they’re signing up for a chat app? Almost nobody.

I’m guessing at least 80% of Facebook’s users just tap OK and move along immediately. There’s even a little animated arrow encouraging you to tap OK, in case you momentarily considered doing something else.

But let’s say you’re among the 20% that happens to pick the Learn More button. You’ll get a cutesy second screen:

This screen finally has an opt-out button, in plain text, buried underneath some repetitive copywriting that vaguely implies you’re wrong for questioning any of this.


What’s more, Facebook’s designers neglected to mention a rather important detail: continuously uploading your contacts helps them collect a ton of data about people who aren’t even on Facebook.

Tapping that OK button is a trivially small decision. It takes just one minuscule tap of your finger. It’s done in less than a second.

But the impact is quite large indeed! You’re implicitly agreeing to send Facebook little bits of info about everyone you know. Now imagine the network effects when you multiply that by the millions or billions of users who also tapped OK in the blink of an eye.

This little happy path is feeding a massive data beast, which probably has details about almost everyone on Earth. And Facebook had ample space — two separate screens! — in which to mention anything about this.

So why didn’t they?

Because endless growth and data collection is the foundation of their business, and that necessitates doing gross invasive things to their users.

They need you to feed the beast, and they certainly don’t want you to think about it. So they use cartoon animals and sneaky happy paths to make sure you stay blissfully ignorant.


Now, of course happy path design also happens at companies that don’t have any nefarious hidden intentions.

When you sign up for Basecamp, we don’t trick you, coax you, or collect any more information than we need to get your account working properly.

However, we’re also a for-profit software company, and business performance is one of our considerations when we design our interfaces. When you sign up for Basecamp, we encourage you to take actions that give you the best chance of having success, and (hopefully) becoming a paying customer.

The difference is, our approach is fully above board. If you have success with Basecamp, your life gets a little easier, and we earn a new paying customer. We promise to support you and protect your data. You pay us for that. Cool for everybody.


Using software is inherently a handshake agreement between you and the service provider. It’s not unlike paying for a physical service.

The problem is, many of the dominant software makers are abusing your handshake in increasingly dastardly ways. They treat their customers like sitting ducks — just a bunch of dumb animals waiting to be harvested. And when growth slows, they resort to deceptive and creepy tactics to keep the trend lines pointing skyward.

So what can we do, as consumers?

First, keep your eye out for sneaky manipulation, especially when you’re first signing up for a service. If you’re asked to share personal information or forced to commit to something that makes you feel uncomfortable, you’re probably being used.

Second, slow down and thoroughly consider the choices you’re making. You’ll end up discovering weird, surprising things about services that you thought were harmless.

Third, be wary of any “free” software platforms. Sure, you’re not giving those companies any money directly. Instead, you’re giving them something else they’ll use to get money — your attention, your time, your personal information—all things that are arguably more valuable than money.

And finally, pay for software! When you pay real money to software creators, you’re supporting them, and they’ll support you in return.

More and more independent software makers are standing up and defending users against data misuse and manipulation. Recently, Feedbin significantly altered their tech to protect their users from being tracked by the likes of Facebook or Twitter. That’s a great example, and there are many others like it.

Vote with your wallet, and support the people who really do have your back.

New in Basecamp 3: Image Galleries

At Basecamp, we write a lot—from announcements to pitches, and everything in between.

Quite often, we’re presenting something that has a Before and After, like a mockup or interface design that’s been revised. Until now, this was always kind of frustrating. Basecamp only supported full-width images, so it could be difficult to quickly compare two images at once.

Today we’ve added support for side-by-side image galleries inside written posts!

This is a subtle but substantial change: galleries support and enhance your writing by making it more fluid, expressive, and precise. They’re great for sharing screenshots, comparisons, mockups, sketches, photos, and so on.

Here’s how it works.

Creating a Gallery

In any rich text field in Basecamp 3, you can make a gallery of images by uploading multiple images at the same time. You can do that in the file-browser dialog, or by dragging and dropping files into Basecamp directly.

Dragging images to make a gallery

When you do that, Basecamp will automatically group the images together in a nice arrangement. There are a few different layouts based on the number of images you’ve posted together.

If you upload two images at once, they’ll be oriented side by side.


If you upload three images at once, they’ll be shown 3-up in a row.


If you upload four images at once, you get a 2×2 grid.


And then finally, if you upload 5 or more images, they’ll be arranged in 3-up-sized rows.


You can also make a gallery by uploading images one by one. Just upload one image, then immediately upload another. Basecamp will notice that the images are directly adjacent and bundle them for you.

Adjusting a Gallery

If you don’t want the gallery layout, you can split it up by putting your cursor between images and hitting return. That will break up the gallery at that spot and resize things accordingly.

If you prefer a different arrangement (for example, maybe the second image should be first) you can drag and drop them to reorder.

You can also drag and drop images outside of galleries into galleries, and vice-versa.

It all works like you’d expect images in a text editor to work!

Related Changes

New toolbar for images

Clicking on attachments in Basecamp’s text editor has changed a bit. You’ll now see a balloon at the top that shows the file name, size, and the trash button. (Formerly this was just a trash button.)

New attachment toolbar

A more prominent caption field

Did you know you can write custom captions for any image you upload in Basecamp? If you didn’t, you’re not alone! This feature used to be rather hidden, but we coaxed it out of its hiding place.

Now just click on any image in the editor and you’ll see the Add a caption… field at the bottom. Click on that to type any caption you like.

This is a caption for the picture that shows adding a caption. 🌀

Popup menus on gallery images

Every image in a gallery has a small ••• menu adjacent to the caption. Click that and you’ll see a popup with the original file name and file size, plus links to download the image, or view it at full size.

Popup menu for details

That’s it!

Galleries work everywhere right now, in our mobile apps and on the desktop. We hope this update helps you create richer posts, and makes writing in Basecamp a little more enjoyable. Let us know how you like it!


New to Basecamp? Head on over to basecamp.com and see what it’s all about.

New in Basecamp: See where projects really stand with the Hill Chart

For years we’ve used Basecamp To-Dos to track all of our design and programming work here at Basecamp. They help us make sure that nothing slips through the cracks.

However, for some projects, tracking to-dos isn’t enough. When you have dozens or hundreds of tasks, you need a way to see the bigger picture. Is the project going to be done on time? Are we making progress on the right tasks? Which things need to be solved now and what can be deferred until later?

To solve this problem, we built an entirely new idea into Basecamp To-Dos. It’s a 10,000-foot view of our projects that answers the hard questions about where things really stand.

Introducing the Hill Chart.


Progress is not a number

“42% of the tasks are complete.” What does that tell you? Very little.

For creative work and software projects, you can’t describe progress with a number. Why not? Because tasks on a project aren’t all the same. If the team gets stuck or starts to run out of time, it matters which tasks are in that 42%. The strategy for getting unstuck depends on where you’re stuck.


More than that, we don’t actually know every task in advance. As we roll up our sleeves on a project, we discover more detailed tasks to track than we had in the beginning. A raw percentage count would show our progress going backward instead of forwards when that happens!

What we really want to know is where the work stands. Has the team figured out how to do it? Are there unknowns that will block us ahead? What’s solved and what’s still full of uncertainty?

Work is like a hill

We found a metaphor for talking about this at Basecamp. Every piece of work has two phases. First there’s an uphill phase where you figure out your approach. You have a basic idea about the task, but you haven’t figured out what the solution is going to look like or how to solve all the unknowns.

Then after you’ve explored what works and what doesn’t, you reach a point where there aren’t any unsolved problems anymore. That’s like standing at the top of the hill. You can see clearly all the way down the other side. Then the downhill phase is just about execution.


Work on the two sides of the hill is very different.

Uphill work is hard to estimate. You might go in circles searching for the right approach. And as long as unknowns remain, there’s risk. The programmer thinks it’ll be a quick change but the API is different than expected. Or the interaction design seemed like a quick fix but there’s no room for the button on the mobile version.

On the downhill side, the world is certain. You’ve solved the problems, figured out your approach, eliminated the unknowns. All that remains are steps of execution to finish the project.

A human data point

No calculation will tell you how many unknowns are on a to-do list. Or how hard the remaining problems are. That’s why we built a way for teams to communicate, in a human way, exactly how they feel about where the work stands from unknown to known using the metaphor of the hill.

Here’s a demo to show you how it works.

A Hill Chart from a real project

Each of our development projects in Basecamp is made of a set of To-Do Lists. We create a To-Do List for each piece of work that we can make progress on independently.


Now to track progress, we turn on Hill Chart tracking for each list. This will reveal a Hill Chart on the top of the To-Dos screen with a dot for the list we’re tracking.


We did this for three lists. Next we click Update on the Hill Chart and drag the dots for those lists into position.


Now anybody who checks on the project can see the status of these three lists. Two of them are over the hill — full of certainty, with just execution left. One is still on the uphill slope, which means there are unsolved problems or open questions.

Note how that the status is human generated, not computer generated. This reflects a real person’s feeling of the work at this moment. And because the status is attached to lists, not individual to-do items, we gain a higher-order perspective on all the work at once.

Hills make history

Every time someone updates the positions on the hill, a new snapshot is saved to the project’s history. This enables managers to immediately acquire a ton of context about what is moving on the project and what isn’t without peppering the team with questions. People on the team can optionally annotate each of their updates with commentary. You can even comment on or Boost someone else’s Hill Chart update. This enables a new level of fast, asynchronous communication about high-level progress on projects.


More well-defined work

Sometimes trying to position a list on the Hill Chart helps you to better structure the work. On a recent project we were building a feature to notify people when an Event in Basecamp was rescheduled.

This dot didn’t move for a few days.

That dot sat there for a few days without moving. Something was wrong. Why weren’t we making progress? After a short talk with the team, we realized that it was unclear where to place the dot because part of the work was fully figured out and part wasn’t. The back-end code to deliver the notification was fully solved. But there was some more design work relating to the emails and Hey! menu that we hadn’t figured out. So where should the dot go?

In a case like this, the hill is telling us to break up the list. We renamed the original list to “Notification: Delivery” and moved it over the hill to show where it really stood. Then we created two separate lists to track the front-end work that was still uphill.

Breaking up the work shows where it really stands

Redefining the To-Do Lists like this made it easier to see what was actually going on in the project and what needed to be done next.

Flexible, per-list setting

For each project, you can choose which To-Do Lists appear as dots on the Hill Chart. It’s a per-list setting, so you can still have regular To-Do Lists mixed in with your tracked lists. We usually keep a list called “Chowder” at the end a project for loose ends that don’t fit anywhere else, and we don’t plot that one on the hill.

From unknown to known, and known to done

Instead of counting tasks, the Hill Chart shows where the work really stands. From unknown on the far left, to known at the top, to done on the far right.

Since we adopted the Hill Chart internally at Basecamp, our teams have been communicating about progress at a level never before possible. Our intuitions are the same, but now we have a visual way to immediately show each other where the work stands. And because of the Hill Chart history, we don’t need to call meetings to catch up on a project’s status. It’s no longer a challenge to see what’s in motion and what’s stuck. We can have quick, substantial conversations asynchronously about where to focus next or how to break up a problem.

That’s the kind of thing Basecamp is supposed to do: make you more organized, give you more time, and put everybody on the same page.

We hope you can experience the same benefits we have by trying the Hill Chart on your next Basecamp 3 project. You can use the Hill Chart on any project today by navigating to a particular To-Do List and choosing “Track this on the Hill Chart” from the Options menu (•••) in the top-right corner.


New to Basecamp? Learn what it’s all about and start a 30-day free trial over at Basecamp.com.

Introducing Boosts: an all-new way to show your support in Basecamp

We gave up on Likes and invented a totally new form of tiny communication.

If there’s one thing you can’t avoid on the Internet, it’s Likes. They’re in nearly every software platform where people post photos or write text messages.


Sometimes Likes are called Faves, Hearts, Reactions, Claps, or something else, but the basic idea is the same: they’re a small, quick way to express your feelings about something, usually accompanied by a count of other people who had that same feeling.

Until today, we had exactly this sort of feature in Basecamp 3. We called it Applause. If you liked a post, you’d clap for it. Everyone who clapped was shown in a row.

Basecamp’s applause feature.

This was fine, of course—it worked just like all the other Likes.

But a couple months ago, we started thinking more deeply about this pattern, and we noticed it has a lot of insidious problems.

  1. Likes are vague, especially in a professional setting. Let’s say your boss liked someone else’s post, and not yours. You might start questioning what happened. Was she just busy and not paying full attention to everything? Or did she do that intentionally? What does it all mean!? There’s no way to know, because there’s not enough information — just a bunch of digital grunting.
  2. Likes are obligatory. How many times have you felt obligated to SMASH THE LIKE BUTTON because you didn’t want to seem like a jerk, or because everyone else was liking something? There’s a subtle peer pressure and herd mentality hiding behind those thumbs up.
  3. Likes are vanity metrics. Whenever you post something to a social network, do you obsessively check to see how it was received? That’s because those little Like counts are a drug for your brain: you get a dopamine rush by observing your own mini-popularity contest. It’s a psychological trick to keep you coming back for more.
  4. Likes are thoughtless. Has there ever been a more mindless form of communication than merely tapping a button? Liking something requires almost no effort or consideration whatsoever. Here’s what you’re really saying: “Thank you for spending your precious time posting this. In return, I have clicked a button. It took me less than one second. Bye.”
  5. Likes are canned. In most apps you have to pick from a predefined set of acceptable symbols (or in Basecamp’s case, just clapping.) That’s not great for addressing the infinite range of nuanced human emotions, and it’s also totally impersonal. Why should some software company decide which 3 emotions you’re allowed to have?

Now, it’s not all bad. There are some good things about Likes too:

  1. Sharing support for others is wonderful. We want to encourage that, of course!
  2. It’s nice to respond to something without making a fuss. You might not have much to say, but you still want to let someone know you appreciated their ideas. Notifying a bunch of other people on a thread merely to say “good job!” is overkill.
  3. It’s helpful to know that people saw your posts. When you see that 10 people liked your post, you’ll know they received it and thought about it (at least a little.)

With all of these ideas in mind, we went back to the drawing board and came up with a fresh new approach that’s never been done before. We’re calling it Boosts, and it’s way better than all of those crummy digital grunts.

Here’s how you boost something in Basecamp.

In various places in Basecamp, you’ll see a new rocket icon:

Boost button!

Click that, and it’ll morph into a small text field.

A field in which to boost

You’ll notice there are no predetermined options or smiley face buttons to choose from. That’s on purpose. You have to make it up yourself!

Add some emoji or write a tiny text note, up to 16 characters max. Then click the green check mark to save your boost (or the red X to cancel.)

You can add more than one boost if you want, and they’ll collect into a little bundle like so:

Boosting twice

Your boosts won’t notify anyone other than the original poster. So if you’re on a comment thread with 10 other people and you boost Dave, only Dave will get a notification about it. This is in contrast to comments, which send a notification to everyone on the thread. So if you just want to say “Great job!” or “I agree” or “👍”, but you don’t want to bug everyone with a notification, boosts are best!

If you messed up making a boost, click on it and a trash icon will appear. Click the trash to delete it. (If you’re an admin, you can delete anyone’s boosts in the same way.)

Deleting a boost

After a lot of people have boosted someone, you’ll see a sweet block of small supportive comments, where everyone’s message is totally unique! There are no vanity counts or anything like that.

Here’s how it looked when I announced that we’d be launching Boosts:

A block o’ boosts

Other times, boosts work like a silly mini-conversation.

lol juice boosts

When you’ve received some boosts, you’ll get notified about them every 3 hours as long as there’s something new to report—otherwise Basecamp won’t notify you.


Why every 3 hours? We think it’s the perfect amount of time: infrequent enough that you won’t be bombarded about little responses, but frequent enough that you won’t miss anything for too long.

When you click on that notification, you’ll see all your boosts, ordered by date:


You can also unsubscribe from the boosts notifications, if you prefer. Just hit the button in the top-right corner of the page above.


What happened to applause?

Applause is no more (it’s been replaced by Boosts.) But old posts that had applause will still show it—those claps have simply been turned into boosts instead.

Clap Boosts.

So that’s Boosts — we hope you like them! (Pun intended)

We’ve been using boosts for over a month, and we’ve found them to be a much richer form of communication than our primitive old applause system. They’re far more contextual, freeform, and creative: perfect for posting short, thoughtful responses.

After a few days, you’ll notice you won’t feel obligated to boost something unless you genuinely have something to say. Boosts are far less susceptible to vague interpretations, since every little boost is unique to the conversation at hand. And with no buttons to smash, there’s no more mindless button smashing!

Give boosts a try and let us know what you think. We’d love to hear from you on Twitter or in the comments on this post.

🚀🚀🚀


New to Basecamp and want to see what it’s all about? Sign up for a 30 day free trial over yonder.

Mind the gap

How to spend your time when there’s nothing left to do?

This morning something happened that reminded me of an important lesson re: time well spent.

Three of us are working on an illustration project for our forthcoming book, “It Doesn’t Have to be Crazy at Work”. In our previous books, we had an illustration per essay. This time we’re going in a different direction. Rather than an illustration per essay, we’re aiming for ~15 full page spreads spaced evenly throughout the book.

We’re going to be illustrating historical and contemporary figures with work methods that line up with our point of view on work. People who’ve done big important things without pulling all nighters, working crazy hours, or forgoing leisure for the eternal hustle.

Here’s an early example of a spread:


We like the direction, and so does our publisher. We’re going for it. So now we’re off to find interesting subjects to illustrate and feature. It’s research time. That means there’s going to be some design downtime — a gap in the project for the designers.

Now, back to what happened this morning… The designer leading the layout charge offered to continue to explore layout concepts while we look for more subjects to feature. He wanted to tweak the layout on the right, add some more details to fill out the space, etc. We’re happy with it, but could we be even happier with it? The tweak muscle yearns to be flexed!

That’s a perfectly natural reaction. Certainly there’s always room for improvement. And there is always more to explore. Always.

Always is the problem.

The always option is where you turn time well spent into time wasted. That time could be used on other projects that need attention, rather than projects that desire attention. The layout above is perfectly fine — it doesn’t need tweaking now. The designer may desire to tweak, because designers love to design! There’s a tendency to keep pushing the thing you’re on because you’re already in the middle of it. Natural. But it’s on us to inject a sense of enough so we don’t sink good time into something that doesn’t need it. Going from 99% to 100% is expensive. I’d rather we spend that 1% going from 0% nothing to 1% something (or 50% on the fence to 51% conviction) on something else.

So I gently reminded him that we’re all good here. He did great work, the layout looks great, and there’s even a risk of fucking up a good thing (it’s always easier to fuck up a good thing than to fix a bad thing). There’s more to do elsewhere, and his time would be better spent on those things.

He agreed. We’ll come back to the layouts once we have new subjects to illustrate and design. And maybe then we’ll see a different way forward once we have more examples in front of us. Now isn’t the right time to continue to tweak. Let’s wait to see if new ideas pop up via new work that has to be done rather than revisiting what we’ve already done.

Death to Process Machines!

You hear a ton of different advice on the right and wrong way to go about designing an app or website.

“You should be using Sketch.”
“Design Systems or GTFO.”
“Real Designers design 100% in code.”
“Wireframes are a waste of time.”
“If you’re not making prototypes, you’re not doing it right.”
“You need to start on paper.”

You’d think there’s no agreement whatsoever about the right way to design, but there’s one point that’s largely free of controversy — that your process should be linear.

Keep reading “Death to Process Machines!”