A little more than a year ago I was working as a Programmer at the University of Toronto building applications for the Faculty of Medicine. I was handed a project called UTMedFiles, which in short is an application that allows Lecturers to upload their files to the cloud so they can download it later at the podium right before their lecture. I liked the concept a lot and decided to expand on it. KokoTop (named after the sign language talking Gorilla) is the current state after iterating through a few prototypes (which were codenamed EclipseDownload, DeathStarLocker, TurtleTop, and KokoWare!).
Every now and then I go on some crazy adventures. A few years back a friend asked me if I wanted to fly from Toronto to Ft. McMurray just so we could drive all the way back to Toronto 5 days before Christmas. I did the trip and we ended up sleeping in the car, having the car on literally for the entire duration of the trip (4 days), and having no spare tire.
I had been inspired by three talks: This one by Steve Jobs, this one by KRS One, and lastly pretty much all talks by Terence Mckenna. The message I got from these talks was that from time to time you have to push yourself out of your comfort zone or routine. I decided to do something a little wild. 5 cities in 3 weeks. From Toronto -> Las Vegas -> Los Angeles -> Hong Kong -> Manila -> Hawaii -> Toronto. I came back from that trip with a lot of energy and inspiration and went to work.
I really liked the idea of being able to share files on the web and asked myself. What job would I want it to do and how would it work? DeathStarLocker was a little project that attempted to give me some sort of answer. Naturally, I built a music sharing application that allowed my friends and I to upload files onto the cloud so we could access the catalog of uploaded music. It was an ok prototype, no one really used it, so I scrapped it.
I had planned to work at the University for the next 10 years. But the trip around the Pacific changed my worldview. I realized that there was a huge amount of opportunity out there (don’t listen to the naysayers or pessimists, listen to your heart and your ambition) and I was simply wasting my time building yet another student enrolment system. So 9 months ago I decided to quit. My goal was to get this thing to beta in 6-8 months, learn as much as I can, and use the application as the beginning of a small business as well as a portfolio piece when I look for work.
At this point I had an Idea of what I wanted to build. I really liked the idea of being able to connect things together through the web. These things really are just pieces of data (or information. It is called IT for a reason!). URL links, Files, even communication is just data. My goal was to create a tool that handles data in a way that allows someone to get their ideas across to another person in real time. I wanted to create an application that allowed me to communicate and collaborate with my friends or team even if we weren’t in the same room.
I travelled to Vancouver and started working on this application full time. The challenge I gave to myself was to build an entire application from the ground up. Mockups, ERD’s, Front End, Back End, Design, etc… I had to do it all by myself. I also wanted to learn Ruby on Rails.
It took me around a month just to get used to the intricacies of Rails by then I was on a roll. There were problems though: How would the interface look like? What features would it have? I didn’t feel like customer development was necessary at this point because I was simply building this for myself and more importantly my main motive was just to learn learn learn.
As the build was coming along, my attention kept switching. Was this a cloud storage service like Dropbox? or Was this a Messenger service like WhatsApp? I was building something a little different. I really liked the idea of the interface being a “desktop in the cloud” mainly because that would allow me to add or tear down things without taking the feel of the application away. It was my interpretation of the Hacker Way.
At this point I came across a great book by Marshall McLuhan titled, “The Medium Is theMassage“. I can’t say I understand much of it, but the idea of Hot Media and Cold Media really resonated with me. Another book that I drew inspiration from was “Rework” from the folks at 37signals.
With McLuhan and 37signals, I realized that there is a difference between the many modes of communication and that each has its own unique usefulness.
Face to face communication would be defined more as cool media. It requires an active participation from the user. Text Messaging would be defined as hot media, as it requires less active participation but emphasizes one sense over the other (it’s much more analytical and logical). There are also differences in the form of lag. Face to Face communication requires you to respond right away, whereas communication through text is not time sensitive. Networked Computers give us an ability to handle the many modes of communication that exist. Even crazier, with the advent of Social Networks, new forms of communication can be invented!
With this realization, I felt I had something here that I wanted to focus on but I had to keep it as narrow and simple as possible. My goal was now to simply to build a communications platform for small teams.
In the next post I’ll go through some of the technologies and issues I have run into during this stage of the build.
P.S. Many thanks to Imtiaz, Clariss, Mark, and Terence for all the feedback you have given me these last few months.