I thought I should write up what I consider to be one of the greatest webOS success stories to date: mine.
Back when this all started for me in June 2009, I had never written software more complicated than a simple shell script or possibly a UI to an Access database in Visual Basic for Applications. In other words, I wasn’t a software developer, much less a web developer.
So, I was in London when the Pre was released. To be honest, I wasn’t much of a mobile device junkie back then (still not as hardcore as some), but I did have my awesome Treo 755p (last of the PalmOS devices) with me because I still had time to GeoCache and I had a great paperless system going with the Treo and a slick bluetooth GPS receiver. Anyway, I started reading up on the Pre and its new webOS operating system while I was in London and decided that when I got home, I would upgrade to the Pre.
On the glorious day I got my Pre, I stumbled across the #webos channel on Freenode IRC. Quickly, I found my way to #webos-internals. Between those two channels, we worked together to figure out how to create our own simple apps and get them loaded on the device. It was very exciting for me to be able to do that, even though my app was nothing more complicated than your typical “hello world” HTML example. Just the power of being able to create my own app and use it on my own device was intoxicating.
At this point, I must admit a sickness I have. For some reason, I really enjoy interfacing with databases in code. I had previously hacked around with Drupal CMS and learned all sorts of horribly insecure ways to use PHP to access mySQL databases. One of the first “serious” webOS projects I began was a GeoCaching application. I wanted to store the waypoints in a Mojo database and leverage the GPS capabilities of the device, etc.
For my next trick, I wanted to use the GPS. So, I had a simple canvas where I would draw an arrowhead pointing to the selected cache and even got it to where it would rotate correctly. That took me about a week and a half of hardcore wtf-ing and headscratching. But, when I was done, I had the basic functional pieces of what was going to be THE GeoCaching app for webOS.
Then, I went on vacation to the mountains of Colorado in July 2009. When I returned home, a MUCH more highly polished GeoCaching app (which I can’t seem to locate now) was already available in the PreCentral (now webOS Nation) homebrew area. I learned some lessons there. But, rather than being depressed about my shortcomings, I decided to share what I had learned. Thus, the Mojo database article at the webOS Internals wiki was born. I cashed in on that one for a long time 😉
So, I decided that I wanted to write an app and see if people would use it. I chose a very simple game to implement and over the course of the next 3 months, dove into the HTML and CSS side of things to learn about stuff I should have been paying attention to since 1995, which is when I first started working in “computers”. As a humorous aside, I did technical support for IBM’s OS/2 operating system. I always pick the technologically superior, but less marketed option. I guess I’m a sucker for underdogs, too. Looking back on the first app I publicized at PreCentral is an exercise in humility. It is truly dreadful to behold, but plays as advertised. But, that was the app that opened the door for me.
About a week or so after it was available (and 10K+ downloads), I noticed I had received a private message from someone purporting to work at Palm asking if I would like to have my app be available in the app catalog. It seemed that Palm would be starting the developer program beta and I was being given the opportunity to be a part of it. I still remember how excited I was and thinking “wow, and I’m not even a ‘real’ developer!” Of course, I said I wanted to be part of it and then began that journey as a hobbyist app developer.
Time passed and we saw the Pre Plus and the Pixi Plus come out. We saw Palm get purchased by HP. In November 2010, there was a Developer Days event in New York, New York. I so much wanted to be part of that because I just knew they’d be giving away Pre 2s (like they had given away Pre Pluses at previous events I had missed), but at the time our personal finances would not allow me to take a trip to New York. That’s when I decided to really cash in on any reputation I might have in the awesome webOS community. I started a ChipIn campaign to raise money for my airfare and hotel. I posted once in the developer forum imploring anyone that I had helped to consider helping send me by chipping in and I might have tweeted once or twice about it. I also went to my number one client from Elance for some support. I think I raised the money in less than a week. I was dumbfounded, grateful, and exceedingly happy about the way everything worked out.
After New York, it was back to my RealJob and RealLife but something had changed in me. I was tired of my current job. I had been doing it almost 8 years, and while I was really good at it, it failed to really ignite passion in me. What was igniting that passion was writing webOS apps.
In February 2011, I was sitting in a hotel room in Bogota, Colombia when I saw a tweet about the “webOS SWAT” team. Are you kidding me? I want to be that! I was thinking to myself “there’s no way, Dave, that you are qualified for something like that” but you know what? I’m really glad I didn’t listen to myself. I began tweeting about my interest. The person running the @hp Twitter account contacted me asking what I thought the SWAT position would entail. I gave my best 140 character answer. The next day, I saw on LinkedIn the job description that was pretty much verbatim the bulleted responsibilities I had given @hp. So, I knew at least I had nailed the job description 😉
I started making phone calls to contacts at Palm. I started getting phone screens. At every step I gave full disclosure and always opened with “I’m no web developer” and then would proceed to detail my true qualifications (awesome troubleshooting ability, public speaking, refusal to say “impossible”, etc.) and my story of webOS life to that point. My strategy worked well. Eventually, they flew me out to Sunnyvale for a round of face-to-face interviews.
Once again, my internal doubt voice was incorrect. I was offered a position on the SWAT team and started working there in May 2011. It was one of my proudest moments when I got the nod. I have forever been grateful for the opportunity and have always made sure to let them know that I will never go until I am forced out.
These last few months have been very trying and we had another tough day very recently where we lost really good people across many disciplines. But, I am still here and I am still committed to making webOS succeed and making sure our developers share in that success.
I hope that sharing my journey from hobbyist developer to webOS SWAT Engineer helps inspire you to follow your passion, no matter what it is. Life is far too short to do something you don’t love just to service debt or fit some arbitrary definition of “success.”