My relationship with THE CLOUD and how it shaped communications
Anthony Minessale II
Founder & CEO SignalWire / Founder FreeSWITCH, ClueCon
The year 1996 was a significant one for me. My daughter, Abbi, was born, Brett Favre and the Green Bay Packers won the superbowl (for the first time in forever) and I started a journey into modern technology that has never seen a dull moment since. I had just started working for a company doing web hosting. What’s that you ask? Well you already know, but back then you probably would have asked. A crazy notion that you could take some unix shell accounts, use some server software to line up a directory in that shell account with something you can reach with a Web Browser, a fancy new software application promising to “Visualize” the Internet. The Internet, you know, that place we lovingly refer to daily as The Cloud
Obviously Today we say “Duh, I have a web browser on everything I own.” and “Of course, we love the cloud, we can make anything possible by harnessing the power of the cloud with all its mighty synergy and data driven yada yada!” Back in 1996, that was not so evident to everyone but I remember those early days vividly. I must admit I’ve been caught a few times folding my arms saying. “The cloud? You mean the Internet…..?”
In 1992-1993, I was already interested in computers but not yet fully woke to the wonders of the Internet. My experiences were limited to what I did with my university shell account which included: FTP-ing files from ftp.funet.fi on an IBM-3151 UNIX terminal and playing on muds (real time text-based multi-user gaming). While I was still trying to figure out this thing called C that let me say “hello” to the whole world, the first idea of a web browser was emerging in something known as Mosaic, a software that could let you visit Gopher, NNTP and Web Pages, a fancy new visual document you could connect to with a special address called a URL. The idea was, if everyone got a $3,000.00 machine called a personal computer in their house and used up some of their precious real-estate in their living room, they could sit at this contraption and “browse” by connecting this machine to a phone line in your house and try to find your way online at a blazing 9600 bits per second of information.
In 1994, we were introduced to Netscape, the first Web Browser typical people might actually use. (By typical people, I mean not crazy tech nuts like myself who would try to translate a port mapping from the university mainframe over dialup meant for telnet access and get a TCP/IP stack running so I can see Mosaic run and connect to a real page, if but for a minute) In 1995 we saw the coming of Internet Explorer Microsoft’s acknowledgement this might be a fun game. Also in 1995, we saw Mysql and Apache spring to life. Mysql was a freely available open source server-side database and Apache was an open source web server derived from the one developed at NCSA https://www.ncsa.illinois.edu/ , an amazing project then and now that popularized many key components on the Internet including the web server and its browser.
So here I am in 1996. Brand new toys and they are basically free and a fancy new idea to put them all together like some kind of communication puzzle. We have a web server, we know anyone with a home pc and emerging internet access will be able to visit this web site, so, what now? Maybe we can make online brochures for everyone! Wait? We also have a free database. We can store information and retrieve it and we can also run programs on the other side of that web browser that look like web pages to everyone else but its really running my program every time someone visits a new link. Mwa ha ha! I bet we can do something interesting with that beyond printing static words and pictures. In fact, you can run programs IN THE BROWSER TOO? Wait? I could write programs on my web server that write more programs that are downloaded and run. This is getting interesting. I know, what if I made free email where you used this web browser thing to read it? Nah, that sounds stupid but hey you never know! What if I made a site where you can build more web sites while you were at the site? Site Inception! *shrug* Maybe, I could make a customer relationship thing where all your customer data and communications with support is saved into a db and you can manage all of your communications with them from a browser!
Some of these ideas were had by many and yes I did try to make all of those things myself using the prehistoric tools I had back then and yes, some of them became a thing we know today and it wasn’t my version but one thing was consistent. The spark that ignited back then has continued to burn into an ever-increasing potential for communication. Every year since, more doors are opened by faster Internet connectivity, smaller and faster computers and new and amazing advancements on how to leverage the tools that first appeared in the late 90’s. Since that time we’ve had a bubble burst from too much too soon and economic setbacks and horrible catastrophes shape the way we communicate.
In the early 2000’s my web hosting company had evolved into touching more verticals like domain hosting and registration, outsourced technical support and dial-up Internet provider. Suddenly I had a need to involve making phone calls into the mix. We had e-mail and a CRM (I actually made it with… guess what? a web server and a database!) but we wanted to be able to take lots of calls and see who was calling from the web and allow the agents to be anywhere and still be able to be part of the system. This is when I met Asterisk!
Asterisk was an open source PBX that allowed physical phone lines to be plugged into a PC running linux and do stuff with the calls inside your computer. It had application services for things like call queues and it seemed a perfect friend for my database, web server and other tools it even supported some new fangled Internet based communication protocols that were emerging. The wonders of the magical Cloud strike again.
A problem soon surfaced with this idea, however. Asterisk “did what it did” and that did not always line up with what I wanted it to do. It was open source so, no problem! This was the beginning of when I learned how hard it is to make telecommunications work. Not just the software, the phone lines, or the phone service and the physical equipment needed and having all the moving parts work together. Soon I found myself under the hood of Asterisk nearly every day. It was actually kind of fun (but not always). I put a whole bunch of effort trying to take some of my visions and impart them into the design of the software as a whole, guided by the things I wanted to be able to do to make the ideas I had possible. One day, after realizing that while I enjoyed working on Asterisk, I might have ideas for it beyond its scope and maybe I was doing it more harm than good, I just opened a new empty file and started typing what would end up being my own fluffy contribution to the cloud, FreeSWITCH.
FreeSWITCH is my own vision on what a communications platform should be. I was heavily influenced by my past experiences and all of the great things I really liked about server-side software platforms like Apache and Postgres and UNIX in general. I started writing code in 2005 and today in 2018 its still growing. Throughout this 15 year stint in software development I have tried to empower developers with a similar path to have a path forward in building communications tools. We have modular interfaces and plug-ins and the ability to add new communications protocols and use an event-bus to get metadata about calls and many other things.
Today, not only have I developed software that runs in the “Cloud”, I have found a way to connect it back with my beloved web browser. Somewhere in the timeline, (2013-ish IIRC), we suddenly have WebRTC, The ability to make voice and video connections from a modern web browser. Holy crap, I can work with this! I developed a prototype protocol called Verto for connecting FreeSWITCH to a browser and making calls and all kinds of fun stuff. Too bad I can’t go back in time and give these tools to myself in 1996. Great Scott!
Still despite all this work, a lot of complexity remains and many developers feel a barrier-to-entry trying to get up to speed. All the while I’ve been inspired by that same spark back in 1996. This is why as I look to the future I only saw one possibility. Developers are emerging faster and need a lower learning curve to leverage communications. We need a way to provide them with the tools they need and access to this magnificent Internet (*cough* cloud) that i’ve been fascinated with for 20 years. In order to do this right I needed to pull together my entire rolodex of developers and bring our technology to the mainstream. Just like the good old days of getting computers and visual internet into the hands of the people, we need to bring communications to the people with the help of the developers of the world.
I founded SignalWire in late 2017 because I can’t stop looking for ways to advance how we use the Internet for new and amazing things. We are a cloud company but it’s not just a buzzword to us though I still do get triggered by its overuse sometimes ;) We want to push the limits of communications as far as we can, so one day, in 2038, we can write another article about how silly things were back when we had to convince people we can give them a magical socket that unlocked everything they needed to build any infrastructure and applications they ever dreamed of and connect the tiny computers in their pockets to machine learning and artificial intelligence platforms using only their voice to interact. We can reminisce about Creating video conferences inside a virtual or augmented reality interface or remember how there used to be this thing called a phone company who was in charge of all the phone calls you made and limited who and where you could communicate.
I invite you all to learn more about SignalWire and FreeSWITCH and to join us on the next chapter of the cloud and see where that original spark takes us and live by our motto: Develop. Deploy. Disrupt!