Quik Thinking

 
« Back to blog

Backstory to the adventure I am about to begin

About four and a half years ago I was finishing up my undergrad in CS at Waterloo with plans to pursue a masters in Software Architecture. But over the previous couple of years I had grown increasingly fascinated by the burgeoning field of user experience design. I also wanted to write Linux software, however, and there didn't seem to be much demand for Linux developers who were passionate about building products that were easy and fun to use. It was then that VMware contacted me. They were trying to expand their UI team, which actually produced highly regarded commercial Linux software. So, when they offered me a chance to join them, I took it and moved to Silicon Valley with very little idea of what my life would be like. Moving 3000 miles away to start my first real job in a place where I didn't have any friends was somewhat scary but also very exciting. I spent a lot of time hanging out at Stanford, volunteered for local organizations and joined a small group at a great church I found.

Working on the Linux UI for VMware's Workstation product was great: I was learning a lot, my coworkers were inspiring and the weather was a marked improvement over Southern Ontario. Once a year we were encouraged to attend an industry conference of our choosing. My first time I picked the Computer Human Interface conference, which was held in Montreal that year. The conference was wonderful, although the focus that year was on designing software for mobile phones rather than virtualization. I returned to work with thoughts of mobile phone software filling my head but VMware didn't do much in that area so I didn't have much opportunity to apply what I'd learnt about it. Nevertheless, there was plenty else to fire my imagination and keep me occupied.

After about a year of living in Silicon Valley, I grew bored of the suburban life and moved to San Francisco when VMware began running shuttles between SF and the offices in Palo Alto. Despite the longer commute, I was much happier living in the city. As the opportunities for socialization increased, I found that the Blackberry I'd bought for mobile email access and Google Maps was getting long in the tooth. GPRS was painfully slow and it couldn't handle EDGE so I replaced it with a 1st-generation iPhone shortly after they went on sale. Despite its shortcomings, the iPhone was easily the best smartphone ever created and I began wondering how much longer it would be before smartphones began to conquer the mainstream market.

I also found myself wanting to do more international travel after having flown around the US a fair bit giving talks about VMware and virtualization at college campuses. I'd been wanting to visit Peru in particular but was intimidated by the thought of wandering around there unable to speak any Spanish. So in the summer of 2007 I spent a fortnight in Guatemala taking immersive Spanish lessons. While I was there, VMware was spun off from EMC as a new public corporation and we got stock options with a 4-year vesting schedule. After some initial exuberance, however, the stock sank down to underwater levels when the entire world economy was dealt a series of body blows by the real estate and financial sectors. On the bright side, a few months after the IPO I was able to get an office in the city and could bike to work in 15 minutes again.

While most corporations were in lockdown mode due to fears of a big recession, Apple was busy addressing the criticisms its original iPhone had received, chief amongst them being the lack of any 3rd-party native apps. In the summer of 2008 they opened up the app store and suddenly there was an easy way for independent software developers to build and sell iPhone apps. As the number of iPhone and iPod Touch users grew, the appeal of that market opportunity began to explode. Although I had no experience writing software for either Mac OS X or any mobile device, I grew intrigued by the prospect.

Meanwhile, after three years of working on Workstation, I wanted a change. That change came in the form of an exciting new project that had me hacking on X11 code. I wasn't the only one working on exciting new stuff, however. Google and Palm had decided to introduce innovative new platforms to the smartphone industry. Although both were running the Linux kernel, they had eschewed the aging X11 in favour of  their own newfangled graphics display systems. While Google invented their own runtime for apps, developers would be able to write them in the popular Java programming language that I had used extensively before my days as a Linux UI hacker. Similarly, Palm had created an app framework that could run apps written using Javascript, with which I was also familiar.

As the project I was working on at VMware matured, we started having to put the various pieces together. That was when I realized that enterprise software development wasn't conducive to the kind of lightweight and iterative development methodology that appealed to me. As time wore on, the appeal of striking out on my own to write smartphone apps grew increasingly strong. While I toyed with the idea of hacking on stuff in my free time, the reality was that after spending all day writing code at work, the last thing I felt like doing when I got home was writing more code. Finally, in October I made the decision to take the leap. The stock price had risen over the past few months and enough of my options had vested that I could afford to take a couple of years off work to pursue my dream of hacking on mobile software. Better still, working on my own meant I could work from wherever I happened to be, allowing for more travel.

Rather than wander from place to place, I wanted to spend a few months living in one city and get to know it well. I wanted a city where people spoke English, the weather was warm, the cost of living was fairly low and the infrastructure (i.e. drinking water, Internet access and public transit) was decent. After some research, Kuala Lumpur seemed like the best bet. I was initially going to move there at the beginning of December but then a good friend told me she would be visiting Peru (and Bolivia) immediately after Christmas and invited me to join her. I knew she spoke fluent Spanish so I jumped at the chance and moved my departure for KL out by 6 weeks.

Since leaving VMware I have spent the past 2 months working on my first smartphone app. I took up the first week conducting market research to figure out what to make. Based on my research, I decided to write an asynchronous social game based on an existing party favourite: Pictionary Telephone. Wanting to let people with smartphones running different platforms play with each other, I decided to use a client-server architecture. For the server, I picked Google App Engine as the framework because I had toyed with it a year or two ago and liked it. I came up with a REST API for letting clients interact with the server and then built up a simple prototype of the game with a bare-bones Web UI so I could get early feedback on the experience. As I got input from people, I kept changing the prototype until it was finally fun to play, at which point I began work on the first smartphone client (for Palm's WebOS), for which I got a prototype working this week.

It's almost time to bid farewell to California now, as it flirts with bankruptcy, but even after 4 years there are things I never did while I was here, like hiking in Muir Woods. Perhaps I will return someday and get around to that. Right now, however, South America awaits!

Comments (1)

Dec 26, 2009
Tony said...
Bon voyage Mr. D! And what a way to start the new year! Godspeed.

Leave a comment...