From zero to webOS developer in one month
Join PreCentral member jbg7474 as he dives head first into webOS app development...
Ever thought about how cool it would be to write apps for your phone? I have. You would hardly be human if you didn’t look towards the fantastic developers we have hanging around here at PreCentral with a little bit of envy. We may not have the quantity of apps that are available on some other platforms, but we definitely have some very high quality apps available. Carbon is an onyx beauty. Neato! quickly binds your phone and computer into a working whole. Preware opens the gateway to a wide world of extra apps, patches, and more. You’ve seen them, you know what I’m talking about. There are some really great apps available for webOS. And behind each of those is a great developer, or several.
I wanted to be one of those dudes.
First of all, I needed a hobby. I was watching far too many movies and TV shows. It was time to spend some of that leisure bettering myself, rather than just being a consumer. Second, I see that there is an opportunity with webOS residing on HP PCs in the near future. Even a very small portion of one hundred million is a pretty big number. I may never get rich being a webOS developer, but with that kind of scale, it’s easy to imagine a few thousand dollars per year could be had without radical effort. Finally, even if developing for webOS pays nothing, the skills required are the same as the skills required for web development. And the web isn’t going away any time soon.
After getting through the w3schools tutorials, I was ready to start looking into webOS. I already had an account at developer.palm.com and had the SDK installed on my computer. Anyone can get an account and download the SDK for free. Understanding what’s going on, that’s another matter entirely.
I decided to start with Ares, HP’s website for development of webOS programs. You can do all of your programming for a webOS app right on the Ares website. Ares also has a graphical layout ability that makes it easier to get the view just how you want it, and it handles some things automatically for you so you don’t have to worry about them. The great thing about having your development environment online is it’s always just a web browser away. I can sneak in a few minutes of development at work on my lunch break without having to install any software on my work computer. That’s huge.
Ares links to a couple of tutorials that are helpful. One leads you through the process of building a Flickr app, and the other shows you how to build a simple map application. The tutorials are good, but they leave out a TON of information about how to build an app for real. The Flickr app is actually pretty capable, but the guts of it are in code that you just copy and paste, without much explanation. Working your way through code that someone else has written without many comments, well, painful doesn’t quite begin to describe it.
But there are some downsides to Ares as well. As I said, there is a whole lot of stuff that you can do in webOS development that is not very easily exposed in Ares. For example, you know the floating buttons that you see at the bottom of most webOS apps? You can’t do these directly from the Ares GUI builder. There’s a good reason for that: those buttons aren’t instantiated the same way as buttons that are on the page. But if you don’t know that already, you wouldn’t figure it out from within Ares. You would just develop an app without them. Ares supports these buttons, so once you know what you’re doing, it’s easy to get them into your app.
There is a lot of documentation available. The new improvements to the developer.palm.com website have made some of that documentation easier to discover. So that is very good. Between Ares, the plugins available for Eclipse (a more standard development environment), and the emulator, Palm has really done a good job of providing tools for developers. It’s not always tied together like you might want it to be, but it’s pretty rare to come to a dead end and not be able to do what you need to do.
After getting my feet wet with the tutorials and doing a couple of silly things like building a button that counts, I was ready to try for something a little more complicated. I had one or two ideas, but they required support from websites that don’t readily provide it. I turned to the great community at PreCentral. And I got a great idea right away. There are loads of people who have a niche app that they would like to see implemented. This is the positive side to a less than totally full app catalog: there is opportunity for new developers. So there is no shortage of good ideas. It has taken me a few weeks, but I now have a fairly substantial application that I’m almost ready to release. When I thought I had something pretty good, I again turned to the community and asked for some testers. Within a day or so I had ten people willing to test my app. And they each found some things that needed improvement. They helped tremendously. Now my app is a lot more robust, and should be able to handle the needs of a pretty decent slice of users.
I’m still learning. I’m not a webOS black belt developer yet. Just today one of my testers asked me for a feature that I have no idea how to build. But I’m excited about figuring it out. To me that is one of the main attractions of development: every little piece of your program is a puzzle to solve. Making it work, and then figuring out how to make it work elegantly, are challenges that are new almost every day. And just when you think you have it all figured out, new technology, like Enyo, will come out and cause you to rethink everything.
Not everyone can do this, and a lot fewer can be great at it, but I’m pretty sure you can do it. If you’ve ever been interested in developing for webOS, there will never be a better time than right now. You don’t have to get a degree in Computer Science. You just need some persistence and a web browser. In the immortal words of Nike, “Just do it.”