BlackBerry Classic is almost here! To help developers get ready, this webcast (available on demand here) focused on a few specific learning points and adjustments that need to be made to ensure a smooth transition of apps to the BlackBerry Classic. (A total of 550 developers registered for the event, with 263 of those attending.)
Russell Andrade, Senior Product Manager NDK, began by explaining that the BlackBerry Classic is a bit of a hybrid, unifying some of the key features users love about BlackBerry Q10 with several of the great aspects the ever-popular BlackBerry Bold brings to the table.
BlackBerry Classic brings back the trackpad and navigation keys (call, menu, back, end), and fuses them with a solid 720 x 720 square touchscreen. If your app looks good on the Q10, it should look good on the Classic.
Some new APIs and tools are available for developers, dealing mostly with issues surrounding the “Classic” buttons that everyone is waiting for.
The simulator tool is great for testing apps before publishing, especially since the Classic isn’t out yet.
The Nitty Gritty
There are a few other things to remember when building or transitioning your app.
You need to check the resolution because the Classic is at 720 x 720. Try to avoid specifying anything in pixels, and have all your layouts as stack layouts or dock layouts; design units will work best.
There is some credential management support, and enhancements have been made to our PIM messaging and management system.
With assets and images, use nine-slice scaling – it will scale better as you move to different resolutions, square and rectangle. You’ll need two sets of assets to load onto the appropriate devices for the cleanest experience possible.
There are a number of physical keyboard event types for interacting with the trackpad – begin, move, end, press and release, cancel, and so on. You extract the event with event handler in QML, and you can also figure out your delta x and delta y.
Then there’s the ability to focus when you’re hovering over a control and that control gets highlighted. Note that on Cascades you might need to override what Cascades wants to control. If you don’t want to focus (if it doesn’t make sense, and you can’t interact), you can disable or set the navigation focus policy to “not focusable.”
Other overrides might also be necessary for things like trackpad navigation. It’s possible to force Cascades to choose the next focusable item. Highlighting can also be manipulated, even down to the color of the highlight.
It’s strongly recommended that you avoid using the call key, menu key, back button, and end button (navigation keys). The reason is that even though you can override, the user base will expect to use these as they were intended to be used and will, by default, simply take you out of the app.
Assign a default action to the trackpad. Users will expect to use it for something, so assign it something intuitive.
Ken Wallis, Senior Product Manager for WebWorks, then entered the picture to add some tips for working with WebWorks and building for the BlackBerry Classic.
“Touch-enabled keyboard event” is a pretty neat one. You’ll get an event passed back on your callback that will contain all of the touchpoints the user currently has active on the keyboards. This could be multiple fingers; you can track the state (moving or not), and select and determine the “touch keyboard” x and y values so you can track movement. This is available in the SDK and also in the Cordova Registry.
Most apps built with WebWorks have been designed to handle touchscreen events, and these are all typical web-based touch events (touch start, touch move, touch end). Obviously, WebWorks is built with these concepts in mind. Where it gets interesting for Classic is when you introduce trackpad navigation.
Navigation keys (four keys, by default) and, in general, send and end, are system-reserved. You cannot listen for those events in WebWorks apps.
Where to Go Next
Ken mentioned that to get started with the WebWorks SDK, you should go to developer.blackberry.com/html5, where there are lots of resources. Grab the SDK and simulator; it’s straightforward to update apps to make them compatible and ready for the new BlackBerry Classic.
Finally, check out the BlackBerry developer support forums [link] and developer blog [link], where a lot of great content is posted all the time. Community experts are ready and willing to answer just about any question, and there are a lot of experts from BlackBerry monitoring too.