Sometimes, when I’m very stressed, communications becomes hard, and miscommunications can be so bad I wonder if I’m having a stroke.
I believe I’ve come up with an analogy to explain this, and I can sum it up for anyone who is remotely technical.
For the rest of you, I need to take a moment to explain that most of the communications that your computer does use one of two protocols: TCP or UDP.
TCP is like a phone call:
We dial a phone, a person says “Hello”, you say “Hello” back, you say what you’re calling to talk about. You have a conversation. You say good bye. Maybe you say when you’ll call again to follow up. You hang up.
UDP is more like…shouting at the moon. A new moon, specifically — dark in the sky.
You have no idea if you’re shouting in the right direction, or loudly enough. Sometimes you’ll get a shout back that says “not this way” (and not always from the person you’re shouting at); sometimes you’ll get an answer; sometimes you’ll just get back radio silence.
In the past, we’ve been used to having communications face-to-face, and real-time: phone calls, meeting for coffee, being generally synchronous. We can ask questions, get our questions answered. We can state feelings, and read reactions. We can hear comments about the things we say, just after saying them, and can clarify if we’re misunderstood.
Not any more.
Sometime around the time of the pandemic, when thousands of people left their desks (and when thousands of companies discovered that the options were work-from-home-badly or fail), we hit a schism: Communication with other humans over the last few years has gone from being over TCP to being over UDP.
And it’s not just regular humans. It’s businesses, government offices, banks, gyms, realtors. Some of them don’t even publish numbers anymore. (For example, the Washington unemployment office, ironically — here’s a job that you employ people to do from home with VOIP and a VPN, but you don’t.)
…and medical offices.
Side Rant: Especially medical offices. Medical offices are frought with: phone trees, answer on the fourth ring, [announcement about their covid policies]…[announcement about their mask mandates]…[announcement about vaccines]…[announcement about testing]…talk to their [in a few words, tell me what you’re trying to do] robot, who doesn’t understand what you’re asking for…[please hold on while I try that extension]…deal with shitty VOIP connection that doesn’t parse DTMF tones right…hold music…transfer…transfer again…disturbing lack of hold music…find your call gets dropped after an hour on hold…call back, transfer to the operator, get *their* voicemail box, call back knowing to not make that mistake again. Try sending a message using MyChart…wait a week. Rinse, repeat.
Sorry, rant over. How far can I really extend the TCP versus UDP analogy, though? Further than you think.
- You get no acknowledgement of the fact that what you’ve said has actually been heard or understood.
- Packet delivery order is not guaranteed. You may mention something on one messaging app, and hear back, out of thread, on a totally different app. There’s not a consistent stream of communication — people may read only your chats but might not have read their email, so they have no context and are confused. They have this app installed but muted. Oh, sorry, iMessage didn’t deliver to them right because they’re an android user.
- Delivery time is not guaranteed. You might hear back in seconds, you might hear back in weeks.
- Delivery at all is not guaranteed. Whether for technical reasons (the multitude of apps suck) or personal reasons (people have brain squirrels), sometimes packet loss results in the phenomenon of being “ghosted” or “left on read”.
- The checksum algorithm is inaccurate. Communications with no 3-way-handshake is way more vulnerable to being misinterpreted. See for example, the difference in text-mode communication between “no”, “No”, and “No.”
- If your own algorithm determines re-sending is necessary, it can trip rate-limiting mechanisms on the other end, and conversations will get slower, rather than faster. (i.e. the other person will feel like you’re “dumping text on them” and will be less likely to reply.)
There’s one more problem, though. UDP doesn’t know about the network outside of its own domain, and to that end, there’s this little fucking liar:
If you’ve seen the old 80’s movie, Heavy Metal, you may remember the Loc-nar, an evil green orb intent on world domination and destruction.
Just like the one in the movie, This orb lies. This thing tells you that the person who you are talking to is online and available. It will lie to you if they’ve left their screensaver up. It will do so if they are on but elsewhere in the house. It will do so if they are playing a full-screen game, or if they are working in some other program. It will show this if they’re on a zoom call for work.
For users of iOS/MacOS, the green orb does not pay any attention to what “focus” you are in. Despite apple devices knowing which device you are signed in via, it will not show when you’re not at your desk.
The orb is not just stupid, it is actively evil. It intent is to keep you engaged with the app/platform/website you’re on. The people who developed it (and copied it) do not *care* that it is not accurate. Don’t believe me? How hard would it be to put in “idle time?”. But they don’t.
And when you’re trying to reach out to someone, and you’re seeing that they’re “online now”, you expect that they’re actually online. Having literally no indicator would be better than an inaccurate one.
I don’t have a solution for this, other than “accept that this is the new normal, and when it frustrates you…go outside and try again later”.
Why didn’t I spot it sooner, though? After all it was DNS.