for App Developers One Place for Automotive Apps 2013 Car Connectivity Consortium. All Rights Reserved. Ed Pichon February 18, 2013
for Application Developers Developing Automotive Applications is a Technical and Business Challenge Fragmented Ecosystems Limited user experience Technical and Process Hurdles CCC is Working to Make the One Place for Automotive Application Developers 2
Overview A Developer s Perspective In-Vehicle Display In-Vehicle Services GPS/Location Data Day/Night Mode In-Vehicle Controls Park/Drive Mode Audio In/Out 3
Topics Common Interface Giving developers access to capabilities Application Certification Levels of certification Certification process Application Certification Management System System overview Developer interfaces Developer Support Elements 4
Common Interface Ensuring interoperability 5
Common Interface The Automotive Interoperability Challenge App Variant 1 App Variant 2 App Variant 3 Application Custom API 1 Mobile Phone 1 Protocol 1 Head Unit 1 Custom API 2 Mobile Phone 2 Protocol 2 Head Unit 2 Custom API 3 Mobile Phone 3 Protocol 3 Head Unit 3 Common API Server (Phone) Client (Head Unit) Server (Phone) Client (Head Unit) Server (Phone) Client (Head Unit) 6
Common API Solution Addressing the Interoperability Challenge Server (Phone) Client (Head Unit) Application Common API Server (Phone) Session Client (Head Unit) Server (Phone) Client (Head Unit) Define a Common API Required functions that must be provided to applications Platform-Specific API Define the API prototypes and behavior to provide Common API functionality Servers Implement Platform-Specific API Extensive testing to ensure that each server manufacturer s implementation works correctly Common test application for each mobile device platform 7
Common API Capabilities Overview Session Info version Client information Application Certification Info Certification status Certifying entity Connection Info Audio and video capabilities Display Configuration Client resolution and geometry Scaling in operation Screen orientation control Available Controls Shift knobs Touch capabilities Available keys & mappings Context Information Framebuffer status, blocking and controls Audio status and blocking Device Status Features Drive and night modes Microphone activation Data Services Access Common Data Bus/Service Binary Protocol Client-provided location and GPS services Additional services possible Client-Based Notifications Use Client-UI for notifications and messages 8
Application Certification Certification requirements & process 9
Application Certification Categories Base-Certified Display interoperability size, resolution, orientation User interface controls single-touch and rotary/shift knob operation Test with multiple client devices with different displays and controls Drive-Certified Certified to a maximum level of allowed driver-distraction Allows use while in drive-mode More rigorous testing requirements Member Base- and Drive-Certified White-list applications Bypass CCC testing requirements Only valid for vehicles from certifying OEM 10
Drive-Certified Application Requirements Compilation of Regional Guidelines Regional Guidelines Europe European Statement of Principles on Human Machine Interface for In-Vehicle Information and Communication Systems APAC Guidelines for In-vehicle Display Systems from JAMA North America Statement of Principles, Criteria and Verification Procedures on Driver Interactions with Advanced In-Vehicle Information and Communication Systems from Alliance of Automobile Manufacturer Guidelines Global Guidelines Aggregate Superset of the Regional Guidelines General Principles of Reducing Driver Distraction No time-sensitive interactions Limit visual distractions Limit quantity of displayed text Workload Verification Methods Occlusion goggle testing Shutter timings, test subject pool UI Restrictions General design principles Visual design restrictions (contrast and color, text size) Responsiveness Sound levels 11
Global Guidelines Overview & Excerpts Basic Design Principles The system should not present information which may result in potentially hazardous behavior by the driver or other road users. Restricted Content Both automatic scrolling and user controlled manual scrolling shall be prohibited. Navigation, Radio and Warning Information Presentation UI Design Principles The driver should be able to resume an interrupted sequence of interactions with the system at the point of interruption or at another logical point. Visual Accessibility A 5 x 7 (width-to-height) character matrix shall be the minimum used for alphanumeric characters The stroke width-to-character height ratio for alphanumeric characters shall be between 0,08 and 0,2 Audio/Manual Accessibility 12
Drive-Certified Application Requirements Certification Testing Challenges Glance Timing Testing Most Rigorous Requires simulator, eye-tracking hardware Occlusion Testing is Common Verification Technique Shutter open for X seconds, off for Y seconds Measure total open time to complete tasks Maximum allowed total time to complete a task Multiple Test Subjects Required 10, variety of ages, even mix of male/female Must train subject prior to testing Complex Testing Requirements Application Does Not Have Final Control of Displayed Content Framebuffer scaling and geometry Contrast ratio and color saturation of client 13
Drive-Certified Application Requirements Certification Complexity Reduction Global Guidelines Aggregate Superset of the Regional Guidelines General Principles of Reducing Driver Distraction Workload Verification Methods UI Restrictions 3rd Party Research Tie guidelines to technical requirements to show that if an app follows guidelines, it will meet requirements. CCC Design Cookbooks Developer-focused requirements Basic design principles Font selection guidelines Text display restrictions Color combinations/contrast ratios Discouraged UI Elements Acceptable UI design patterns Baseline Client Configuration CCC s Goal: Make it Easier to Comply With Guidelines, and Make it Easier to Test 14
Application Certification Process High Level Overview Create App Use developer certificates to allow for testing on certified ML devices. Create Self-Signed App Certificate Contains information for listing in Session Included in install package Platform specific Indicates to Server that App is Aware and may have a CCC-Signed Certificate Submit App for Certification Testing Contract with CCC authorized test lab Submit reports to CCC App Certification Body or Member Whitelisting Distribute App Use existing marketplaces Update existing app using existing systems CCC-Signed Certificate Generated servers download certificates for installed apps Users can begin using application in 15
App Cert Management System ACMS for Developers 16
Application Certification Basic Architecture App Indicates that it May be Certified Server Checks with ACMS for Application Certificate Automatic, periodic checks Grace periods for offline activities Application Certificate Certification category Descriptive information about app for use by Client Changes to Certificate Can Occur Without Changes to Application Change category on-the-fly as testing completed Transparent to Existing Distribution Systems No modification or integration with existing application marketplaces App Certificate Management System Application Certificates Certificate Status Info Server Devices Phones & other mobile devices Application Certificates Certificate Status Info App Identifier Application Cert Available? Client Devices Head units 17
App Cert Management System Developer Interactions Initial Configuration of CCC-Signed Application Certificate Basic application information Request Changes to the Certificate Subject to approval by CCC App Certification Body Notify of New Versions Provide updated application identifier (platform specific) Perform new tests as directed Request Developer Certificates Request a unique Developer ID Provide IDs for devices used for testing View Application Metrics 18
Developer Actions Obtain ID from ACMS Provides Server IDs to ACMS Include Developer ID in Self- Signed App Cert Provide Developer ID to Server Server Retrieves Developer ID Certificate from ACMS Validates Developer ID matches and Server ID is valid Presents app as CCC-certified app to Client Developer Certificates Allowing Developers to Test on Certified Devices ML Client Device Allows Developers to Test Apps on Certified Devices Application Certificate Management System Developer ID Certificate Developer ID, Server Device IDs Server Device Developer ID Status Query Developer IDs, Server Device ID Dev-Signed Application Certificate Server Device IDs Developer Server IDs Developer ID 19
Developer Support Elements CCC Activities to Support App Developers 20
Developer Support Elements CCC Activities to Support App Developers Developer Portal Document archive Support forums FAQs and How-Tos Example Code Common API test app Demonstration app code Design Cookbook Research Developer-friendly recipes for reducing driver distraction Reduce testing requirements for applications Development Tools Support Software Development Kits Client Simulators CCC s Goal: Make it As Easy as Possible to Develop Applications 21
Opportunities for Developers Combination of Guidelines & Common API CCC Design Cookbooks Developer-focused requirements Basic design principles Font selection guidelines Text display restrictions Color combinations/contrast ratios Discouraged UI Elements Acceptable UI design patterns Platform-Specific Common APIs Defined by OS device vendors and platform owners. All implementations for that OS must implement same API Defined header files, or equivalent SDKs OS Specific Enforce design guidelines in UI composition Integrate with developer portal & ACMS Integrate generation of self-signed application certificates 22
Application Test Tools Tools to Aid App Developers Client Emulator Simulate Multiple Client Configurations Multiple screen sizes Multiple control interfaces - Single-touch/Multi-touch - Rotary/shift-knobs Simulate Client Data Device status Context information Data services Allow Developers to Test Application Behavior Against Multiple Client Configurations Evaluate designs for driver distraction impact Evaluate control response schemes Incorporate Test Automation/Extend Extending Software Test System for Additional Utility Application API API API Server OS, System Resources Session Client Emulator 23
Final Thoughts Developing Automotive Applications is a Technical and Business Challenge CCC is Working to Make the One Place for Automotive Application Developers Increased Interoperability Compelling User Experience Simple Processes Reducing Technical Hurdles 24
Panel Discussion Introductions & Open Questions 25
Antti Aumo Ixonos Plc Bio Antti Aumo is Vice President Marketing at Ixonos, a creative solutions IT company. He leads the marketing efforts for new Ixonos services and products worldwide. Antti has 20 years versatile and international work experience in product portfolio management, product marketing and marketing communication. He has worked in management positions in several multinational companies, including Nokia and Landis+Gyr, in Finland and abroad 26
Robert Hrabak General Motors Bio Robert Hrabak is currently a connectivity specialist for General Motors, where he leads Bluetooth feature definition and technical specification of connectivity-enabled software in Chevrolet MyLink & GMC/Buick Intellilink radios. He also serves as an officer and steering committee member for the Car Connectivity Consortium, and represented GM in CCC since its formation. Prior to GM, Hrabak played a central role in launching multiple Motorola phones shipping with Bluetooth, including the iconic Motorola RAZR. He served as lead Bluetooth engineer at Harman to realize connectivity in automotive infotainment systems for North America between 2007 and 2009 and over the course of his career has held positions and worked with leading brands such as Broadcom and Android. 27
Joel Sucherman National Public Radio Bio Joel Sucherman is Senior Director for Digital Products at NPR, guiding strategy for the group that builds the presence on emerging platforms for the Washington-based radio network. NPR (formerly National Public Radio) is a network of more than 800 radio stations with 17 international bureaus. Sucherman s mobile group covers everything from small screen, tablets, up through connected cars. Prior to NPR, Sucherman was chief digital evangelist for USA TODAY, helping the largest American newspaper re-imagine storytelling on various platforms. He has more than 20 years experience in U.S. media companies. 28
Panel Discussion Open Questions 29
Backup Slides 30
Complex Operational Environment Baseline Client & Car Environment Requirement: Text Characters Must Be Legible Application Does Not Have Final Control Text Appearance Scaling between Server and Client Color depth and contrast of Client Display Distance E Define Worst Case Baseline Scenario Define Minimum Contrast Ratios Provide Information to App via API Height of Character Application Common API Server (Phone) Session Baseline Head Unit Baseline Vehicle Environment Head Unit Geometry, Minimum Available Controls User 31
Common API The Interoperability Challenge Applications Need Access to Server, Client and Session Information Take advantage of offered controls, services and capabilities Create a compelling user experience Each Server Manufacturer May Have a Different Ways of Exposing These Systems Fragment the ecosystem Limit user-base of an application App Variant 1 Custom API Server (Phone) Client (Head Unit) App Variant 2 Custom API Server (Phone) Session Client (Head Unit) App Variant 3 Custom API Server (Phone) Client (Head Unit) 32
Test App as Example Code Test App for Testing Common API Implementation Tester sends message via Test App Platform 1 Test App Test App displays callback information. Test App calls Common API method Common API Implementation Server Common API Implementation Server Platform 1 OS, System Resources Common API Implementation Server Common API invokes a callback method. CTS Checks that proper message sent to ML Client. CTS CTS sends ML Client message to ML Server. Test App Will Show How Each Element of Common API Operates 33
Application Certificates for Developers Impact on Application Developers App Certificate Management System Certificate Distribution App & Dev Certificates Management Portal Server Devices Phones & other mobile devices Client Devices Head units ML App Certificates distributed to server devices over the Internet. App Certificate tells Servers & Clients when the app is safe to use, and where. Apps Certification Body Car Connectivity Consortium CB reviews and approves changes to Cert. Status Info. Car Manufacturers Test Labs App Stores Developers Apps Mobile Device Manufacturers SDKs/APIs Apps do not contain ML App Certificates. OEMs can whitelist and blacklist specific applications. ACMS Integration Requires No Changes to Application 34