Thursday, May 5, 2011

Developer Spotlight: Kevin Foreman

Join us as we talk to developers large and small in the webOS community. This week: Kevin Foreman. Are you a developer interested in getting spotlighted? Hit us up!

Name: Kevin Foreman

Location: Detroit, Michigan

webOS Apps: PowerNap, Dealert, and Catchwords

Current device: Sprint Pre 2

Tell us about yourself. Really, we want to know.

I am sort of a rare breed. I am a developer that has really come to appreciate the art of design. As developers, we often look at applications as checklists. Is feature A done? Check! Feature B? Check! As long as both feature A and feature B are implemented and work without bugs, we’re generally pretty happy. What we often fail to test, however, is how intuitive these features are and how pleasant the experience is to use them.

When developing a new app, I always begin with an Information Architecture (IA) that helps me define the experience before ever writing a line of code. Developing the core functionality is usually the easy part. Coming up with a compelling interface and strong usability is usually where the bulk of the work is spent throughout my development cycle.

What in your background led you to develop for webOS?

When webOS and the Palm Pre were first announced at CES 2009, my internal gadget-lover switch kicked into one of the highest gears I have ever experienced. webOS looked absolutely brilliant and cured my ever-increasing apathy of my Apple iPhone at the time. I knew I was going to own a Palm Pre on launch day, and as soon as Palm’s conference ended, I immediately started thinking of app ideas that I could bring to the webOS platform.

Having already developed a lot with HTML/CSS/JS, I was even more excited that I didn’t have to learn an entire new language just to bring my ideas to webOS. While learning new programming languages and frameworks can be fun, it’s always nice to be able to apply well-tuned skills right out of the gate. With very little ramp up time, I was able to release my first app, Dealert, after receiving the SDK just a month beforehand.

Why do you continue to develop for webOS?

Even after 2 years, I still really enjoy webOS and the experience it delivers. I truly stand behind the platform and want to help it succeed in any way that I can. Could I make more money elsewhere? Sure. However, I feel my apps would suffer in their design if I were to port them to competing mobile OS’s.

Almost all of my apps utilize webOS’s key differentiating features. For example, PowerNap relies heavily on webOS’s ability to multitask and the underrated dashboard control scheme. In fact, users have loved these features so much that they helped make PowerNap become the 3rd highest rated app in the App Catalog. At its core, it is a nap timer. However, webOS allowed me to make the best timer application developed for any platform, and those are my customer’s words, not mine!

Dealert also takes major advantage of background processes, which it uses to track product deals across the web even when Dealert is not actively running. Have a product you’re looking to buy? Add it to Dealert, and when you least expect it, it will alert you via a dashboard notification that your product went on sale. Even with iOS’s new “multitasking” API’s, Dealert could simply not be done on iOS without a major server backend. webOS allowed me to keep Dealert entirely on your phone, without any sort of external account or service.

And finally, the community behind webOS is absolutely amazing. The users who have stuck with the platform since June 2009 show just how amazing webOS really is. Pair that with the absolute best homebrew community in the entire mobile space (<3 WebOS Internals!), and you have many compelling reasons to continue to stick with this fantastic platform.

Do you do any development for other platforms?

At my day job, I am Senior Interactive Developer who gets to develop for a lot of really new and interesting devices. I have developed applications for the Microsoft Surface, Kinect, Windows 7 (touch), Xbox 360, Windows Phone 7, iOS, and others I can’t really discuss…

Wow. So how does your webOS experience compare?

Where webOS really stands out is its unique feature set it offers to developers. Elements like dashboard controls, Synergy, Exhibition Mode, Just Type (with Quick Actions), Touch-to-Share, etc cannot be found on other mobile OS’s, and gives developers an advantage in creating a differentiated experience with their app.

Also, one feature that webOS supports, that often goes unnoticed, is the ability for 3rd party apps to work together. Back when the Hot Apps contest was taking place, James Harris contacted me about integrating his Free Music Ringtones application into PowerNap. We developed a solution that allowed a user to set any ringtone they downloaded through FMR as PowerNap’s alarm sound. The apps communicated to each other seamlessly, and is completed supported in webOS without any hacks/rooting/jailbreaking of any kind.

What’s your take on the current state of webOS development?

Well, we’re in a bit of a transition period right now with Enyo right around the corner and Mojo seemingly on the way out. There haven’t been many new apps developed lately, but I believe this is the calm before the storm.

Developers know that Enyo is the future, so we’re putting our time and effort into learning the new framework and less on releasing new Mojo apps for the current lineup of phones. However, this is a good thing. Enyo is a much better framework and will lead to better designed apps. With hardware acceleration and other optimizations built in, new apps built with Enyo should give a much more fluid and responsive experience.

If you’re new to webOS and are interested in developing for the platform, this is the perfect time to jump in. HP just released the new webOS 3.0 SDK, and with the Veer, Pre 3, and TouchPad right around the corner, you couldn’t choose a better time to hop on board.

Where do you see webOS development going in the future? In particular, how do you see Enyo and devices like the TouchPad running webOS 3.0 affecting your development?

The new devices, especially the TouchPad, really excite me. There is so much more an app can do when you have the real-estate that devices like the TouchPad offer you. Instead of applications designed entirely around vertical scrolling lists like you have on a phone, the TouchPad allows for many new design and interface paradigms that will really allow the form factor to shine.

What I am most excited for though is the integration between the devices. I was extremely pleased to hear Jon Rubinstein say that they’re opening up Touch-to-Share to developers! The possibilities here are really exciting. I already have some ideas I am working on to take advantage of this fantastic feature.

Integration between each webOS device is where I really think webOS can outpace the competition. Being able to take a phone call or answer a SMS from your webOS phone on the TouchPad is simply awesome. I really hope developers choose to take into account that webOS is now a platform meant for more than just phones, and really embrace the interactivity between devices.

Given the chance, what’s the one thing you would change about the webOS development process?

Mainly the anemic debugging/profiling tools. It is extremely difficult to debug apps and profile them to see where performance may be taking a hit. Enyo will help a bit in that regard, since you can use any standard web browser’s debugging tools, but I still wish HP/Palm provided better tools to help test our apps with.

What are you working on right now?

I just recently finished adding Exhibition support to Dealert and am working on an update to PowerNap to include some new functionality. I love supporting my current apps as well as working on my new ideas.

As far as new apps are concerned, I have a few Mojo apps I haven’t finished that I still want to release. The first is a Home Energy Monitor app. It interacts with the TED 5000 energy monitor and displays your energy usage, history, stats, etc in real time. Second is a sequel to PowerNap. Many PowerNap users asked for multiple alarms support, recurring alarms, and more. I am happy to announce officially on PreCentral that I have a solution for you! This app will essentially take the intuitive interface and feature set of PowerNap, and incorporate them into an all-around timer app. If you find that you use PowerNap as your all around alarm/timer app, this new sequel will provide even better features to manage your sleep/tasks/cooking/etc activities!

Thank you so much for your time. Any parting thoughts for the webOS community?

I really appreciate all of the feedback and support my customer base has provided me. In every app I develop, I include a submit feedback feature to allow the user to get in contact with me immediately, without having to fill out email forms. It has proven to be an invaluable feature, as the community has provided some fantastic ideas to improve each and every one of my apps. I read and respond to every single one of these requests, and I wanted to make sure I thank you again for all of the feedback and support.


FAIR ISAAC FACTSET RESEARCH SYSTEMS F5 NETWORKS EPICOR SOFTWARE EMULEX

No comments:

Post a Comment