25 Years Of Video Calls

Roughly 25 years ago, I spent a little while at INESC and its little coterie of incubated companies (what we’d term “startups” these days) doing all manner of things I think are worth recounting.

Well, at least the ones in this peculiar little arc, of which I was reminded during a conversation I had this past week.

Eurescom

One of the reasons I got into the telco universe was an internship project I did for EURESCOM at the (now defunct) CPRM Marconi, and which I later picked up again at INESC. It was an international project with people from BT, Deutsche Telekom and a few other (now termed incumbent) telcos focusing on (Computer Supported Collaborative Work).

And what did we work on? Well, we had… video calls.

More to the point, we tested / compliant video conferencing and screen sharing software, drawing diagrams in a cross-platform canvas between Microsoft NetMeeting and some ugly Motif application on Sun boxes, and generally trying to figure out what the future would look like in the typically weird and over-complicated way telco standards bodies looked at the world.

In a weird precursor to this bright, amazing future we all now live in, I had a PC decked out with an Intel video capture card, a camera and a VGA monitor into which we tried to cram NetMeeting, a few video thumbnails, a whiteboard and some document to “collaborate” on.

Exactly like Teams, really, except that people actually believed video calls would be spent editing documents collaborativel at length (instead of presenting them and just following up with changes, which is what happens 99% of the times these days).

It’s amazing to realise that even though today’s hardware is a couple of (or more) orders of magnitude faster and we actually have touchscreens and pens as pretty much standard issue on many kinds of devices, shared whiteboards still haven’t improved substantially over the last two and a half decades.

And I don’t mean just in terms of usability, but also of applicability to most use cases. You’d think we’d have learned this lesson by now, right?

PC-BIT

Fast forward a few years, and I was pulled into a team at INESC that designed and implemented , an ISDN ISA card for desktop PCs that ingeniously did away with a bunch of proprietary components and implemented a fair chunk of the required protocols in software (initially in its own on-board low-end x86 CPU, and later on mostly off-loaded to the host PC).

This is what the early PC-BIT cards looked like

Since most of the code was already written (by a friendly, infinitely patient russian guy called Sasha), my contribution was to debug (more than actually write) the multi-link PPP driver for Windows, since we needed MPPP support to take advantage of the two distinct 64Kbps channels you got with ISDN (2 B channels for data and a D channel for signalling).

Board development was sponsored by Portugal Telecom (which sold the board as its Cyberkit RDIS product) and was later moved to a hardware-centric iNESC spin-off called Octal (which seems to have vanished a while back)1.

Two of my coursemates did the Solaris and Linux ports of those for the same generation of that hardware, but the driver abstractions were so different2 that hardly any code was common, and I got so many blue screens that I could almost pick up what had happened from the abbreviated crash dumps alone.

And what did we run to stress test it? Well, NetMeeting, obviously (although FTP was a more reliable way to trigger connection upgrades). We also had other ISDN cards and desk video phones that could do H.320 calls, but it was fun to live in the future and do video calling over IP.

There is a lot more to tell about these times that deserves separate posts (like, for instance, the dramatic results of having our waxed wooden floors polished with copper brushes, which led to some amazing special effects when plugging a new machine into the floor mains sockets, which were coated with fine copper powder), but an interesting morsel is that my manager at the time went on to become the GM of Microsoft Portugal (and eventually rose to VP level after working his way around the world).

I still find it hilarious that, before leaving INESC, he gifted me a pretty unique book.

Dive Into Telco

Around the time of my PC-BIT antics, I also dabbled a bit with video conferencing over ATM (I had an ATM-25 network card in my desktop PC with a SPARC CPU four or five times faster than the PC itself), but fortunately ATM didn’t last long in the face of the TCP/IP onslaught and I eventually went , which is altogether.

Until very recently, the first time I had anything to do with setting up a video calling service was, of course, when 3G came about and people tried to use phones with postage stamp sized screens to do mobile-to-mobile and mobile-to-fixed video calls.

This was around 9/11, after which there was a burst of demand for standards-based, telco-grade room videoconferencing services to substitute for business travel (which dipped precipitously for a few months)3 and we had to figure out how to make it all work.

But in practice, nobody used 3GPP-based video calling much because the experience was atrocious regardless of what kind of equipment you had.

Telcos stuck to it as a flagship service because a) they could charge more and b) it was interoperable with room conferencing services, to the extent that some diehards at Vodafone even wanted to refuse carrying the iPhone 3G for not supporting video calls.

Pretty ironic, right?

One of these days I’ll probably write about those times, which were how I got into Asterisk, and . In particular, one of the things I’m pretty sure is how back in 2005 I placed a voice call to our CEO’s mobile from across the room using a desk phone and .

That was a lot of fun, for a lot of reasons I won’t go into tonight…


  1. Another thing I was involved in was getting Microsoft Mail to handle X.500 directory services (which is why I have so many LDAP scars) as part of an attemmpt at getting it to use X.400 transport, but good thing SMTP won that war… ↩︎

  2. This was the dawn of NDIS, and most of the work as around wrapping CAPI in a way that made sense to NDIS and the dial-up stack. ↩︎

  3. We had Tandberg booths at Vodafone, in which I spent many a day in much the same way I do in my office these days… ↩︎

500 Days Later

It’s been since my last update on the pandemic saga and my dataset has just crossed 500 rows, so I thought it was time to look at my dashboard, pick out some highlights and recount what has been going on since.

Read More...

Year Break

This week was fiscal year close at work, and a deadline everyone was racing towards over the past few months. And now we’re past it, a few (ever short) days of limbo have set in while the entire company breathes a collective sigh of relief and re-organizes itself for next year.

Read More...

Tinkering

I miss coding and building “in the small”. A lot, in fact, and my current role and the thundering herd of meetings that has converged around fiscal year close has consumed a lot of time and motivation to tinker.

Read More...

Site Engine Update

It’s been since I moved this site to Azure static storage, and I think a few notes are in order.

Read More...

Rabbit Holes I Dive Into Every Now And Then (Alternative Operating Systems Edition)

Over the past few years, and as part of my perennial personal quest for a nicer computing experience, I keep finding myself going down a small set of technological rabbit holes, which I’m listing here in an attempt to remind future me that I might already done so too many times.

Read More...

Three Thoughts on WWDC 2021

So I finally watched the keynote and the State Of The Union1, and came away with three main thoughts:

Read More...

The Big Sur kernel_task Troubleshooting Saga

Following regarding my kernel_task woes (which began nearly two weeks ago now), I decided to strip out the updates from that post and consolidate them here with a little more detail.

Read More...

The Arturia KeyLab Essential 61

Although I have nothing to show for it yet, my music hobby is getting serious enough that in my office. This because even though we already have a very nice , there is no way I can use it with Logic from several rooms away1.

Read More...

Sucking Up to kernel_task

Just after upgrading to Big Sur 11.4, has taken to stall every now and then with kernel_task taking up most of the CPU, which is tremendously annoying as it becomes unresponsive even when I’m using it as a souped-up thin client to access my corporate virtual desktop environment.

Read More...

Archives