Add multiple identities

I’d like to see being implemented the feature of having the possibility of multiple identities.

Like Google+ with its ‘pages’ feature, a user could setup different identities each with a distinct profile and connections to other identities of their own. This could be a great feature, if a user wants to keep her social networks clearly separated. It is also a great privacy feature, as a user can separate different ‘functions’. And last but not least: It’s a great feature for games, e.g. role playing games, where a user can setup identities for her characters and roles. Or a user wants to contact another person in (business?) matters widely seen as immoral (e.g. prostitution, whistleblowing) without revealing her ‘real’ identity.

Identities could be different to profiles in regards of ‘ownership’, as they could be used by more than one user, e.g. the PR department of a company where every employee has its own profile but can also switch to the company’s identity.

Note: This discussion was imported from Loomio. Click here to view the original discussion.

I could also see this being useful for any user that wants to manage a social media page while also running their profile page.

Not really sure of the benefit over just using two accounts … At least considering the work required. Anyone can have a common account even now, we already have for example DiasporaHQ which many people share access to.

Not saying this would be a bad idea, just saying it’s already possible. Facebook for example has pages for a reason - they don’t encourage you to set up different accounts for different purposes. In fact, you are only supposed to have one. We don’t have restrictions like that.

Yeah, this would be possible. But in fact it’s quite complicated to give the user a nice GUI for all of his/her interaction, so that the user could choose, with which account he/she wants to write a comment or something. This GUI is hard to program and needs to be implemented in all parts of user-interactions, which is actually quite a lot of work.

The only benefit of having multiple accounts with the system is that for a shared-account, every admin of the account can see who did something with the account. So let’s imagine I am running a special account for my webradio with three different friends together. If we just shared the password and one of us four did something strange or even illegal, there is no chance to find out who this was. But if the shared account is managed within the system as a multiple account for four users, we could have a look at the logs and clearly see who did something illegal with the account.

Well, as I think a little more about this, there are probably different ways of solving such a problem. For example we could give an account multiple passwords and each password is linked to a name, which is only viewable to all the other admins of this account. And of course, the account still needs a log which contains all actions and which “name” did this action. In this way we could support shared accounts instead of multiple accounts. That might be way better to code, maintain and for UX.

@rasmusfuhse The GUI wouldn’t need to be complicated. Indeed, I’d copy shamelessly from FB or G+. They have a little dropdown box at the top right, where I can choose the page I’d like to impersonate. There’s a banner warning the user about the fact they are using another identity than their main account.

Yes, there’s room for abuse. But not more than right now. But I like the idea of logs. Maybe it’s possible without logs if the name of the main account is put in brackets behind every action done with the shared account.

@jasonrobinson You are right, I could create multiple accounts. But switching effortlessly between them is an entirely different story. ATM I have to logout than have to login. Take a look at G+ or FB, there it’s just a matter of two clicks.

Well, seeing as we use Devise for user sign-in, it’s not totally out of the question to consider an approach like the following:

From a feature standpoint, this is actually one of my favorite things about Facebook Pages, Tumblr’s multi-account system, and Google’s user-switching for services. I can see the benefit of the use case being for people that want to use multiple accounts at once without

An alternative approach could be to implement a new user type, a sort of “Page” account, in which multiple admins could be assigned for posting privileges (allowing for transfer of ownership of a page, for example). I worry that this would create a lot more work, and Diaspora is not a 1:1 copy of Facebook, it is a very different beast.

Wouldn’t a new user type like ‘Page’ also path the way for groups? So you can have a Page for your group and the group could have a handle

Although Facebook does have this feature, Facebook also has multiple types of “presences” on its network, such as pages. Pages have always been separate from Accounts, and have different privileges/UIs altogether. In our network, we have no such separation, so I believe that keeping 1 identity per user account is still appropriate (the “twitter approach”).

That being said, I think the most proper way to do this would be to migrate anything that doesn’t have to do with authentication or querying the Users table away from the User model. In addition, every object in the system would have to be associated with a Profile instead of a User. I think doing this the right way and not just hacking a GUI on top of our existing situation would be the only way to go. At that point, it seems the “win” of doing this is really quite lost. You’re just saving users from having to log out and log back in again, it’s really not a huge problem.