{




    Mobile Computing
    July 24, 2012

    Bryan Tafel
    Developer Evangelist, Research In Motion
    @bryantafel
?
?
+


?
BlackBerry Smartphones
BlackBerry Smartphones

• Proprietary BlackBerry OS (based on JAVA)
• Proprietary Hardware
• Custom J2ME implementation
• HTML5 support
• Full platform integration (Super Apps)
• Multi tasking
Payment Service             Analytics Service     Locate Service




   Advertising Service         BBM Social Platform   Push Service




BlackBerry Platform Services
BlackBerry Enterprise Server
Red privada y segura
Mission-critical reliability                                   App                  App
QNX microkernel architecture
                                                                               File
                                                                               system
• Microkernel minimizes execution with
  unrestricted “kernel” CPU privileges                                Micro-
                                                      App                                   App
• All processes run in isolated process space               Network   kernel       Driver
                                                             stack
  – Includes drivers, file systems, stacks
                                                                      Multimedia
  – All QNX processes are “applications”                                stack

• Faults are contained so that they only affect the
                                                              App                  App
  faulty component
  – Failed components can be dynamically
    recovered while the system continues to
    operate
Questionable reliability
                                                            App                 App
Traditional monolithic architecture
                                                                           File
                                                                           system
• Model for most OSes available today

  – Windows, Linux, Android                        App             Monolithic            App
                                                         Network      OS        Driver
                                                          stack
• OS contains tremendous amount of functionality
  with unrestricted CPU privileges                                 Multimedia
                                                                     stack
• A fault in one OS component can damage any
  another, leading to system-wide corruption               App                  App

  – System reliability is as good as your worst
    driver developer

  – Reboot is only recovery possible
Mission-critical reliability
QNX microkernel benefits
Development and testing
• Better software design with isolated module enforcement
• High code reuse
• Built for independent component development and testing
• Immediate isolation of bugs
• Faster develop/test cycle
• Easier driver-level development
• Parallel debugging with shared targets
Mission-critical reliability
QNX microkernel benefits
Release and management
• Immediate fault recognition and recovery
• Cleanly designed architecture that handles extensions of
  SMP, HA, and TDP
• Live delivery of system upgrades and patches without
  downtime
• Scalability to multi-core or distributed architectures without
  re-designing software
Market leaders




     Financial          Medical            Consumer       Networking       Telematics   Instrument Clusters


                      GE Transportation                                                       GE Energy




Building Automation   Locomotives         Mail Sorting   Home Automation    Military    Turbine Controllers
Mission-critical reliability




Nuclear Reactors   Warehouse Control   Laser Eye Surgery   Precision Milling   Mining Control   Canadarm Vision




Walmart HVAC        Cancer Therapy        Windmills         Motor Control           PLC’s       Process Control
PSA
                                    Bentley



                    In 2011
                    •   60+% of infotainment systems shipped
QNX in automotive   •   9+ million world wide (5+ million in NA)
                    •   40+% of all cars sold in US
Automotive examples
• Audi MMI 3G
• BMW ConnectedDrive
• Chevy MyLink
• Chrysler UConnect
• GMC/Buick IntelliLink
• Hyundai Blue Link
• Jaguar instrument cluster
• Land Rover instrument cluster
• Mercedes S class navigation/infotainment
• OnStar and OnStar FMV
• Porsche PCM
• Toyota Entune
• Toyota Touch&Go
+
acquires


April 2010
BlackBerry Tablet OS




                       May 2011
August 1, 2012

                                                             22


Hardware Specs

• Dual-core 1 GHz Cortex A-9, symmetrical multi-processing
• 1 GB RAM
• 1080 HD
• HDMI OUT
• Flash
• Multi-tasking
• Premium Stereo Sound
Q1 2013
Mobile Computing


       ?
http://www.youtube.com/watch?v=33E1e8SJRhI   http://www.youtube.com/watch?v=w26yUPo8RZc
QNX CAR 2 design principles

Leverage BB10 (PlayBook + BlackBerry)
• Software stack: bring car closer to consumer
• Ecosystem: developers, partners, and apps
• Developer: tools, documentation and SDKs

Add automotive features
• Fast boot, automotive hardening
• Automotive-specific technologies
• Driver-friendly user interface
• Personalization and HMI reskinning
Is NOT taking mobile anywhere…



        …Is being mobile every time
Confidential Information of
                                              QNX Software Systems Limited

                                                                        28




BlackBerry-specific benefits
• QNX providing vehicle-proven software and mobile-
  compatible software
• Leverage unique features of controlling both sides
  – Shareable app ecosystem
  – HTML5 mobile apps in car (aka BlackBerry Bridge)
  – Ultra HD voice (or voice chat)
  – NFC for pairing, key fob replacement, song payment
  – Compatible high-quality+capable Bluetooth + WiFi
http://www.youtube.com/watch?v=se0_MX3ypoQ


Real Time processing needs
Desktop Workspace




http://www.youtube.com/watch?v=d-BAWACgCmU
BlackBerry 10 Platform


          Mobile                                    Embedded
  (Android, Windows Phone,   BlackBerry 10    (VxWorks, Integrity, uiTron,
           iOS, etc)                                     etc)
                                   +


• Multimedia                    • Standards       • High performing
• App stores                    • Clean IP        • Predictable
• Gaming engines                                  • Reliable
• Developer communities                           • Multi-tasking
• Power management                                • Resource sensitive
• Managed devices                                 • Customizable to hardware
QNX mobile characteristics


Multimedia                Gaming engines             Managed devices
• Support for audio and   • Port between platforms   • RIM back-end for
  video codecs            • Quickly develop new        provisioning,
• Device connectivity       properties                 corporate/carrier app
  support                                              installs, upgrades

App Stores                Developer communities      Power management
• Partner ecosystem       • Webworks SDK             • Mobile battery efficient
• Payment, licensing      • NDK (C/C++)                optimization
• White labeling          • AIR SDK
                          • Android
QNX embedded characteristics


Microkernel based            Ultra-reliable               Customizable
• Trusted kernel code is     • Designed-in protection     • Created with embedded
  very small (1% of Linux)     for memory, file system,     customization in mind
• All apps, services and       and CPU                    • Supports wide range of
  drivers protected                                         silicon and BSPs
• Failures isolated

Hard real-time               Resource sensitive           True multi-tasking
• Repeatable + responsive    • 32MB or less for HMI-      • Versus application
  performance                  based solution               swapping
• Fast boot for immediate    • Microkernel lets system    • Full multi-core SMP
  response after reset         architect trim to fit        support
BlackBerry 10 Vision
BlackBerry 10 simplifies the relationship
between the people, content and things that
matter to you


Created for people of action who use those
relationships to make things happen
A Cinematic Experience
Multitasking as 2 nd Nature

Content is King
Fluid Workflow
Moments of Charm
Introducing BlackBerry 10 – Experience Revolution
Everything we have ever learned about mobile packed into a full touch revolutionary experience
August 1, 2012   51
August 1, 2012   52




Because it’s always hard at work in
the background, you can peek into
other live applications to get a quick
glance of what’s going on around
you, without having to drop
everything. Saving you time. Easy.
August 1, 2012   53




It’s not just learning about what you
write today, but what you’ve written in
the past. It’s not just guessing the
word most people meant to write, it’s
predicting the next word you want to
write, even before you start typing it.
Less time wasted.
August 1, 2012   54




While you’re snapping, it’s making a
mental note of what’s just happened
so you can rewind parts of your photo
back if you just missed the moment.
No more odd expressions or awkward
retakes. Your photo is ready to share
with the world. Delightful.
Sharing
Every relationship, every piece of content, simple and easy to share




      BBM Share                Editing with Video Chat        Sharing Framework
Relationships
Putting your relationship with people, content and things at the heart of your
mobile experience




Dynamic Contact Cards          Socially Connected Store            Social Inbox
Connected Content
Breaking down the barriers between your screens so your most important
content is available when and where you need it




      SmartViews              Music Share                 Play On
Experience Revolution
Flow   Connect   Extend
How to develop for BB10?
BlackBerry 10
  SDKs




HTML5 BlackBerry®     C/C++       C++/Qt    ActionScript     Java
  WebWorks™         Native SDK   Cascades   Adobe® AIR®    Android™
                                                           Runtime
BlackBerry 10 Foundations
Platform APIs & Core Packages
Applications


                          Android                      Native                     Web                              AIR
                          Player                      Runtime                    Runtime                         Runtime

Application                                        BBM™                                                                         Application
Infrastructure    Payment           Advertising                  Push Data       Notification      Phone             Calendar   Platform
                                                   Service

                  Invocation          Share        Analytics      Contacts        Messages          Tasks                  …



                 Configuration       Cascades       Search         Config          Balance

                                                   Backup /
                   Lifecycle          Utilities                     i18n         Instrument’n        …
                                                   Restore

System Service
                  Navigator          Installer     Launcher     Authentication   Multimedia        SQLite              NFC

                   Window
                                      WebKit       Protocols      Network           DRM            Crypto                  …
                   Manager

OS                 Memory            Process        Power
                                                                     IPC         File System    Device Drivers             …
                 Management         Management    Management
BlackBerry 10
Tools




  Cascades     Ripple HTML5   Visual Studio
    Builder       Emulator        Plugin
Confidential Information of
                     QNX Software Systems Limited

                                               65




Ripple for QNX CAR
BlackBerry 10
Developer Sites
BlackBerry 10 Foundations
Architecture
                               Native and HTML5 Apps

   HTML/CSS                              Cascades                      Open GL
                                           QML
   JavaScript®                                                         Open AL

     WebKit                JavaScript                C++
                                                                        C/C++

                                    Platform APIs
                 Qt/C++                                      C/C++

 Network      Storage     Audio/Video     Graphics    Push      i18n            …


                                        QNX Kernel
BlackBerry 10 Foundations
User Experience

Multi-Tasking as Second Nature
Cinematic Experience
Content is King
Fluid Workflow
Moments of Charm
http://developer.blackberry.com/ui
BlackBerry 10 Experience
Cascades: Out-of-the-Box Elegance
Cascades
Developer Experience
Cascades
Integration APIs
              Invoke                 Launch

                   Share




       Flow                Connect            Extend
Native SDK
OSS & Developer Experience
Community Development
Android Runtime & Adobe AIR
                   Native & HTML5 Apps                             Android Apps             Adobe AIR Apps


   HTML/CSS                                           Open GL           Java                  Action Script
                                  Cascades
                                    QML

   JavaScript                                         Open AL             .apk                    .swf



    WebKit           JavaScript              C++       C/C++       Android Runtime            AIR Runtime



                                                   Platform APIs

                   Qt C++                                                        C/C++

 Network        Storage             Audio/Video      Graphics      Push              i18n                …


                                                   QNX Kernel
Thank You
July 24, 2012

Bryan Tafel
Developer Evangelist, Research In Motion
@bryantafel

Eci Mobile Computing 20120724 Bryantafel

  • 1.
    { Mobile Computing July 24, 2012 Bryan Tafel Developer Evangelist, Research In Motion @bryantafel
  • 2.
  • 3.
  • 4.
  • 6.
  • 7.
    BlackBerry Smartphones • ProprietaryBlackBerry OS (based on JAVA) • Proprietary Hardware • Custom J2ME implementation • HTML5 support • Full platform integration (Super Apps) • Multi tasking
  • 8.
    Payment Service Analytics Service Locate Service Advertising Service BBM Social Platform Push Service BlackBerry Platform Services
  • 9.
  • 11.
    Mission-critical reliability App App QNX microkernel architecture File system • Microkernel minimizes execution with unrestricted “kernel” CPU privileges Micro- App App • All processes run in isolated process space Network kernel Driver stack – Includes drivers, file systems, stacks Multimedia – All QNX processes are “applications” stack • Faults are contained so that they only affect the App App faulty component – Failed components can be dynamically recovered while the system continues to operate
  • 12.
    Questionable reliability App App Traditional monolithic architecture File system • Model for most OSes available today – Windows, Linux, Android App Monolithic App Network OS Driver stack • OS contains tremendous amount of functionality with unrestricted CPU privileges Multimedia stack • A fault in one OS component can damage any another, leading to system-wide corruption App App – System reliability is as good as your worst driver developer – Reboot is only recovery possible
  • 13.
    Mission-critical reliability QNX microkernelbenefits Development and testing • Better software design with isolated module enforcement • High code reuse • Built for independent component development and testing • Immediate isolation of bugs • Faster develop/test cycle • Easier driver-level development • Parallel debugging with shared targets
  • 14.
    Mission-critical reliability QNX microkernelbenefits Release and management • Immediate fault recognition and recovery • Cleanly designed architecture that handles extensions of SMP, HA, and TDP • Live delivery of system upgrades and patches without downtime • Scalability to multi-core or distributed architectures without re-designing software
  • 15.
    Market leaders Financial Medical Consumer Networking Telematics Instrument Clusters GE Transportation GE Energy Building Automation Locomotives Mail Sorting Home Automation Military Turbine Controllers
  • 16.
    Mission-critical reliability Nuclear Reactors Warehouse Control Laser Eye Surgery Precision Milling Mining Control Canadarm Vision Walmart HVAC Cancer Therapy Windmills Motor Control PLC’s Process Control
  • 17.
    PSA Bentley In 2011 • 60+% of infotainment systems shipped QNX in automotive • 9+ million world wide (5+ million in NA) • 40+% of all cars sold in US
  • 18.
    Automotive examples • AudiMMI 3G • BMW ConnectedDrive • Chevy MyLink • Chrysler UConnect • GMC/Buick IntelliLink • Hyundai Blue Link • Jaguar instrument cluster • Land Rover instrument cluster • Mercedes S class navigation/infotainment • OnStar and OnStar FMV • Porsche PCM • Toyota Entune • Toyota Touch&Go
  • 19.
  • 20.
  • 21.
  • 22.
    August 1, 2012 22 Hardware Specs • Dual-core 1 GHz Cortex A-9, symmetrical multi-processing • 1 GB RAM • 1080 HD • HDMI OUT • Flash • Multi-tasking • Premium Stereo Sound
  • 23.
  • 24.
  • 25.
    http://www.youtube.com/watch?v=33E1e8SJRhI http://www.youtube.com/watch?v=w26yUPo8RZc
  • 26.
    QNX CAR 2design principles Leverage BB10 (PlayBook + BlackBerry) • Software stack: bring car closer to consumer • Ecosystem: developers, partners, and apps • Developer: tools, documentation and SDKs Add automotive features • Fast boot, automotive hardening • Automotive-specific technologies • Driver-friendly user interface • Personalization and HMI reskinning
  • 27.
    Is NOT takingmobile anywhere… …Is being mobile every time
  • 28.
    Confidential Information of QNX Software Systems Limited 28 BlackBerry-specific benefits • QNX providing vehicle-proven software and mobile- compatible software • Leverage unique features of controlling both sides – Shareable app ecosystem – HTML5 mobile apps in car (aka BlackBerry Bridge) – Ultra HD voice (or voice chat) – NFC for pairing, key fob replacement, song payment – Compatible high-quality+capable Bluetooth + WiFi
  • 29.
  • 30.
  • 31.
    BlackBerry 10 Platform Mobile Embedded (Android, Windows Phone, BlackBerry 10 (VxWorks, Integrity, uiTron, iOS, etc) etc) + • Multimedia • Standards • High performing • App stores • Clean IP • Predictable • Gaming engines • Reliable • Developer communities • Multi-tasking • Power management • Resource sensitive • Managed devices • Customizable to hardware
  • 32.
    QNX mobile characteristics Multimedia Gaming engines Managed devices • Support for audio and • Port between platforms • RIM back-end for video codecs • Quickly develop new provisioning, • Device connectivity properties corporate/carrier app support installs, upgrades App Stores Developer communities Power management • Partner ecosystem • Webworks SDK • Mobile battery efficient • Payment, licensing • NDK (C/C++) optimization • White labeling • AIR SDK • Android
  • 33.
    QNX embedded characteristics Microkernelbased Ultra-reliable Customizable • Trusted kernel code is • Designed-in protection • Created with embedded very small (1% of Linux) for memory, file system, customization in mind • All apps, services and and CPU • Supports wide range of drivers protected silicon and BSPs • Failures isolated Hard real-time Resource sensitive True multi-tasking • Repeatable + responsive • 32MB or less for HMI- • Versus application performance based solution swapping • Fast boot for immediate • Microkernel lets system • Full multi-core SMP response after reset architect trim to fit support
  • 35.
    BlackBerry 10 Vision BlackBerry10 simplifies the relationship between the people, content and things that matter to you Created for people of action who use those relationships to make things happen
  • 37.
    A Cinematic Experience Multitaskingas 2 nd Nature Content is King Fluid Workflow Moments of Charm
  • 49.
    Introducing BlackBerry 10– Experience Revolution Everything we have ever learned about mobile packed into a full touch revolutionary experience
  • 50.
  • 51.
    August 1, 2012 52 Because it’s always hard at work in the background, you can peek into other live applications to get a quick glance of what’s going on around you, without having to drop everything. Saving you time. Easy.
  • 52.
    August 1, 2012 53 It’s not just learning about what you write today, but what you’ve written in the past. It’s not just guessing the word most people meant to write, it’s predicting the next word you want to write, even before you start typing it. Less time wasted.
  • 53.
    August 1, 2012 54 While you’re snapping, it’s making a mental note of what’s just happened so you can rewind parts of your photo back if you just missed the moment. No more odd expressions or awkward retakes. Your photo is ready to share with the world. Delightful.
  • 54.
    Sharing Every relationship, everypiece of content, simple and easy to share BBM Share Editing with Video Chat Sharing Framework
  • 55.
    Relationships Putting your relationshipwith people, content and things at the heart of your mobile experience Dynamic Contact Cards Socially Connected Store Social Inbox
  • 56.
    Connected Content Breaking downthe barriers between your screens so your most important content is available when and where you need it SmartViews Music Share Play On
  • 57.
  • 59.
    Flow Connect Extend
  • 60.
    How to developfor BB10?
  • 61.
    BlackBerry 10 SDKs HTML5 BlackBerry® C/C++ C++/Qt ActionScript Java WebWorks™ Native SDK Cascades Adobe® AIR® Android™ Runtime
  • 62.
    BlackBerry 10 Foundations PlatformAPIs & Core Packages Applications Android Native Web AIR Player Runtime Runtime Runtime Application BBM™ Application Infrastructure Payment Advertising Push Data Notification Phone Calendar Platform Service Invocation Share Analytics Contacts Messages Tasks … Configuration Cascades Search Config Balance Backup / Lifecycle Utilities i18n Instrument’n … Restore System Service Navigator Installer Launcher Authentication Multimedia SQLite NFC Window WebKit Protocols Network DRM Crypto … Manager OS Memory Process Power IPC File System Device Drivers … Management Management Management
  • 63.
    BlackBerry 10 Tools Cascades Ripple HTML5 Visual Studio Builder Emulator Plugin
  • 64.
    Confidential Information of QNX Software Systems Limited 65 Ripple for QNX CAR
  • 65.
  • 66.
    BlackBerry 10 Foundations Architecture Native and HTML5 Apps HTML/CSS Cascades Open GL QML JavaScript® Open AL WebKit JavaScript C++ C/C++ Platform APIs Qt/C++ C/C++ Network Storage Audio/Video Graphics Push i18n … QNX Kernel
  • 67.
    BlackBerry 10 Foundations UserExperience Multi-Tasking as Second Nature Cinematic Experience Content is King Fluid Workflow Moments of Charm http://developer.blackberry.com/ui
  • 68.
    BlackBerry 10 Experience Cascades:Out-of-the-Box Elegance
  • 69.
  • 70.
    Cascades Integration APIs Invoke Launch Share Flow Connect Extend
  • 71.
    Native SDK OSS &Developer Experience
  • 72.
    Community Development Android Runtime& Adobe AIR Native & HTML5 Apps Android Apps Adobe AIR Apps HTML/CSS Open GL Java Action Script Cascades QML JavaScript Open AL .apk .swf WebKit JavaScript C++ C/C++ Android Runtime AIR Runtime Platform APIs Qt C++ C/C++ Network Storage Audio/Video Graphics Push i18n … QNX Kernel
  • 73.
    Thank You July 24,2012 Bryan Tafel Developer Evangelist, Research In Motion @bryantafel