Certifying Applications for MirrorLink®

Slides:



Advertisements
Similar presentations
UBIQUITY V3 An extensible platform for creating dynamic, customized, and geocentric native mobile applications.
Advertisements

MicroKernel Pattern Presented by Sahibzada Sami ud din Kashif Khurshid.
A new Network Concept for transporting and storing digital video…………
What’s new in this release? September 6, Milestone Systems Confidential Milestone’s September release 2012 XProtect ® Web Client 1 Connect instantly.
1 GP Confidential © GlobalPlatform’s Value Proposition for Mobile Point of Sale (mPOS)
IHRA-ITS UN-ECE WP.29 ITS Informal Group Geneva, March, 2013 Overview of International Activities to Limit Distraction Document No. ITS (21st ITS,
Technical Considerations of Application Certification Dr. Jörg Brakensiek Principal Architect, Nokia Chair of the Technical Work Group, CCC.
V0.1 Inclusive and Accessible Application Design June 21, 2012.
Driver Workload Guidelines applied to MirrorLink™ Mobile Applications
Objective Understand web-based digital media production methods, software, and hardware. Course Weight : 10%
DESIGNING A PUBLIC KEY INFRASTRUCTURE
Network Management Overview IACT 918 July 2004 Gene Awyzio SITACS University of Wollongong.
© 2009 Research In Motion Limited Methods of application development for mobile devices.
Google Android as a mobile development platform T Internet Technologies for Mobile Computing Olli Mäkinen.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 8: Implementing and Managing Printers.
What is adaptive web technology?  There is an increasingly large demand for software systems which are able to operate effectively in dynamic environments.
Introducing MagicInfo Videowall 2
ANDROID PROGRAMMING MODULE 1 – GETTING STARTED
Packetizer ® Copyright © 2009 H.325: An Application Platform A Closer Look at the “Container” Paul E. Jones Rapporteur Q12/16 April 7,
The Internet & The World Wide Web Notes
Section 508 and NASA Section 508 and NASA Session 4: Software Applications and Operating Systems Presentation to Ames Research Center November 2011 Antonio.
Standards for Technology in Automotive Retail STAR Workbench 1.0 Michelle Vidanes & Dave Carver STAR XML Data Architects, Certified Scrum Masters.
INTERNATIONAL SUMMER ACADEMIC COURSE UNIVESITY OF NIS ISAC – Android programming.
SOFTWARE.
Guide to MCSE , Second Edition, Enhanced 1 Objectives Understand and use the Control Panel applets Describe the versatility of the Microsoft Management.
VoiceXML Builder Arturo Ramirez ACS 494 Master’s Graduate Project May 04, 2001.
Confidential Crisis Management Innovations, LLC. CMI CrisisPad TM Product Overview Copyright © 2011, Crisis Management Innovations, LLC. All Rights Reserved.
People in multimedia Systems. Multimedia Systems Multimedia systems are designed by a team of people who specialise in a particular field, For example:
Guide to Linux Installation and Administration, 2e1 Chapter 3 Installing Linux.
A+ Guide to Managing and Maintaining Your PC Fifth Edition Chapter 15 Installing and Using Windows XP Professional.
Microsoft Office Communicator A General Introduction.
This presentation is the property of Paradigm Information Systems It is confidential to the intended recipient for the purpose of evaluating FMS Any other.
Content Strategy.
London April 2005 London April 2005 Creating Eyeblaster Ads The Rich Media Platform The Rich Media Platform Eyeblaster.
Section 1: Introducing Group Policy What Is Group Policy? Group Policy Scenarios New Group Policy Features Introduced with Windows Server 2008 and Windows.
Module 7: Fundamentals of Administering Windows Server 2008.
Android for Java Developers Denver Java Users Group Jan 11, Mike
CHAPTER TEN AUTHORING.
Computer Emergency Notification System (CENS)
CS4274 TERM PROJECT 2010 SOLE : SHARING OF LIVING EXPERIENCES Team Members: Tan Gui Han Wilson Duy Vinh Chuc Damien Catala Cheng Zhi Xiang.
12 Developing a Web Site Section 12.1 Discuss the functions of a Web site Compare and contrast style sheets Apply cascading style sheets (CSS) to a Web.
Android Security Model that Provide a Base Operating System Presented: Hayder Abdulhameed.
NA-MIC National Alliance for Medical Image Computing UCSD: Engineering Core 2 Portal and Grid Infrastructure.
Reading Flash. Training target: Read the following reading materials and use the reading skills mentioned in the passages above. You may also choose some.
Developing Windows ® 2000 Certified Applications Richard Clay Program Manager Windows Infrastructure Microsoft Corporation
FriendFinder Location-aware social networking on mobile phones.
Copyright © 2010, SAS Institute Inc. All rights reserved. SAS ® Using the SAS Grid.
FriendFinder Location-aware social networking on mobile phones.
ANDROID APPLICATION DEVELOPMENT. ANDROID DEVELOPMENT DEVELOPER.ANDROID.COM/INDEX.HTML THE OFFICIAL SITE FOR ANDROID DEVELOPERS. PROVIDES THE ANDROID SDK.
Oman College of Management and Technology Course – MM Topic 7 Production and Distribution of Multimedia Titles CS/MIS Department.
Folio3 IPhone Training Session 2 Testing App on device Presenter: Imam Raza.
Institute for the Protection and Security of the Citizen HAZAS – Hazard Assessment ECCAIRS Technical Course Provided by the Joint Research Centre - Ispra.
T EST T OOLS U NIT VI This unit contains the overview of the test tools. Also prerequisites for applying these tools, tools selection and implementation.
Understanding Web-Based Digital Media Production Methods, Software, and Hardware Objective
CEA 2014 Overview April 18, 2007 Mark R. Walker PhD Sr. Viiv TM Planning Architect Digital Home Group Intel.
Active-HDL Server Farm Course 11. All materials updated on: September 30, 2004 Outline 1.Introduction 2.Advantages 3.Requirements 4.Installation 5.Architecture.
Wednesday NI Vision Sessions
Introduction to Android Programming
Integrating ArcSight with Enterprise Ticketing Systems
Introducing the Windows Mobile development
Integrating ArcSight with Enterprise Ticketing Systems
z/Ware 2.0 Technical Overview
Android.
Chapter 18 MobileApp Design
Customer Overview & Training For Viewing by Customers
Workforce Mobile (Android)
Objective Understand web-based digital media production methods, software, and hardware. Course Weight : 10%
Device Apps Joseph Ngari| Program Manager.
Android Developer Fundamentals V2
Preparing for the Windows 8. 1 MCSA Module 6: Securing Windows 8
Presentation transcript:

Certifying Applications for MirrorLink® Requirements, process and systems for getting applications certified for use in MirrorLink devices. Ed Pichon CCC Project Manager & Application Certification Body

Certifying Apps for MirrorLink What is MirrorLink? What is Certification? How Do I Make A MirrorLink App? Why Certify My App? How Do I Certify My App?

What is MirrorLink? High Level Overview for Application Developers New Environment for Applications Application Executed on Phone Known challenges for development MirrorLink Client Environment Wide range of display sizes & capabilities Different control schemes – rotary, single-touch screens, multi-touch screens Different sets of available hardware keys MirrorLink Session Environment Remote framebuffer, scaling, audio streaming Communication of status and events Data services Application MirrorLink Server (Phone) MirrorLink Server (Phone) MirrorLink Server (Phone) MirrorLink Common API MirrorLink Client (Head Unit) MirrorLink Client (Head Unit) MirrorLink Client (Head Unit)

Goal: Create Ecosystem of Trusted Apps What is Certification? High-Level Overview of Application Certification Risk Reduction – Reduce Risk that Application Doesn’t Work CCC Publishes Requirements for Applications Base Certification – Does it work in MirrorLink session? Regional Drive Certification – Does it (not) distract the driver? Testing Performed by CCC Approved Test Labs Does the application comply with the CCC’s requirements? CCC Approves Applications for Use in MirrorLink Certified Applications Can Use MirrorLink Logo & Certification Mark in their Application & in their App’s Promotional Material Goal: Create Ecosystem of Trusted Apps

How Do I Make a MirrorLink App? MirrorLink Common API

Making MirrorLink Apps How do I make my app work with MirrorLink? Become MirrorLink Aware Provide application metadata via self-signed certificate Remote framebuffer, scaling, audio streaming and control mapping transparent to application Use the MirrorLink Common API Update application metadata Discover capabilities of MirrorLink Client Respond to status messages from MirrorLink Client Virtual keyboard and controls Take advantage of data services Application MirrorLink Server (Phone) MirrorLink Server (Phone) MirrorLink Server (Phone) MirrorLink Common API MirrorLink Client (Head Unit) MirrorLink Client (Head Unit) MirrorLink Client (Head Unit)

MirrorLink Common API Standard MirrorLink Server Application Interface Each Platform has Platform-Specific ML Common API Definition Android Common API defined Other platforms pending Each Server Device Maker is Responsible for Implementing the ML Common API Device Certification Tests for Common API Functionality and Compliance Common API test cases Common API test application Common API Section Obligation Common API Info Mandatory Device Info Certification Info Connection Info Display Info Event Info Client Virtual Keyboard Optional Key Event Listing Context Information Device Status Info Data Services Notifications MirrorLink Does Not Create Compatibility Problems

MirrorLink Common API Example Common API Definition Event Configuration Information Obtain information about the events supported by the MirrorLink Session Feature Name Description Type Knob Support Supported knob events from the MirrorLink Client. Bit mask as defined in the VNC specification. uint32 Device Key Support Supported device key events from the MirrorLink Client. Bit mask as defined in the VNC specification. Multimedia Key Support Supported multimedia key events from the MirrorLink Client. Bit mask as defined in the VNC specification. Function Key Support Number of supported function keys from the MirrorLink Client. uint8 ITU Key Support Support for ITU keys from the MirrorLink Client bool Touch event support Number of simultaneous touch events, supported from the MirrorLink Server and Client: None, Single, Multi Pressure Mask The pressure mask indicates how many pressure levels can be distinguished from the MirrorLink Server and Client. Event Configuration Callback Notification to application if the Event Configuration Information has changed

Why Certify My Application? Base and Regional Drive Certifications

Types of Certification & Benefits No Certification – No Guarantee of Availability in MirrorLink Session ML Server (phone) may not advertise application to the ML Client ML Client (head unit) may not present application to User Base Certification – Guaranteed Availability While Not Driving ML Server required to advertise the application to the ML Client ML Client required to list application to user while not driving Drive Certification – Guaranteed Availability While Driving (Per Region) ML Client required to present application to user while driving Certified Applications Listed and Promoted by CCC Use MirrorLink logo & certification mark in application promotional materials

Base Certification Basic Interoperability Display Compatibility Support Reference Client Display 800 x 480 pixels (square) 13.33 cm x 8.00 cm 90 cm from driver Adapt to Client Display [Optional] Support Landscape Mode Control Positioning Not entirely within outer 5% of the display Control Compatibility Support Rotary Knobs May not have a rotary keyboard available, so either implement your own, or don’t require Support Single-Touch Events Cannot require multi-touch Voice Commands May use, but may not be available Must notify user if not available Cannot Require OS Keys May not be present on Client Provide Application Metadata Benefit – App Will Work With ML Clients

Base Certification Application Metadata Provide Information to the ML Client About the Application Application type Framebuffer context information – visual content categories Audio stream context information – audio content categories ML Client Uses Information To Determine What Has Priority Application Types Long list of types Can be provided on a per-screen area basis Visual Content Categories Text, Video, Image, Vector Graphics, 3D Graphics, User Interface (e.g. Application menu), Miscellaneous Content Audio Content Categories Phone Audio, Media Audio Out, Media Audio In, Voice Command Out, Voice Command In, Miscellaneous Content App Category Navigation Visual Content Category Vector Graphics App Category – General UI Framework Visual Content Category – Vector Graphics

Drive Certification Minimizing Driver Distraction Guiding Principals Nothing that demands the driver’s attention Quickly comprehendible and accessible Restricted Content No video, incidental animations or flashing No automatic scrolling text Visual Accessibility Color contrast – brightness & color differences Text legibility Minimum height Font requirements Control Accessibility No two-handed operations Should not use the keyboard Control sizing and spacing Pace of Interaction Input retention and responsiveness Notification dismissal Region-Based Certification Region Specific North America European Union APAC Global Certification Superset of NA, EU and APAC guidelines Pending Can Get Certified for One or Multiple Regions E.g. Drive in EU & APAC, but not NA

How Do I Certify My Application? Application Certificates and the ACMS

MirrorLink Application Certificates <appIdentifier>ACMSDemo1234abcd</appIdentifier> <appListEntry> <name>ACMS Demo 1</name> <providerName>E-Qualus</providerName> <providerURL>www.e-qualus.com</providerURL> <description>A demo app.</description> <iconList> <icon> <mimetype>image/png</mimetype> <width>72</width> <height>72</height> <depth>24</depth> <url>/resources/icon.png</url> </icon> </iconList> <appInfo> <appCategory>0x00080000</appCategory> </appInfo> . X590v3 Certificate Signed by the the CCC’s Root Certificate Authority Contains MirrorLink XML Extension MirrorLink XML Extension Descriptive information about the application Information on how to list application on MirrorLink Client Content categories Base certification regions Drive certification regions Generated & Distributed by the CCC

Application Certificate Management System ACMS for App Developers App Certificate Management System Car Connectivity Consortium Device Makers Management Portal Certificate Distribution Certification Body Test Labs Application Certificates distributed to server devices over the Internet. Developers App & Dev Certificates Apps MirrorLink® Server Devices Phones & other mobile devices App Stores Apps do not contain Application Certificates. Apps ACMS Integration Requires No Changes to Application MirrorLink® Client Devices Head units App Certificate tells Servers & Clients when the app is safe to use, and where.

Application Life Cycle Standard Application No MirrorLink functionality MirrorLink Aware Application Indicates to Server that app MAY have a certificate provided by the ACMS Indicated to Server in platform-specific fashion Android – Include self-signed certificate in APK, bind to MirrorLink API intents MirrorLink Server will check with the ACMS for an application certificate MirrorLink Certified Certificate available from the ACMS Standard Application MirrorLink Aware Application May have a Certificate on the ACMS Platform-specific indication. MirrorLink Certified Application Certificate provided by the ACMS MirrorLink Aware Apps Can Become Certified At Any Time

Application Certificate Updates MirrorLink Servers Periodically Check With ACMS Checks for to see if any application certificates have been updated Check frequency controlled by ACMS ~7 days, initial rate Certificate Update Process Revoke existing certificate Issue a new certificate MirrorLink Server downloads new certificate from ACMS Application Perspective Can Distribute Application Prior to Certification When certification is granted, MirrorLink Servers will automatically download application certificate when it becomes available Changes to Certification Status Do Not Require Changes to Application Certificate is updated and distributed to devices in the field

Application ID & Security Identifies an App to the ACMS “Do you have a certificate for an app with this App ID?” How the App ID is Generated is Platform Specific In general, a hash of the application files Android – Hash of the contents of the Android Manifest Anytime the Application is Updated, the App ID Changes Updates to the application cause the App ID to change MirrorLink Server Checks That the App ID in the Certificate Matches the App ID of the Application Ensures That Running App is the Application that Was Certified

Developer Certificates Testing Application Behavior   ACMS Developer Certificate(s) Dev-Signed Application Certificate Server Device IDs Developer ID, Server Device IDs, Manufacturer Blacklist Status Query Developer IDs, Server Device ID Developer MirrorLink™ Server Device Device ID(s) Input Developer ID(s) Developer ID ML Client Device Manufacturer Name Developer Requests a Developer Certificate via ACMS Portal Provides IMEI to ACMS SMP Provides IDs of Server devices ACMS generates Developer ID Developer Inputs Developer ID into MirrorLink Server Device Server device requests developer certificate from ACMS Developer Provides MirrorLink XML Extension in Application Self-signed certificate (typical) MirrorLink Server Presents MirrorLink XML Extension Provided By Developer As CCC-Signed Run Uncertified App In Drive Mode

How Do I Certify My Application? Application Certification Process

Application Certification High-Level Overview (Redux) CCC Approves Applications for Use in MirrorLink Base Certification – Does it work? Drive Certification – Does it distract the driver? Testing Performed by CCC Approved Test Labs Does the application comply with the relevant requirements? MirrorLink Servers (Phones) Provided Certification Status Information for Installed, Certified Applications Applies for specific version of the app on a given server platform Certified Applications Can Use MirrorLink Logo & Certification Mark in their Application and in their Applications Promotional Material Goal – Create Ecosystem of Trusted Apps

Certification Process Overview Key Elements CCC Authorized Application Test Lab (ATL) Approved by the CCC to perform testing Demonstrated capability to perform needed testing Periodically audited by CCC lab manager List maintained by CCC Application developer arranges testing directly with the ATL Application Certification Body Assesses application and test reports Approves/rejects apps for certification based on requirements & testing results Assesses requests to change application certification status Examines changes to application and application certification requirements May call for additional testing or re-testing on a case-by-case basis Protocol Implementation Conformance Statement (PICS) Statement of what the application does Used to determine what tests to run

Certification Process Diagram New Application Certification Test Lab Performs Tests Developer Decides to Get App Certified Testing Complete? No Developer Makes Changes to App Developer Fills Out PICS & Submit Certification Request Yes Test Lab Issues Report Certification Body Reviews Application No Approve Certification? CB Reviews Report Ready to Test? No Yes Yes ACMS Certificate Issued

Engineering Change Orders ECO Process Applications Change All the Time Certification status needs to be changed Application ID changed, so a new certificate is needed Don’t Want to Retest the Application Every Time There is an Update Instead, We Use an ECO Process Inform CCC of the change to the app App CB determines if re-testing is needed ECO Process Reduces Testing Burden, & Allows For Updating of Applications

ECO Process Flow Test Lab Performs Tests Developer Updates App or Certification Testing Complete? Developer Submits Request for New/Updated Certificate on ACMS Portal No Developer Makes Changes to App Yes Test Lab Issues Report No Certification Body Reviews Change Request Approve Change? CB Reviews Report Testing Needed? Yes Yes No ACMS Certificate Updated

Member-Certified Applications Alternative Certification for Applications CCC Member Companies Can Certify Applications Application will be considered certified on MirrorLink Clients from that Member Company Not required to be available on Clients from other Member Companies, and probably will not be available Uses ACMS-Distributed Certificates Certifying entity is listed as Member Company, rather than CCC Multiple Member-Certifications Possible Can have multiple certifying entities listed, including CCC and member companies Allows for member companies to “extend” application operation for their Clients – e.g. add drive-mode operation Member certification can be tailored to specific vehicle models (vendor specific) Member Company Controls Parameters of Member- Certification Blacklisting Possible, But Only Under Exceptional Circumstances

Developer Resources Aids for MirrorLink Application Developers

Developer Portal & Forum Specifications Requirements for applications Test specifications Whitepapers & “How Tos” Requirements guidelines How to comply with requirements Information on MirrorLink protocol FAQs Developer Forum Community support Ask questions of CCC Developer Tools Sample Code

Certificate and Application ID Generation Application MirrorLink XML Extension Generator Assist in creating XML that is placed in Application Certificates ACMS-Generated certificates Self-signed certificates Currently Excel macro…other versions pending Self-Signed Certificate Generator Build certificates for inclusion in application Developer certificate generation Application ID Generator Create an application ID per defined rules Android version first

MirrorLink Session Emulation Two Components Common API “Faker” App Provides Common API intents for app to bind to Controller Application Configure & invoke Common API methods Additional Features Coming Protocol for external automated testing Remote framebuffer simulation Rotary knob support Key event simulation Event logging Additional MirrorLink platforms Certification testing support Android Phone (or Emulator) Common API Faker Creates intents & interacts with app. MirrorLink Application The application being developed. PC Controller Interacts with Common API Faker via IP Socket MirrorLink App Testing at Workstation

MirrorLink Client Simulator Simulates MirrorLink Client with Variable Capabilities Screen size and pixel depth Available controls Simulate status updates (night mode, drive mode) CCC Certified Linux Application Full implementation of MirrorLink protocol Capable of interoperating with multiple different MirrorLink servers Allows for Testing of MirrorLink Functionality at the Developer’s Workstation

ACMS Portal Where App Developers Manage Application Certificates Request certificates for new applications Request updates to certificate for existing applications Request developer ID and developer certificates Where Member Companies Add Member Certification At request of member company Where App Certification Body Approves/Rejects Requests Process requests Approve/deny/ask for additional comment View Metrics Overall number of queries to the ACMS from fielded devices Number of certificates issued, system-wide and by application

Certifying Applications for MirrorLink

Technical Considerations of Application Certification Jörg Brakensiek, Nokia Jörg Brakensiek is Principal Architect at Nokia’s Smart Devices Business Unit, a position he’s held since April 2013. Prior to that, Jörg served as an R&D Manager for Nokia’s Location & Commerce Business Unit. During his tenure at the company, he also led research teams focused on ubiquitous mobile device interoperability with specific attention to the automotive domain. Jörg serves as the head of the Technical Working Group for the CCC.

Code Samples & Demonstration Piotr Janas, Comarch R&D Manager, Comarch, has been developing software for smartphone platforms since 2005. Recently, he has particularly been interested in the mobile version Ubuntu. For two years, Piotr has been a Technical Leader of MirrorLink certification projects – the Compliance Test System (CTS) and the Application Certification Management System (ACMS) for the CCC.

Driver Workload Guidelines Applied to MirrorLink® Mobile Applications Matthias Henning, Carmeq Graduated in Psychology and Human Machine Interaction at Chemnitz University of Technology, Germany, 2004 Researcher and lecturer at Chemnitz University of Technology from 2004-2011: Worked on several projects in the field of driver-vehicle interaction funded by industry and government Received his doctorate in 2010 in the field of driver’s intention recognition HMI specialist at CARMEQ (Volkswagen Group) since 2011: Team interaction concepts and evaluation Focus on driver distraction guidelines and human subject studies

Certifying Applications for MirrorLink Questions? Certifying Applications for MirrorLink

Application Certification Types Base Certification Drive Certification Basic Interoperability Ensure that application will work with certified ML clients Display Compatibility Minimum reference display Adaptation (optional) Control Compatibility Rotary knobs Touch screens Regional Certification North America, Europe, APAC Global [Superset] Distraction Minimization Allowed content Visual accessibility/legibility Control accessibility Driver distraction Design Heuristics

MirrorLink for Application Developers Application Lists and Content Information Advertised list – What applications MirrorLink Server (phone) tells the MirrorLink Client (head unit) about Presented list – What applications the MirrorLink Client (head unit) presents to the user Application Meta-Information Information provided to the MirrorLink Client about an application Descriptive information such as icons, name, etc. Application Context Information Information provided to the MirrorLink Client about what is currently being displayed by the application, and streamed of the audio channel Can be updated at runtime

Driver Certification Measuring Driver Distraction Not Needed for European Union Occlusion Testing Bench testing with a pool (8+) of users 50% male, 50% female 45-65 years of age 1 hour training Special goggles that switch from transparent (1.5 seconds) to opaque (1 second) Must be able to perform a task with a total open time of less than 15 seconds for 85% of testers Additional Test Methods Pending Eye tracking simulation testing Driver performance simulation testing Only 1 method will be required – app developers will be able to choose their preferred method

Display Scaling and Size Requirements Application Height of Character Display Distance Requirements Are in MM, but Clients Have Different Size Displays ∴ CCC Minimum Reference Display 800 x 480 pixels (square) 13.33 cm x 8.00 cm 90cm from driver Applications MUST Support Min Ref Display Fixed control and text size ML Clients must support minimum reference display Applications MAY Adjust for Client Display MirrorLink Server (Phone) MirrorLink Server (Phone) MirrorLink Server (Phone) MirrorLink Common API MirrorLink Client MirrorLink Client MirrorLink Client Minimum Reference Display

Application Certificate Management System Certificate Distribution App Certificate Management System Car Connectivity Consortium Car Manufacturers Mobile Device Manufacturers Management Portal Certificate Distribution Application Certification Body Test Labs MirrorLink™ SDKs/APIs Application Certificates distributed to server devices over the Internet. App & Dev Certificates App CB reviews & approves changes to Cert. Status Info. Developers Apps MirrorLink™ Server Devices Phones & other mobile devices App Stores Apps do not contain Application Certificates. Apps ACMS Distributes Application Certificates Independent of App MirrorLink™ Client Devices Head units App Certificate tells Servers & Clients when the app is safe to use, and where.