Blackberry 10 – Putting Developers First

Blackberry 10 OS is unveiled this week at Blackberry World.    In many ways Blackberry 10 is probably the last chance for Blackberry to gain back the market share and be a formidable competition to other Smartphones.    If the announcements at the conference are any indication, Blackberry is going all out this time to make their next generation of OS as the best smartphone platform.   

Some of the interesting features of BB10 mentioned in the key note:
  • UI Overhaul – More modern user interface based on Panels (similar to WP7) and the flow interface that switching between applications smooth and seamless.   At last, BB user interface is on par with the competition.
  • Intelligent Keyboard – Finally BB is betting on touch interface.  BB is trying to bring its legendary physical keyboard expertise to touch interfaces.    Keyboard with gesture support and intelligent prediction keeping the usability a key priority. 
  • Camera with timeline - Camera has a timeline history, so if there is an issue with a photo captured (such as somebody eyes are closed), one can rewind and capture another moment which is more perfect.

The most notable of all, is the focus on developers. There has been significant focus on Developers in the CEO keynote.  One of the BB’s problems has been to attract developers to build quality apps to be able to compete with other smartphone platforms. To address this problem, BB has spent significant time and effort and put the developers first in BB10.  

Here is how -

For starters, Blackberry 10 is not based on the older platform BB7, but is based on QNX (acquired by BB in 2010).   QNX is a RTOS that has been existence for a while and is used in telematics and other mission critical applications used in medical and telecom industries.   QNX is also the OS used in Playbook tablet released last year.   QNX uses micro-kernel architecture and has great tooling support, making it a solid platform, attractive enough for developers.

Keeping developers first, BB has taken quite a different approach for applications (on BB 10) compared to the competition.    All of the Blackberry competition has a single deeply integrated application development framework and uses a single programming language.   Apple uses Objective C, Google with Java and Microsoft with C#.  BB however, took a multi-language multi-framework approach, to keep a low entry barrier for all kinds of application developers.   Following graphic illustrates how much BB10 is doing to include all kinds of developers, leaving nobody behind.



Blackberry WebWorks SDK: 
Webworks SDK supports BB application development using HTML 5 and CSS.   This is really the lowest barrier for application developers.  Millions of web developers can potentially become blackberry developers with very little training.   Unlike other smartphone platforms where HTML 5 applications are secondary citizens, BB10 has embraced the web development paradigm.  
  • Ripple mobile environment emulator for testing the applications for different form factors
  •  Local storage of HTML 5 and CSS applications, does not server access
  • Javascript extensions providing access to Blackberry messenger, PIM and hardware
  • bbUI.js for native look and feel


Blackberry Android Runtime: 
Android has pioneered the use of virtual machine as the first class development platform on smartphones.   Dalvik on android provides a bytecode compiler and a runtime allowing applications developed in Java language, to run on Android.     Given there are thousands of android applications already running Dalvik,   BB has made a smart move in transitioning these applications onto BB 10, tapping into large existing Android developer base.   While there are quite a few API compatibility limitations, nevertheless BB Android runtime provides an easy option for porting existing Android applications.    
  • Supports Android 2.3.3 (Gingerbread) applications
  • Online repackaging tool to convert APK files (android application package format) to BAR files
  • Support for multiple windows and in app payment


Blackberry Adobe AIR SDK: 
Adobe AIR is a popular UI application development platform based on Action Script and Flash runtime.    Action script is a variant of Java Script hence majority of the web application developers uses AIR to develop cross platform UI applications.    AIR already supports Android, iOS and even desktop OSes and thousands of applications already written.   Given AIR is support, all the AIR applications can be ported to BB10 easily.   What is interesting to note is that, AIR applications are developed using Flex, which is a quite popular with Enterprise to develop in-house rich UI applications.

Blackberry Native SDK:
BlackBerry 10 Native SDK is targeted at building high-performance native applications.  Supporting C++ as the language, it is not really meant for developing business applications, but meant for applications that need good response time, such as games.    
  • Scoreloop social gaming SDK provides support for user profiles and global leaderboards, awards
  • Push Management APIs allow developers to create Push-based apps
  • Visual Studio IDE plug-in will now make it easier for VS developers
  •  Cascades SDK – New UI framework for developing native UI applications supporting C++ and Declarative Qt Markup Language (QML)


As it happened with HP webOS and to an extent with Microsoft WP7, applications can make or break the smartphone platform.  With BB 10, Blackberry is taking all the right steps to get the developer support, which is crucial to their success.    BB is also pulling all the right strings to make it easy for developers to develop their applications on BB OS.   That said, not supporting legacy Java applications (developed using BB 7 java SDK) is a significant issue.

It will be interesting to see how successful BB 10 will be and whether it can bring back the lost glory for the Blackberry.

Further reading:




This post originally appeared at www.techspot.co.in
0 Comments To ' Blackberry 10 – Putting Developers First '

Post a Comment