BlackBerry 10's ability to "embed an app within an app" using the Invocation Framework creates a mobile computing App World full of possibilities
[ Editor's Note: This post was written by Kevin Cheung. We bumped into Kevin at BBJAM last week, and when we asked him if he was learning anything in the sessions, he passionately began talking about the invocation framework. We asked him to write it up, and he did. Thanks Kevin! ]
As an educator and a developer, I am thrilled by what I saw at the JAM20 session on the invocation framework. It was no exaggeration when presenter Shadid Haque told us to buckle up before giving the invocation cards demo.
In one sentence, the invocation framework can be seen as the architectural foundation for powering the last two elements of flow, connect, and extend. Invocation comes in two flavours: invoke as application or invoke as card. The former can be thought of as simply shoving a job to another app and not worrying about what the results. The latter can be thought of as embedding another app within an app.
The ability to call on other apps to perform certain tasks is certainly not new in the computing world. In fact, it has been already available on desktops and workstations for decades. But in the mobile space, its use has been quite limited. The challenge is in finding the right between flexibility, security, and simplicity.
It seems to me that the invocation framework in BlackBerry 10 has achieved the right balance. I will not be getting into the technical details of the mechanism because I am still learning. Besides, such details might turn this article into an uninspiring read. Instead, I will describe some usage scenarios to help readers get a sense of what the ramifications are. To this end, let us focus on an area that I am familiar with: education.
Most teachers and students will need a dictionary app and a word processing app. It is common for word processing apps to have features that require a dictionary. With the invocation framework, the word processing app no longer needs to implement a dictionary. It can simply invoke a dictionary app that has registered as a target. And if you want to build a classroom messaging app that provides some sort of word check against a dictionary, you won't have to package in your own dictionary. You can focus on the core features of your messaging app and let the dictionary app developers worry about building the best ever dictionary. In short, with the invocation framework, you won't need to have the three apps (dictionary app, word processing app, and messaging app) overlap in one big feature--the dictionary. This is a huge resource saver.
What this means for developers is that they can spend time innovating and build upon the bricks laid out by others. In turn, their apps can become bricks on which other great apps can be built. Viewed in this light, one can gradually obtain a tower of apps providing an experience that cannot be rivalled by any collection of isolated apps. This is pure ingenuity at work.
With the invocation framework, I believe that a new wave for mobile computing is coming and BB10 will be at the forefront. #bb10believe