Software can get crufty quick — especially around the edges. We work hard to keep the cruft out, but we can’t win ‘em all.

We’re currently digging through Basecamp looking for those dusty corners so we can clean them up.

Here’s some of the stuff we’re currently unhappy with.

To-do list permissions and exceptions

Basecamp’s to-dos are pretty clean, but there’s still some nastiness depending on the situation. In fact, we’ve dug ourselves into a funky permissions hole trying to deal with a bunch of odd scenarios and exceptions.

In order to get a handle on all the conditions, Jamis whipped up a terrifying chart. Let’s cringe at it together:

There’s too much “this person can do that if…” and “that person can’t do that unless…” in here. Ugly.

Sometimes this chart results in a to-do list view that looks like this:

Those red dots mean “you can’t check this off”—stupid, isn’t it? We agree. We’re currently working on a major simplification of to-do permissions. We’ll be able to burn the chart and no one will see a weird red dot again.

Global access permissions

In Basecamp you can grant people permission on a per-project basis. That works pretty well, but sometimes you want to give a co-worker access to all projects or no projects all at once. We let you do that, but we’re not happy with the way we do it. Here’s what it looks like:

Those buttons bother me. I don’t like they way they look, how they’re stacked, or the jagged right margin. The whole thing just doesn’t feel right. The “Grant” or “Deny” (or “Revoke”) language sounds too militant. The “Change access globally” is a bit confusing too. We have some ideas on how to simplify this process and make it a lot more powerful and flexible at the same time.

Adding a client to a project

When we originally build Basecamp we had a firm-client model in mind. A firm would work with a single client on a project. The firm might want to add that client to the project, or the firm could just make the project an internal project that only they could see.

That model still holds, but now you can add multiple “clients” to a project. Part of the modern problem is that “clients” isn’t really the only way to describe these other companies. They could be collaborators, departments within the same company, divisions of the company, etc.

We have some things to clear up there, but something we’re not thrilled with is how we present this on the new project screen:

This option, below the “Name the project” field, feels slapped on ‘cause it wouldn’t fit anywhere else. It’s in the form of a sentence with a long link and has another sentence below it. You can’t add more than one client/company at a time to the project either. It works, and we don’t get many questions about it, but it’s something we’re not happy with.

We’re on it

From time to time it’s a good idea to walk through your product with fresh eyes. Sign up for a new account, turn off your admin access so you can see what other people see, scale back your permissions and experience that experience. You’ll likely find a bunch of UI and customer experience dust bunnies you didn’t know were there.