Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

webinos APIs


Published on

An over view of the 28 different webinos JavaScript APIs. Presented by Claes Nilson of Sony Mobile

Published in: Technology, Business
  • Be the first to comment

webinos APIs

  1. 1. Webinos APIs Presentation for Webinos launch day June 19 2012 Claes Nilsson – Sony MobileRev PA3 2012-06-19 1
  2. 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
  3. 3. Inventing the wheel again?Rev PA3 2012-06-19 3
  4. 4. API landscape What WG DAP Web apps Work with W3C standardization – provide input to W3C System apps Web RTC . GeolocationUse existing APIswhen possible.If necessary makeWebinos additions/ If needed specify newmodifications Webinos APIs. WAC WebAPI Rev PA3 2012-06-19 4
  5. 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
  6. 6. New Webinos phase 1 APIspecifications Webinos Core module Webinos Discovery module Webinos Sensor module Webinos TV Control module Webinos Vehicle module Webinos NFC module Webinos Payment module Webinos Event Handling module Webinos Attestation module (discontinued in phase 2) Webinos Authentication module Webinos Context module Rev PA3 2012-06-19 6
  7. 7. New Webinos Phase 1 APIspecifications modified fromexisting W3C, WAC andBondi 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. 8. Unmodified referencedAPIs 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. 9. Access to capabilities onremote 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. 10. Example - access togeolocation service onremote 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. 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. 12. New proposed phase 2APIs 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. 13. More? Audience is encouraged to consider and propose more APIs that need to be supported!Rev PA3 2012-06-19 13
  14. 14. Investigating Web Intentsfor 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. 15. Demo of Web Intents forlocal network servicediscovery and access Video player application supporting video play on remote UPnP media rendered discovered through Web Intents Rev PA3 2012-06-19 15
  17. 17. IntroductionWebinos 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. 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 geolocationfindHandle = window.webinos.discovery.findServices( {api:}, {onFound:serviceFoundCB, onLost:serviceLostCB});// 2. Bind to selected serviceserviceHandle = service.bind({onBind:bindCB});// 3. Use Geolocation API to access servicemyLocationService.navigator.geolocation.getCurrentPosition(showMap); Rev PA3 2012-06-19 18
  19. 19. APIs per categoryWebinos base and generic objects/interfacesAPI name Description RationaleWebinos Basically it defined the Webinos A specific Webinos namespaceCore 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. 20. APIs per categoryDiscovery and access to remote servicesAPI name Description RationaleWebinos Provides web applications with an API New API needed as existing lowDiscovery to discover local or remote services level Service Discoverymodule 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. 21. APIs per categoryHW resource APIsAPI name Description RationaleWebinos Generic access to data from sensors in the New API needed as thereSensor device, connected to the device or in was no existing genericmodule 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 existingControl including channel management and APIs did not fulfill Webinosmodule 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. 22. APIs per categoryHW resource APIsAPI name Description RationaleWebinos Provides access to specific vehicle New API needed as there was noVehicle data including trip computer data, existing vehicle API for webmodule 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 nomodule 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. 23. APIs per categoryHW resource APIsAPI name Description RationaleW3C Provides Web Applications with W3C API fulfills WebinosGeolocation geographical location. requirements.APIW3C Device Provides Web Applicatiions with W3C API fulfills WebinosOrientation information about the device requirements.Event orientation and motionW3C Media Provides access to the audio, image and W3C Media Capture wasCapture video capture capabilities of the device. selected in favor of the more Note, only useful for capturing media simple W3C HTML Media files, doesnt give access to live Capture API due to security streams. and remote access reasons. Rev PA3 2012-06-19 23
  24. 24. APIs per categoryHW resource APIsAPI name Description RationaleWAC 2.0 API for retrieving device status information Corresponding W3C APIsdevicestatus 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 StatusDevice Status module. The WAC 2.0 devicestatus module fulfills WebinosVocabulary 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 APIinteraction 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. 25. APIs per categoryApplication Data APIsAPI name Description RationaleWebinos A generic and simple shopping basket based New API needed asPayment API that can be mapped to different underlying none of the existingmodule 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 dueMessaging Supports sending messages through different to the availability ofmodule 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. 26. APIs per categoryApplication Data APIsAPI name Description RationaleW3C High-level API to read a users unified address W3C API fulfillsContacts API book. Webinos requirements.W3C High-level API to read a users calendaring W3C API fulfillsCalendar 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 fulfillsWriter applications. Webinos requirements. Rev PA3 2012-06-19 26
  27. 27. APIs per categoryApplication Data APIsAPI name Description RationaleW3C File API: An API to navigate file system hierarchies. W3C API fulfillsDirectories Webinos requirements.and SystemW3C Gallery Provides access to media gallery located on the W3C API fulfillsAPI device Webinos requirements. Rev PA3 2012-06-19 27
  28. 28. APIs per categoryCommunication APIsAPI name Description RationaleWebinos Provides means to exchange data in terms of A low level eventEvent events among addressable entities (e.g., handling API needed toHandling applications, services), either locally or send/receive/forwardmodule 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. 29. APIs per categoryApplication Execution APIsAPI name Description RationaleWebinos Defines the common widget interface. It is W3C WidgetsWidget is based on W3C Widget Specifications and speciifcations aremodule 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 areAppLauncher and modified by Webinos. Allows activation identified differently inmodule of webinos applications installed locally on Webinos compared to the device. Bondi. Rev PA3 2012-06-19 29
  30. 30. APIs per categorySecurity and Privacy APIsAPI name Description RationaleWebinos Provides a secure method of querying the There was no existing APIAttestation underlying device hardware to find out the providing thismodule identity and integrity of running software. functionality.Webinos Provides information to applications about There was no existing APIAuthentication the current authentication status of users, providing thismodule as well as allowing applications to request functionality. re-authentication. Rev PA3 2012-06-19 30
  31. 31. APIs per categoryUser Profile and Context APIsAPI name Description RationaleWebinos Offers access to information on the user. The W3C Contacts APIUserprofile API is based on W3C Contacts API to gather do not provide socialmodule 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. 32. APIs per categoryUser Profile and Context APIsAPI name Description RationaleWebinos Defines high-level interfaces to obtain access to There was noContext a users context data by two methods: existing APImodule • 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