BlackBerry 10 OS, BB10 Operating System, BlackBerry 10 Dev Alpha device

Truphone’s Adam Linford, whom we interviewed regarding the BlackBerry 10 VoIP app in March, has just sat down for another interview, this time with the BlackBerry Developer Blog. While there’s not much new in the way of information over what we already know feature-wise, there is a more in-depth look into how developing for the BlackBerry 10 OS really is.

Mr. Linford calls it a “piece of cake” when asked how the experience in cross piling the code was. Despite having to overcome a LoC hurtle involving the audio parts of the hardware, it only took 60 man days before the “entire audio engine was ported and hooked up in our automated build environment with unit and integration tests complete.”

[BlackBerry 10 is] unix-like, which makes it open source friendly, which means you can stand on the shoulders of giants. It’s a great platform for prototyping and innovating, or indeed any project where you need to get productive quickly.

There are seemingly no private APIs on the device either, which means you don’t have to spend time working around limitations put on the device by the manufacturer.

Tru has shared the pjsip code as well, though the code itself is not of use to those of us without a BlackBerry 10 Dev Alpha device. Still, it’s great to see Tru making such great progress on the app.

Mr. Linford also reiterated that the app would be released alongside the BlackBerry 10 launch. Still no word on when the iOS and Android versions will come out, but chances are they will release simultaneously with or after the BlackBerry 10 version. Read the full developer interview below and leave your comments on the Tru VoIP app and its development!

What is Tru App?

The Tru app is our mobile application, available on BlackBerry 10, iOS, and Android, that allows our users to call and message people for free, or very cheaply. It works with our SIM offerings to provide a unique experience across GSM and VoIP.

Share your experience in cross compiling your code for BlackBerry 10.

Piece of cake! We have about 250k LoC in our voice engine, with many layers: signaling, NAT traversal, socket management, codec management, and much more. The only layer we needed to work on was that part that controlled the audio units (the actual hardware). Even that didn’t require that much work — 60 man days and our entire audio engine was ported and hooked up in our automated build environment with unit and integration tests complete!

What APIs did you use to build Tru App on BlackBerry 10?

For the audio unit work, we needed to work with the AlSA-like API that the BlackBerry 10 OS (which is QNX based) provides. This is subtly different to ALSA in that you request a preferred audio unit to be opened on your behalf, based on what state the device is in; e.g. it might be in hands-free mode, or might have a headset plugged in. We had to learn those APIs, which was fairly straightforward, as all the documentation was available online on the QNX website. There were one or two changes that are obviously specific to BlackBerry 10?s QNX implementation, but RIM® helped us in overcoming those challenges, and I’m sure that information will be fed into the API docs for the upcoming release of BlackBerry 10.

Other than that, we had to work with the Cascades™ framework and its Qt APIs (as well as QML to render our views). That was only complex in so far that much of it was not documented, but that is common with pre-alpha products! Since the alpha devices were released to the public at BlackBerry World™, all the documentation has been provided to make this a fairly straightforward task.

How was your experience relative to working with other platforms and BlackBerry 10?

It’s unix-like, which makes it open source friendly, which means you can stand on the shoulders of giants. It’s a great platform for prototyping and innovating, or indeed any project where you need to get productive quickly.

There are seemingly no private APIs on the device either, which means you don’t have to spend time working around limitations put on the device by the manufacturer.

How was your experience working with the RIM team?

Without wanting to sound like I’m biased, it was honestly really impressive. I’d heard RIM had put a lot of investment into developer relations, and that was obvious. The guys were massively responsive and attentive. It wasn’t just the dev relations guys either — the devs themselves took time to speak to us and get our feedback.

Is Tru App going to be available on BlackBerry 10?

Yep, we’ll be ready come the launch date!

What does this port mean for developers?

It’s a platform that you can add to your existing mobile strategy with low cost and minimum effort. It’s a platform you can innovate on, and there is an existing customer base you can rely on for revenue. Tecnically, it’s a very strong platform.

BlackBerry Developer Blog

Avatar photo

By Josh Robert Nay

Josh Robert Nay is the founder and Editor-in-Chief of TruTower. He has worked in the telecommunications industry since 2003 and specializes in GSM based technology. He also uses (too many) VoIP apps and is a long-time user of BlackBerry, Android, and Windows Phone. He adores anything having to do with space exploration and writing. In addition to the links below, he can be found on LinkedIn and can also be found on his website at http://www.joshrobertnay.com.