If Your Website is for Teams, Implement Organizations
In the last couple of days, I've discovered a number of great services I'd like my team to use. But in every case, I've had to create a "shared user" and give all the team members the password. This shouldn't be necessary. What these sites need is the notion of an Organization as follows:
- collaborated-upon objects should belong to the organization, not a specific user
- the billing information should be attached to the organization
- the organization should have team members, possibly with different roles (who can invite other team members? who can change billing info?)
- users should be able to be in more than one organization (and be in a one-person organization for the personal use cases)
GitHub didn't start with organizations but now has the concept and it's made a world of difference to team usage. Because we knew Gondor would be used by a lot of teams (starting with ourselves) we built all this in from day one. I honestly don't know how a team is supposed to use some of our competitors.
Now obviously not all sites need organization support. It wouldn't make sense for typewar or My Techne but as we roll out some big changes to Quisition in the coming months, organizations are going to be a necessity there.
So give some serious thought when developing your web application: if it's going to be used by teams, you probably need to implement organizations.