If a shared password is the only way for my team to use your service, you're doing it wrong!

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)

[[http://github.com|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 [[https://gondor.io/|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 [[http://typewar.com/|typewar]] or [[http://mytechne.com/|My Techne]] but as we roll out some big changes to [[http://quisition.com|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.