New Version of My Halloween PhoneGap App

With Halloween less than a month away, I figured it’s about time to update my “Instant Halloween” PhoneGap sound effects app. I’m happy to say that the latest version is now out for both iOS and Android. It has a few new sounds, a new UI style, and has been updated for iOS 7. I also updated the low latency audio plugin so it now supports PhoneGap 3.0 method signatures and supports the command line tooling for installation.

halloweenThis app is fantastic for scaring people… Just hook it up to really loud speakers, and start playing the sounds to your heart’s content. It’s got everything from background/ambient loops to maniacal laughter, screams, ghosts, zombies, and other spooky sound effects.

It is available now, for FREE, for both iOS (5.0+) and Android (4.0+).

 

So what has changed in this version?

First, I updated the app to support iOS 7. For the most part, this is a non-issue. PhoneGap apps are based on web standards, and HTML/JS/CSS work pretty much everywhere. However, you do have to account for a few minor changes. One is that the OS status bar now sits over top of the application. You’ll need to update your UI on iOS 7, so there are no UI issues. Check out this post from Christophe Coenraets for details regarding creating PhoneGap apps for iOS 7.

iOS 7 also introduces some new UI design paradigms and guidelines. I simplified the user interface, got rid of all textures, and tried to make things as simple and minimalistic and native-feeling as possible. I also got rid of iScroll for touch-based scrolling – both the iOS and Android versions now use native inertial based scrolling from the operating system. This is the reason that the new Android version is only Android 4.0 and later, but it is also the reason that the app feels much closer to a fully native experience.

I updated the low latency audio native plugin to support PhoneGap PhoneGap 3. There were two parts to this: First, there is the updated method signature on the native interfaces. I just took the old plugin, and updated it for the new method signature. The new method signature was actually introduced a while back, but I never updated the plugin for it. Second, I added the appropriate XML metadata to enable CLI-based installation of the plugin for both iOS and Android. Take a look at the PhoneGap documentation for details on creating PhoneGap native plugins and plugin.xml.  Also check out this tutorial from Holly Schinsky for help creating native plugins for Android.

You can check out the full source code for the low latency audio native plugin for both iOS and Android, plus the plugin.xml specification on github at: https://github.com/triceam/LowLatencyAudio

To include it in your own PhoneGap 3.0 (or later) projects, you can just add it from the PhoneGap command line interface:

phonegap local plugin add https://github.com/triceam/LowLatencyAudio

Of course, as with all of my PhoneGap apps, this one is open source too. You can check out the full app source (minus the audio assets) at: https://github.com/triceam/Instant-Halloween

In the process, I also ran into an unexpected issue with Android deployment… Back in the spring I had a corrupted hard drive. I was able to recover *most* of my data, and I thought I had all of my app signing keys. It turns out that for Android, your apps must not only have the same signing keys, but also the same key store when you sign the APK files, or else Google won’t let you distribute the Android APK file as an update; it must be a new app. It turns out that I had recovered the key, but not the keystore. So, I had no choice but to distribute it as a new app.

Go download the free apps, get the source code, and start building your own PhoneGap apps today!

  • Manuel Paulo

    Thanks. For when a Build compatible version? Have you submitted the LowLatencyAudio plug-in to Build? Thanks again.

  • Lee

    had some big problems with this plugin to get to work, the problem i found out was i was using the ‘phonegap build ios’ command to compile, where as i should have been using ‘cordova build ios’ yet this isnt noted anywhere on the phonegap site or here, so for anyone who has trouble with getting it to work this was the problem for me, cordova seems to add a entitlements file to allow inter-app-audio, where as phonegap build command does not, therefore the plugin has no permission to play. ive searched and search for why but ive not found out the reason behind this up to now.

  • http://vispo.com/teleporter/webios Jim Andrews

    Does the Low Latency plugin work with Phonegap Build? If so, can you give us an example project, please?

    • http://tricedesigns.com/ Andrew Trice

      Someone has forked my code and submitted to PhoneGap Build. You can see it, plus documentation at: https://build.phonegap.com/plugins/286 The in-app usage should be exactly the same.

      • http://vispo.com/teleporter/webios Jim Andrews

        Hi Andrew. I got the plugin working with Cordova, both for Android and iOS, but I’m not having any luck with Phonegap Build. I put together the smallest possible Phonegap Build project that uses the plugin at https://github.com/vispo/LowLatencyTest1 . It isn’t working; window.LowLatencyAudio is undefined. I wonder if you could please let me know what I’m doing wrong. Thanks!