Archive

Archive for the ‘webOS’ Category

The first paid app is Air Hockey for webOS! Questions? Answers.

October 6th, 2009 24 comments

Last week Palm let the first paid apps for webOS out from behind closed doors.  As luck would have it, our Air Hockey was the first app for sale in Palm’s App Catalog.  The first 24 hours yielded an amazing amount of press for Palm with Air Hockey riding on the coat tails.  Engadget, Tech Crunch, PC Magazine, and piles of others reported on the beginning of Palm’s paid App Catalog & all talked about Air Hockey.  As Engadget reported, Air Hockey was the only paid app for a little bit – 100% market share isn’t a bad place to start.

There have been lots of questions fired our way over the last couple weeks.  We can now spill the beans.

Why webOS?

We’re in the business of creating and selling great software.  Opportunities in nearly every platform are kicked around.  When Palm first announced their Mojo SDK, we applied to be a developer.  Palm has a long history of popular hardware (you had a Palm Pilot back in the day, right?) and the Pre was hardware worthy of some good apps.  They were only picking a handful of participants, so it seemed like a long shot.  As part of that application process, the questionnaire asked what app we would be developing.  We figured the best bet would be an established application instead of something new.  “Air Hockey” went in the app name section.  In the comments section (i.e. the “beg for approval” section), Air Hockey’s previous #1 paid game ranking in the iPhone App Store found it’s way onto our makeshift resume.  Couldn’t hurt.

While development was underway for Occurro! (for the iPhone), we got accepted into the beta developer program at Palm.  After all the signup was done, we realized that Palm had only announced plans for free applications.  Our development efforts were going full steam towards Occurro!‘s release but without the option to actually sell apps, spending resources developing for webOS didn’t help our company grow.  Sure, free apps help build the brand.  Sure, apps could be supported by ads.  We looked at it.  It didn’t make sense.

Occurro! launched and was featured by Apple.  Starting a new iPhone project made sense.  Then they called.  Palm knew Air Hockey for webOS was at least somewhere in someone’s mind.  They asked how close the app was for release.  There wasn’t much to say besides “Ummmm…”

After dancing around a real status on the release date of Air Hockey for webOS, we talked for a while about why there wasn’t any progress.  There were several concerns, but #1 on the list was the lack of ability to recoup the cost of developing for webOS.  With roughly 300,000 Pres in circulation at the time (our best guesstimate), it would take multiple ad impressions per day from every Pre user to add up to much over the relatively short life of software.  To put food on the table, we had to be able to sell our apps.  Plain & simple.

“Uhhhh, we’ll call you back.”  After a few days, a non-disclosure agreement showed up.  I sent it back & we set up a meeting.  There was going to be a paid section App Catalog soon.  Oh yeah, and there’s a new device coming soon.  Palm wanted Air Hockey as a demo for the announcement of the new device.  It didn’t have a releasable name.  Just “new device.”  Things changed.

After meetings with product managers, engineers, vices of this, and chiefs of that, a demo of Air Hockey for webOS became #1 on the to-do list at Acceleroto.  We got to work with a very inside team to make the Air Hockey demo happen on time.  There wasn’t a “real” fast-motion game on the Pre yet, so there were a few hurdles.  We were invited to Palm to finish the development, but decided that timeline was so tight that the travel time to & from would actually impact the progress.  We had a Pre to test on & the SDK tools were in place to check for differences on the Pixi.  The demo for the Pixi launch was ready on time.  Next up, the paid version.

The demo version was very specific.  It was a technology demonstration to be used as part of the Pixi announcement.  The paid version needed more polish, more options, more features, etc.  The first 90% was done, but there was still 90% to go.  Through help straight from Palm and lots of sleepless nights, Air Hockey for webOS was ready the day Palm’s back end developer portal was ready to accept apps.

Did they pay you?

No.  No money made it our way from Palm for the development of Air Hockey (we didn’t ask though).  Palm keeps 30% of the sales.  We’ll get the other 70%.

How did you decide on that price?  It’s more than the iPhone version!?!

Economics 101.  It’s no secret that the iPhone version of Air Hockey has been $0.99 since it launched in July 2008.  When it launched, there were approximately 10 million iPhones & iPod touches that could run it.  At the launch of Air Hockey for webOS, there are something on the order of 1 million Pres that can run it (another guesstimate).  There’s more though.  There were about 3000 apps available when Air Hockey launched a couple weeks after the App Store opened.  At the time of writing, there are 125 apps available in Palm’s App Catalog.

No matter what the price, we don’t expect Air Hockey for webOS to bring in as many sales as the iPhone version.  Since we still need to make back our development resources, we have to charge a little more.  Economy of scale.  $1.99 made sense as our best guess for the sweet spot for Air Hockey.

Some people will think that’s too much.  Some people will not be able to afford it.  We know.  Some people will be very happy get Air Hockey for less than the cost of their morning cup of coffee.

How many sales do you have?

We’re still holding our breath.  After 24 hours, there were about 100 reviews for Air Hockey in the App Catalog.  Since you can write a review on your phone (instead of having to go back to a computer), we’re guessing the ratio of reviewers to purchasers is higher than it is on the iPhone.  We’re guessing sales are somewhere higher the number of reviews.  After that, we just don’t know.  Remember that the Palm developer program is still in beta?  They’re still finalizing the app sales stats stuff for us developers.  We’ll know soon.

How is webOS development compared to iPhone development?

Different. The actual hardware is remarkably similar between the iPhone & Pre.  The biggest difference is in the programming language & SDK.  iPhone development is centered around Objective-C.  WebOS development revolves around JavaScript, HTML & CSS.

The coding effort for the webOS & iPhone Air Hockey versions was tackled by Bryan Duke.  He knew C, C++, Objective-C, BASIC, FORTRAN, and even some ADA – but not a lick of JavaScript.  Thankfully JavaScript borrows from other languages so the nuts & bolts were quick to learn.  Objective-C (iPhone) programs are compiled to an executable binary.  JavaScript programs (webOS) are, well, scripts that are interpreted real time.  There’s an inherent difference in the execution speed of a given chunk of code.  Games require speed, so this’ll be a primary development concern for all you webOS devs out there.

Besides the language is the development environment.  The iPhone uses Xcode & webOS uses the Mojo SDK along with the Eclipse IDE.  Both work, but they’re different.  Intially getting your code onto a Pre is actually a whole day’s work easier than it was on the iPhone.  Bonus.  Debugging, however, is 1000x easier in Xcode.  Tradeoff.

What were the hurdles in development?

Speed.  We told Palm that we wouldn’t publish a game unless it ran at least 30 frames per second. Our webOS code is skinnied up from the iPhone version quite a bit to keep things fast.  After things were optimized, the single biggest time user is actually drawing everything to the screen.

Memory management (aka Garbage Collection).  WebOS is allows users to run multiple apps at once.  Users beg for multitasking.  You think it impacts game performance?  Absolutely.  Even if every app behaves nicely, they all consume memory.  Memory management is handled by the OS without any direct say of the individual applications.  Whenever the OS decides, it does a Garbage Collection.  Currently, this takes about 300ms (about a third of a second).  Air Hockey contains specific code to lessen the impact of these pauses, but developers can’t turn them off.  A lot of time was spent making sure objects weren’t needlessly allocated to minimize the frequency of the Garbage Collections, but you’ll see the pauses.  That may change in the future – we don’t know.

Touch handling.  WebOS runs apps basically as web pages.  So, touches are handled like mouse clicks in web pages.  Long story, but there are some specifics that equate to “touch neutral zones” in the OS.  If you look closely, you can tell that the touch response (drag your finger across the screen) isn’t as smooth as the background physics engine, puck & opponent movement.  We know & we’re working with Palm to make it better.

Sound.  The programming for sound is done, but there’s no sound currently in Air Hockey.  “WHY!?!?!” you’ve asked.  It’s not ready for this type of application.  The sounds work, but the ability to perfectly time them isn’t quite there.  If we included sounds, you’d be upset with them.  They’ll be included as soon as it makes sense to.

Timeline.  It happened quickly, but it was all-consuming.  Meeting the demo & paid timelines wasn’t trivial.  People are waiting on Occurro! and Air Hockey updates for the iPhone.  It’s time to get on that.  Oh yeah…and there’s another secret project starting soon.

Questions?

Leave a comment.  We look forward to hearing from you.