1. Webinos APIs
Presentation for Webinos launch day
June 19 2012
Claes Nilsson – Sony Mobile
Rev PA3 2012-06-19 1
2. Scope
Javascript APIs for web application
developers
– Provides access to HW and SW
capabilities
– Also access to capabilities on
remote devices in Personal Zones
Rev PA3 2012-06-19 2
4. API landscape
What WG
DAP Web apps Work with W3C standardization
– provide input to W3C
System apps Web RTC .
Geolocation
Use existing APIs
when possible.
If necessary make
Webinos additions/ If needed specify new
modifications Webinos APIs.
WAC
WebAPI
Rev PA3 2012-06-19 4
5. Phase 1 API specifications
Done June 30 2011
Link to phase 1 API specifications
Link to phase 1 API specifications based
on category
Rev PA3 2012-06-19 5
7. New Webinos Phase 1 API
specifications modified from
existing W3C, WAC and
Bondi specifications
Webinos Device Status Vocabulary - WAC 2.0 devicestatus module
with added Webinos aspects
Webinos Messaging module - WAC 2.0 Messaging module with
Webinos modifications
Webinos Widget module - Based on W3C Widget Interface
Webinos AppLauncher module - Based on BONDI 1.1
Webinos Userprofile module - Based on W3C DAP Contacts and
Portablecontacts (discontinued in phase 2)
Rev PA3 2012-06-19 7
8. Unmodified referenced
APIs from W3C or WAC
W3C Geolocation API
W3C DeviceOrientation Event
W3C Media Capture (discontinued in phase 2)
WAC 2.0 devicestatus module
WAC waikiki deviceinteraction module
W3C Contacts API
W3C Calendar API
W3C File API: Reader
W3C File API: Writer
W3C File API: Directories and System
W3C Gallery API
Rev PA3 2012-06-19 8
9. Access to capabilities on
remote devices
Webinos Service Discovery API
– Discover local or remote services without any
previous knowledge of the service. API hides details
of underlying low level discovery and communication
protocols.
– Discovered and selected service accessed through
standard or Webinos APIs
– New API needed as existing low level Service
Discovery mechanisms such as Bluetooth service
discovery, Universal Plug & Play, mDNS, DNS
Service Discovery, etc are not exposed to web
application developers.
Rev PA3 2012-06-19 9
10. Example - access to
geolocation service on
remote device
Peter: PZP
(Personal Zone Proxy)
Peter: PZH
(Personal Zone Hub) TLS
Security Policy
Geo-location
Contacts
File
1. Application calls Webinos Service discovery API
Peter: PZP to search geolocation service
(Personal Zone Proxy)
Geo-location 2. User selects mobile’s geolocation service
Contacts
3. Application binds to selected service
File
4. Application uses W3C Geolocation API to
access geolocation service
Rev PA3 2012-06-19 10
11. Webinos APIs, phase 2
Due August 31 2012
Updating phase 1 API specifications based
on:
– Webinos Phase 1 implementation experiences
– Progress in W3C standardization
New phase 2 APIs based on:
– Additional use cases
– Further Webinos development
– Progress in W3C standardization
Rev PA3 2012-06-19 11
12. New proposed phase 2
APIs
Actuator API
Telephone API
Privacy aware Location and Proximity API
Tethering API
oAuth API
Sensor API – pulse meter sensor type
W3C Web Realtime communication
(getUserMedia and PeerConnection APIs)
Rev PA3 2012-06-19 12
13. More?
Audience is encouraged to
consider and propose more
APIs that need to be
supported!
Rev PA3 2012-06-19 13
14. Investigating Web Intents
for Webinos
• Service discovery/application launcher
mechanism for web applications
• ”Similar to Android Intents but for Web
Applications”
Web Intents has strong momentum in
W3C
Work in W3C on extending model to
support local network, e.g. UPnP, services
Rev PA3 2012-06-19 14
15. Demo of Web Intents for
local network service
discovery and access
Video player application supporting video
play on remote UPnP media rendered
discovered through Web Intents
Rev PA3 2012-06-19 15
16. SUPPORTING SLIDES FOLLOW..
THE SLIDES CONTAIN TABLES OF ALL APIS
WITH DESCRIPTION AND RATIONALE FOR
SPECIFYING THE API OR REUSING AN EXISTING
API.
Rev PA3 2012-06-19 16
17. Introduction
Webinos API specifications are divided into the following categories:
Webinos base and generic objects/interfaces: Common interfaces for all Webinos
APIs.
APIs for service discovery and remote API access: APIs to discover local and
remote services.
HW Resources APIs: APIs allowing access to device HW resources such as GPS,
camera, microphone, sensors, etc.
Application Data APIs: APIs allowing access to application capabilites such as
contact items, calender information, messages, media files, etc.
Communication APIs: APIs allowing communication with other applications in the
same or another device.
Application execution APIs: APIs allowing Webinos applications to launch other
Webinos and native applications.
User profile and context APIs: APIs allowing access to user profile data and user
context.
Security and Privacy APIs: APIs related to the security model for Webinos.
Rev PA3 2012-06-19 17
18. Access to capabilities on
remote devices
Example: Access to Geolocation on remote device.
// 1. Initiate a search query for a service of the type geolocation
findHandle = window.webinos.discovery.findServices(
{api:'http://www.w3.org/ns/api-perms/geolocation'},
{onFound:serviceFoundCB, onLost:serviceLostCB});
// 2. Bind to selected service
serviceHandle = service.bind({onBind:bindCB});
// 3. Use Geolocation API to access service
myLocationService.navigator.geolocation.getCurrentPosition(showMap);
Rev PA3 2012-06-19 18
19. APIs per category
Webinos base and generic objects/interfaces
API name Description Rationale
Webinos Basically it defined the Webinos A specific Webinos namespace
Core module namespace, i.e. the common interface needs to be defined in order to
from which all Webinos APIs can be not pollute the global
accessed. namespace.
Rev PA3 2012-06-19 19
20. APIs per category
Discovery and access to remote services
API name Description Rationale
Webinos Provides web applications with an API New API needed as existing low
Discovery to discover local or remote services level Service Discovery
module without any previous knowledge of mechanisms such as Bluetooth
the service. The API hides details of service discovery, Universal Plug
underlying low level discovery and & Play, mDNS, DNS Service
communication protocols. Discovery, etc are not exposed
to web application developers.
Rev PA3 2012-06-19 20
21. APIs per category
HW resource APIs
API name Description Rationale
Webinos Generic access to data from sensors in the New API needed as there
Sensor device, connected to the device or in was no existing generic
module another device. Webinos Service sensor API that fulfilled the
Discovery API used to find and bind to Webinos requirements, e.g.
sensors and is agnostic to underlying low on sensor discovery.
level methods for sensor discovery and
communication with sensors.
Webinos TV Interface for TV control and management New API needed as existing
Control including channel management and APIs did not fulfill Webinos
module display of TV streams that can be plugged requirements on
into a HTML5 VideoElement . embedding TV stream into a
web page.
Rev PA3 2012-06-19 21
22. APIs per category
HW resource APIs
API name Description Rationale
Webinos Provides access to specific vehicle New API needed as there was no
Vehicle data including trip computer data, existing vehicle API for web
module gears or park sensors. applications and it was not feasible
Furthermore it offers methods for to extend an existing general
interacting with the on-board system information/device status
navigation system. API.
Webinos NFC Supports read/write of identifier New API needed as there was no
module and/or the contents of an NFC tag. existing NFC API for Web
Applications, only Java or native
APIs existed.
Rev PA3 2012-06-19 22
23. APIs per category
HW resource APIs
API name Description Rationale
W3C Provides Web Applications with W3C API fulfills Webinos
Geolocation geographical location. requirements.
API
W3C Device Provides Web Applicatiions with W3C API fulfills Webinos
Orientation information about the device requirements.
Event orientation and motion
W3C Media Provides access to the audio, image and W3C Media Capture was
Capture video capture capabilities of the device. selected in favor of the more
Note, only useful for capturing media simple W3C HTML Media
files, doesn't give access to live Capture API due to security
streams. and remote access reasons.
Rev PA3 2012-06-19 23
24. APIs per category
HW resource APIs
API name Description Rationale
WAC 2.0 API for retrieving device status information Corresponding W3C APIs
devicestatus such as battery status, network not yet mature.
module information and display properties.
Webinos Vocabulary used by WAC 2.0 Device Status WAC 2.0 Device Status
Device Status module. The WAC 2.0 devicestatus module fulfills Webinos
Vocabulary vocabulary has been extended with requirements but some
additional Webinos aspects. new aspects need to be
added to the vocabulary.
WAC device Provides a mechanism to interact with the Corresponding W3C API
interaction end-user through features such as not yet mature.
module device vibrator, device notifier, screen
backlight and device Wallpaper.
Rev PA3 2012-06-19 24
25. APIs per category
Application Data APIs
API name Description Rationale
Webinos A generic and simple shopping basket based New API needed as
Payment API that can be mapped to different underlying none of the existing
module payment systems to provide a system that can solutions provided a
address payments on platform bound payment sufficiently generic
solutions as well as open payment services. payment solution.
Webinos Extension of WAC 2.0 Messaging module. WAC API selected due
Messaging Supports sending messages through different to the availability of
module technologies: SMS, MMS, Email and Instant receiving messages,
Messages. Search for messages in the different which currently is
folders. Subscribe for being notified upon missing in the W3C
incoming message events. Webinos extension Messaging API.
is support for Instant Messages.
Rev PA3 2012-06-19 25
26. APIs per category
Application Data APIs
API name Description Rationale
W3C High-level API to read a user's unified address W3C API fulfills
Contacts API book. Webinos requirements.
W3C High-level API to read a user's calendaring W3C API fulfills
Calendar API service. Webinos requirements.
W3C File API An API for representing file objects in web W3C API fulfills
applications, as well as programmatically Webinos requirements.
selecting them and accessing their data.
W3C File API: An API for writing to files from web W3C API fulfills
Writer applications. Webinos requirements.
Rev PA3 2012-06-19 26
27. APIs per category
Application Data APIs
API name Description Rationale
W3C File API: An API to navigate file system hierarchies. W3C API fulfills
Directories Webinos requirements.
and System
W3C Gallery Provides access to media gallery located on the W3C API fulfills
API device Webinos requirements.
Rev PA3 2012-06-19 27
28. APIs per category
Communication APIs
API name Description Rationale
Webinos Provides means to exchange data in terms of A low level event
Event events among addressable entities (e.g., handling API needed to
Handling applications, services), either locally or send/receive/forward
module remotely. arbitrary data among any
entity, in particular being
suited for developing
higher level APIs relying
on data exchange
featuring Webinos
overlay networking and
discovery.
Rev PA3 2012-06-19 28
29. APIs per category
Application Execution APIs
API name Description Rationale
Webinos Defines the common widget interface. It is W3C Widgets
Widget is based on W3C Widget Specifications and speciifcations are
module specifies webinos specific extensions, e.g. established for installable
methods to put widgets in background and web applications but
issue notifications to the user. Webinos needed to
specifiy extensions to
fulfill requirements.
Webinos Modelled after BONDI v1.1 AppLauncher API Applications are
AppLauncher and modified by Webinos. Allows activation identified differently in
module of webinos applications installed locally on Webinos compared to
the device. Bondi.
Rev PA3 2012-06-19 29
30. APIs per category
Security and Privacy APIs
API name Description Rationale
Webinos Provides a secure method of querying the There was no existing API
Attestation underlying device hardware to find out the providing this
module identity and integrity of running software. functionality.
Webinos Provides information to applications about There was no existing API
Authentication the current authentication status of users, providing this
module as well as allowing applications to request functionality.
re-authentication.
Rev PA3 2012-06-19 30
31. APIs per category
User Profile and Context APIs
API name Description Rationale
Webinos Offers access to information on the user. The W3C Contacts API
Userprofile API is based on W3C Contacts API to gather do not provide social
module basic information about the user (e.g. name, network attributes.
nickname, gender, birthday, etc.). Webinos
extends it with social network attributes from
Portablecontacts.
Rev PA3 2012-06-19 31
32. APIs per category
User Profile and Context APIs
API name Description Rationale
Webinos Defines high-level interfaces to obtain access to There was no
Context a user's context data by two methods: existing API
module • Executing a query against the context data providing this
storage and retrieving context data through the functionality.
query results.
• Subscribing to receive real time context data
updates as soon as a context related event
happens.
Rev PA3 2012-06-19 32
Notes de l'éditeur
What is the WHATWG?The Web Hypertext Application Technology Working Group (WHATWG) is a growing community of people interested in evolving the Web. It focuses primarily on the development of HTML and APIs needed for Web applications.The WHATWG was founded by individuals of Apple, the Mozilla Foundation, and Opera Software in 2004, after a W3C workshop. Apple, Mozilla and Opera were becoming increasingly concerned about the W3C’s direction with XHTML, lack of interest in HTML and apparent disregard for the needs of real-world authors. So, in response, these organisations set out with a mission to address these concerns and the Web Hypertext Application Technology Working Group was born.W3CWeb Applications WGDevice APIs WGGeolocation WGSony Ericsson active in W3C and WebinosAdobe recentlyacquiredPhoneGap: http://m.techcrunch.com/2011/10/03/adobe-acquires-developer-of-html5-mobile-app-framework-phonegap-nitobi/