Giter Site home page Giter Site logo

sdl_hmi_integration_guidelines's People

Contributors

abyzhynar avatar agaliuzov avatar akihiro-miyazaki avatar anastasiyabritanova avatar drachenkoanastasiia avatar getmanetsirina avatar icollin avatar jack-byrne avatar jacobkeeler avatar jemerick avatar joeygrover avatar jordynmackool avatar justinjdickow avatar khrystynadubovyk avatar luxoftakutsan avatar mariia-novosiadla avatar mked-luxoft avatar olesiav avatar pestoo avatar shiniwat avatar shobhitad avatar sniukalov avatar ssmereka avatar theresalech avatar yifili09 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sdl_hmi_integration_guidelines's Issues

[SDL 0274] Add preferred FPS to VideoStreamingCapability

Proposal: Add preferred FPS to VideoStreamingCapability

This proposal extends SDL video streaming feature by adding preferred FPS to VideoStreamingCapability, so that frame rate of video streaming can be adjusted per OEM.

Review: smartdevicelink/sdl_evolution#913

Steering Committee Decision:

The Steering Committee voted to accept this proposal with revisions. The revisions will include the items listed in this comment from the author.

The proposal .md file was updated to reflect these revisions on 2/10/2020.

HMI Guideline Inconsistencies

See issue: smartdevicelink/sdl_core#541 (comment)

  1. Press Mode is wrong.
    -> needs to be fixed in Guidelines
  2. Alert timeout with soft buttons.
    -> SDL has a requirement to cancel the internal timeout for Alert with SBs.
    -> Per current requirements, if app -> SDL: Alert + SBs:
    and with "duration" -> SDL must transfer "duration" to HMI via UI.Alert
    and without "duration" -> SDL must omit "duration" in UI.Alert to HMI
    in both cases, HMI must apply the "default HMI timeout for alerts with SBs"
    -> So, in case of Alert with SBs it's completely HMI's responsibility to provide UI.Alert_response: SDL will keep waiting even without OnResetTimeout notification.
    ==> to sum up:
    a. it's SDL's defect to zero the "duration" in UI.Alert (while it's expected when SDL's internal timeout is zeroed)
    b. Guidelines needs to be updated for KEEP_CONTEXT behavior
  3. Alert text fields.
    -> Per SDL requirements, in case mobile_API omits "minlength" descriptor of string param, SDL must use value of "minlength = 1" by default.
    -> returning INVALID_DATA to app's Alert that contains zeroed AlertTextStrings is an expected behavior.
    -> This above description is out of "SDL-HMI Guidelines" scope, since it impacts app-SDL relations only.
  4. Alert - HMI defined "close" button behavior .
    -> the expected behavior is correct.
    -> please bring up as a separate issue, with logs if possible.
  5. For 6.18.1.1, among the parameters of "BasicCommunication.OnSystemRequest", spec says that "appID" is an integer, but SDL Core expects it to be a string when testing.
    -> SDL behavior is fixed to expect integer "appID" in release_4.1.0
  6. In 10.6.2.2, the description of parameter "ttsName" for "TTS.ChangeRegistration" is wrong. That is the description of parameter "vrSynonyms" for "VR.ChangeRegistration".
    -> Guidelines need to be fixed
  7. In 7.29.3, it shows that when the response is SUCCESS for "UI.SetDisplayLayout", it can include four parameters "displayCapabilities", "buttonCapabilities", "softButtonCapabilities", and "presetBankCapabilities". But SDL Core logs will show "Incorrect parameter from HMI" when the response contains any of this four parameters.
    -> needs to be investigated (the above behavior is against the requirements). Please bring up as a separate issue.
  8. In 10.2.3.1, it shows that the first parameter of "TTS.GetCapabilitites" is "capabilities". But I checked SDL Core code, and it expects "speechCapabilities".
    -> Guidelines need to be fixed

Parameter boundary do not align:

  1. Such is inherited from mobile_API.
    The expected behavior is that when app sends AddCommand with ParentID=0 -> HMI needs to add it to the top-level menu (like "options" in html5_hmi)
  2. Such is inherited from mobile_API.
  3. Such is inherited from mobile_API.
  4. Such is inherited from mobile_API.
  5. That is expected SDL behavior (see also mobile_API description).
    The background is: what should HMI display if neither text nor image are provided for a softButton?
    If softButtons struct is included - it must contain reasonable values. If softButtons are not expected - the struct might be just omitted.

[SDL 0240] WebEngine support for SDL JavaScript

Proposal: WebEngine support for SDL JavaScript

This proposal is adding a new transport to the SDL JavaScript library to support (progressive) web apps to run on a WebEngine or a browser.

Review: smartdevicelink/sdl_evolution#767

Steering Committee Decision:

The Steering Committee voted to accept this proposal with the following revisions:

The proposal .md file was updated to reflect these revisions on 12/19/19.

Update License to 2020

License file should be updated from "Copyright (c) 2017 SmartDeviceLink Consortium, Inc." to "Copyright (c) 2017 - 2020 SmartDeviceLink Consortium, Inc."

[SDL 0274] Add preferred FPS to VideoStreamingCapability

Proposal: Add preferred FPS to VideoStreamingCapability

This proposal extends SDL video streaming feature by adding preferred FPS to VideoStreamingCapability, so that frame rate of video streaming can be adjusted per OEM.

Review: smartdevicelink/sdl_evolution#913

Steering Committee Decision:

The Steering Committee voted to accept this proposal with revisions. The revisions will include the items listed in this comment from the author.

The proposal .md file was updated to reflect these revisions on 2/10/2020.

Broken Links

There are a few broken links within the HMI Integration Guidelines.

Location: SDL/OnStatusUpdate - "BC.PolicyUpdate" link in Notification section.

Location: UI/AddCommand - "menuLength" link in first MUST section.

Location: TTS/GetCapabilities - "Common.PrerecordedSpeech" link in first NOTE section.

Location: BasicCommunication/ActivateApp - "VR.AddCommand" link in Behavior section.

Location: Buttons/OnButtonPress - "Buttons.OnButtonSubscription" link in first paragraph.

Location: BasicCommunication/OnSystemCapabilityUpdated - "Create Window" link in Notification section.

Describe unsupported interfaces ("IsReady: false" response)

Describe SDL behaviour in cases:

  1. interface is not available: response IsReady(available: false)
  2. interface availability is unknown: non-response
  3. interface is available: response IsReady(available: true)

Impacted interfaces:

  • UI
  • TTS
  • VR
  • Navigation
  • VehiclaeInfo

Add LICENSE file

Need to add a License file for sdl_hmi_integration_guidelines with the following content:

Copyright (c) 2017, SmartDeviceLink Consortium, Inc.
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.

Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.

Neither the name of 2017, SmartDeviceLink Consortium, Inc. nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

[SDL 0248] HMI Policy Table Update using vehicle modem

Update documentation to reflect the new flow of the proposal described and linked below:

Proposal: HMI Policy Table Update using vehicle modem

This proposal describes an enhanced policy table update PTU sequence where the IVI system sends the policy table snapshots (PTS) directly to the policy server using the in-vehicle modem and returns a policy table update (PTU) back to SDL Core without using any SystemRequest RPC.

Review: smartdevicelink/sdl_evolution#813

Steering Committee Decision:

The Steering Committee voted to accept this proposal with the following revisions:

  • Note SDL.GetURLs as deprecated, and add GetPolicyConfigurationData
  • Include implementation details for HMI Integration Guidelines, SDL HMI, Generic HMI, and ATF/ATF Test Scripts, as outlined in this comment

The proposal .md file was updated to reflect these revisions on 9/3/19.

Describe the difference between BasicCommunication.OnAppActivated and SDL.ActivateApp

While Jack and I were working on an SDL HMI integration we found that there were two ways for an application to be activated by the HMI.

In the first, the HMI sends BasicCommunication.OnAppActivated to SDL, SDL sends BasicCommunication.ActivateApp to HMI and HMI returns with a success to SDL. In our testing, we found that activating applications using this flow only worked for some applications.

The other way to activate an application is to send a message called "SDL.ActivateApp" to SDL and get a response with information about the application that was activated. This approach seemed to work for all the applications that we tested.

The differences in these APIs should be documented. If the OnAppActivated API does not work for whatever reason, it should be removed so that it can't be used by future HMI integrations with SDL.

Missing documentation

I havne't been able to find any documentation on the following:

OnDeactivateHMI
OnEventChanged (Understading issue #19 was raised)
ShowCustomForm

We need to include these ASAP.

Grammatical errors and broken link updates

The following items need to be updated in the SDL HMI Integration Guidelines:

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.