Two things that annoy me about BaseCamp:
1. There exists no way to mark a message personally important (archive message or start message functionality)
When looking at the list of messages that have been posted, there is one indicator with two status states: read status of read or unread. If a message and all its comments have been read, the indicator is grey. If any part of the message or comment list hasn't been read, the indicator is green.
The way that messages are used across the many projects I use basecamp for, the messages have discussion followed by an action to be taken. Those actions are not copied to the to-do lists, what a waste of time to have to copy them over. The problem I have is, though, is that once I've read the message, whether or not I have completed the task in the message, the status indicator is grey. I don't know glancing at the list which messages I care about, which I'm cc'd on, which I need to take action on. They're all green or grey.
I'd like to have an all-messages view, my-messages view (ones that I've been cc'd on in some way), and an archive view. I'd like to indicate in some what that I don't care about this message, but more importantly a way to indicate I do care about a message.
The flip of the archived status (where you could achieve the elusive INBOX ZERO) could be a starred message. If I care about it in some way, any way, I can star it, then unstar it when I'm done with it.
2. Messages don't auto-refresh to indicate comments have been added since I loaded the page.
When I'm on a message page, and a conversation is happening somewhat, the page doesn't auto-refresh to indicate someone else has posted before I'm done with the page. I need to refresh the page. I find it annoying, especially when several people comment at once.
Given how much of the rest of the site is all ajaxy, I was kinda expecting this page to be, too. The refresh rate doesn't need to be high, once every few to five minutes or so. Configurable, of course, because 37Signals hates configuration pages.
If I ever write an app on top of the BaseCamp API, I'm totally fixing these annoyances.
And that app gets written after the other two hundred projects I have in the pipe.