So, some time has passed since the open-sourcing of the Enyo framework and I’ve had some time to put aside my “Oh my god! Oh my god!” excitement and start formulating a plan and to reflect on what being a webOS developer has afforded me.

Let’s Take a Step Back
Mid-2009, Palm shows off the first webOS device, the Palm Pre, at CES. I happen to be in the market for a new smartphone. 

Actually, let’s take a few more steps back.

I’m a problem solver when it comes to the way I use computers. I’ve been a developer in some capacity since the second grade (built a Tic-Tac-Toe game in BASIC). Once I discovered Visual Basic 6 (using a “borrowed” copy from my uncle), I discovered that any time a program frustrated me, I’d just make my own that didn’t. Hated the calendar application in Windows 95, so I wrote my own to pop-up reminders for important events, like birthdays. The idea that I could fix something by creating something new excited me.

It was around that time that I got into web development. My first major web project was in high school where I built an online community around (yes, I know…) “new metal”. Yep, a community for Korn and System of a Down and Coal Chamber fans to post lyrics, photos, music videos, etc. It got pretty large. All of it was static pages. I’d take e-mail submissions and manually update the HTML files. A few things were done by copy-pasted widgets, but it was mostly static.

As I got older, I got into ASP, and later PHP, where I started to make websites for friends and family. I’d eventually start my own side business developing websites professionally, once my design and user experience skills increased. By 2009, I had been a professional web developer for about 10 years, both as a freelancer and for my day-job.

Now that you have my background, we can jump back to 2009.

So as I saw and read about webOS I instantly knew it was for me. Why? Because I could develop my own apps for my phone! I had never considered becoming an app developer by any means. I wanted to write apps for my old Windows Mobile 6 device, but frankly, I didn’t want to learn something new.

webOS opened a door for me to make my life easier, not only because the OS was, as I saw it, ahead of its time, but because I could make little apps that did things for me when I found things I didn’t like in existing apps.

And so I began writing the foursquare app for webOS. I wanted foursquare, but webOS users were out of luck. SMS was a terrible way to check in, and the mobile website required you to search for the venue, which wasn’t very helpful or speedy. So, I started writing the app, got some big help from a couple of other guys (Chris van Buskirk!) and the foursquare team (Naveen has had a huge hand in my success as a mobile developer as a result), and people liked what they saw. I made it prettier, made it more like the Android and iPhone experiences, and I got the confidence I needed to build more apps.

It’s important to note that I never intended my foursquare app to be used by anyone but myself. It was, in my eyes, a stop-gap until foursquare eventually developed one in-house. Unfortunately, partly because of my diligence and partly because of webOS’s lack of market-share, that never happened. So, as a result, I kept building to make the app what it is today.

The same thing happened when Google built Chrome-to-Phone for Android, an app that allowed you to send URLs from your web browser to your Android phone. I loved this idea and wanted, so I set out to build a little utility for webOS that did basically the same thing. Again, I was aiming to just make something for myself. But, people wanted the tool themselves and so I expanded its capabilities, made it prettier, and neato! was born.

Not much later, I did the same thing, only because Untappd’s mobile web interface couldn’t get GPS coordinates in the webOS browser, webOS users couldn’t add their location to their beer check-ins. So, to work around that, I built growlr, a little app to let you check-in to Untappd and attach your foursquare location to your check-in. I actually got the very first API Key for Untappd’s API to develop this app. Greg Avola, the CTO, had to add me into the database manually!

These three apps and the support from the webOS community made me realize that I was, sort of by chance, a mobile app developer.

Coming to Terms
Once I realized I was mobile developer, I needed new ideas. I also needed to make some decisions. 

I had come up with my latest idea — incredible!, a sort of aggregator for a user’s social media accounts — and I absolutely wanted it to be a webOS app. At this point, my then-girlfriend-now-wife Rhea was a Pixi user, I was a Pre user, and the murmurs of what webOS was going to be were loud. HP had purchased Palm and all we heard about was what great things were going to happen with this revolutionary mobile OS.

So, because of all of that, I put all of my eggs into the webOS basket and started development for incredible!. This felt like a good idea. Sure, webOS was barely fighting for 3rd place in the mobile market, but everything felt like it was going to advance. It felt like my choice was a smart one. As an indie developer, making the leap to crossplatform is expensive, what with developer program fees (about $100 on most platforms) and the cost of buying devices for each platform (and, in most cases, phone and tablet devices for each platform). It didn’t make financial sense for me to go cross platform at the moment.

So I stuck with webOS. And, despite HP killing off webOS hardware, despite webOS never reaching 3rd place in market or mind share, despite people laughing any time I said “webOS”, despite the quick buck being an iPhone developer made you at the time, this was the best decision I ever made.

I’m Ahead of the Game
You see, because I wrote my apps as webOS apps first, I probably missed out on some cash. That sucks. But, because the webOS community is so good and strong and supportive, and because the webOS Developer Relations group is so good and strong and supportive, I was somewhat successful. I have some dough in my PayPal account. Not much, but it’s there. 

But, because I chose webOS as my target platform, I’m ready for what 2012 webOS will bring. With the open-sourcing of Enyo, I can easily port my apps to iOS and Android using the same code base.

You see, I, today, right now, have a working version of my next app, Wooden Rows, running beautifully on webOS on my TouchPad. Taking that same code, I built a PhoneGap application and have that same app running beautifully on an iPad. And, because of the open source nature of webOS, the Android community has managed to get Android running on the TouchPad, which means, for free, I have an Android tablet to test on. Which also means, in addition to my same code running on webOS and iOS, I also have it running on Android.

That’s such an amazing thing to me, I want to state it again:

I have the exact same code for my webOS app running on iOS and Android.

Is it perfect? Nah, I have to make a few tweaks here and there, but the point is, it’s there and it works, and it’s worth charging money for in the App Store and the Android Marketplace.

And what’s awesome further is that because of webOS and Enyo’s web-based technologies, making my apps scale down to phone-sized screens is pretty much a matter of making some changes to my CSS for the app to work on smaller screens. I’m about 60% done getting my webOS tablet app working at phone resolutions on 3 platforms.

This means that Wooden Rows will be available on:

  • HP TouchPad
  • Palm Pre (all)
  • Palm Pixi (all)
  • HP Veer
  • iPad (all)
  • iPhone (all)
  • Android phones (as many as possible!)
  • Samsung Galaxy Tab
  • Amazon Kindle Fire
  • Other Android tablets

And that’s just the beginning.

So, again, being a webOS developer means that I have a cross-platform app almost ready for the masses, and I have a free webOS and Android tablet device. All because I made a seemingly silly decision to stick with webOS.

Looking Into the Future
Since I’m well-versed in the ways of Enyo, I am head of the game even into the future. Once Enyo 2.0 is fully baked, I’ll start developing all of my new apps using it and targeting webOS, Android, iOS, and Windows Phone 7. 

I can build apps for pretty much any platform using everything I know right now, without having to learn a new language. I can sell my apps 3 to 4 times over. 

I can, for real now, feel like a mobile developer.

And I owe every bit of it to choosing that Palm Pre back in 2009 and never looking back. Thanks, webOS community. Thanks, webOS Developer Relations team.