Skip to content

Proposal "Handling VR help requests when app does not send VR help pr…#1

Open
GetmanetsIrina wants to merge 5 commits intomasterfrom
feature/NewBehaviorForVrHelpAndHelpPrompt
Open

Proposal "Handling VR help requests when app does not send VR help pr…#1
GetmanetsIrina wants to merge 5 commits intomasterfrom
feature/NewBehaviorForVrHelpAndHelpPrompt

Conversation

@GetmanetsIrina
Copy link
Owner

Proposal "Handling VR help requests when app does not send VR help prompt"

@@ -0,0 +1,68 @@
```
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@GetmanetsIrina please remove this line with quotes from first and last lines of file. Because formatting will not work in this case

Copy link
Owner Author

@GetmanetsIrina GetmanetsIrina Nov 7, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changed locally

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@GetmanetsIrina Can't see that this was done as formatting still did not work

@@ -0,0 +1,68 @@
```
# Feature name
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@GetmanetsIrina please enter your feature name

Copy link
Owner Author

@GetmanetsIrina GetmanetsIrina Nov 7, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changed locally

## Motivation

If there is no SetGlobalProperties issued, the default help item list will be populated by command list shared by Voice module or by default values from .ini file. If App issues a SetGlobalProperties with help item list, then this list will have precedence and it will be displayed on HMI.
We imagine cases when app does not provide VRHelps item and VRHelpTitle, so in such case help information will be empty.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@GetmanetsIrina propose:
In terms of this proposal will be considered a case when app does not provide VRHelp and VRHelpTitle parameters. In this case help information will be empty.

Copy link
Owner Author

@GetmanetsIrina GetmanetsIrina Nov 7, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changed locally with comment "Instead of "We imagine cases when app does not provide VRHelps item and VRHelpTitle"
better to write
"But there is no guarantee that Application provide VRHelps and VRHelpTitle, and possible situation when driver couldn't use Voice Recognition""

## Proposed solution

The solution proposed here is to implement new SDL behavior:
1. In case mobile app does NOT send SetGlobalProperties_request at all with <vrHelp> and <helpPrompt> during 10 sec timer and this mobile app has NO registered AddCommands and/or DeleteCommands requests (resumed during data resumption).
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@GetmanetsIrina propose:
SetGlobalProperties request with and at all during...

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@GetmanetsIrina ,
not clear about timer - during 10 sec timer from what event
I suppose that event is App registeration, but need to correct

Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changed locally. Added 'Information' info related to starting timer.

## Proposed solution

The solution proposed here is to implement new SDL behavior:
1. In case mobile app does NOT send SetGlobalProperties_request at all with <vrHelp> and <helpPrompt> during 10 sec timer and this mobile app has NO registered AddCommands and/or DeleteCommands requests (resumed during data resumption).
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@GetmanetsIrina :
AddCommand and/or DeleteCommand requests
Please check in all file

Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changed locally.

SDL must provide the default values of <helpPrompt> and <vrHelp> to HMI.
2. In case mobile app successfully registers and gets any HMILevel other than NONE OR changes it`s level from NONE to any other (in case of HMILevel resumption or activation).
SDL must create internal list with "vrHelp" and "helpPrompt" based on successfully registered AddCommands and/or DeleteCommands requests (resumed within data resumption process)
start 10 sec timer right after assigning HMI level different from NONE for registered app for waiting SetGlobalProperties_request from mobile app. SDL must start this 10 sec timer only once in case of app registration OR after HMILevel resumption OR activation after registration.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@GetmanetsIrina SetGlobalProperties_request - please remove underscope between words. Check this in all file.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@GetmanetsIrina , please use either App or Application or application through the doc.

Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changed locally.

SDL must create internal list with "vrHelp" and "helpPrompt" based on successfully registered AddCommands and/or DeleteCommands requests (resumed within data resumption process)
start 10 sec timer right after assigning HMI level different from NONE for registered app for waiting SetGlobalProperties_request from mobile app. SDL must start this 10 sec timer only once in case of app registration OR after HMILevel resumption OR activation after registration.
3. In case mobile app sends SetGlobalProperties_request during 10 sec timer with: valid <helpPrompt> and <vrHelp> params, other valid params related to this RPC.
SDL must transfer TTS.SetGlobalProperties (<helpPrompts>, params) with adding period of silence between each command "helpPrompt" to HMI transfer UI.SetGlobalProperties (<vrHelp, params>) to HMI respond with <resultCode_received_from_HMI> to mobile app.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@GetmanetsIrina propose to format all this actions as a list or separate them using ,

Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changed locally.

start 10 sec timer right after assigning HMI level different from NONE for registered app for waiting SetGlobalProperties_request from mobile app. SDL must start this 10 sec timer only once in case of app registration OR after HMILevel resumption OR activation after registration.
3. In case mobile app sends SetGlobalProperties_request during 10 sec timer with: valid <helpPrompt> and <vrHelp> params, other valid params related to this RPC.
SDL must transfer TTS.SetGlobalProperties (<helpPrompts>, params) with adding period of silence between each command "helpPrompt" to HMI transfer UI.SetGlobalProperties (<vrHelp, params>) to HMI respond with <resultCode_received_from_HMI> to mobile app.
4. In case SDL already transfers UI/TTS.SetGlobalProperties with <vrHelp> and <helpPrompt> received from mobile app to HMI and 10 sec timer is NOT expired yet and mobile app sends AddCommand and/or DeleteCommand requests to SDL.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@GetmanetsIrina please remove extra space between "app to HMI and 10 sec timer"

Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changed locally.

7. In case mobile app sends SetGlobalProperties_request during 10 sec timer without <helpPrompt> and/or <vrHelp> params and with other valid params related to this RPC and this mobile app has successfully registered VR.AddCommands and/or VR.DeleteCommands requests (resumed during data resumption).
SDL must provide the value of <helpPrompt> and/or <vrHelp> from internal list based on registered VR.AddCommands and VR.DeleteCommands requests to HMI.
8. In case mobile app does NOT send SetGlobalProperties with <vrHelp> and <helpPrompt> to SDL during 10 sec timer and SDL already sends by itself UI/TTS.SetGlobalProperties with values of <vrHelp> and <helpPrompt> to HMI and SDL does NOT receive response from HMI at least to one TTS/UI.SetGlobalProperties during <DefaultTimeout> (the value defined at .ini file).
SDL must log corresponding error internally continue work as assigned (due to existing requirements).
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@GetmanetsIrina
log corresponding error internally and continue work as expected according to existing requirements

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@GetmanetsIrina , suggest to remove entire sentence in ()

Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changed locally.


## Impact on existing code

Application of described solution will impact on SDL behavior ralated to app registration with changing HMI level from NONE, resumption procedure.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@GetmanetsIrina could be rephrased just as:
Application registration process, data resumption procedure.

Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changed locally.


## Introduction

VRHelp items and VRHelpTitle are set by SetGlobalProperties for helping user to make voice navigation over registered application, what is very usefull in case your hands are busy with driving.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

After this one sentence it;s good to add oanther one.
"Safety requirements are very strong in automotive, so possibility to use Voice Recognition should be provided for driver all the time"

I introduction we need to concentrate on issue we have to fix.

Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changed locally.

## Motivation

If there is no SetGlobalProperties issued, the default help item list will be populated by command list shared by Voice module or by default values from .ini file. If App issues a SetGlobalProperties with help item list, then this list will have precedence and it will be displayed on HMI.
We imagine cases when app does not provide VRHelps item and VRHelpTitle, so in such case help information will be empty.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@GetmanetsIrina ,

Instead of "We imagine cases when app does not provide VRHelps item and VRHelpTitle"
better to write
"But there is no guarantee that Application provide VRHelps and VRHelpTitle, and possible situation when driver couldn't use Voice Recognition"

Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changed locally.


If there is no SetGlobalProperties issued, the default help item list will be populated by command list shared by Voice module or by default values from .ini file. If App issues a SetGlobalProperties with help item list, then this list will have precedence and it will be displayed on HMI.
We imagine cases when app does not provide VRHelps item and VRHelpTitle, so in such case help information will be empty.
The reason of proposal to add SDL logic related to adding values for VRHelp item and VRHelpTitle in case they are not provided by application.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@GetmanetsIrina , sound a little bit strange for americans
"The reason of proposal to add SDL logic related to adding values for VRHelp item and VRHelpTitle"
to
"The reason of proposal to add logic of adding default values for VRHelp item and VRHelpTitle"

Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changed locally to "The reason of proposal to add logic of adding values for VRHelp item and VRHelpTitle"


## Proposed solution

The solution proposed here is to implement new SDL behavior:
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@GetmanetsIrina ,
suggest to rephrase
"The solution proposed here is to implement new SDL behavior:"
to
"The solution proposed here is to implement next items:"

Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changed locally.

## Proposed solution

The solution proposed here is to implement new SDL behavior:
1. In case mobile app does NOT send SetGlobalProperties_request at all with <vrHelp> and <helpPrompt> during 10 sec timer and this mobile app has NO registered AddCommands and/or DeleteCommands requests (resumed during data resumption).
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@GetmanetsIrina ,
not clear about timer - during 10 sec timer from what event
I suppose that event is App registeration, but need to correct

SDL must provide the default values of <helpPrompt> and <vrHelp> to HMI.
2. In case mobile app successfully registers and gets any HMILevel other than NONE OR changes it`s level from NONE to any other (in case of HMILevel resumption or activation).
SDL must create internal list with "vrHelp" and "helpPrompt" based on successfully registered AddCommands and/or DeleteCommands requests (resumed within data resumption process)
start 10 sec timer right after assigning HMI level different from NONE for registered app for waiting SetGlobalProperties_request from mobile app. SDL must start this 10 sec timer only once in case of app registration OR after HMILevel resumption OR activation after registration.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@GetmanetsIrina , please use either App or Application or application through the doc.

7. In case mobile app sends SetGlobalProperties_request during 10 sec timer without <helpPrompt> and/or <vrHelp> params and with other valid params related to this RPC and this mobile app has successfully registered VR.AddCommands and/or VR.DeleteCommands requests (resumed during data resumption).
SDL must provide the value of <helpPrompt> and/or <vrHelp> from internal list based on registered VR.AddCommands and VR.DeleteCommands requests to HMI.
8. In case mobile app does NOT send SetGlobalProperties with <vrHelp> and <helpPrompt> to SDL during 10 sec timer and SDL already sends by itself UI/TTS.SetGlobalProperties with values of <vrHelp> and <helpPrompt> to HMI and SDL does NOT receive response from HMI at least to one TTS/UI.SetGlobalProperties during <DefaultTimeout> (the value defined at .ini file).
SDL must log corresponding error internally continue work as assigned (due to existing requirements).
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@GetmanetsIrina , suggest to remove entire sentence in ()

8. In case mobile app does NOT send SetGlobalProperties with <vrHelp> and <helpPrompt> to SDL during 10 sec timer and SDL already sends by itself UI/TTS.SetGlobalProperties with values of <vrHelp> and <helpPrompt> to HMI and SDL does NOT receive response from HMI at least to one TTS/UI.SetGlobalProperties during <DefaultTimeout> (the value defined at .ini file).
SDL must log corresponding error internally continue work as assigned (due to existing requirements).
9. In case mobile app does NOT send SetGlobalProperties with <vrHelp> and <helpPrompt> to SDL during 10 sec timer and SDL already sends by itself UI/TTS.SetGlobalProperties with values of <vrHelp> and <helpPrompt> to HMI and SDL receives any <errorCode> in response from HMI at least to one TTS/UI.SetGlobalProperties.
SDL must log corresponding error internally continue work as assigned (due to existing requirements).
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@GetmanetsIrina , suggest to remove entire sentence in ()

@@ -0,0 +1,68 @@
```
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@GetmanetsIrina Can't see that this was done as formatting still did not work

@GetmanetsIrina GetmanetsIrina force-pushed the feature/NewBehaviorForVrHelpAndHelpPrompt branch from 6a5fbc9 to d5baf9c Compare November 7, 2017 12:22

## Introduction

"vrHelp" items and "helpPrompt" are set by SetGlobalProperties for helping user to make voice navigation over registered application, what is very useful in case your hands are busy with driving.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@GetmanetsIrina

  • I think its good to decrypt VR first. Otherwise reader may guess is it Virtual Reality, Video Recording or something else
  • VRHelp, VRHelpTitle need to be described, what do they basically define
  • would be good to link SetGlobalProperties to the MOBILE_API.xml e.g. SetGlobalProperties


## Motivation

If there is no SetGlobalProperties issued, the default help item list will be populated by command list shared by Voice module or by default values from .ini file. If application issues a SetGlobalProperties with help item list, then this list will have precedence and it will be displayed on HMI.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@GetmanetsIrina

  • I think it should be "the default help items list will be populated with command list sent to voice module or with default values from smartDeviceLink.ini (link to the line in the file) file"
  • then this list will have precedence over default values ...
  • The purpose of proposal is to implement logic for default values of ...

## Proposed solution

The solution proposed here is to implement next items:
1. In case mobile application does NOT send SetGlobalProperties request with "vrHelp" and "helpPrompt" at all during 10 sec timer and this mobile application has NO registered AddCommand and/or DeleteCommand requests (resumed during data resumption).
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@GetmanetsIrina

  • .. at all during 10 seconds from its registration timer
  • has NO registered AddCommand and/or DeleteCommand requests - I suppose you meant "there are no registered VR commands (received with AddCommand request(s))" ?

The solution proposed here is to implement next items:
1. In case mobile application does NOT send SetGlobalProperties request with "vrHelp" and "helpPrompt" at all during 10 sec timer and this mobile application has NO registered AddCommand and/or DeleteCommand requests (resumed during data resumption).
SDL must provide the default values of "helpPrompt" and "vrHelp" to HMI.
SDL must start this 10 sec timer only once in case of application registration OR after HMILevel resumption OR activation after registration.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@GetmanetsIrina
Better create list of options instead of OR...OR...OR

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

SDL must provide the default values of "helpPrompt" and "vrHelp" to HMI.
SDL must start this 10 sec timer only once in case of application registration OR after HMILevel resumption OR activation after registration.
2. In case mobile application successfully registers and gets any HMILevel other than NONE OR changes it's level from NONE to any other (in case of HMILevel resumption or activation).
SDL must:
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@GetmanetsIrina
Please use list formatting option e.g.

  • first item
  • second item
  • third item

since the final document view is almost unreadable

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

-> update internal list with new values of "vrHelp" and "helpPrompt" params ONLY after successful response from HMI
-> send updated values of "vrHelp" and "helpPrompt" via TTS UI.SetGlobalProperties to HMI till mobile application sends SetGlobalProperties request with valid "vrHelp" and "helpPrompt" params to SDL.
6. In case mobile application has NO registered AddCommand and/or DeleteCommand requests (resumed within data resumption process).
SDL must use current appName as default value for "vrHelp" parameter, retrieve value of "helpPrompt" from .ini file ([GLOBAL PROPERTIES] section -> "HelpPrompt" param).
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@GetmanetsIrina
Put link to to specific lines in the file from repository

@GetmanetsIrina
Copy link
Owner Author

GetmanetsIrina commented Nov 7, 2017

@dev-gh , @AByzhynar , @Itileda , @AKalinich-Luxoft please see commit 1dc6eef

@GetmanetsIrina GetmanetsIrina force-pushed the feature/NewBehaviorForVrHelpAndHelpPrompt branch from f9bf15b to 1dc6eef Compare November 8, 2017 06:42
## Motivation

If there is no SetGlobalProperties issued, the help items list will be populated with command list sent to voice module or with default values from [smartDeviceLink.ini](https://github.com/smartdevicelink/sdl_core/blob/master/src/appMain/smartDeviceLink.ini#L122) file. If application issues a SetGlobalProperties with help item list, then this list will have precedence and it will be displayed on HMI.
But there is no guarantee that Application provide "vrHelp" and "helpPrompt", and possible situation when driver couldn't use Voice Recognition.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@GetmanetsIrina

  • odd comma after "helpPrompt"
  • better to rephrase " .. and it is possible that driver won't be able to use .."

GetmanetsIrina pushed a commit that referenced this pull request Apr 12, 2018
* SendLocation for Mobile Nav

This proposal is about extending the capability for apps to receive and service SendLocation requests from other apps which is currently limited to the Head Unit's embedded navigation system.

* Updating links to assets

* Updated links to assets

* Create a

* Asset #1

* asset #2

* Delete a

* Delete SendLocationForMobileNav_RAI.jpg

* Add files via upload

* Delete SendLocationForMobileNav_RequestResponse.jpg

* Add files via upload

* Addressed comments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants