Vintage Video Conferencing

As a result of my family’s move from the east-coast of Canada, to the west-coast, I wound up in public school in Victoria, BC. The Victoria school board was Mac-centric. At home, I was playing with OS/2, various versions of DOS, and GNU/Linux, but at school all we had were Macs.

In our school, we had a program for video-conferencing called CU-SeeMe. I’m not convinced that actual work or learning was done by students using this software, but it provided video conferencing between schools across Canada. The internet connections were often dial-up, but sometimes ISDN[^isdn] if you were lucky. We got excellent sound and often reasonable video over these connections.

[^isdn]: ISDN was, at best, 128kbps. A very slow modern internet connection is over ten times faster than this. Most people in the developed world have access to connections that are hundreds or even thousands of times faster.

It was fairly easy to have a video call with someone in another location. Much like the telephony software I talked about, you would simply punch in the IP address of the person on the other end, and pretty soon you could see their smiling face.

There was a conference call option that required a server component to be installed somewhere that all of the participants would connect to. Our school board had this server software. Teachers from my school in British Columbia had meetings with teachers from other schools all around Canada. The server software was simple, it just took the incoming video and audio and sent it out to other participants of the call.

I’m sure if I found two Macs of the appropriate vintage with the CU-SeeMe software installed, we could have a video call today. The protocols haven’t changed, and the software has no third party requirements. Undoubtedly the experience would be much better because the internet connections are so much faster. I’m sure that if I had several Macs of the appropriate vintage, with one running the CU-SeeMe server software, I would be able to have a full-on video conference like it was 1995 all over again.

Today, video calls and conferences are fairly commonplace. We use skype, Hangouts, and various other tools sometimes on a daily basis. Many VOIP services have video conferencing built in.

As with the telephony software, though, there’s a lot more complexity involved these days. There are middle-man services that we must route our calls between. Not because it’s technically required: CU-SeeMe proved this in when Hammer Pants were still fashionable. The middle-man services aren’t required for any of the features users want, they simply exist so that the middle-men can extract money from users.

Of course, this added complexity comes with many problems. In technical circles, we call this kind of problem a single point of failure. By having a required middle-man, what happens when the middle-man experiences a failure? It’s experienced by all of the users whose software needlessly depends on the middle-man. Technically, the software would still work, if it weren’t built to depend on the middle-man.

This is obvious when Skype’s servers experience issues. No calls can be made between anyone running the Skype software. Technically, there’s no reason Skype needs to depend on the middle-man, it was built that way deliberately. If Skype, the company, stopped existing tomorrow, the software on both ends would be completely useless[^everything-you-love].

[^everything-you-love]: Make no mistake, everything you love involving a computer today will cease to exist within your lifetime.

Why do Skype, Google, and other providers want to route all of our calls through their centralized services? We, as users, get nothing by routing all of our traffic through someone else’s computer[^there-is-no-cloud] for most of these services. The software provider may get some benefits from easier distribution if more features are moved to the server. But users only get less reliability, a single point of failure, and all of our calls owned by a third party.

[^there-is-no-cloud]: I don’t know where the original came from, but I’m quite fond of this quote: “There is no cloud, it’s just someone else’s computer.”

Timeless Telephony

When I was a child, my family moved from the east to the west coast of Canada. After the move, I talked to my cousin on the east coast using some telephony software because in 1994 a long distance call would have damaged my parents’ bank account. I don’t remember the name of the software we used, but it worked well. When it was started it would display your IP address. My cousin would start the program and give me his IP address via email. I would type in his IP address, the programs would connect, and we would talk using the microphone and speakers. The sound quality was as good as a regular telephone, if not better. We felt like we were living in the future.

I’m pretty sure that if I were to take that software today, and ran it on a computer of that vintage, I would be able to call someone else who was using the same software. There’s no reason why the software would not work today just as well as it did back then. The underlying protocols haven’t changed[^protocols], and aren’t likely to in the foreseeable future. The Operating System of the day is still floating around on CD’s somewhere. The drivers for the network cards are easily located (often on the same CD as the Operating System). The computers talked directly to each other, there was no service that we had to sign up and pay[^pay] for.

[^protocols]: Because thermostats, TVs, toasters, coffee machines, and everything connect to the internet now, we’ve run out of IP addresses. NAT and firewalls would probably require me to do some configuration, but this is not complicated and easily worked around.

[^pay]: Pay with cash, or information, or your immortal soul. It’s all payment.

How can I be so sure that this software would be able to run well today? Because there were so few moving parts: the program was designed to talk to another copy of itself over a network. This is something we had known how to do quite well for many years prior to the release of this particular software. Because the program talked to itself, without a third-party broker in the middle, the only dependency was the program on the other end. A call could only be dropped if the program or network connection on one side stopped working. Such a failure would be immediately obvious to the person on the side that stopped working.

In fact, thanks to advances in emulation and virtualization, I’m sure I could run that software on my current computer. If the source code were available, I’d even be able to re-compile it and run it natively.

When comparing this software to a more modern replacement, such as Skype, it’s easy to see what the major difference is. The old software didn’t make use of a middle-man service. The software middle-man does things like tracking users, storing “profiles”, and funneling traffic. Those things are anti-features: we don’t want our “profiles” saved, we don’t want to be tracked, and we probably don’t want our traffic funneled. Time, energy, and money was spent developing “features” that no user ever wanted[^name-resolution].

[^name-resolution]: Someone will point out that Skype’s “address book” feature, is invaluable, enabling people to connect to each other without typing in IP addresses. But name resolution is a solved problem, and the solutions are beautifully simple.

Most software today, and more importantly the users of it, suffers under the weight of this needless complexity resulting from implementing anti-features. Skype has massive infrastructure, and employs thousands of people, so that they can do things you probably don’t want them doing. And charge you for the privilege.

People involved in software and technology love to drone on and on about efficiency, eliminating waste, and making things simpler. Why, then, are we building massive corporations, when small groups of people would provide better products? Why are we building infrastructure, and employing people to re-invent many wheels, when we could be automating, eliminating waste, and simplifying?

Science fiction authors have often talked about the post-scarcity economy. Put simply: an economy where things can be produced so effortlessly that they’re extremely cheap or free. By leveraging our skills, and focusing on simplicity, we have the skills to turn technical services into commodities that can be provided so cheaply they might as well be given away. Instead, we’re making simple problems needlessly complex, and making people pay dearly for the supposed privilege of letting those things into their lives.

On Resolutions

I’ve never really been a fan of the idea of “New Year’s Resolutions.” I don’t like to confine myself to a specific schedule for improving my life: I think that life improvements should happen often, and continually. An interesting thing happens at the end of the year, though: things slow down. Even when you’re a workaholic, things tend to slow down over the holidays. The combination of the slower pace and change in calendar makes it a convenient time to reflect on the last year, and to look forward to the upcoming one.

This time last year I was working too much on a finance start-up that was going nowhere, for abusive and exploitative Americans. And I was living in a place that I had outgrown. Over the holidays, I managed to stop touching computers for a day or two and reflected on what I was doing with my life, and thought about what I wished I was doing with my life. I was horrified at the difference between the two.

I don’t think that what I want out of my professional life is much different from most other creative technologists: I want to solve interesting problems, using fun tools, with enjoyable people. My work certainly wasn’t providing any of this, and because I was working for finance industry sociopaths I knew I was going to be screwed out of any potential upside anyhow. My focus on trying to save a broken company was preventing me from spending time with my family, putting any effort into my own personal growth, or generally getting enjoyment out of life.

A Realization

When I rested long enough to look at the big picture of my life, I didn’t like what I saw. My work was preventing me from having a life outside of work, it was not even vaguely aligned with my values, and I had outgrown the conservative, neo-liberal, Americanized country that I had lived my entire life in. These were the things I would have to focus on to improve my life.

It is difficult to impossible to find work with American (and Canadian, by extension) firms that enable you to work a “typical” 40 hours per week[^40-hours]. And if you want to have an exceptional career (obviously, being rich is the only way to be happy in American culture) then 40 hours isn’t even the bare minimum. It was important for my future happiness that I find work that enabled me to have a life outside of my work.

I was also becoming continually annoyed and infuriated by the proliferation of closed, tightly controlled, services that restrict users and steal their data. I didn’t want to work on a closed “Software as a Service” platform, the latest darling of the Silicon Valley “get rich while providing little to no value” crowd.

Perhaps most worrying, this time last year Canada was approaching a decade of rule under the tyrant Stephen Harper. The damage he and his friends did to the country, and especially its economy, was just starting to be realized by an observant and radical few. Even now, when the evidence is clear and obvious (but clouded by the decline in oil prices) people still don’t realize quite how bad this is likely to be. The newly elected underwear model is a huge improvement, but the damage done by his predecessor is massive, and will require many consecutive terms to undo. With Canada attached to the US, it’s unlikely to ever be fixed.

We decided it was time to start thinking about leaving Canada, and see what was out there. At the beginning of 2015 I started looking for a job in Europe. We had a backup plan that didn’t involve leaving Canada, and I wasn’t very optimistic that I would be able to find a job, and navigate the immigration bureaucracy to make the move. I was very pleasantly surprised at the response to my search. Nearly immediately, I found opportunities in Edinburgh, London, Sweden, Germany, The Netherlands, Denmark, Australia, Russia, and others. We ended up moving to Malmö, Sweden in June of 2015.

[^40-hours]: Technically, 40 hours is supposed to be closer to maximum. At least in Canada.

First Christmas

This has been our first Christmas in Sweden. The change in work and locality has provided everything we’d hoped it would. Just six months after moving, I’m less stressed, I’ve lost weight, and I’m noticeably happier. I actually play board games with my family, and we eat dinner together most nights. I’m spending more time with my friends, and we’re all learning new things.

I’m still not sure I like “New Year’s Resolutions,” but it’s nice to use the break, and the slower pace to reflect on what I did last year. In 2015, I changed my life dramatically and for the better. I couldn’t be happier for the result.

This holiday season, I’ve been thinking about how I was able to turn my work-life balance around in the last year. And I’m thinking about my health. I don’t have any resolutions, so to speak, but I’m sure it at least helps to think about where I am and where I might go over the next year.

Happy New Year!