WebAPI/AppDefinedTeleophony: Difference between revisions

no edit summary
No edit summary
Line 1: Line 1:
For B2G, communication applications likes Skype, WhatsApp, LINE, Facebook, Google plus..., etc, will define their owned communication protocols for short/instant messages, voice calling, and contacts.  The features of these applications are very similar to telephony, users may like to integrate all of them into one/or several place(s).
For B2G, communication applications likes Skype, WhatsApp, LINE, Facebook, Google plus..., etc, will define their owned communication protocols for short/instant messages, voice call, and contacts.  The features of these applications are very similar to telephony, users may like to integrate all of them into one/or several place(s).


For most communication applications, they are comprised by contacts, calling history, messaging, and voice/video calling service.  For voice/video call, it is very different from one application to another.  So, every application should define their owned user interface to accept and initiate a call.  But, for contact, calling history, and messages, they are very similar for applications.  By integrating contact, calling history, and messages from all applications, the platform can provide better UX that users can browse and search all information at one place.
For most communication applications, they are comprised by contacts, call history, messaging, and voice/video call service.  For voice/video call, it is very different from one application to another.  So, every application should define their owned user interface to accept and initiate a call.  But, for contact, call history, and messages, they are very similar for applications.  By integrating contact, call history, and messages from all applications, the platform can provide better UX that users can browse and search all information at one place.


Following, this page is about changes of [[ContactsAPI]], calling history, and [http://messaging.sysapps.org/ Messaging API]
Following, this page is about changes of [[ContactsAPI]], call history, and [http://messaging.sysapps.org/ Messaging API]


== Contacts API ==
== Contacts API ==
  interface ContactField : nsISupports
  interface ContactField : nsISupports
  {
  {
   attribute DOMString handler;  // the application that can handle voice/video calling and messaging.
   attribute DOMString handler;  // the application that can handle voice/video call and messaging.
   attribute DOMURI status;      // an status icon as an indication of presence and alike.
   attribute DOMURI status;      // an status icon as an indication of presence and alike.
   attribute DOMString[] type;  // for primary/favorite (use:"PREF"), "home", "work", etc.
   attribute DOMString[] type;  // for primary/favorite (use:"PREF"), "home", "work", etc.
Line 14: Line 14:
  };
  };


|handler| and |status| field are added to ContactField interface.  With them, the contact app can invoke the correct APP to initiate a voice/video calling or concall.  For most IM now, |status| field can be used to show presence and status of a user.
|handler| and |status| field are added to ContactField interface.  With them, the contact app can invoke the correct APP to initiate a voice/video call or concall.  For most IM now, |status| field can be used to show presence and status of a user.


For handling changing of |status|, the App should listen on ContactsManager::oncontactchange event.
For handling changing of |status|, the App should listen on ContactsManager::oncontactchange event.
Line 47: Line 47:
Should we provide a way for synchronization between the database of Messaging API and App's local storage?
Should we provide a way for synchronization between the database of Messaging API and App's local storage?


== Calling history ==
== Call History ==
There is no API for calling history.  We need a new API for that.  It must have the capability of telling what the App can handle an address/number in the calling history.
There is no API for call history.  We need a new API for that.  It must have the capability of telling what the App can handle an address/number in the call history.


== Communication Apps ==
== Communication Apps ==
Line 57: Line 57:
* show a user in contacts
* show a user in contacts


The communicaton apps are responsible for handling incoming calls and messages.  But, they store contacts, messages, and calling history in ContactsAPI, Messaging API, and calling history API.
The communicaton apps are responsible for handling incoming calls and messages.  But, they store contacts, messages, and call history in ContactsAPI, Messaging API, and call history API.
Confirmed users
398

edits