In the Driver’s Seat

Use Cases of in Automotive

Dr Tuukka Ahoniemi Product Manager [email protected] Contents

• Requirements for Automotive Systems • Transition of Automotive • Power of Ecosystem • Qt GUI Offering • and HTML5 • Qt Automotive APIs • Why Qt Makes a Lot of Sense in Automotive? The Automotive Industry is Changing

Software Will Take Over the Form Factor Wild West of Automotive Systems

• The automotive systems are mostly based on specialized hardware and proprietary software • OEM solutions • Tier 1 Platform solutions • Open source solutions • Apple, Google platforms

• Alliances and consortiums, like GENIVI and AGL • Still far from standardized platforms

4 © 2015 Requirements for IVI Systems

• Flexibility and Scalability • Customization for different makes and models, and for setups • Different HW • Plugins • Global presence: internationalization/localization • Fluent performance • Multitasking • Fast boot-up, pre-loading

5 © 2015 Multi-Screen Challenge

6 © 2015 A Platform is Only as Good as the Content for the Platform Building your Automotive Ecosystem

Biggest value for the consumers and for the car brand comes with innovative automotive applications and services which developed and controlled by OEM.

Applications extend functionality infotainment system not only inside but also outside of the car.

Qt’s Application Framework provides fast and safe basis for the OEM’s applications and services.

© 2015 The Qt Company Target All Your Platforms with One Technology

Qt’s cross-platform SW framework runs all major Operating Systems with native speed. Investing one technology instead of many brings huge cost savings.

Embedded: My Embedded , Embedded Android, Windows Embedded, QNX, Software VxWorks, INTEGRITY Solution Desktop: Windows, Linux, Mac, Solaris, Enterprise UNIX

Mobile: Android, iOS, Windows Phone, WindowsRT, BlackBerry 10, Sailfish

© 2015 The Qt Company Solving the Multi-Screen Challenge

Backseat HUD Instrument Cluster Infotainment QML QML QML

Passenger Qt IVI System Automotive bus Serial iPhone / iPad (CAN) Bus QML QML API

Built-in applications API Automotive Passenger electronics and Android device control systems QML 2nd / 3rd party software services Bring Your Own Device (BYOD) Transition of Industry From Black Box Systems into White Box Requirements for More Transparency

• Build Systems • Contribution model • Sharing Code • Style • Comments • Language

13 © 2015 Power of Ecosystem The Qt Ecosystem

• 20 years of experience and knowledge of • Build systems • Porting Qt to various platforms (OS and HW) • Open Source contribution model () • CI (Continuous Integration) systems

• Documentation, tutorials, examples • Companies, partners • Around million developers • People writing content Customer Case: Porting Example

• Qt for Renesas R-Car • Customer had legacy build system • Once build system was fixed, getting Qt on top of that was easy • Small backend implementation for eglfs • Uses general KMS API • Runs on Intel platforms -> desktop development, rapid workflow

• Then, porting to NVidia Jetson TK-1/ Jetson Pro • Same KMS API than Renesas • Different buffer mechanism • Took only 1 week to adopt Qt stack

16 © 2015 Why Qt Solved the Problem?

• Qt gives you a wide HW support out-of-box and very flexible and easy ways of customizing the stack into other HW • Flexibility is built-in to Qt • This is very unique in the Automotive world • Often OEMs have hundreds of people working for a proprietary stack, where as with Qt, a handful of people can handle that

17 © 2015

Create Modern Automotive GUIs with Qt

• Qt Quick – Declarative UI, C++ backend • Designer/Developer workflow • Full touch-based experience • Existing UI controls, easy customization • Smooth and easy animations • 3D effects • Integration of 3D graphics • Localization

19 Rapid Workflow with Qt Quick

Qt Quick

Declarative UI Design

Stunningly Fluent Modern User Interfaces, written with Designer QML. Ideal for rapid UI prototyping.

Imperative Logic

Power of Cross-Platform Native Qt/C++

Developer Core Network Sql

Processes, Threads, HTTP SQL IPC, Containers, FTP

& NFC XML

I/O, Strings, SSL Oracle

Bluetooth Serial Port Serial Etc. Databases Positioning

+ Direct Hardware Access

20 © 2015 Qt Instrument Cluster Demo

© 2015 The Qt Company Example Case: Modernizing Workflow with Qt Quick

• A large automotive OEM • Designers used iPads • 6 weeks from design to running on car • Changed the workflow to Qt Quick based • Immediately see the change in real environment

• Same kind of agility for embedded / automotive development than on desktop/mobile • Rapid workflow • Modern software development

22 © 2015 Qt and HTML5

• Qt and HTML5 are not mutually exclusive • Qt provides a powerful HTML5 engine, Qt WebEngine • Convenient port of the Chromium • Cross-platform • Fully integrated into the Qt graphics stack • Everything else around the engine -> the whole Qt framework!

23 © 2015 Experiences with HTML5 from Customer Cases

• HTML5 is not designed for GUI creation • Inconveniences • Performance problems • HTML5 is very good for some use cases and needed for certain dynamic cross-platform functionality • Qt wants to provide the best platform for HTML5 as well • We strongly recommend a wise hybrid development strategy • Qt Quick for the GUI controls and graphics, for best native performance • HTML5 for the rest • Mix and match freely

24 © 2015 Experiences with HTML5 from Customer Cases

• Start testing in real hardware as early as possible • Developing Qt or HTML5 on desktop is nice but might give an unrealistic view of performance or possible features • Integration introduces problems that are too late to be fixed properly • Upgrade and select Qt WebEngine as the engine, and do it from the start • Even the old Qt WebKit will introduce performance issues on real usage • Qt tooling for Embedded gives rapid development workflow for embedded • Rapid design-develop-deploy-test cycles on real hardware • Wiser development strategy • Shorter time-to-market

25 © 2015 Contents of the Qt Automotive Suite Offering Quick Look to Qt Automotive APIs

• Qt Speech • Speech recognition (PocketSphinx, Nuance VoCon) • Qt SerialBus • CAN Bus • Other Buses, for various industries, FlexRay (planned) • Qt Virtual Keyboard • SCXML • Qt Quick Controls • ISO Automotive icons • Qt Automotive API (planned) • W3C Automotive API implementation

27 © 2015 CAN Bus

• Qt SerialBus will provide a CAN Bus API • Technology preview with Qt 5.6 • Different CAN Bus backends supported:

Vendor Backend Brief description CAN over Linux sockets SocketCAN CAN bus backend using Linux sockets and open source drivers.

PEAK-System PeakCAN CAN bus backend using the PCAN adapters. MHS Elektronik TinyCAN CAN bus backend using the Tiny-CAN adapters.

28 © 2015 Qt Virtual Keyboard

• A complete virtual keyboard solution • Solid C++ backend and versatile Qt Quick UI • Fully customizable graphics and styling • Extendable input methods and word prediction engines • Support for different keyboard layouts • Good language support, also from left-to- right • Handwriting recognition • Supports also 5-way or 2-way navigation

© 2014 Qt State Chart Offering

• Existing: Qt State Machine Framework • Existing for many years in Qt Core • Bug fixes, performance improvements • Improved compatibility with SCXML standard SCXML Editor • New: Qt SCXML Compiler and Runtime • New module developed by The Qt Company, not yet SCXML Compiler & Runtime released • SCXML parser and runtime SCXML Qt State Machine FW • SCXML Compiler: similar to Qt Quick Compiler, extension produces C++ binary of the state machine • Coming: State Chart Editor Plugin for • Edit State Charts directly within Qt Creator • Textual editing • Visual drag & drop editor

© 2015 The Qt Company Summary High Value from Cross-platform Solution Qt solution allows to change OS and HW which provides additional value and safety for future needs.

Secondary Instrument Cluster Information Display Center Console App(s) App App

HMI, UI & Application Framework

Car Middleware

Operating System OS

Center Console Instrument Display Secondary Display Display

Application Application HW Processor Processor

Vehicle bus(es)

© 2015 The Qt Company Return of Investment

Building future proof foundation for the solution and using value added development and testing assets will ensure the best return on investment.

Multimedia UI controls Positioning Speech Cloud Sensors recognition Web Engine Mapping layer Hand writing

Qt Core Networking 3D interface interface Qt components layer

OTA Screen Application Car bus composition Audio framework interface layer handling Sandboxing

automotive State Test Advanced Advanced

debugging Qt tools & components & tools machine framework profiling

© 2015 The Qt Company Total Costs of Ownership Using Qt’s building blocks, Qt automotive packages and Enterprise tooling solution cost less than traditional development models with other technologies.

Traditional Qt Enterprise framework development provides numerous cost saving elements. Costs Maintenance costs Modern, fast, up to date Web Browser Engine is included, Expandability costs Qt Automotive Availability off source codes Suite decrease maintenance costs Testing costs Maintenance costs Qt’s plug-in architecture makes Web Browser Expandability costs solution expandability really Engine with Qt easy. Qt testing framework Qt’s test sets and framework Functionality increases testing efficiency and features development costs Functionality and features done with Qt’s functionality and Enterprise Qt framework feature sets speed up the development.

© 2015 The Qt Company Thank You!

www.qt.io