BB10Jam Session: BlackBerry 10 Flow and The Invocation Framework

image: (c) 2012 ekke (island of kos, greece)

This Session was presented by Shadid Haque, already known from the LocationBasedServices – Session. The Invocation Framework (iF) allows inter-app communication and is deeply integrated into BB10.

Special attention was paid to implement multitasking at its best. QNX as a real-time mobile OS is a great basis, but requires a clear, well thought-out API. In the first public beta of the SDK, the BB10 Invocation Framework is not listed, but will follow soon. I also got the information that there will be an API for 3rd – party Apps to register their services at the Invocation Framework to allow others to include this into their FLOW.

The main components of the Invocation Framework:

  • Source (initiates the invocation)
  • Target (the invocation handler)
  • Action (describing the action to be executed)
  • Data (the transferred or returned data)

Sources and Targets

The Source queries the iF, which Target fits best. The query is based on an Action, a MIME Type and a URI. The source provides the data, initiates the invocation and handles the response message that is generated from the target.

The BB10 OS already provides some System – Sources:

  • Email
  • File Manager
  • Pictures
  • Videos
  • Music
  • Maps
  • BBM

register with the iF and can provide a “branding” that consists of an icon and a label. Targets describe their capabilities via Target Filters (Action, MIME type, URI – combinations). Targets can handle incoming invocation requests and perform actions on the given data. Thereafter, a target responses to the Source, where the Message can contain Data. Registration with the iF can be done statically or dynamically in the MANIFEST.

BB10 already provides some System Targets:

  • Messaging (BBM and other IM clients, email, SMS, MMS)
  • Documents (DocsToGo, PDF viewer)
  • Beyond-the-device (NFC, Bluetooth)
  • Social (Twitter, Facebook, YouTube, …)
  • BlackBerry Maps
  • Phone
  • Contacts
  • Pictures, videos, music

Targets could also be String Patterns, BlackBerry Push Services and more.

Actions and Data

There are different types of Actions:

  • Brokered Actions
  • Menu Actions
  • Anonymous Actions

Brokered Actions are declared in Target Filters and returned as a result of a query. Brokered actions support-bound and unbound Invocations. 3rd party app’s can define “Custom Brokered Actions”.

Menu Actions are a subset of Brokered Actions and support also bound and unbound invocation. The BB10 system currently provides the following menu actions:

  • Open
  • Set
  • Share

There are similar functions available in iOS or Android, for example to to give context to Twitter or Facebook. The iF goes far beyond those features and 3rd Party Applications can register their App for the iF to make it easy for others to invokle your App. RIM is also open for requests from the developer community.

The Invocation Framework also knowns Anonymous Actions where the target is invoked “blindly”, no “brokering”, no query. The Source App in this case knows the Target well and performs a simple Bound Invocation.

Data with a MIME type to describe the data type. Optionally, a URI can be specified, which indicates the location of the data.

Update: The Invocation Framework is now part of SDK Beta 2.

BB10 is not quickly cobbled together !

Tired by so much code and API ? For me this was important to go into the details to understand the whole story better – and for you to understand better why I’m spending so much time for BB10.

These seven sessions are just a small snapshot – but in my point-of-view demonstrating the power of BB10 and with how much attention to all the little details RIM is working on it.

BB10 is not quickly cobbled together, but solidly built from ground up in order to realize a vision. That’s really not easy to solve with all the media pressure that weighs on RIM. But anyone who takes a deeper look at BB10 will realize what is being forged and understands the optimism if talking with RIM employees.

next page →

  1. Intro
  2. Death Spiral’. Why developing BB, Who on Earth…
  3. How it all began, Farewell Java ME, the ‘old’ RIM vs. ‘not your fathers’ RIM, I’m independent
  4. BB10 is a Platform, Cascades more then a UI Framework
  5. Thorsten Heins: the hard Way to BB10, BlackBerry 7 is alive
  6. Alec + Chris rockin’ …, BB10Jam Conference, Creating intelligent Apps
  7. Connected Apps with Cascades, Anatomy of a BB10 App
  8. Native Camera API, NFC Apps
  9. Location-Based-Services
  10. Flow + Invokation Framework
  11. Party, SDK, AlphaDevice, Keyboard, Magic Moments
  12. Markets: Consumer, Enterprise, Government, Automobile
  13. BB10 around the World, Apps Apps Apps…, Open Source
  14. Mission RIM possible ?, Empower People like never before ?, Three Wishes

next page →