← Blog

How Remote Desktop Became a Video Codec — A 35-Year Accident

Originally published on LinkedIn

The protocol running under your RDP sessions exists because of a poem, a trademark dispute, and a corporate betrayal. This is how we got from there to here.

The man nobody remembers

In June 2013, Ed Iacobucci died in Boca Raton, Florida. He was 59. Pancreatic cancer. The obituaries called him a “technology visionary.” A few bloggers wrote kind things. Then the world moved on.

Most people who use Remote Desktop every day have never heard his name. But the protocol running under their sessions exists because of choices Ed made — starting in the late 1980s.

Before RDP existed, there was T.120

Before anyone called it “RDP,” the idea of sharing a screen over a network already had an international standard. The ITU maintained T.120, a family of multipoint data conferencing protocols. Within T.120, the important piece is T.128 (also called T.Share) — which specified how to share applications remotely: screen regions, input events, drawing orders.

T.120 powered Microsoft NetMeeting. It powered early WebEx. If you’ve ever seen traffic on port 1503 in a packet capture — that’s the fossil record.

The people who implemented T.120 were often invisible. One of them was Data Connection Limited, a British company founded in 1981. They did SNA protocol stacks, ITU conferencing plumbing — work that lived three layers below anything a user would ever see. Data Connection renamed itself Metaswitch in 2009, got acquired by Microsoft in 2020, and was sold to Alianza in 2025. But their fingerprints stayed on how Microsoft thought about multipoint protocols for decades.

The Argentine who resigned with a poem

Edward Iacobucci was born in Buenos Aires in 1953. He studied systems engineering at Georgia Tech, joined IBM in 1979, and by the mid-1980s was the lead architect for IBM’s side of the joint IBM–Microsoft OS/2 project.

Then Microsoft pulled the rug. Three days before the 1991 launch of OS/2 2.0 — years of joint development, careers staked — Microsoft publicly abandoned OS/2 in favor of Windows. It was one of the most dramatic corporate divorces in tech history.

Ed had actually left IBM two years earlier. His resignation letter was a copy of Robert Frost’s “The Road Not Taken.” No memo. Just the poem.

Citrus, with a typo

Ed co-founded Citrix Systems in 1989. They wanted to call the company “Citrus” — a nod to Florida. A trademark dispute killed the name, so they combined “Citrus” and “UNIX”: Citrix.

When Microsoft killed OS/2, it nearly killed Citrix too. The entire product roadmap evaporated. Ed’s response: license the Windows NT source code and build what Microsoft itself hadn’t — kernel extensions that let Windows NT run multiple users at once.

They called it MultiWin. This was the critical invention. Windows NT was a single-user operating system. MultiWin made it multi-user. The product that came out of this was WinFrame (1995) — multi-user Windows NT 3.51. Citrix went public on December 3, 1995. Stock opened at $15, closed at $30.

But Microsoft was watching.

The $175 million deal that created RDP

In 1997, Microsoft acquired the MultiWin technology from Citrix for roughly $75 million, plus royalties estimated around $100 million more. Citrix kept the right to build on top of Windows Terminal Services. Microsoft got the multi-user kernel code it needed to ship Windows NT 4.0 Terminal Server Edition in 1998.

The protocol Microsoft built for that product was RDP. Technically, it started from ITU T.Share. Practically, the thing that made it work — multi-session Windows — came straight from Ed’s team at Citrix.

The graphics problem (the part I actually care about)

Ed described ICA to Mark Templeton as a “general purpose display protocol.” Simple phrase — but it contained the entire long-term vision. Years earlier, he had told John Marchese something sharper: “Speed and being slim are relative. Predictability is absolute.” Ed’s insight was that as networks grew more complex and diverse, the winning protocol wouldn’t be the fastest — it would be the most predictable.

That philosophy echoes in how RDP’s graphics stack evolved. If you’ve only ever clicked “Connect” and watched a desktop appear, you might think RDP just “sends the screen.” It does, but how it sends the screen has changed philosophy multiple times.

Phase 1: Drawing commands. Early RDP sent GDI orders. “Draw a rectangle here.” “Render this text.” The client replayed these like a remote display list. Efficient for simple UIs. Terrible for anything modern.

Phase 2: Lossless bitmaps. NSCodec compressed bitmaps losslessly — fine for static screenshots, too heavy for dynamic content.

Phase 3: Wavelets. In 2008, Microsoft acquired Calista Technologies and built the RemoteFX Codec — a wavelet-based lossy codec with GPU acceleration. Server 2012 added Progressive RemoteFX: send a coarse image first, then refine it over successive passes. The screen sharpens as you watch.

Phase 4: Just ship video. RDP 10 introduced H.264/AVC 444 mode. The server encodes the screen as an H.264 video stream. Full 4:4:4 chroma subsampling for text clarity. At this point, “remote desktop” and “video streaming” are essentially the same engineering problem.

Each phase left sediment in the protocol. None fully replaced the previous one. A modern RDP session might use GDI orders for some surfaces, progressive wavelets for others, and H.264 for the rest — all in the same connection.

The client executable is still called mstsc.exe — Microsoft Terminal Services Client — a name from 1998 that nobody bothered to change.

The open spec, MS-RDPBCGR, has been revised 61 times since 2007. Sixty-one revisions of a single document over eighteen years. Nothing gets removed.

The empire built around it

RDP was never just a protocol. It was the wire format for a platform Microsoft kept expanding by acquisition:

  • 2006 — Softricity → App-V (application virtualization)

  • 2008 — Calista Technologies → RemoteFX (GPU remoting codec)

  • 2008 — Kidaro → MED-V (desktop virtualization)

  • 2018 — FSLogix → Profile containers (the thing that makes VDI actually deployable)

  • 2020 — Metaswitch → née Data Connection Ltd, the T.120 people from the beginning

Each acquisition filled a gap. The protocol is the transport; the platform is everything around it.

Citrix, the company that started all of this, went a different direction. Vista Equity Partners acquired Citrix for $16.5 billion in 2022, merged it with TIBCO Software, and renamed the whole thing Cloud Software Group. The company that invented multi-user Windows is now a private equity portfolio asset.

Same dream, four client names

“Remote Windows” used to mean a box in a server room. Now it means Azure Virtual Desktop.

The client itself has been renamed four times: mstsc.exe → Microsoft Remote Desktop → MSRDC → Windows App (2024). Four names for the same idea. Central compute, remote UI. The dream from the mainframe era, repackaged for every generation.

Why this matters if you work with RDP today

I have worked on a Privileged Access Management system that processes RDP sessions — parsing graphics frames, reconstructing what happened on screen. When you dig into RDP at this level, you’re not working with a clean protocol. You’re working with 35 years of accumulated decisions, each one reasonable in its moment, layered on top of each other like geological strata.

Understanding why the protocol is the way it is — why there are four different graphics codecs coexisting, why the client is still called mstsc.exe, why T.120 echoes appear in modern packet captures — makes you a better engineer. Not because the history is useful per se, but because it tells you which assumptions are load-bearing and which are just inertia.

Ed Iacobucci’s boat was called Tenacity. That’s also a reasonable name for the protocol he set in motion.

Ed Iacobucci died on June 21, 2013, at home in Boca Raton. He was survived by his wife Nancy, three children, and three grandchildren. At the 1998 Ernst & Young ceremony where Ed won Entrepreneur of the Year, Bill Gates was at the cocktail reception beforehand. The only thing Gates wanted to know was when his friend Ed was going to arrive.