element-hq / element-android

A Matrix collaboration client for Android.
https://element.io/
Apache License 2.0
3.27k stars 677 forks source link

multiple accounts #26

Open bbigras opened 5 years ago

bbigras commented 5 years ago

Any plans to support multiple accounts?

Edit by Benoit

The SDK already support multi-account.

Blocked by: https://github.com/matrix-org/sygnal/issues/70

Open points:

mguentner commented 5 years ago

It would be nice to have this in the reference client from the beginning.

There are a lot of people who have multiple accounts for different roles they fulfill in their lives (i.e. work, private, community, this one software project, the other hardware project etc.) - this calls for a quick way to switch roles during their day.

thomas-profitt commented 5 years ago

I want to voice my support for this too:

Multiple accounts is something that needs to be facilitated early in the architecting of an application.

I currently have work and personal Matrix accounts, and use both miniVector-fdroid and Riot.im-fdroid, respectively, on the same device to facilitate it. It's inefficient because they both need to wake to sync and send notifications independently of one-another, and if I want to configure something for both of them, I have to do it twice.

bbigras commented 5 years ago

In my case I use a work account since I don't want to log in with my personal account at work and allow my employer to see my personal conversations.

At the same time I would like not having to use my phone to ask a question in #matrix:matrix.org

PhieF commented 5 years ago

Yes it would also be really important for me ! :)

jtagcat commented 4 years ago

@PhieF please delete your comment and add a +1 reaction to the original comment.

laszlovl commented 4 years ago

I would like to join the plea for adding multiple account support to riotX from the start, I hope you will consider my perspective worthwhile enough to keep it as a comment instead of a +1.

What's the problem with all messengers that riotX will be competing with, such as Whatsapp and Signal? They only allow for a single account ("identity") and even worse, they force you to tie that identity to a cellphone number making it almost impossible to have two separate identities such as "work" and "personal".

What's an attribute that almost every other communication ecosystem that predates Whatsapp and Matrix has in common? That support for multiple identities is the norm. You won't be able to find an email client where it's impossible to add more than one account. All XMPP clients out there have supported multiple accounts from the start. IRC users are used to having a dozen of different accounts (networks).

Even the vast majority of modern cellphones has support for dual-SIM, because there's a huge demand from users that want to keep their work identity (phone number) separate from their personal one.

Yet unfortunately all reference clients for Matrix currently lack multi-account support. This makes it a dealbreaker for me and many people I know. Supporting this would make Riot/Matrix really stand out from its competitors on a functional level instead of merely an ideological one.

532910 commented 4 years ago

Is any update there? I still remember that it was in a roadmap for riot-android on play.google.com.

ManDay commented 4 years ago

I would like to input my opinion on this matter, although I know that some people will not appreciate it.

I do not oppose multiple accounts as a feature as long as it doesn't get in the way of those who don't use it, but I think it should be much lower on the priority list than certain other features which receive comparitively less attention. I see how it can be useful in many cases, however, for the reasons that I've been told, it seems to be more like a hack around a gone-wrong abuse of Matrix' specification, where instead of one identity in a federation, a user wants to occupy multiple identities simulatenously (NB: I'm neither a Matrix nor a Riot developer and this is solely my interpretation of Matrix and how it should be used). It therefore shouldn't be a "first class citizen" among Riot's features and therefore implemented after Riot is more complete regarding the more essential features.

I'm saying this because I do think that multiple accounts will inevitably have an influence on the UI/UX for everyone (apart from binding development resources, which, however, is none of my business to be interested in), unless, of course, they are implemented such that they effectively behave as if multiple instances of Riot were running separately, one for each account.

That said, I understand the desire to have multiple accounts but I fail to understand its urgency for the reasons that @laszlovl for example has mentioned.

For instance, you are speaking of separating personal and work identities, and given that you seem not to be satisfied by using different Display Names in rooms which are related to work/personal live respectively (which, personally I think is the way to go down), I assume your goal is to entirely conceal your identity to the point where even further inspection (of, say, the MXID, the IP, etc.) would not yield any indication as to "who is who". Meanwhile, you cite IRC as an example where multiple identities exist, yet

In my opinion, multiple accounts could be realized simply by parallel instances of Riot and therefore without any effect on UI/UX of single-account instances.

jtl999 commented 4 years ago

That said, I understand the desire to have multiple accounts but I fail to understand its urgency for the reasons that @laszlovl for example has mentioned.

For instance, you are speaking of separating personal and work identities, and given that you seem not to be satisfied by using different Display Names in rooms which are related to work/personal live respectively (which, personally I think is the way to go down), I assume your goal is to entirely conceal your identity to the point where even further inspection (of, say, the MXID, the IP, etc.) would not yield any indication as to "who is who". Meanwhile, you cite IRC as an example where multiple identities exist, yet

Many email clients (Outlook, Thunderbird, et al) have supported managing multiple email accounts for years. Being able to utilize multiple identities has been a common usecase for this feature. Then again I'm not going to compare common email protocols versus the nuances of the Matrix protocol and potential side channel leakage.

laszlovl commented 4 years ago

For instance, you are speaking of separating personal and work identities, and given that you seem not to be satisfied by using different Display Names in rooms which are related to work/personal live respectively (which, personally I think is the way to go down)

Just a couple of very common usecases for (work vs. personal) email:

All of these are only possible with multiple account support.

multiple accounts could be realized simply by parallel instances of Riot

This isn't possible on Android, and even if it were the UX for that would be much detrimental versus combining multiple accounts in a single interface (like all Email/IRC/XMPP/etc clients do)

532910 commented 3 years ago

Shelter can be used as a solutios for those who need one more account right now. https://github.com/PeterCxy/Shelter https://f-droid.org/packages/net.typeblog.shelter https://play.google.com/store/apps/details?id=net.typeblog.shelter

bbigras commented 3 years ago

There's Island too.

But I need 3 RiotX right now: 1 for work, 1 for personal and one to play with the p2p demo. Life is not fair.

ralaud commented 3 years ago

+1

pnsbttl commented 3 years ago

+1

trymeouteh commented 3 years ago

This is needed badly.

IntelligentesTierMaulApollo13 commented 3 years ago

I suppose there is no point in trying to start crowd funding this feature, right? (New Vector recently received 8.5M $ of venture capital)

ShadowJonathan commented 3 years ago

I think the developers' attention and priorities lie somewhere else than this feature, but at least an acknowledgement that its on the backlog (or similar) would be nice, @bmarty

tgr commented 3 years ago

This a crippling omission for anyone who needs to interact with a non-federated Matrix server (e.g. for work) - there will be no official Matrix phone client available for them, basically.

ptman commented 3 years ago

@tgr I'm guessing you mean something by new vector / element with official. But there are other clients. E.g. SchildiChat is a fork of element for android, so you can have two elements at the same time. And there are lots of more android clients: https://matrix.org/clients-matrix . I'm not claiming that it's perfect, but it may help in your situation.

tgr commented 3 years ago

@ptman it's very far from perfect. The official clients some with all kinds of assurances (New Vector is a professional company known to do high-quality work; they will likely be around for support as long as Matrix itself is supported; they stand to lose a lot from security issues; etc) that any random client doesn't. Plus people would have to learn two different clients then.

Elsewhere App Cloner was brought up as an option, that sounds less bad.

fjrider commented 3 years ago

Any plans to support multiple accounts?

Edit by Benoit

The SDK already support multi-account.

Blocked by: matrix-org/sygnal#70

Open points:

* [ ]  UI/UX

* [ ]  What happen in case of soft logout

* [ ]  Notifications

* [ ]  Logout

* [ ]  Login when already connected to another one

* [ ]  Create a new account when already connected to another one

* [ ]  To be completed

Love the app. I would like to see multi user support also!

uha4 commented 3 years ago

Beeing able to have multiple accounts for different purposes is one of my main reason i wanted to switch to matrix and promote it among my friends. This was the reason why i considered matrix better in privacy than e.g. Signal for my usecases. It is quite disappointing to learn that this is not supported out of the box by most standard clients.

Xyz00777 commented 3 years ago

What's the state of these feature request? Its one of the oldest request... (im not a programmer) but it cant be so difficult... or?

trymeouteh commented 3 years ago

Beeing able to have multiple accounts for different purposes is one of my main reason i wanted to switch to matrix and promote it among my friends. This was the reason why i considered matrix better in privacy than e.g. Signal for my usecases. It is quite disappointing to learn that this is not supported out of the box by most standard clients.

Once this feature is available, I do think Matrix will explode.

ShadowJonathan commented 3 years ago

Once this feature is available, I do think Matrix will explode.

I don't think its necessarily a killer feature, but it's definitely requested from a user-base of power users who'd want to switch between work and personal accounts (and the like)

I think https://github.com/matrix-org/matrix-doc/issues/915 is more related to this, with it's prospect that it enables users to give less thought to where they sign up in the first place, and being able to move their accounts' "home" wherever they like at any time, which gives them more freedom.

JokerGermany commented 3 years ago

Because of the bad ios support for xmpp I was thinking of changing to matrix. Still no support for mulitple Accounts oO

I am really glad that i decided to use xmpp a couple of years ago because this feature was missing...

btittelbach commented 3 years ago

I think matrix-org/matrix-doc#915 is more related to this, with it's prospect that it enables users to give less thought to where they sign up in the first place, and being able to move their accounts' "home" wherever they like at any time, which gives them more freedom.

I don't see how this would solve the problem of needing to interface with several accounts in parallel.

The fact that we don't have UI support for this, is currently preventing me from introducing Matrix into our company, since people don't want to give up their personal accounts and don't want to user their private identiy for work.

nkosi23 commented 3 years ago

It would be great to have official feedback on the roadmap and/or timeline for this feature, at least so we know whether or not we can expect it soon.

SimonBrandner commented 3 years ago

I believe this is planned

nkosi23 commented 3 years ago

To add to the discussion, one thing that hasn't been mentioned/noticed so far is that this feature would likely open up a powerful revenue platform for the project. From what I gather, Element is making money by having users create an account on a premium EMS homeserver. However with the current situation, this is a hit-or-miss: if the user creates an account on a different homeserver the first time he installs Element, the lifetime value of this customer is radically reduced. It will be very difficult to have this person switch homeserver.

However, with multi-account support, Element would be in a position to convince users to create a premium account (as an extra account) any time. EMS accounts, could even include features allowing people to manage multi-accounts more easily (ability to backup conversations from other homeservers, advanced integration of this scenario with their bots and bridges etc... - for example if someone sends you a file on a custom homeserver account, you can easily forward it to a bot on your EMS account to have some cool processing happen etc...).

mwt commented 3 years ago

I believe this is planned

Yes. It's on next right now, so I guess it should be upcoming.

Mageek627 commented 3 years ago

Elsewhere App Cloner was brought up as an option, that sounds less bad.

@tgr You got my hopes up for a few seconds, until I realized it's closed source...

pnsbttl commented 3 years ago

Otherwise, I have both element & fluffychat installed on the phone...

btittelbach commented 3 years ago

Otherwise, I have both element & fluffychat installed on the phone...

I tried that too, but fluffychat still has some ways to go, though the progress is very promising ;-) Just one of the problems is the jitsi incompatibilty. fluffychat users can't call element users, etc.

derNarr commented 3 years ago

As an end user who has a work and a private matrix account, I would expect the following from the multi account version of Element:

Minimum:

  1. I can login with both accounts into the same app.
  2. I can switch accounts, but only see the rooms and chats of the "active/foreground" account.
  3. Even for the non active / background (but logged-in) accounts, I do get notifications.

Nice to have:

  1. When I click on a notification from an "inactive/background" account, Element sends the foreground account into the background while keeping all the state like half finished messages and sends the background account to the foreground and leads me to the message.
  2. Some border color / UI element that indicates which account is in the foreground at the moment.

What I don't want / need:

  1. Decide in each chat with which account I want to send the message. My private account should never (accidentally) try to send a message into a work group.

p. s. In principle I would like to duplicate the whole app for each account. An intermediate solution might be to simply publish a green, blue, red and purple version of the Element app in the Google Playstore and on F-Droid, to have up to four Element apps installed simultaneously.

Thanks a lot for app and the nice matrix implementation! I am missing this feature a lot! :-)

a22sc commented 3 years ago

I wrote a small script my server executes every few minutes to see if s.o. invited to my other account and invites my primary user to this chat. works only if the homeserver accepts other ones. https://github.com/turt2live/matrix-wishlist/issues/56#issuecomment-831982522

Porkepix commented 3 years ago

What I don't want / need:

1. Decide in each chat with which account I want to send the message. My private account should never (accidentally) try to send a message into a work group.

It's also possible that any message you write is with the account you joined the chan, what many XMPP client does. As for how it's shown, considering this option makes it a non-issue to have chans mixed between accounts as the user is always going to write with the correct one.

It could also be that every chan/user we talk with is a sublist from a section in the list.

Because what you describe really makes me think to what Slack does for different server, but it would sound to me like an half-implementation, and what can makes sense for Slack because of how it works (no decentralization, even if they have some kind of interconnections, the basic idea is still that a server = an account that connects to the chans of this server) doesn't necessarily makes sense for other solutions such as Matrix.

flintstone1409 commented 3 years ago

p. s. In principle I would like to duplicate the whole app for each account. An intermediate solution might be to simply publish a green, blue, red and purple version of the Element app in the Google Playstore and on F-Droid, to have up to four Element apps installed simultaneously.

This. At the moment I'm doing basically that by using a debug version as second instance, even with my work instance using dark theme and the private one using the light theme (don't blame me for that, I think the app actually looks better in light mode :P) to instantly see which instance I'm using. This is by far not optimal (because of slightly different feature sets, maybe bugs (which is why I'm using the debug version for my private account), having to do updates to the debug version manually and probably many more), but the best solution for now.

In the end, I really like the idea of just having multiple instances with different colors, because the most important thing is easy and fast switching between accounts and seeing which one I'm using right now without much thinking about it.

derNarr commented 3 years ago

The more I think about it, the more I would like to simply have four different coloured versions of Element in the f-droid store that can be installed side bide side. This really solves the same purpose as the --profile option for the Desktop version of Element. Anyone aware who is in charge for publishing in f-droid?

MurzNN commented 3 years ago

I used AppCloner app to clone main Element app with other name, and also can re-color the icon.

maste9 commented 3 years ago

The more I think about it, the more I would like to simply have four different coloured versions of Element in the f-droid store that can be installed side bide side. This really solves the same purpose as the --profile option for the Desktop version of Element. Anyone aware who is in charge for publishing in f-droid?

As a quickfix:

Are you aware of https://schildi.chat? It's a fork of element with just some minor style-differences but uses the current versions of element. You'll find it at F-droid so that you could at least use element and schildi side by side on android. I.e. if you need to divide only to contexts from each other.

JokerGermany commented 3 years ago

Would love to see this. At the moment we make emergency plans. What happens if your complete infrastructure isn't available anymore?

In this case a fallback to another Matrix Server would be great...

OtherSystems commented 2 years ago

This feature would be crucial for us to be able to adopt matrix within the organization. We want to run our own node/instance/synapse for data control. But quite some users already have a matrix account, as they would need also an organization account (we want to control federation of certain content) they can't use their mobile for the organizations account. We can't really sell having to use a custom/other client either.

Is there any hope for this feature in the near future? Any progress updates?

maurerbot commented 2 years ago

The only thing stopping me from using matrix as my primary chat is multiple accounts

marceltransier commented 2 years ago

The only thing stopping me from using matrix as my primary chat is multiple accounts

@maurerbot fluffychat already supports multiple accounts. so now nothing is stopping you ;)

but i also agree that this is a very useful feature! especially if you work/tinker with matrix servers.

maurerbot commented 2 years ago

The only thing stopping me from using matrix as my primary chat is multiple accounts

@maurerbot fluffychat already supports multiple accounts. so now nothing is stopping you ;)

but i also agree that this is a very useful feature! especially if you work/tinker with matrix servers.

Only for matrix.org accounts

marceltransier commented 2 years ago

The only thing stopping me from using matrix as my primary chat is multiple accounts

@maurerbot fluffychat already supports multiple accounts. so now nothing is stopping you ;) but i also agree that this is a very useful feature! especially if you work/tinker with matrix servers.

Only for matrix.org accounts

no. at least not the version i am using. (0.41.1 from fdroid) its working perfectly fine for me (with accounts hosted my own homeserver and matrix.org). the are some gitlab issues but i havent experienced any problems yet..

github-tomster commented 2 years ago

@thosetryingtocode https://github.com/vector-im/roadmap/issues/11 this is all a joke 🤡

DraconicNEO commented 2 years ago

I used AppCloner app to clone main Element app with other name, and also can re-color the icon.

The biggest issue here is that it essentially requires you to install a whole new version of the app for every new account which will end up taking up a significant amount of space.

lindhe commented 2 years ago

Would this enable the "Dual Messenger" functionality in Android (or at least Samsung Galaxy S21)?