I was surprised they didn't mention that after clicking 'Leave Meeting', a popup comes up with a 'Leave Meeting' button in it, that actually leaves the meeting. This inevitably means in every single Zoom meeting that everyone says goodbye and then spends a few awkward seconds actually leaving the meeting.
Better than risk of accidentally dropping out of meetings abruptly. I see many people still manage to do this and it takes a couple minutes to get them back on. There’s also the real fun one when the host ends meeting for all on accident. It’s same IRL when every says bye then awkwardly gathers belongings and leaves a conf room in silence
An alternative design, which I would generally consider superior, is to make it easy to undo leaving a meeting. (This wouldn’t work for the host under the current behaviour model, because the host leaving needs to either assign someone else to be host, or close the meeting for everyone. But you could do it this way for everyone else. Whether it would require waiting room approval again would be an interesting question, however. As usual, there are complexities to be considered.)
I have the exact same issue with joining a meeting. We use gsuite, so most meetings will have a zoom link in the subject or description. The order of operations for joining our daily standup is:
-> Click on link in calendar
-> Accept confirmation that the link is taking you offsite (Google's fault, admittedly)
-> Accept browser pop-up to allow me to open zoom app on MacOS
-> Then start with all of the other audio shenanigans listed at the start of the article.
Even with my zoom settings configured so that I don't need to confirm my audio settings every meeting, this is still far too many steps. There are likely ways to avoid the calendar-link steps by using the zoom desktop client's built-in scheduling calendar better, but I don't want to keep zoom running in the background all day (for a variety of reasons).
A large part seems to be about the invite feature and UI, which is something that I never encountered because I wouldn't even think about inviting people from inside a video conference software. Passing links around in other channels seems far more useful to me, and is the only way I access or share meetings. And Skype, where you first have to find the people you want to talk with is much, much more annoying there than just sending or receiving a link via an established channel like email. Of course there are many different use cases, and mine isn't necessarily representative.
But in general the most important part of the user experience for video conferencing is the amount of errors or bad connections that happen. For example, I recently use Microsoft Teams, one person was sharing the screen to present something, and for some people the shared screen simply froze and didn't update anymore. That kind of thing is seriously annoying.
The UI doesn't seem too important to me in this case because I almost never use any of it. After connecting in general the only button I use are mute and share screen. Doesn't mean the UI can't be significantly improved, but for me it isn't the most important part of the experience for a video conferencing tool.
Yeah, I would say that I don't think I've joined Zoom and used it that way, its almost always either a set scheduled meeting where there is a dedicated room, or just an always up room that you join at a given time for more ad-hoc meetings.
At least part of the issue will probably be the disconnect between that style of more "work" usage and the fact its become tool at the moment for families to connect. In that regard, going through the UI as shown may be more common, and does have some more issues, though its also maybe less of a focus for a more work-focused tool.
It does seem to be decent enough for the non-host at least, where if they just blindly press the blue button on entering they'll be in the call/waiting room, which is at least fairly frictionless from a non-host point of view, and for me the bigger concern. I can deal with the UI, I'm more worried about my Grandpa or something working it out if I was doing a family call.
For what it's worth, Skype does have the ability to invite people to group chats via shared links - I don't think it's always had this, but has had it for a while now
When everything is chromium there is no competitive advantage for any of these chat applications. For example, before, Skype used to be based on the Qt framework and it used less resources and actually had more features - like universal push-to-talk and better integration into the OS.
> used less resources and actually had more features
I remember the time when there was a native client for Skype on Linux. It probably used less resources, yes, but it was horribly lacking in features compared to Windows or MacOS native clients. Now that everything is javascript, Skype on Linux works great, apart from being a godawful resource hog. I found it really pleasant to use over the last several years. Video calls work great, screen sharing works great, even conference calls work, which they never before did on Linux. Couldn't be happier with the changes.
It might also be an issue with motivation. Would you want to work on something that's basically a clone, so there's no creativity but purely porting + solving annoying platform-related bugs? You'd probably tolerate it for a bit, but then it's just playing catch up all the time. It seems like a recipe for employees trying to switch away to another team or company.
They did it for control and convenience at the expense of literate computer users.
The Windows 10 UI is written in TypeScript, Edge is chrome, Chrome is chrome, Safari is chrome - it makes hiring and training easy when you can just make every API a grey gelatinous chunk of ECMA script with hamburger menus. It also means the "app" is always sandboxed unable to do powerful things like universal push-to-talk.
The color and joy of using programs has been flattened out in the name of consistency.
What I liked best about the old Linux Skype client, was that it would let me edit messages after sending. But not only mine, everyone's!! My friends were sooo annoyed. Good times where had!
Spot on. I really wonder if all those people claiming "Zoom just works, unlike x" have really believed that the first time joining a meeting, or if they're just used to its weird UX quirks.
We had millions of dollars of Cisco/Tandberg hardware in our offices. They worked OK (Telepresence was actually quite good, but $$$$).
We trialed every viable competitor in the space that we could find. Blue Jeans and High Five were finalists and I can’t remember which one we were close to settling for. Then a large snowstorm had us working at home for a few days and the experience of just trying to have a small leadership team meeting was miserable.
We paused and trialed zoom. This was probably 2015 or so. It was immediately clear that the audio on zoom was superior. It still is, IMO. (I do about 2% Chime meetings; the audio processing there is an utter joke compared to Zoom, IMO.)
If you can make the core feature of audio work and make on-boarding smooth, you can win a large part of the market, which I think is exactly what happened.
Telepresence was incredible, but Cisco completely ruined it with the Tandberg acquisition. They restructured management to accommodate all the new execs from Norway, who just wanted to keep doing what they knew how to do: make more crappy commodity units. Surprise surprise, nobody wants a crappy commodity video chat, especially not a piece of hardware for $ when they could just use skype. Telepresence was best in class, but the Tandberg execs didn't "get it", divested attention into other (useless) areas, and ultimately completely fumbled the ball.
The real innovation Zoom brought to the table (IMHO) was not requiring you to make an account to join a call.
Inconsequential within a company where everyone already has a <whatever> account - but critical if it's a one-off or rare call - such as a vendor talking to a customer, a hiring manager inviting someone to interview, or a doctor calling a patient.
Zoom does just work - I've used hangouts/meet, skype, whereby/appear.in, discord, talky
Of all those Zoom had the best balance of stability/resource use/call joinability
I find meet a PITA to set up and invite random people
WebRTC browser chat is great for rooms >= 6 people and is my preferred choice
But zoom works pretty well from 1:1 up to 500:1 and is very easy to join
Don't get me wrong, I hate the Zoom client but when the target audience is everyone in your company, including your PC illiterate middle managers, then I can see how Zoom is quite good
I have to say, I've found both Google Meet and Discord to be more reliable in the "just works" department (despite neither being perfect). My experience with Zoom was a job interview where the link kept asking me to install a browser plugin, even though I already had, even if I clicked a link that was apparently a web fall back.
I don't like zoom UI and graphical design but the application is relatively easy to get used to and its core (conferencing) works. And enough people started using it so people felt safe to invest time into it. I think That's what and why people like it.
Zoom has great video and audio. I think good echo cancellation, video that copes well with the network, lower latencies - we don't experience that directly but the after effect is you feel subjectively better about the experience.
I think picking each part of the UX apart is secondary to making the key feature work well.
Absolutely. The other big innovation is you can see who's making a noise in the call in the list of participants and mute them.
The UX is terrible, and totally not their strong point. When you install it should have a test my audio and video thing, and set use computer audio as the default meaning you never have to see the "join with computer audio" thing ever again.
Joining with a phone is useful for people without a computer, but the main UI doesn't need to mention it, the details are in the invitations.
Considering the number of people using it, addressing those (considerable) UI glitches is worth talking about.
People video chat with non-technical people (elderly parents, etc) and it really sucks when you have to go through these sort of awful experiences just to get two people communicating.
I find the metaphor of a "call" in Skype or Google Meet easier to use for chats with relatives than the metaphor of a "meeting". The latter one works great in a business setting, when you "schedule a meeting" and post its details to Slack, or email them, or stick them in a calendar; but when you want an immediate one-on-one chat, it's so much easier to "call" a person.
Zoom weirds me out in that in order to chat with someone you need to "create a meeting", then copy the meeting url/id, and send it via a different channel to the person you want to chat with.
On the surface, it doesn’t sound like a big difference. In reality, I find using the native /call command in slack a game changer. It opens up a call immediately, no links, copy/pasting, changing applications etc. It just feels right.
That's not entirely true. Zoom does have tabs called 'Chat' and 'Contacts' where you can find all your contacts & initiate a 'Call' with them without ever having to share a URL / ID
That's all you do: click Contacts, click the person, click Meet, and they answer the call. It also shows you if they're available, on another call, etc.
I really don't like the Mute/Unmute button in Zoom. It shows a button showing a crossed out mic with "Unmute" below it. And the other state for this button is a mic with "Mute" below it. The button's icon and text are always opposite of each other. It is so confusing. I always have to think twice before clicking it.
But that's not how buttons work usually. Look at the reload button in Chrome. The icon shows you what will happen if you click it. The tooltip text also shows you what will happen if you click it. The text and icon are never opposite. At least I cannot think of another app that does this.
I happen to be standing in front of my coffee maker waiting for it to finish. It has a lit green LED (indicating it’s brewing) and a button under it labeled “Off”. Same conflict, but perfectly clear IMO.
This is an age old debacle with toggle switches. How do you indicate it is ON/OFF and how do you indicate pushing it will turn OFF/ON particularly when the states are binary but not as simple as ON/OFF and you’re working in two dimensions.
You’re trying to show status and allow toggling all at once. There are basically 4 ways to do it with a binary setting and no one right way.
- Icon shows current status, Text shows current status. My coffee maker does this with a button that goes from “Single” to “Double”.
- Icon shows current status, text shows what a click will achieve (Zoom)
- Icon shows what a click will do, text shows current status (Example?)
- Icon shows what a click will do, text shows what a click will do (Play/Pause buttons typically work like this)
As a result, as a user you have to spend the cognitive load analyzing the icon, maybe trying to guess what the current setting is, to try to intuit what a click will actually achieve.
Great-great analysis! We need more of those exposing apparent lack of understanding of basic principles of usability by designers of many modern products. My instinct is to tell them, “Read The Design of Everyday Things at least, please!”
I stopped halfway through your presentation, even though I am a Zoom-objector so I thought I would be the perfect audience for this kind of content. Here's a recent hackernews-frontpage blog post which relied heavily on images, but I found it less onerous to read:
It's the old fashioned way I'm afraid (longform single page, vertical scrolling, visible proportional scrollbar), perhaps I'm just old.
Heh, I expected it to dive into the fact that Skype also had some troubles with claiming E2E without actually implementing it, if I remember correctly. However, seeing a detailed takedown of poor design is always fun. I tend to overlook these things as a user or at least I'm unable to put into words why the design frustrates me, this is helpful.
Actually, Skype was designed from the start to use e2e p2p communication. First thing after the Microsoft acquisition was to remove e2e and introduce dozens of new features no-one actually asked for.
In addition, they turned the UI into a dumpster fire and allowed Chinese, Russian and United States law enforcement agencies to eavesdrop on any Skype conversation without intervention of a judge.
I played around with it years ago, and it worked quite good and should have improved a lot since then, so why has no one come up with a solid solution, that does not require us to route our video calls through china, or microsoft servers?
I suppose the devil is, like always, in the details. So what am I missing?
Probably, that webrtc via p2p is hard to do for more than 2 people? But someone should have at least tried it?
Yes. From my experience (as a user), webrtc is good for up to 4 people, and is rarely supported for more than 8. Reason is that few laptops can cope with many more incoming and outgoing videostreams in parallel.
Also, when in our company we tried using webrtc for standups, we often faced issues when participant A couldn't hear participant B, but participant C could hear them both. All that with video working in all directions. Or sometimes we had this issue with video.
Another reason why standalone applications like Skype and Zoom (which is known for trying to install its client too much) might be better than webrtc is that they might have better noise-cancelling algorithms than browsers.
Also, point of usability - compared to browser, standalone apps don't have permission dialogs ("do you want to allow this website to access your camera"?) and might be smarter with choosing correct microphone by default - this might be important for non-techy users who don't understand why system suggests them to choose from two microphones when there's only one plugged into the computer.
It really depends on your configuration (server-side configuration also plays an important role).
Jitsi has an excellent webrtc server-side SFU (Selective Forwarding Unit) which does a seamless job at redirecting multi-layer VP8/H264 streams to the most appropriate user.
Each jitsi browser instance tells webrtc to encode and send multiple spatial layers of the same video stream (at different qualities), allowing users (and the SFU) to automatically choose which one to receive, according to bandwidth and network congestion.
The result is a seamless experience that just works, even with 16+ people (we've been doing jitsi conferences nearly every working day since April at our dance school, it works like a charm and is easily customizable).
Other solutions also use custom additional WASM modules for echo cancelation and noise suppression in webrtc; and jitsi has an excellent dropdown UI with previews for choosing audio/video sources (and sinks!).
What are some open source skype alternatives? The ones I have used all require central server. I would like to see something which is more p2p with super nodes.
Is that a model that would actually still scale? As far as I remember, supernodes require an unfirewalled public IP and clients that are available for extended periods of time, i.e. somebody's desktop tower PC. How many of these are still around these days and are allowed to run non-corporate approved software?
Rumor was always that Skype used to have E2E, then Microsoft bought it for a susprising amount of money and as first action removed server-side encryption... And therefore of course the rumor/assumption thay the NSA or similar was in the back funding the deal.
AFAIK it wasn't about E2E encryption, but P2P calls, and mega-peers which would serve as ad-hoc "servers" for coordination of other clients. That was dropped when Microsoft bought Skype and instead switched it to using central servers. However, I notice these days that calls are P2P, meaning I see in my PC's connections the IP of the person I'm talking to, so not sure what's going on there...
My guess is that the signaling servers are centralized. You need those for connection establishment between two peers. Once they 'know' each other, they may aswell talk to each other directly. Routing all calls through central servers would yield an enormous bill every month. On the other hand, it is sometimes necessary as direct communication between peers may not be possible (NAT, firewalling). IIRC, a central server is also required for multi-party calls.
Yes, signaling is definitely centralized, before it was done by mega-peers. P2P contact does work behind NAT if it's a cone NAT. Symmetric NAT would require that the signaling server assign a forwarding server to handle data from and to each peer. In general CGNAT applications with cone NAT, UDP hole punching can be used to communicate between peers, organized by the signaling server.
- It takes 4-5 clicks to create a meeting and share the URL, which is what I want to do most of the time, multiple times a day. I end up preferring Skype (when with only 1-2 other people) just because of the hassle of "Creating a meeting".
- The UI randomly moves around: the chat button and the chat, for example, are in a place when Zoom is in window mode, in a different place when Zoom is fullscreen, and yet another place when I'm sharing the screen. If I have to teach, I prepare the various zoom windows (chat, participants, videos) in a certain configuration. As soon as I start sharing screen everything changes. It goes fullscreen whenever it likes, and all that.
> Which does nothing unless you already have Zoom installed
At least on desktop, even though the help text explicitly says "If you have Zoom Client installed", you can actually click the Launch Meeting button/link to reveal a hidden option for joining the meeting without actually installing (which requires an additional click). I imagine this never shows up if you actually install; they're just trying to get people to install unnecessarily.
Irrelevant title but the UX analysis is on spot. It is a shame that many companies will spend millions on infrastructure and programming but don't pay for a decent UX team - or just do not bother implementing good UX. (Microsoft is the most striking example.)
Think I've maybe used Zoom 3 times, but even I was mentally shouting answers to the rhetorical questions. "Well it does that because.." or "Well if it didn't do that, then users would.." etc
I agree with many of the observations in the deck, but how would you go about prioritizing the most impactful improvements? Is there a best in class method of quantifying how UX hurdles?
The remote control and whiteboard in Microsoft Teams are better in my experience.
In fact, Teams seems to have better (although still not good) UX and connection reliability as well, at least for corporate meetings. There’s generally no P2P possible from behind “enterprise” security gear or VPNs, so Zoom suffers a bit falling back while Teams blissfully just works via TCP/443 or a browser.
Zoom's whiteboard is pretty bad. Slow, clunky, weird bugs on some OSes (pen draws in wrong place on Android IME), no pressure sensitivity. There are loads of shared whiteboard type services (search on HN; IIRC we've had a few discussions recently), but most of them don't support audio and video as well. I think Zoom for audio and video while using a separate shared whiteboard might work quite well, but I haven't had reason to try it yet.
It's a good article with valid points but nothing about Skype.
The editorialized title "Turns out Zoom isn't all that different to Skype after all" has no appreciation for how hostile Skype's technology has become in the past 10 years. It went from nicely working Qt program that worked well on OSX, Linux, and Windows to Electron beast that maybe works on Windows, could possibly be mining bitcoins on OS X (judging by how much it spins up the fans), and I think it stopped working on Linux altogether, replaced by a web client.
The linux client does work. Its pretty bad, but the one redeeming feature that it has over Zoom is that I can turn off incoming video.
I am in a country with poor internet, and when no one is sharing their screen, I prefer to turn off incoming (and outgoing) video. Others can continue to benefit from seeing each other on video, while I get to talk and hear them properly.
They have a "low bandwidth" mode you can toggle on, that just turns off your outgoing and incoming video streams. I think it still tries to send around screen shares though, for better or worse.
It has made a huge difference for some team members with very challenged Internet connectivity where they can just put themselves in low bandwidth mode and the call carries on.
Slack video chat is fine for most people in the US but having people international causss problems for slower connections.
Zoom just works.
Also, they actually respond to support requests when there was an issue with their linux build in the arch user repos they went out of their way to debug and resolve the problem.
This is soo much better contrasted agaisnt e.g. slacks response to a similar query, paraphrasing: hur just use the web client.
Yes, you can record meetings and download the recordings. We have started just recording all our meetings so that if someone wasn't able to make it, they can just review at 2x speed later.
I looked again and I guess the low bandwidth setting is called "Bandwidth Saver" behind the little gear icon on the left hand side when you're in a call.
10 years ago is about when Microsoft purchased Skype... If I remember correctly they received money from the government to do it and then stopped using the P2P supernodes model and switched to their own servers to track users more easily... It used to work great, I wish the pre-MS source code would get leaked.
I remember being on a decent wired connection, working late in the office in London. All of a sudden, I got a call from the IT manager for Europe, who wanted my help to figure out which device was performing a DDoS or was part of a botnet. He had received alerts about the number of connections and the bandwidth.
After a few minutes, I realised he was talking about my laptop. I presume I had been promoted to a supernode thanks to my location and bandwidth. This was around 2009.
Part of the reason for the switch was more and more users on mobile devices, so the proportion of users that could act as supernodes got much smaller. I think I remember one of the Skype developers describing this in a comment on HN, but I can't find it now.
The Skype client of today is just a renamed Lync client, which actually used to be decent. They've done nothing but make it worse since Lync ceased to exist.
That's Skype for Business, which is completely different from Skype, and has now been deprecated in favour of Teams. Teams is again completely different from the Skypes, and is more of a Slack clone.
Skype was never a nicely working Qt program, I remember articles about their ultra-aggressive anti-reverse engineering coding techniques from 10 years ago or older. They used self-modifying code and undocumented opcodes, active prevention of debuggers and disassemblers, etc., basically every trick in the book to keep someone from finding out what Skype is actually doing.
> "Skype For Linux does not support group video calling" [1]
and articles from 2017 saying
> "The latest update to the Skype Linux client makes it possible to place group video calls on Linux, [...] Electron-based app [...] This is the first update to the popular VoIP app since Microsoft retired the Qt-based Skype 4.3 [2]
Plus I was personally there, trying to make group video calls from Linux in 2016. So I've seen this firsthand.
A few days back we were playing League of Legends and due to some permissions issue the person playing on Mac couldn't use the built in voice, so we swapped to Skype for a bit.
First: fans take off.
Second: Skype lowers all volumes of all other apps without asking.
Third: some people now have a weird floating bar in screen during the game, if clicked by accident the game minimizes.
Fourth: sound quality is horrible. How can a built-in, afterthought like Voice comms in LoL be better than a program written from the ground up to do voice calls?
Fifth: after the game ends the group has 3 spammers sending them a message since they logged into Skype.
Skype is dead in the water, has been suffering for years since the push to Teams started. Teams behaves a lot more stable in an enterprise environment, whether that is by design or neglect I'm not sure.
Teams is still woeful in both performance and features. Whilst you can easily drown in noise on slack, you are deafened by silence on teams. It is so difficult to discover channels and topics on Teams compared to slack, that I'm not sure there is a way to do it without being explicitly invited by an existing team member.
If you are using the mobile app then just lol. You'll always be seen as "away" even if actively engaging in discussions, and you'll be thinking you're caught in a time-trap with regards to accuracy of statuses and messages.
And my final rant is the pathetic conflation of "team" and "channel" nomenclature. The fuck is wrong with just calling them channels?
Teams is also pretty snappy for the first month or so. But once you use it for about 8 months, it's just so painfully slow; it will take multiple seconds to switch channel. I suspect it's because they use sqlite under the hood for storing messages and have some bad queries or bad indexes.
Teams is a horrid, horrid product that eats tons of memory and has no history to speak of (takes like 15sec to load previous hour - on 300Mbit up/down connection).
Dealing with large html paste is not even a bad joke. Making incoming calls on the phone, while chatting with another person on the pc is beyond any reason.
Okay, try this one out. During a Teams call, open up the PulseAudio Volume Control application, which allows the volume to be set differently for each different application. Teams calls itself Skype.
> Teams behaves a lot more stable in an enterprise environment, whether that is by design or neglect I'm not sure.
Teams is based (used to be shared code) on Skype For Bussiness, and it was designed to work better in office environments. A while ago they were struggling with the opposite- working over slower unreliable lines.
When I was on Linux, back in the glory days of Skype, I can tell you that it never worked well — if it worked at all, since I only remember it having support for one or two Ubuntu LTS versions and so on other distributions it was a Hail Mary event.
Nowadays you actually have a chance to make an audio call, even if you're not on the right Ubuntu LTS version.
And I've been using it on MacOS for the last couple of years. Not as a main communication channel, but it's a good meeting place and it supported video chats in our group of 10 people without issues, but granted I don't have experience with more than that.
It is crazy how much CPU on Linux Skype uses. And it used to be very light weight. I simply closed it to avoid making my computer slower. And I only open it when in need to answer something that my phone notified me..
Skype on windows is a disaster. On iOS my girlfriend and I use it (we have to) and I can never connect to her, no matter how fast my connection is, she has to call me.
Also, I remember that MS used to still offer a "Skype for Desktop" native app on windows, additionally to the electron based app. I haven't used Windows/Skype for some time now though, so I'm not sure.
No, it started after upgrade to 8.x versions. I've tried to keep 7.x working for as long as could and after MS force banned that branch and I upgraded to electron version (which supposedly was tested for more than a year already) it started to freeze, drop call, delay messages and so on. And multiple people in the office reported this so we started migrating from this thing.
And web version doesn't work in Firefox.
The Qt version worked. Then they released a terrible Electron version around 2016. You couldn't make video calls in the Linux version. This constitutes not working. I stopped using it.
I just installed the snap now and it seems a lot better and it seems to support video calls on Linux (didn't try to call anyone since everyone I know left skype). Too little too late.
Looks like they stole the remaining credit out of my account though.
> Then they released a terrible Electron version around 2016.
That was in 2016. That situation did not last something like 3 years. Indeed there was a time where the electron client was dysfunctional but that did not last more than half a year.