Micro-Apache Generic Interface
This is the project that started it all. We even made t-shirts for the project. When I was at UC Irvine, I was part of a lab that worked closely with the W3C, Netscape, and Microsoft on emerging Web protocols and standards including the integration into their browsers and servers. One of my colleagues, Roy Fielding, was the chairman and co-founder of the Apache Software Foundation. A group of us were sitting around one day lamenting Roy's plight that with 2 million Apache HTTP servers running on the Web using the HTTP 1.0 standard, it would be practically impossible to upgrade them all to HTTP 1.1 including all the necessary fixes. We recalled the very same problem when there was probably only 200 HTTP servers online.
The solution was to out-deploy the old ones with news ones. Obviously with 30 to 60 million HTTP 1.1 compliant servers on the Web today, that turned out to be a good strategy. Magi was created to go one step further. What would a world look like that had 2 billion Web servers? About the same time, our other colleague, Jim Whitehead, was working on a protocol called WebDAV that held the promise of changing the Web from a read-only medium to a read-write one. What if we could overcome the dynamic naming, DNS routing, firewall, authentication, security, and access control problems such that anything and everything with a processor could be protocol-compatible with everything else and make the Web a truly interactive medium? That was when I coined the term "Magi".
The first implementation of Magi started out as a stripped down Apache server. The second was a minimal implementation from scratch that could run on a Palm Pilot as part of UC Irvine Engineering professor, Pai Chou's, graduate class project. Magi was supposed to be a simple way to 'get there from here' as groundwork for my decentralized work project, but it soon outgrew it. Later at my company, it turned into a collaboration product similar to a P2P version of Lotus Notes called Groove Networks.
Applets and Oranges
When Java came along in 1995, we were one of the first adopters of the alpha1 release. We chucked our whole implementation and redid our project in 100% Java as it was the only language that supported all of our requirements: built in security, cross machine portability, multi-threaded runtime, ability to be interpreted or compiled on the fly, and network enabled portability. In May 1995, I was invited to present my work to Sun Labs. It was really well received, except by one person who came up to me after the talk and said, "Your work is interesting, but tell me about this Java language." I politely told him that it was created here at Sun Labs--to which he incorrectly told me that it must have been Sun Labs Europe. Netscape also seriously considered licensing the infrastructure from UC Irvine to integrate with their server offerings. In fact, our little research group ended up in a 3-way sales competition with powerhouses such as H-P and Lotus Notes.
That summer, I decided to start running class projects as a way to further my research. Professor Dick Taylor, my then-future PhD advisor, put together a series of senior level software engineering classes that included working on our Web-based decentralized work product. Students to this day tell me that class was the highlight of their education as it prepared them for the real world more than anything else they learned at the University. As it was also one of the first classes anywhere that taught Java, students were graduating and finding high paying jobs immediately. At the height of the Web craze, companies in 2000 were asking for Java and Web developers with 5 years of work experience. Unless you worked at Sun Labs and were part of that original group, being a graduate of those first couple of classes was the only place you could get that depth of background. The project wasn't well known publicly, but it got the right attention in the high tech world. We had the former co-CEO of AT&T Wireless and McCaw Cellular visit us in Irvine. This lead to the best advice anyone has ever given me. On his way out, he asked me if I had a 'private placement' document to which I answered, "A what?" A friend of mine, Rohit Khare, pulled me aside and said, "If anyone ever asks you again for a private placement document, the answer is always 'Yes, I'll send you one'". The first lesson in raising money is, if you have nothing else, always have something on paper they can invest in.
The Birth of Web Surfing
Everyone has their own stories about how they discovered the WWW. I first discovered it in 1991. Back then, you used the Viola browser. The only thing on the Web was the 1990 CIA World Factbook. I was working in the same lab as a group doing open versus closed Hypertext systems. Over the course of March 1991 through May 1993, I had worked on implementing a way for my Dad to use my UC Irvine dialup account so that he could see my surfing pictures of all my adventures to faraway places. A couple of years later, I found out that Sky Dayton made a couple of billion dollars off of the very same idea and solution. By that time, I had collected quite a few pictures by scanning them in. The easiest way to let someone view pictures online back then was to use HTML and the early Web browsers. You could click on the name of a picture which launched a graphics viewer as another application. Back then, Web browsers didn't support inline image viewing. When I went live with my "Adventures in Surfing" (original), I received a lot of hate email. Take a look at the picture at the left. It's a picture of me dropping into a huge 300 yard, 10' face of a wave at a secret surfing spot outside of Cabo San Lucas in 1991. The image is about 25 kilobytes. I was accused by random people of "clogging up the Web" and "degrading the performance of the Internet" by putting up these large images that were bandwidth wasteful.
Being the type of personality that isn't easily deterred, I decided to put up an even larger Web site that included video clips called Greg Bolcer's "Video Adventures in Surfing" (original) in 1993. Obviously putting up a 2Meg to 20Meg video capture at that time was frowned upon in academia resulting in even more hate email. One of the emailers used the subject 'Web surfing". I believe that even though the term "Net surfing" had been used for reading bulletin boards online, this was the first time that phrase was applied to the Web. The general thrust of most arguments was this: Surfer's will never use the WWW. Again, not one to be discouraged (and living in Huntington Beach at the time with lots of friends who were lifeguards), I set up a semi-live video camera so that I could check the surfing conditions at the Huntington Beach Pier while sitting in my office on campus at UC Irvine in 1995. The idea was so well received that my server quickly became overwhelmed, and I had to retreat to time-elapsed image captures. That same year, we approached a couple of funders to try to raise some money to make a viable business out of the idea. The two things that kept us from raising the cash were, 1) there's no fundamental revenue model underlying the content delivery and even if there was, surfer's are cheap and will never pay for anything--this was before advertising and the raw numbers of people on the Web, and 2) you guessed it--Surfer's will never use the WWW. It's funny how wrong people can be. Surfline ended up making millions off of the same concept a couple years later.