Blackberry
Development 101
Cory Foy
foyc@coryfoy.com
Agenda

The BlackBerry Platform

Development Models

Deployment Models

Guidelines and Gotchas

Questions
Agenda

The BlackBerry Platform

Development Models

Deployment Models

Guidelines and Gotchas

Questions
BB Platform
BB Platform

Instant Information
BB Platform

Instant Information

  Managed Connectivity and Push
BB Platform

Instant Information

  Managed Connectivity and Push

Standards-Based Development
BB Platform

Instant Information

  Managed Connectivity and Push

Standards-Based Development

10,000+ apps (App World + ...
BB Platform

Instant Information

  Managed Connectivity and Push

Standards-Based Development

10,000+ apps (App World + ...
BB Platform
BB Platform

Business Focus
BB Platform

Business Focus

 Security and Encryption
BB Platform

Business Focus

 Security and Encryption

 Centralized Management (BES)
BB Platform

Business Focus

 Security and Encryption

 Centralized Management (BES)

 Always on VPN Capable
Networking is Easy!
Networking is Easy!
BB Platform

Development Platform (Browser)

  CSS and AJAX Support

  Offline Form Queuing

  Web Push (Web Signals)

  Ec...
BB Platform

Development Platform (Java)

  Standards Based (MIDP or RIM APIs)

  Eclipse-Based Plugin

  Plugins and Emul...
Agenda

The BlackBerry Platform

Development Models

Deployment Models

Guidelines and Gotchas

Questions
BB Development
BB Development

Developer Programs
BB Development

Developer Programs

 Eclipse and Visual Studio Plugins
BB Development

Developer Programs

 Eclipse and Visual Studio Plugins
BB Development

Developer Programs

 Eclipse and Visual Studio Plugins
BB Development

Developer Programs

 Eclipse and Visual Studio Plugins

 Rich Set of Emulators
BB Development

Developer Programs

 Eclipse and Visual Studio Plugins

 Rich Set of Emulators
BB Development

Developer Programs

 Eclipse and Visual Studio Plugins

 Rich Set of Emulators
BB Development

Developer Programs

 Eclipse and Visual Studio Plugins

 Rich Set of Emulators
BB Development

Developer Programs

 Eclipse and Visual Studio Plugins

 Rich Set of Emulators

 Strong (and free!) Develo...
BB Development

Developer Programs

 Eclipse and Visual Studio Plugins

 Rich Set of Emulators

 Strong (and free!) Develo...
BB Development

Developer Programs

 Eclipse and Visual Studio Plugins

 Rich Set of Emulators

 Strong (and free!) Develo...
BB Development

Developer Programs

 Eclipse and Visual Studio Plugins

 Rich Set of Emulators

 Strong (and free!) Develo...
Development Models
FLEXIBILITY




              EASE OF DEVELOPMENT
Development Models
FLEXIBILITY




              EASE OF DEVELOPMENT
Development Models
FLEXIBILITY




              EASE OF DEVELOPMENT
Browser Development

Browser Capabilities

Offline Form Queueing

Push Model

Web Signals
Browser Development

Browser Capabilities
  Markup Languages: HTML, XHTML-MP, WML 1.3

  Images: JPEG, GIF, PNG, WBMP

  P...
Browser Development

Offline Form Queueing

 Implemented using specific HTTP Headers

   x-rim-queue-id and x-rim-next-targe...
Browser Development

Push Model

 MDS Push

 BIS Push (via Web Signals)

 WAP Network Push
Browser Development

Web Signals

 Near real-time updates pushed directly to the
 phone

 Adds icon to the home page

 Opt...
Java Development

MIDP vs RIM APIs

Networking

Graphics Models

Key Signing

Quality Code
Java Development

    MIDP 2.0   RIM APIs
Java Development

    MIDP 2.0        RIM APIs




               VS
Java Development

    MIDP 2.0                 RIM APIs




                  VS
               PORTABILITY
Java Development

    MIDP 2.0          RIM APIs




                 VS
   PORTABILITY
Java Development

    MIDP 2.0              RIM APIs




                 VS
   PORTABILITY

         SCREEN CUSTOMIZATION
Java Development

    MIDP 2.0               RIM APIs




                 VS
   PORTABILITY        SCREEN CUSTOMIZATION
Java Development

    MIDP 2.0                   RIM APIs




                   VS
   PORTABILITY          SCREEN CUSTOMI...
Java Development

    MIDP 2.0               RIM APIs




                 VS
   PORTABILITY        SCREEN CUSTOMIZATION
 ...
Java Development

    MIDP 2.0              RIM APIs




                 VS
   PORTABILITY      SCREEN CUSTOMIZATION
    ...
Java Development

    MIDP 2.0               RIM APIs




                 VS
   PORTABILITY        SCREEN CUSTOMIZATION
 ...
Java Development

    MIDP 2.0              RIM APIs




                 VS
   PORTABILITY       SCREEN CUSTOMIZATION
   ...
Java Development

     MIDP 2.0                 RIM APIs




                    VS
    PORTABILITY          SCREEN CUSTOM...
Java Development

    MIDP 2.0                RIM APIs




                  VS
    PORTABILITY        SCREEN CUSTOMIZATIO...
Java Development

     MIDP 2.0                 RIM APIs




                    VS
    PORTABILITY          SCREEN CUSTOM...
Java Development
Java Development
Networking
Java Development
Networking

 Several Models and supported protocols
Java Development
Networking

 Several Models and supported protocols

   MDS, Wi-Fi, WAP, TCP, BIS, LAN
Java Development
Networking

 Several Models and supported protocols

   MDS, Wi-Fi, WAP, TCP, BIS, LAN

 Least Cost Routi...
Java Development
Networking

 Several Models and supported protocols

   MDS, Wi-Fi, WAP, TCP, BIS, LAN

 Least Cost Routi...
Java Development

Networking

 Connections determined by URL parameters
 and ServiceBook entries
Java Development

Networking

 Connections determined by URL parameters
 and ServiceBook entries
Java Development
Recommended Connection Order

       Enterprise       Consumer

     BlackBerry MDS         Wi-Fi
       ...
Java Development
Graphics Models

 Some basic capabilities included

 Image Management

 net.rim.device.api.ui.Graphics

 ...
Java Development

Key Signing

  Runtime APIs

  Application APIs

  Cryptography APIs

  Run on Startup
Java Development

Key Signing

  Fill out form at the Blackberry.com site

  $20 fee

  No required for testing in Simulat...
Java Development

Quality Code

  Test-Driven Development

    http://sourceforge.net/projects/b-unittesting/

  Separatio...
Java Development

Quality Code

  Craftsmanship Manifesto

    manifesto.softwarecraftsmanship.org

  Agile Manifesto

   ...
Agenda

The BlackBerry Platform

Development Models

Deployment Models

Guidelines and Gotchas

Questions
Deployment Models


Browser Based Apps

 Point Users to Link

 Push Icon to Home Page
Deployment Models

Java Based Apps

 Self-Host (.jad and .cod / .jar)

 3rd Party Host

 BlackBerry App World
Agenda

The BlackBerry Platform

Development Models

Deployment Models

Guidelines and Gotchas

Questions
Guidelines / Gotchas

UI Guidelines

  Myriad of Devices (Touch, Click Wheel)

  Orientations

  Menu Handling (Home / Bac...
Guidelines / Gotchas

Browser UI Guidelines

  Smaller Screen

  Being Accessed on the Go

  Touch versus Click Screen

  ...
Guidelines / Gotchas
 Networking

  Understand your market

  Test on as many real-world devices as
  possible

  Provide ...
Guidelines / Gotchas


  Emulators

   They Lie. Period.

   But love ‘em anyway
Guidelines / Gotchas

   Threading

    Don’t block the UI Thread

    Stay Responsive

    Close your connections!
Agenda

The BlackBerry Platform

Development Models

Deployment Models

Guidelines and Gotchas

Questions
Contact / Links
BB Developer zone -
http://na.blackberry.com/eng/developers/

http://coryfoy.com

foyc@coryfoy.com

Beginn...
Upcoming SlideShare
Loading in …5
×

Blackberry 101 - Day of Mobile, March 2010

1,533
-1

Published on

This was my presentation on Blackberry Development 101 from the awesome Day of Mobile held in March 2010 in Chicago, IL.

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,533
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
89
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide
  • While I primarily do agile and lean coaching, BB holds a special place in my heart. Intro to BB was 2004 - Produced J2ME apps for field employees. Gave power in the hands of everyone. Don’t ramble about instant info - save for later


  • BBs aren’t addictive because of flashy apps or diamond-encrusted faceplates. It’s instant information
  • BBs aren’t addictive because of flashy apps or diamond-encrusted faceplates. It’s instant information
  • BBs aren’t addictive because of flashy apps or diamond-encrusted faceplates. It’s instant information
  • BBs aren’t addictive because of flashy apps or diamond-encrusted faceplates. It’s instant information
  • BBs aren’t addictive because of flashy apps or diamond-encrusted faceplates. It’s instant information
  • Next slide transition: Great Dev site, with videos, networking
  • Next slide transition: Great Dev site, with videos, networking
  • Next slide transition: Great Dev site, with videos, networking
  • Next slide transition: Great Dev site, with videos, networking


  • Mention Windows / BB-Ant-Tools
  • 13 minutes






























































  • Blackberry 101 - Day of Mobile, March 2010

    1. 1. Blackberry Development 101 Cory Foy foyc@coryfoy.com
    2. 2. Agenda The BlackBerry Platform Development Models Deployment Models Guidelines and Gotchas Questions
    3. 3. Agenda The BlackBerry Platform Development Models Deployment Models Guidelines and Gotchas Questions
    4. 4. BB Platform
    5. 5. BB Platform Instant Information
    6. 6. BB Platform Instant Information Managed Connectivity and Push
    7. 7. BB Platform Instant Information Managed Connectivity and Push Standards-Based Development
    8. 8. BB Platform Instant Information Managed Connectivity and Push Standards-Based Development 10,000+ apps (App World + Handango)
    9. 9. BB Platform Instant Information Managed Connectivity and Push Standards-Based Development 10,000+ apps (App World + Handango) Industry Leader (32 Million Subscribers)
    10. 10. BB Platform
    11. 11. BB Platform Business Focus
    12. 12. BB Platform Business Focus Security and Encryption
    13. 13. BB Platform Business Focus Security and Encryption Centralized Management (BES)
    14. 14. BB Platform Business Focus Security and Encryption Centralized Management (BES) Always on VPN Capable
    15. 15. Networking is Easy!
    16. 16. Networking is Easy!
    17. 17. BB Platform Development Platform (Browser) CSS and AJAX Support Offline Form Queuing Web Push (Web Signals) Eclipse and Visual Studio Plugins
    18. 18. BB Platform Development Platform (Java) Standards Based (MIDP or RIM APIs) Eclipse-Based Plugin Plugins and Emulators are free $20 Signing Fee for protected APIs
    19. 19. Agenda The BlackBerry Platform Development Models Deployment Models Guidelines and Gotchas Questions
    20. 20. BB Development
    21. 21. BB Development Developer Programs
    22. 22. BB Development Developer Programs Eclipse and Visual Studio Plugins
    23. 23. BB Development Developer Programs Eclipse and Visual Studio Plugins
    24. 24. BB Development Developer Programs Eclipse and Visual Studio Plugins
    25. 25. BB Development Developer Programs Eclipse and Visual Studio Plugins Rich Set of Emulators
    26. 26. BB Development Developer Programs Eclipse and Visual Studio Plugins Rich Set of Emulators
    27. 27. BB Development Developer Programs Eclipse and Visual Studio Plugins Rich Set of Emulators
    28. 28. BB Development Developer Programs Eclipse and Visual Studio Plugins Rich Set of Emulators
    29. 29. BB Development Developer Programs Eclipse and Visual Studio Plugins Rich Set of Emulators Strong (and free!) Developer Program
    30. 30. BB Development Developer Programs Eclipse and Visual Studio Plugins Rich Set of Emulators Strong (and free!) Developer Program
    31. 31. BB Development Developer Programs Eclipse and Visual Studio Plugins Rich Set of Emulators Strong (and free!) Developer Program App World
    32. 32. BB Development Developer Programs Eclipse and Visual Studio Plugins Rich Set of Emulators Strong (and free!) Developer Program App World
    33. 33. Development Models FLEXIBILITY EASE OF DEVELOPMENT
    34. 34. Development Models FLEXIBILITY EASE OF DEVELOPMENT
    35. 35. Development Models FLEXIBILITY EASE OF DEVELOPMENT
    36. 36. Browser Development Browser Capabilities Offline Form Queueing Push Model Web Signals
    37. 37. Browser Development Browser Capabilities Markup Languages: HTML, XHTML-MP, WML 1.3 Images: JPEG, GIF, PNG, WBMP Presentation: Frames, ATOM, RSS Scripting: JS 1.5 (w/AJAX), ECMAScript, WMLScript
    38. 38. Browser Development Offline Form Queueing Implemented using specific HTTP Headers x-rim-queue-id and x-rim-next-target User can then retrieve the information from device queue
    39. 39. Browser Development Push Model MDS Push BIS Push (via Web Signals) WAP Network Push
    40. 40. Browser Development Web Signals Near real-time updates pushed directly to the phone Adds icon to the home page Opt-In only
    41. 41. Java Development MIDP vs RIM APIs Networking Graphics Models Key Signing Quality Code
    42. 42. Java Development MIDP 2.0 RIM APIs
    43. 43. Java Development MIDP 2.0 RIM APIs VS
    44. 44. Java Development MIDP 2.0 RIM APIs VS PORTABILITY
    45. 45. Java Development MIDP 2.0 RIM APIs VS PORTABILITY
    46. 46. Java Development MIDP 2.0 RIM APIs VS PORTABILITY SCREEN CUSTOMIZATION
    47. 47. Java Development MIDP 2.0 RIM APIs VS PORTABILITY SCREEN CUSTOMIZATION
    48. 48. Java Development MIDP 2.0 RIM APIs VS PORTABILITY SCREEN CUSTOMIZATION UI COMPONENTS
    49. 49. Java Development MIDP 2.0 RIM APIs VS PORTABILITY SCREEN CUSTOMIZATION UI COMPONENTS
    50. 50. Java Development MIDP 2.0 RIM APIs VS PORTABILITY SCREEN CUSTOMIZATION UI COMPONENTS CUSTOM LAYOUTS
    51. 51. Java Development MIDP 2.0 RIM APIs VS PORTABILITY SCREEN CUSTOMIZATION UI COMPONENTS CUSTOM LAYOUTS
    52. 52. Java Development MIDP 2.0 RIM APIs VS PORTABILITY SCREEN CUSTOMIZATION UI COMPONENTS ACCESS RIM APIS CUSTOM LAYOUTS
    53. 53. Java Development MIDP 2.0 RIM APIs VS PORTABILITY SCREEN CUSTOMIZATION ACCESS RIM APIS UI COMPONENTS CUSTOM LAYOUTS
    54. 54. Java Development MIDP 2.0 RIM APIs VS PORTABILITY SCREEN CUSTOMIZATION ACCESS RIM APIS UI COMPONENTS MULTI-THREADING CUSTOM LAYOUTS
    55. 55. Java Development MIDP 2.0 RIM APIs VS PORTABILITY SCREEN CUSTOMIZATION ACCESS RIM APIS UI COMPONENTS MULTI-THREADING CUSTOM LAYOUTS
    56. 56. Java Development
    57. 57. Java Development Networking
    58. 58. Java Development Networking Several Models and supported protocols
    59. 59. Java Development Networking Several Models and supported protocols MDS, Wi-Fi, WAP, TCP, BIS, LAN
    60. 60. Java Development Networking Several Models and supported protocols MDS, Wi-Fi, WAP, TCP, BIS, LAN Least Cost Routing for some connections
    61. 61. Java Development Networking Several Models and supported protocols MDS, Wi-Fi, WAP, TCP, BIS, LAN Least Cost Routing for some connections Providers may provide ServiceBook info during provisioning
    62. 62. Java Development Networking Connections determined by URL parameters and ServiceBook entries
    63. 63. Java Development Networking Connections determined by URL parameters and ServiceBook entries
    64. 64. Java Development Recommended Connection Order Enterprise Consumer BlackBerry MDS Wi-Fi Wi-Fi WAP 2.0 WAP 2.0 BIS BIS BlackBerry MDS Direct TCP Direct TCP WAP 1.0/1.1 WAP 1.0/1.1
    65. 65. Java Development Graphics Models Some basic capabilities included Image Management net.rim.device.api.ui.Graphics SVG Support New Fields in 5.0
    66. 66. Java Development Key Signing Runtime APIs Application APIs Cryptography APIs Run on Startup
    67. 67. Java Development Key Signing Fill out form at the Blackberry.com site $20 fee No required for testing in Simulators
    68. 68. Java Development Quality Code Test-Driven Development http://sourceforge.net/projects/b-unittesting/ Separation of Concerns SOLID Principles
    69. 69. Java Development Quality Code Craftsmanship Manifesto manifesto.softwarecraftsmanship.org Agile Manifesto agilemanifesto.org
    70. 70. Agenda The BlackBerry Platform Development Models Deployment Models Guidelines and Gotchas Questions
    71. 71. Deployment Models Browser Based Apps Point Users to Link Push Icon to Home Page
    72. 72. Deployment Models Java Based Apps Self-Host (.jad and .cod / .jar) 3rd Party Host BlackBerry App World
    73. 73. Agenda The BlackBerry Platform Development Models Deployment Models Guidelines and Gotchas Questions
    74. 74. Guidelines / Gotchas UI Guidelines Myriad of Devices (Touch, Click Wheel) Orientations Menu Handling (Home / Back Keys) Account for Mistakes (Undo, Confirmation)
    75. 75. Guidelines / Gotchas Browser UI Guidelines Smaller Screen Being Accessed on the Go Touch versus Click Screen Try your application
    76. 76. Guidelines / Gotchas Networking Understand your market Test on as many real-world devices as possible Provide easy way for users to get you feedback
    77. 77. Guidelines / Gotchas Emulators They Lie. Period. But love ‘em anyway
    78. 78. Guidelines / Gotchas Threading Don’t block the UI Thread Stay Responsive Close your connections!
    79. 79. Agenda The BlackBerry Platform Development Models Deployment Models Guidelines and Gotchas Questions
    80. 80. Contact / Links BB Developer zone - http://na.blackberry.com/eng/developers/ http://coryfoy.com foyc@coryfoy.com Beginning Blackberry Development - Anthony Rizk Advanced Blackberry Development - Chris King
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×