Developer Spotlight: Dan Perlberger
Join us as we talk to developers large and small in the webOS community. This week: Dan Perlberger. Are you a developer interested in getting spotlighted? Hit us up!
Name: Dan Perlberger
Location: Wilmington, North Carolina, USA
Current devices: Sprint Pre on webOS 1.4.5 as my primary, and for development a Pre Plus running 2.0.1 as well as a Pre Plus and Pre 2 both running 2.1
Tell us about yourself. Really, we want to know.
Wow that's an open-ended question! Let's see, where to begin... I've been a software engineer since 1996. Most of my career has been in real-time controls written in C; however in the past few years I've also had experience in Windows development (mostly VB and VB.NET).
I spend most of my free time with my beautiful wife and lovely, yet incredibly funny 23-month old girl. When the weather's nice, we like sitting out on the porch blowing bubbles for my daughter, going to the park, kicking the ball around in the backyard, or having a make-believe tea party. When I'm not spending time with my family or working on my webOS apps, I play in a beach volleyball league.
I'm also a big movie fan. I have hundreds of movies in my collection from all different types of genres. And what may come as a big surprise (ok maybe not), I listen to music all the time...at work, in the car, at home, while mowing the lawn, while vacuuming...everywhere! My favorite musical genres are R&B and Hip-Hop from the 80's and 90's.
What in your background led you to develop for webOS?
I wanted to try something different. I've been working on control systems and C code for ages and have always wanted to get into web development, so when I heard about webOS it sounded like a fun thing to do especially since I nabbed the Pre on launch day.
Your first app was easily one of the most popular homebrew apps: Music Player (Remix). Why did you choose to tackle something like improving a built-in app over building your own?
I never intended to have Music Player (Remix) be my first real webOS project. I wanted to do an app from scratch but I couldn't think of a good idea at first. So while I tried to come up with something, I figured I'd spend some time learning webOS. The best way to learn a new language and development platform is to jump right in and start playing with code.
The reason I chose to play with the music player app was because I really wanted to replace my MP3 player with the Pre, but there were several key features missing from the stock app. So I decided to add a few basic features to help learn webOS. I never thought I would release the app, but then I saw PreCentral launched the homebrew section and I figured maybe some other people might enjoy some of the changes I made.
The reaction I received from the community was amazing. Tons of people started writing in the forum thread excited that someone was working on improving the webOS music experience. A flood of requests came in with new feature ideas. I still didn't have an idea for a new app, so I just went with it and continued working on Remix. Eventually I added more advanced features like flylists and bookmarks and the app really started to take shape. A few months later it was downloaded more than 200,000 times which was incredible! In late October '09 I finally came up with the idea for GeoStrings and I put Music Player (Remix) on hiatus.
Music (Remix) 2.0 is available now in the App Catalog, and it's grown a lot since the first homebrew edition. What was the transition process like?
In the summer of 2010, Palm announced that the media indexing APIs would be released in an upcoming version of webOS. So I decided to dust off Music Player (Remix) and start working on it again. Even though the old homebrew version was incredibly popular and well received by the community, I wanted to treat version 2.0 like it was a brand new app. So I redesigned everything inside and out. I had a bunch of ideas that I had written down back when I was working on the original homebrew version (including autolists, faves, mini-player, etc.) and decided to run with them.
Version 2.0 was finally ready to be presented, so I posted a video demonstrating the new features. The community started giving me some great feedback and again I had a forum thread igniting with activity. It felt like the good ol' days back when I was developing the original homebrew version. So I decided to take the app out of private development and go back into homebrew.
Why do you continue to develop for webOS?
If it wasn't for the community and my love of the platform, I probably wouldn't be. There have been a lot of bumps in the road that have made me wonder whether I should continue. But I still have a lot I'd like to accomplish with webOS and having the support of the community, devs, and Palm Dev Relations folks has helped tremendously.
What’s your take on the current state of webOS development?
Right now it's in limbo. Last year, there was a big push from HP/Palm to start developing for webOS 2.0. It seemed like 2.0 was the future. It had a ton of new development features and new APIs, but after February 9th everything changed. It seems now that they'd rather we skip over 2.0 and move straight to 3.0.
I compare it to the Terminator movie franchise in an alternate universe. Terminator 1 was a good movie, but it didn't do that great at the box office. That's webOS 1.x. Terminator 2 was the blockbuster sequel that blew everybody's minds. It's probably one of the best sequels in movie history. That's what webOS 2.x could have been. Now imagine Terminator 2's release was delayed and then eventually the studio never released it. Instead they announced they would reboot the franchise and cast Sylvester Stallone as the new terminator.
That's what it feels like. It feels like we were on the verge of something great and now HP is rebooting and starting over from scratch. It feels like we're missing out on what webOS 2.0 could have been.
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 and the new form factors such as the TouchPad are having a huge impact on my development. If we were still in a Mojo-only world, I'd be moving ahead with my next app and life would be simple. But we're now in the undiscovered country (quoting Star Trek VI). Developers have a big decision to make. Do they continue to create Mojo apps for 1.x and 2.x users (the existing, yet dwindling userbase), or do they create Enyo apps for a possible future userbase?
Plus from what I can gather, webOS 3.0 will only be released initially on the TouchPad. So Enyo won't even be supported on the new phones. This makes me lean towards sticking with Mojo for my next project. However on the other hand, Music Player (Remix) would be amazing on the TouchPad and I already have some great ideas for it. So I'm still debating which path to take for my next big project.
Given the chance, what’s the one thing you would change about the webOS development process?
That's easy. I'd improve the communication between developers and HP/Palm. First of all, we have no good way of keeping track of webOS bugs, which is especially important during webOS beta testing. We all post a million threads in the early access forums and a lot of times issues get lost in the mix. Secondly in regards to communication, there have been several occasions where developers were left in the dark and were not informed of important decisions until it was too late.
And just to be clear, I think the Palm Developer Relations team has done an excellent job in working with us. I know they're aware of the issues, but I think their hands have been tied in a lot of situations. Hopefully now that their team is under new management, we'll start seeing some real improvements.
What are you working on right now?
Recently I've been working on a new app called Quick Post that allows you to post to multiple Twitter and Facebook accounts. It takes the hassle out of posting by automatically compressing or splitting long messages, queuing up messages when there is no internet connection, and allowing you to post messages to multiple accounts using webOS's Just Type. Quick Post was just recently made available for all devices running webOS 1.4.5 or later.
I'm also continuing to work on improving Music Player (Remix). The next big feature I'll be working on is Exhibition mode. I have something really cool planned that nobody will expect!
Thank you so much for your time. Any parting thoughts for the webOS community?
I'd like to thank the webOS community for supporting my work these past 2 years. They're a great bunch of people and I'm glad I've had the opportunity to be a part of it all.