- No concept of servers (in discord parlance). Its equivalent (matrix spaces, in https://github.com/matrix-org/matrix-doc/blob/matthew/msc177...) is in progress
- No included audio/video calls. You have to link them manually and use a third-party stack, such as Jitsi
- Even if you have Jitsi the experience is not the same. Discord's experience is like a chat room, except with audio and video. In Element it's more like a standard call
To be explicit, no group audio/video. I run my own Matrix server for my partner and I and it uses webRTC based audio out of the box for 1:1 calls which we use every day, and sometimes video. No Jitsi enabled in my config. (I only share this so other readers can gauge if Matrix can meet their needs.)
People just started using what they were used to, and now Discord is freaking emourms in that area. High school classes, university cohors (ie. CS'24), university program (ie. Electrical Engineering), specific sources...etc everybody around me is using discord.
Discord allows anyone to share the same username. It appends a nearly invisible hash to disambiguate, and you can even change it.
Discord does usernames right.
Seems like a pretty readily used vulnerability. I remember back in high school on AIM someone made a username very similar to mine and said some nasty things to a girl I was talking to - she told me to stop talking to her and I didn't figure out why until years later. I imagine the same exploit could be done more easily if you can use the same username and discord actively tries to hide the hash.
Maybe I'm just overly sensitive since impersonation has hurt me, though.
Many servers have different "roles" created, though often they're just nothing more than a title and a different color for your name when chatting on the server. If you don't have the default role on your server, then anybody would probably notice the fake person is a fake because they'd have the default role color.
Second, servers can require that your account have a verified phone number for you to join or chat on it, which raises the barrier a bit for creating fake accounts.
Finally, even if they join a mutual server and send you a private message, when you view the message, you won't see the private message history of the conversation with the real account, giving away that it's at the very least a new account.
Overall, it's harder to impersonate on Discord than it is on AIM, but still certainly not impossible.
In the AIM situation, users go in "knowing" that usernames are unique, so if you see a message from user abc123, you "know" it's that person. Which means user abcl23 ("el" instead of "one") can impersonate the real user.
In Discord situations, (1) the user is more likely to know that usernames can be reused, since they weren't required to make a unique one to start - so they can be more cautious of impersonation attempts, and more importantly (2) the Discord devs know names can be reused/abused, and can build better mitigations if they so choose to (like e.g. putting a disclaimer at the top of any message from a user you've never contacted before, etc.)
Other Discord features like servers aren’t there yet, but “usernames” doesn’t seem like a real deficiency.
Furthermore, this is just the MXID, the Matrix ID. This is usually de-emphasized in the UI and only used to disambiguate and add users (as you say).
What is usually displayed to users are display names and these are allowed to have collisions, in which case they get disambiguated via MXIDs.
Discord has both text and voice (and IIRC video) chat. Mumble is voice only, and the UX is... dated.