[Proposal] Assistant API

Proposal : Assistant API

Proposal purpose

Currently, There are various Assistants (Google, Siri, Bixby and Clova) in the Platform (CrOS, Android and Mac). If we provide a Web API that can use such assistants, it seems that we can develop a Client with the Web.

Possible implementation ideas

  • Implement Web API for UA
    • If modality is keyboard (ex, Assistant.sendQuery(“Today’s weather”).then(payload => {…)
    • If modality is voice (ex, Assistant.listenQuery() )
  • There is state machine on Assistant
    • state = {Idle, Waiting, Listening, Processing, Answering and etc}
    • we can expose the assistant’s state to the user through Web UI.
  • Consider muti-turn answering on assistant.
  • Consider allow permission to turn on the assistant such as notification permission.
  • Consider It is possible to make clova application on web only.
  • Default assistant is selected by app owner or platform owner.

If necessary, I would like to make it concrete.