Forums | Reviews | Search | Full Version

Join us as we talk to developers large and small in the webOS community. This week: Davis W. Frank of Pivotal Labs. Are you a developer interested in getting spotlighted? Hit us up!

Name: Davis W. Frank

Company: Pivotal Labs

Location: San Francisco, New York City, Boulder, Singapore

webOS Apps: Mostly known for Tweed and Scoop, but have been involved in a bunch of other apps. Some we can talk about: AP Mobile, Gowalla, Citysearch; and some that we can't due to client wishes.

Current device: still on a Pre on Sprint

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

Pivotal Labs is a software consultancy, helping our clients build high quality web applications, mobile applications and software engineering teams. Our clients include Palm, Best Buy, Twitter, Gowalla, and Groupon. So we work with all sorts of companies: everything from the one person with an idea and a check all the way to the Fortune 500 company who needs to add new features to an old codebase.

I've been with Pivotal just over three years now and have been a technical lead on our webOS efforts since late 2008. I lead the development on the open source JavaScript testing framework, Jasmine (more on that later). I've been in software for a long time, both coding and managing. I won't say exactly how long, but I will admit that I did see Nirvana play live.

What in your background led you to develop for webOS?

First, webOS development is web development. We develop most of our web applications in Ruby on Rails. Moving to a platform that is mostly JavaScript, HTML and CSS was a simple shift for us to make. The technology stack and toolset was familiar, making it a set of skills worth adding to our consulting offerrings.

Second, it was very easy to adapt our practices, especially test-driven development and fast, frequent releases, to Palm's platform. After only a few weeks of playing with the SDK in late 2008 we were able to have five projects underway for apps that shipped at webOS launch in mid 2009.

You recently discontinued Tweed, one of the early and continually popular webOS Twitter clients. What motivated that decision?

I outlined the various reasons in the blog post. But the biggest influence was that we don't have the resources to spend keeping up with the Twitter API and users' expectations. We're not really a product company - at least not for end users. Pivotal Tracker, our agile software project management app, is for developers and we use it to manage our business. So it's more natural for us.

New things pop up in the Twitter ecosystem every few months. It's a product with a potentially gigantic, diverse user base. It's a lot harder for us to manage effectively. In the last year Twitter changed their authentication scheme (twice if you count the Direct Messages change that just happened), how they identified tweets, and how search worked.. And that's under the hood - there are plenty of end-user-facing features that we just never got around to. Each feature or change takes work and time - time that wasn't paying for itself. Honestly, some of the other webOS clients handled this change better than we were able to. Factor in Twitter's new position on third-party clients and we realized that it was time for Pivotal to move on.

Do you have plans to continue building webOS apps?

Absolutely. We have active webOS projects underway right now and regular interest from potential clients. But I wouldn't expect to see another Pivotal Labs branded application any time soon.

Do you do any development for other platforms? If so, how does your webOS experience compare?

HP webOS was our first mobile platform, but we now develop for iOS, Android, and mobile web. Our webOS experience has certainly informed our experience on the other platforms. We had to write a test framework for JavaScript, called Jasmine, in order to do our work for webOS. We've done the same for Objective-C on iOS with Cedar and Java on Android with Robolectric. Jasmine has helped our work on desktop web development and mobile web development. Design guidelines and technologies are different for each platform, but we feel we can execute to an equivalent level of quality on each of them.

But because JavaScript, HTML, and CSS are so capable and we've been web developers for many years, we're very efficient with webOS. I can take any of our Ruby on Rails developers and make them productive on a webOS project in a week or two.

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?

Enyo is a huge leap forward in terms of ease of development. Not just the framework, which is as nice to work with as Matt McNulty says it is. But that by reintroducing the desktop browser as the primary development tool, developer efficiency goes through the roof. You can work in Chrome or Safari for most of your day, then push to the emulator and devices for user-experience testing and real-world testing (for things like location, cell network issues, etc). 

We're also able to use the same set of development tools - including browser integration tests with Selenium & WebDriver - that we use for Ruby on Rails web applications. This is affecting us today by letting us build higher quality software, faster than we did a year ago. So we're confident that we can write Enyo apps for anywhere that HP decides they should go.

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

Get it out of private beta ASAP. It's now easy for developers to get into the program and play with the new SDK. But we're not allowed to talk to each other about it. Get the restrictions out of the way so we can get the community moving forward.

What are you working on right now? (you can plug recently-released projects here as well)

Unfortunately I can't talk about any of our current webOS projects.

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

You're welcome. If you're doing any web development at all, especially if you're playing with HTML5, PhoneGap, jQTouch at all or any of the new JavaScript frameworks that keep popping up you'll be comfortable playing with Enyo. There's no need to learn a new language or a new large set of APIs to get started in mobile development. So go get into the beta program today!