Qt - A Framework for the Multi-Screen World

Nils Christian Roscher-Nielsen Product Manager, The Company Who am I?

• Nils Christian Roscher-Nielsen

• Norwegian University of Science • 7 years with Qt and Technology • (Trolltech) • M.Sc. Engineering Cybernetics • • I enjoy skiing • kite boarding, Photography, • Support Engineer Qt application development • Sales Engineer and much more … • Product Manager 2 Content of this presentation

• Industry challenges • Where are we, and where are we going • Automotive, Automation, Mobile

• Technology Challenges • What makes Qt a good idea? • Why will it be so, also in the future?

• Future opportunities

3 Four Concepts for the Multiscreen World

• Power of C++ • Implement anything. Now.

• QML • Native performance. Custom Look and Feel.

• Hybrid Application development • Deliver the same content, everywhere.

• Interconnectivity • Beauty in the Front. Logic in the Back. Data in the Cloud.

4 Application Development Device Creation - desktop and mobile - HMI’s and applications

Software Development Kits (SDK)

5 Industry Challenges Automotive Today

HUD

Instrument Infotainment cluster system

Backseat entertainment

7 A view on the Industry History

• Siloed development efforts • Big changes ahead • Multiple teams working on different parts

• Long development cycles • 3-5 years from need is identified to the product is released.

• Highly optimized for niche markets • Various segments, HW differentiation

8 Whole New Experience

Connectivity Augmented Reality OTA updates Night Vision App store 2D / 3D Applications OEM HUD Configuration Internet radio Trip planning Music streaming Home Instrument Infotainment PC cluster system

CarCar statistic statistic logging logging MediaMedia streaming streaming Car statistic logging

Backseat Connected tablets entertainment and phones 9 Technical Enablers Power of Qt/C++

• High level cross platform APIs • Interface with other libraries • Write and interface with device drivers, communication busses, etc.

• Modern • C++11, C++14, VS2014. clang, etc.

• Best in class C++ API’s • • Full Introspection

12 Opportunities with Qt on mobile • Windows Store Apps • Android • iOS • Sailfish OS • BlackBerry 10

• Qtopia • Symbian • Ubuntu touch • Windows Mobile • MeeGo • Nokia X • Tizen

Trolltech Nokia The Qt Company + community

<< 2008 2008 - 2012 2012 >>

14 Target All Your End Users - with one Technology

Embedded:

Embedded , Embedded Android, Windows Embedded, QNX, My VxWorks, INTEGRITY Software

Desktop: Service

Windows, Linux, Mac, Solaris, Enterprise UNIX

Mobile:

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

15 Stable application platform

• Medical • Automotive • In-flight systems

16 / QML

• New HW possibilities require new tools

• Declarative UI creation • Rapid prototyping and device creation • Collaborative Designer-Developer workflow

• Unlock unparalleled graphics performance

17 Qt Quick / QML

• Native Look and Feel • Custom UI design

18 Native & Web Hybrid Development

• Qt WebEngine to the rescue!

• Fully integrated graphics stack • Tap into the best of native performance, and the broad set of HTML5 ecosystem and apps available

19 Practical Example on multiple platforms

Qt graphics underneath the web page OpenGL shaders applied to web contents (colorize + 3D page curl) Actual web contents with Web Engine

Qt graphics overlaying Native Qt UI elements to interact web content with web content

20 Interconnectivity Beauty in the Front. Logic in the back. Data in the Cloud!

• Enginio Data Storage • Qt Managed WebSocket (MWS) • Qt Managed Application Runtime (MAR) • Qt WebChannel

21 Going Multi-Screen with your Device Going Multi Screen with your Device

GUI device

Headless device

Headless device Going Multi Screen with your Device

GUI device

Headless device

Headless device Going Multi-Screen with Your Device

GUI device Desktop PC

Mobile device 1 Headless device

Embedded device N

Headless device Going Multi Screen with your Device

GUI device Web page Desktop PC Qt Cloud API Qt Cloud REST API

Qt Cloud API

Mobile device 1 Headless device

Qt Cloud Qt Cloud API Qt Cloud API Services

Embedded device N

Headless device Qt Cloud API

Qt Cloud API Re-Using Code with Responsive User Interface

Tablet Tablet UI, Mobile UI, landscape UI portrait

Desktop UI

Qt Application

© 2014 The Qt Company Optimal Re-Use-Structure of a Qt Multi-Screen Application

Tablet UI Mobile UI Desktop UI Embedded Device UI < 10 %

Common UI (Qt Quick) 20-50 %

Application Logic 50-80 % (Qt/C++)

Qt © 2014 The Qt Company Extending your Ecosystem

29

© 2014 The Qt Company Qt as Complete Technology Platform

Qt Based SDK

Additional Applications Plugins for Ecosystem Additional Custom Libraries Marketplace, Qt Creator (UX, device access) Dev programs, Etc. Qt Libraries

HW Adaptation

30 Qt Creator New Licensing Option – LGPL v3

• LGPL v3 added as a licensing option to Qt 5.4 • Commercial licensing or community edition with GPL 3, LGPL 2.1 or LGPL 3 • LGPL v3 takes a clear stand to follow the spirit of the LGPL • Clear legal language • No patent retaliation • LGPL allows user’s to modify the application and underlying libraries and run the modified app • For Device Creation, creating completely locked devices is not allowed with LGPL v3 • New add-ons will be brought to Qt under commercial and (only) LGPL v3 licensing options • Allows The Qt Company to unify the ecosystem without business compromises • Qt WebEngine is available only under commercial and LGPL v3 options

33 Summary

• Comprehensive application framework • Rich set of application building blocks • Build advanced user interfaces, faster

• Support multiple platforms – desktop and embedded - from a single source • Boost productivity through integrated tools • Rely on professional service and support

• Keep control of your value chain and monetization

© 2013 Digia 34 Thank you very much for listening

ありがとうございました

[email protected] @rosch