Earlier this week we learnt that the BlackBerry PlayBook has a UK release date of early 2011. But behind the hardware is a new OS that runs Adobe AIR apps, HTML 5 web apps and existing BlackBerry Java apps.
But what else does the OS have in store? We decided to delve deeper into the BlackBerry Tablet OS while in conversation with Dan Dodge, the head of the QNX team at RIM.
The media player
What we've been shown of the built-in media player coming on the PlayBook shows a nice interface, with album and playlist thumbnails as buttons and detailed track listings.
Dodge calls it "a full-featured media engine" that can read just about any file system you can think of (FAT, NTFS, HFS, SD cards – and network file systems like NFS and SMB over Wi-Fi). A media sync component keeps track of what storage you've connected or disconnected to keep the SQL database of available music, video and pictures up to date; this also stores ID tags for music and EXIF data for images.
When you create a playlist, the media engine runs an SQL query to build it (which should make working with even large music libraries fast) and loads codecs from the codec engine.
MEDIA HANDLING: The media engine in the PlayBook OS
The PlayBook specs say it can handle 1080p video, and the screen has 1024 by 600 widescreen resolution; the media engine treats the screen as having both RGB and YUV layers and the hardware rendering can drive the RGB layer directly, whether it's going out to the HDMI port at 1080p or doing hardware blitting to scale video down to fit on screen.
ALPHA BLENDING: The PlayBook treats the display as if it was two layers – and it can handle two displays
The YUV layer is 'on top' of the RGB layer so video controls can be alpha-blended on top of the video you're playing rather than being around it.
Under the covers
QNX has real multi-tasking and (with the dual 1GHz cores in the PlayBook) multi-processing; Dodge talks about running dozens of applications at once and swiping between them using the navigator; apps will zoom up from the central strip of previews as you switch back to them and zoom down when you swipe across to another app.
Will you be able to see more one app on screen at once? The QNX microkernel could certainly deliver that, says Dodge; it's a question of what makes the best user experience.
"The apps you see in the navigator; you're actually seeing the app - they're running. Usually we tell those apps to stop to save battery life, but when we had it in debug mode we could watch OpenGL in this window here and there's a video running and they're all completely live.
To go left or right, I swipe and those are live apps sliding across the screen. Right now everybody is looking at an app per screen but it doesn't have to be that way. You'll see some amazing things we haven't seen before - and that could be one of them."
ALL LIVE APPS: Each of the app windows you can see is a live, running app, not just a graphical preview
Apps can certainly have multiple windows and the composition engine that handles all the different windows (and is also responsible for taking touch and keyboard input and passing it on to apps) is particularly sophisticated; Dodge calls it one of the key capabilities in the system.
"All these applications they all have their own renderers. So if it's an OpenGL game, it's rendered as OpenGL. WebKit is a software rasteriser, Adobe AIR apps rasterise on OpenGL.
Different rendering engines
These programs all have different rendering engines that are rendering content to surfaces and the surface are controlled by the composition manager and handed out to the apps." And those multiple windows can actually be using more than one of the different application platforms that the PlayBook will run.
The simplest example would be HTML content displayed in a web view with the interface around it built in AIR, but apps can do a lot more, Dodge told us.
"I may have an Adobe AIR application, I may have a Java window, I may have an embedded HTML 5 renderer which is a different surface, and I may actually have video playing could be yet another surface, which is talking to a hardware YUV video player."
Dodge also mentions handling PDFs natively for display and, he says, "there are a bunch of other views that we will be announcing".
COMPOSITION: You can have multiple apps, with multiple windows arranged on top of each other, each using a different renderer; the composition engine puts everything in the right place
Unlike most smartphone apps (but like desktop OSs), not everything in a window has to fit on screen at once; a concept Dodge calls a viewport. "We can render something bigger than the screen and pan over it with smooth hardware scrolling; browsers do that a lot."
Again, that viewport can include multiple types of content."If you're doing a pan, it may actually pan across other surfaces like video and it all has to work seamlessly together. This is not easy to do but we've been working at this and this is one of the areas that is key to making the system feel fluid and natural."
And while apps get less CPU power in the background, they're not frozen or suspended (and they'll only be shut down if you run out of memory completely).
Battery life or user experience?
Video and audio stops playing when you put it into the background, unless it's the 'master' media app on the system which can play in the background (and you can set any media player as the master, not just RIM's own media app).
Yes, that saves battery life, but it's also about what's the best user experience – which has been the subject of some discussion.
"When an AIR app goes to the background," Dodge told us,"we immediately drop the frame rate to about three frames per second and we stop rendering, which means even if you're changing the model inside we're not doing any of the work to put the pixels anywhere and as soon as you become visible again you will be updated.
In the case of a web page, when you go off screen we have debated many times what to do. If you're running HTML 5 video, we pause you. Some people say 'I'm listening to music on YouTube, I'd like to hear it' but then sometimes you just want to shut the browser up because I'm somewhere else. We don't want this cacophony of things playing.
So we've gone back and forth on what the proper user experience should be. Right now, our browser, when we kick it off screen, we stop the output."
That's different if you're playing the video on a second screen through the HDMI port, he explained; "If it was going out the HDMI, it would continue to play. Again, it's what makes sense. If I've redirected to the HDMI, I should be allowed to do other things on the screen."
Expect impressive games as well, because the PlayBook supports C++ and OpenGL. "What this tablet is going to able to be do in the area of gaming is going to be off the scale", claims Dodge. "You can do games in Java as well but you're probably not doing your first-person shooter there."
Expectations like that are why Dodge says; "This isn't just another tablet;this is a killer tablet." If RIM can deliver what he's promising the PlayBook will do (and developers pick up the ideas and create apps that match his grand vision), it's going to be truly impressive.
Article continues below