
How Zoom works [slides] - Spidery
https://builtformars.co.uk/how-zoom-works/
======
aardvark291
This isn't "How Zoom works". It's a 72 slide deck of complaints about the Zoom
UI.

------
robsws
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.

~~~
conductr
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

~~~
chrismorgan
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.)

------
fabian2k
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.

~~~
WiiManic
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.

------
0xDEEPFAC
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.

Welcome to the future - lets Javascript all the things...
[https://www.youtube.com/watch?v=_SCfNhyIo_U](https://www.youtube.com/watch?v=_SCfNhyIo_U)

~~~
azangru
> 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.

~~~
0xDEEPFAC
So why did they force everyone else to use the Javascript version instead of
only Linux? Why didn't they just improve the Linux version.

I use Skype everyday for work and my quality of life is noticeably different
in a bad way :(

Plus, my poor laptop is now forced to run Skype, Zoom, Slack, Google Docs, and
Discord. Its turned into a cooktop...

~~~
azangru
> Why didn't they just improve the Linux version.

You know, write once, run everywhere. It's programmer's dream :-)

~~~
0xDEEPFAC
Write once, run _poorly_ everywhere. It's a _lazy_ programmer's dream ; )

[https://medium.com/commitlog/electron-is-
cancer-b066108e6c32](https://medium.com/commitlog/electron-is-
cancer-b066108e6c32)

~~~
deeter72
It really has to be laziness since the Qt framework is widely supported on
Linux.

------
lxgr
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.

~~~
michaelt
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.

~~~
mitjak
this, and the easy install process. it almost feels like installing malware.

------
kebos
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.

~~~
rjmunro
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.

------
azangru
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.

~~~
chirag64
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

~~~
zaroth
Discoverability is everything!

------
perryizgr8
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.

~~~
sokoloff
I spend a lot of time on calls, but it’s always felt clear to me.

The icon is the state and the text is the action that will happen if you click
it.

~~~
perryizgr8
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.

~~~
sokoloff
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.

~~~
mitjak
except an LED is either on or off, but a UI button is always "on"

~~~
sokoloff
That one happens to be, but if the LED went green/red rather than green/off, I
think it would be just as clear.

------
beyondcompute
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!”

~~~
Spidery
Awesome, thanks!

------
Spare_account
Ironically, I found this style of presentation difficult/annoying to navigate
through

~~~
Spidery
Doh—the irony. What'd you prefer?

~~~
Spare_account
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.

[https://news.ycombinator.com/item?id=23551983](https://news.ycombinator.com/item?id=23551983)

[https://tonsky.me/blog/monitors/](https://tonsky.me/blog/monitors/)

~~~
Spidery
Yeah, this is a great blog. Certainly some things that are easier to read
about that.

------
BelleOfTheBall
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.

~~~
Spidery
"I'm unable to put into words why the design frustrates me" is the best
summary of 99.9% of users.

~~~
edejong
And the remaining 0.1% actually read some UX design textbooks from the 90's:

1\. Incomprehensible icons

2\. No use of color to indicate the most likely new action

3\. Weird and inconsistent transitions and dialogs

4\. Many different fonts, font-sizes and text decorations.

5\. Flat design makes it difficult to know what to click on.

The list goes on, and on, and on. It seems the team did no UX testing at all.

~~~
battery423
i always thought its common sense until i realized its not.

We just switched to a new ticketing system, now the description field is 2
rows high.

2 rows! for a fucking issue description field -_-

~~~
Spidery
"i always thought it's common sense until i realized it's not."

^ 90% of CEOs.

------
hutzlibu
Modern Browser have already build in, p2p, encrypted video chat functionality.

[https://developer.mozilla.org/en-
US/docs/Web/API/WebRTC_API/...](https://developer.mozilla.org/en-
US/docs/Web/API/WebRTC_API/Signaling_and_video_calling)

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?

~~~
Lex-2008
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.

~~~
danogentili
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!).

~~~
Lex-2008
Oh, nice! I actually didn't try jitsi and just assumed it had same issues as
other webrtc apps.

------
sschueller
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.

~~~
simfoo
[https://jitsi.org/jitsi-meet/](https://jitsi.org/jitsi-meet/)

------
robbrown451
Very well done, and very thoroughly delves into my own initial "WTF?" reaction
to using Zoom for the first time (and second and third times).

Although I think the title is misleading. I was expecting something more
technical, as most "how X works" articles and videos tend to be.

"Zoom's UI is bad" would be more descriptive. Even "How Zoom doesn't work"
would be more accurate to the content.

------
rayhano
I’ll never look at Zoom the same way again.

It was frustrating before. But now I know all of these UX faux pas...

Thanks BuiltForMars for taking away my blissful ignorance.

------
mifeng
The only UX that matters in video conferencing software is connection UX,
which is where Zoom excels.

~~~
contravariant
Does it though? I've found that Jitsi Meet makes it pretty easy join by just
clicking an URI. No apps to install, just clicking a link.

Zoom on the other hand pesters me endlessly into installing their software,
making it unnecessarily difficult to just join by browser.

------
nelaboras
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.

~~~
milankragujevic
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...

~~~
marios
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.

~~~
milankragujevic
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.

------
martopix
My main complaints are two:

\- 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.

~~~
Spidery
Yeah, really annoying ^^

------
pteraspidomorph
> 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.

------
dandare
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.)

------
jarnix
Am I the only one to avoid Zoom for all the strange things reported these past
few months ?

------
goldcd
I came away from that somewhat nonplussed.

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

~~~
Spidery
If I could refund you your time, I would.

------
henron
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?

------
KorfmannArno
Again, what about Zoom's remote control feature (or annotate/whiteboard)? Is
any competitor doing that?

~~~
tatersolid
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.

------
llagerlof
Tweet that article mentioning the Zoom founder @ericsyuan and @zoom_us

------
fnord123
Title is "How Zoom works".

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.

~~~
mywacaday
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.

~~~
Jestar342
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?

~~~
fnord123
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.

