Nscreenvision: Understanding open innovation using APIs in a multiscreen world







Over the last year, I have been thinking of the concepts in this blog with two motivations.

Firstly, working with Chetan Sharma on the idea of a community for ‘nscreen’ applications and

Secondly, my work with Webinos, which has evolved over that time.

By ‘nscreen’ applications I mean ‘multi-screen’ applications. Multiscreen apps are not new and nor are the issues multi-screen applications bring. On the other hand, Lady Gaga says that we are all ‘screenagers’ – each living with many screens. So, the world of ‘nscreens’ is already upon us.

However, with the idea of nscreenvision, I am trying to articulate a specific viewpoint which I hope to describe in detail below.

Chetan and I are evolving this into a community and if this is of interest, please email me at ajit.jaokar at futuretext.com with the subject ‘nscreeenvision’. We are particularly interested in meeting people who are creating multiplatform applications and / or developers working with specific APIs

Open innovation

Professor Henry Chesbrough has written extensively about Open innovation.

As per What is open innovation and the era of open innovation

-       Open Innovation is the use of purposive inflows and outflows of knowledge to accelerate innovation. With knowledge now widely distributed, companies cannot rely entirely on their own research, but should acquire invention or intellectual property from other companies when it advances the business model. 

-       “Open innovation is the use of purposive inflows and outflows of knowledge to accelerate internal innovation, and expand the markets for external use of innovation, respectively. [This paradigm] assumes that firms can and should use external ideas as well as internal ideas, and internal and external paths to market, as they look to advance their technology.”

-       “…Companies can no longer keep their own innovations secret unto themselves; … the key to success is creating, in effect, an open platform around your innovations so your customers, your employees and even your competitors can build upon it, because only by that building will you create an ongoing, evolving community of users, doers and creators.” 

-       In the past, internal R&D was a valuable strategic asset, even a formidable barrier to entry by competitors in many markets. Only large corporations like DuPont, IBM and AT&T could compete by doing the most R&D in their respective industries (and subsequently reaping most of the profits as well).

-       Toward the end of the 20th century, though, a number of factors combined to erode the underpinnings of closed innovation in the United States. Perhaps chief among these factors was the dramatic rise in the number and mobility of knowledge workers, making it increasingly difficult for companies to control their proprietary ideas and expertise.

-       At its root, open innovation is based on a landscape of abundant knowledge, which must be used readily if it is to provide value for the company that created it. However, an organization should not restrict the knowledge that it uncovers in its research to its internal market pathways,

Understanding open innovation using APIs in a multiscreen world
So, the question to address is:

How do we reconcile open innovation in a world of multiscreen/nscreen applications?

Here are some initial observations:
-  Convergence can happen at multiple levels – at the network layer (fixed to mobile convergence), at the services layer (cloud) etc etc.
-  One unlikely avenue for convergence may be apps.
-  However, most apps today are merely at the UI level. Valuable as UI is, when viewed across platforms (nscreen
applications), apps are far more complex
-  The common denominator for nscreen apps are actually APIs
-  All products could be platforms. In fact, increasingly, successful products will have to be platforms i.e. enable others to add value to it.
-  Value will shift to integration between platforms (Web, Mobile, TV and Automotive)
-  Products themselves will have little differentiation and value will be added by the community/ enhancement via APIs etc

What does Open innovation mean in a world of multiple screens?
-          How do we study it?
-          How would we quantify it?
-          How would we predict it?

If we could understand and study the evolution and usage of APIs, could we study and predict Open evolution in an nscreen world?

There are many things you could learn from APIs
-          What functionality is being abstracted?
-          What functionality is being used or ignored by developers even when available as an API?
-          What third party applications are being developed that are a threat to the platform?
(and not necessarily by their own API) Etc etc

For instance, here are some examples:
-  Payment APIs for mobile platforms have been around for a long time which means payment is an important function. However, there is still reluctance for their widespread usage due to various factors (fragmentation, cost etc). At the same time, we are seeing NFC APIs.
-  Specific platforms like Android with Android intents (see below), lend to integration across platforms.
-  TV as a platform is widely talked about but yet when TV does become a full platform, it is a threat to the business model of existing TV networks.

Abstracting the nscreen APIs

As I discuss below, the world of APIs can be complex. Drawing upon the analysis in Webinos, we could abstract this information i.e. view API functionality as a generic set of features and then we aim to discuss specific APIs within this context for distinct platforms

APIs could be divided into a number of generic categories:

-          Generic APIs for the core functionality of the product
-          APIs for service discovery and remote API access: APIs allowing applications to discover other devices and services/applications on other devices and on network servers and access these remote services.
-          Hardware Resources APIs: APIs allowing applications to access information and functionality relating to device HW resources such as GPS, camera, microphone, sensors, etc.
-          Application Data APIs: APIs allowing applications read and write access to application capabilities such as contact items, calendar information, messages, media files, etc.
-          Communication APIs: APIs allowing applications to communicate with other applications in the same or another device.
-          Application execution APIs: APIs allowing applications to launch other apps and native applications.
-          User profile and context APIs: APIs allowing applications access to user profile data and user context.
-          Security and Privacy APIs

You could further break down the APIs into the following:

HW resource APIs
-          Device Orientation API
-          Generic Sensor Actuator API: APIs which act on sensor data
-          Microphone API: Capture audio samples from microphone
-          Camera API: Capture video stream from device camera
-          Geolocation API: Access to device location information
-          Device status API: Access to device status information
-          TV and STB control API: Control TV/STB via API so other devices can act as a remote control.
-          Device interaction API: Access to apis for interacting with the end user
-          Barcode API: APIs for decoding barcodes using the camera of the device.
-          Vehicle API: Provides access to vehicle properties (e.g. current speed, mileage, fuel consumption)
-          NFC API
Application data APIs
-          Contacts API: Allowing access to calendar data
-          Calendar API: Description: Access/use to native calendar application
-          Messaging API: Description: Send and receive messages of type email, SMS, MMS.
-          Filesystem API: Access to device filesystem
-          Multimedia/gallery API: access to media on device including access to remote media, metadata etc
-          Payment API: APIs for payments including apps/in-app purchases etc

Communication APIs
These APIs relate to communication with other devices, other applications and servers. This could be socket based communication, communication for individual components or low level API communication relying on networking features like overlay networking

Application execution and Policy APIs
The Application Execution API allows discovery, activation and understating of policy issues related to applications installed on the device. It could also perform late run-time binding between different functionality similar to Android intents. These include APIs like Widget execution API, Application Launcher API etc

User profile and context APIs
The user profile API defines attributes and methods to access to user related information (e.g. name, nickname, gender birthday, etc.) while the application data API provide information about application related information (e.g. installed application).

Communication APIs: Include APIs like Event handling API

Security and Privacy APIs include Platform attestation API, User Authentication API etc
The above analysis provides a template for all APIs. But for deeper integration, these APIs will have to function across the four platforms. This will include cross-platform functionality such as:
-          Maintaining a common Identity across platforms
-          Discovery and Addressing objects and services across platforms
-          Remote Notifications and Messaging
-          Policy and Security across platforms
-          Negotiation and Compatibility
-          Lifecycle management
-          The ability to detect device and Service Functional Capability
-          Transfer and Management of State
Currently, APIs exist for many platforms across the stack for each of the four platforms: ex
Upnp, Dlna, Mozilla, Mozilla webapis, WAC, Chrome, PhoneGap, Titanium, Microsoft Media room , Philipps Nettv, Genivi alliance, ARM etc When viewed in the context of the above framework, many of these are at a very early stage and relate to specific platforms. As the functionality evolves and new services emerge, I expect we will see the need for cross-platform services, which leads to the motivation behind the nscreen vision community

The nscreenvision community

We envisage the nscreenvision community to be a niche group of people interested in the domain of cross platform integration through APIs. As these ecosystems evolve and integrate, we see value in a knowledge based community comprising creators of multi-platform applications. The initial knowledge base underpinning this community, especially the analysis of APIs, is derived from  my work with Webinos. However, the community differs from Webinos itself because it a narrow emphasis on APIs and also that it is not related to the Web alone.

We are familiar with this ecosystem based on our own work and by participating in this niche community, we hope to share our insights in this space. The community will include specific surveys, the summary results of which we will share with the community. As analysts, we will use the insights from the community to predict the evolution of Open innovation, as discussed above.

By keeping the community small and niche, we expect to work more closely with the members enabling us to share and learn from each other.

If this is of interest, please email me at ajit.jaokar at futuretext.com with the subject ‘nscreeenvision’. We are particularly interested in meeting people who are creating multiplatform applications and / or developers working with specific APIs

Image source: http://www.webkitchen.be/wp-content/uploads/2009/08/multiscreen.jpg