Lightning Talks

Wednesday, November 5th


10:15 - 11:15 am

Title Presenter
Map & Navigation solutions for QML | pdf BogDan Vatra
New in Qt 5.4: The QStorageInfo Class Jeff Tranter
High-performance graphics using OpenGL streaming in the Embedded Linux and Android emulators Laszlo Agocs
Using SVG Images in QML | pdf Stanley Morris
QtQuick2 Debugging With GammaRay | pdf Volker Krause

11:30 - 12:30pm

Title Presenter
QtWayland and its evolution with webOS ANUPAM KAUL
Rendering PDF Content with XpdfWidget/Qt Chris Cortopassi
Rover – A LEGO Self-Driving Car Martin Wojtczyk
Qt Remote Objects | pdf Matthias Kalle Dalheimer
Heaptrack - A Heap Memory Profiler for Linux | pdf Thomas McGuire

1:30 - 2:30pm

Title Presenter
Sony Catalyst Prepare: a high performance QML app for video preparation Chris Dolan
Dynamic OpenGL implementation selection on Windows in Qt 5.4 Laszlo Agocs
Using Google Analytics to Monitor Qt Application Maggie Kean
Declarative State Machine Framework (DSM) Till Adam



10:15 - 11:15 am

Title: Map & Navigation solutions for QML
Presenter: BogDan Vatra

"Let us take you on a fantastic journey of map & navigation solutions for Qt, done KDAB's way!

In collaboration with Route 66 we've brought their map & navigation engine to QML world, which allows us to create breathtaking apps for you! We are going to present you unique features that you'll not find in other existing map & navigation solutions!"


Title: New in Qt 5.4: The QStorageInfo Class
Presenter: Jeff Tranter

Qt 5.4.0 will include the new QStorageInfo class that provides information about currently mounted storage and drives and allows retrieving information about a volume's space, mount point, label, and filesystem name. This talk will give a quick overview of the class covering it's capabilities, methods, and supported platforms. Some code examples will be shown.

Title: High-performance graphics using OpenGL streaming in the Embedded Linux and Android emulators
Presenter: Laszlo Agocs

The first release of the emulator environment in Qt Enterprise Embedded was lacking in many ways when it came to graphics performance. Both widget and Qt Quick applications performed sluggishly and featured rendering glitches. For version 2.0 the graphics architecture got a complete redesign: instead of transferring images between the virtual machine and the emulator application on the host, we switched over to sending the EGL and OpenGL ES command stream instead. By being independent of the framebuffer size, this drastically reduced the amount of data, and, by heavy utilization of multiple rendering threads, resulted in a high performing system capable of running Qt Quick application at a stable 60 FPS. In the talk we will take a quick look at the emulator itself and discuss the GL streaming solution architecture with its benefits and trade-offs.

Title: Using SVG Images in QML
Presenter: Stanley Morris

The SVG image format supports vector shapes and can be scaled up and down in size without artifacts associated with scaling bitmap images. A single SVG image asset can be used for both low and high DPI displays, but they can be a little tricky as they do not automatically render pixel-perfect for the current resolution. We will discuss the nature of SVG images, what you can and cannot do with them and how to scale them to real world dimensions (points and millimeters) which is a useful capability for touch interfaces.

Using SVG Images in QML.pdf

Title: QtQuick2 Debugging With GammaRay
Presenter: Volker Krause

Enabled by the remote debugging work in GammaRay presented here last year, GammaRay got a number of tools to aid analyzing QtQuick2 applications during year. These include basics like browsing the item hierarchy and inspection and live editing of their properties, as well as layout visualization. But there are also more advanced tools to assist development of custom items or rendering performance analysis, such as a scene graph browser and access to item shaders and geometry. Another sometimes tricky topic, event processing and focus handling, is also covered by a event flow visualization.


11:30 - 12:30 pm

Title: QtWayland and its evolution with webOS
Presenter: Anupam Kaul

webOS - the mobile OS that was recently adopted by LG to run on its Smart TVs, has adopted a lot core QT technologies to power some of the fluid animations and UI that were demoed at CES 2014. The 2014 LG webOS Smart TV uses a QtWayland based QML Compositor at the heart of its system UI. In this talk, we will showcase some of the core abstractions from Qtwayland that we used and modified to create a fluid UI for the Smart TV.

Title: Rendering PDF Content with XpdfWidget/Qt
Presenter: Chris Cortopassi

While Qt can write Adobe Portable Document Format (PDF) files out of the box with QPrinter, it comes with no built-in support for reading and rendering PDF content. XpdfWidget/Qt is a commercial, 3rd party, QWidget-based solution that provides a full-blown interactive PDF viewer widget (similar in functionality to Adobe's Reader software) and can be used in both embedded and desktop Qt applications. In this talk, we'll go over the capabilities of XpdfWidget/Qt, run some example code, briefly look at the API documentation, and provide links to further information.

Title: Rover – A LEGO Self-Driving Car
Presenter: Martin Wojtczyk

The Cubotix Rover is our attempt to use advanced robotic algorithms to transform off-the-shelf hardware into a smart home robot, capable of learning and understanding unknown environments without prior programming. Instead of unintuitive control panels, the robot is instructed through gestures, natural language, and even facial expressions. Rover uses widely accessible and affordable off-the-shelf hardware that many people may already own and can transform into a smart home robot. It consists of a mobile LEGO platform that carries a depth-camera and a laptop for perception, image processing, path-planning, and human-robot interaction. Rover’s control software is a multi-modal, multi-threaded application integrating a human robot interface implemented with the cross-platform application framework Qt5, a perception layer utilizing the Intel Perceptual Computing SDK, and custom-built planning, sensing, and hardware interface components.

Title: Qt Remote Objects
Presenter: Matthias Kalle Dalheimer

QtRemoteObjects is a remoting framework for QObjects. Unilke other RPC frameworks it's build with Qt and for Qt specifically. It enables you to access properties of QObjects living inside another process or even to establish signal/slot connections between QObjects on different machines, all without even noticing the difference to local objects.


Title: Heaptrack - A Heap Memory Profiler for Linux
Presenter: Thomas McGuire

Over the last months we created a new tool to profile heap memory on Linux, called HeapTrack. It can give you similar information as Valgrind's Massif tool, just quicker. Furthermore, the recorded data allows many more interesting insights that cannot be found with Massif. In this talk I will demo HeapTrack and show you that it is a very useful addition to a developer's set of performance tools.


1:30 - 2:30 pm

Title: Sony Catalyst Prepare: a high performance QML app for video preparation
Presenter: Chris Dolan

Earlier this fall, Sony released a desktop application built on our new video engine. Catalyst Prepare sports a QML UI that manipulates a reusable C++ data model, and is nearly identical in appearance on Mac and Windows. We took advantage of QML's OpenGL-centric architecture to keep our video frames on the GPU wherever possible. We used a touch-first approach to interaction design to future-proof these applications and ensure their shallow learning curve. QML allowed us to rapidly iterate the UI without recompiling, and (mostly) made cross-platform into a testing issue.

I will briefly demonstrate Catalyst Prepare, showing how it blends OpenCL, OpenGL, OpenColorIO and QML. I will talk about how our team used QML to accelerate our UI implementation from Button.qml to shipped product in 18 months.

Title: Dynamic OpenGL implementation selection on Windows in Qt 5.4
Presenter: Laszlo Agocs

[NB. this is a break out from the OpenGL enablers talk since that likely won't cover this topic properly due to time constraints] Qt 5.4 introduces the long-awaited feature of runtime OpenGL implementation selection on Windows. This allows using a single set of Qt binaries both for regular, desktop OpenGL and ANGLE (an implementation of OpenGL ES 2.0 on top of Direct3D), alleviating the pain and confusion caused by the two distinct set of Qt builds that are being offered in earlier Qt versions. In addition, shipping with a pure software OpenGL implementation, like Mesa's llvmpipe, as an extra fallback is now also possible. In this talk we will take a look at some live demos to see what this means in practice.

Title: Using Google Analytics to Monitor Qt Application
Presenter: Maggie Kean

There is often a desire to monitor the usage of applications. Google Analytics was originally intended to monitor websites, and has more recently introduced tools aimed specifically at mobile apps. One of the major benefits of using Google Analytics is that once the tracking code is in place, the collected data can be explored and reported on using an enormous selection of turnkey, customizable and add-on reports.

This presentation will discuss how to use from Google Analytics to monitor Qt-based desktop and mobile applications. Examples will be shown of how to implement analytics in an application from C++ and QML code as well as examples of reports that can be produced by Google Analytics.

Title: Declarative State Machine Framework (DSM)
Presenter: Till Adam

The Declarative State Machine Framework provides classes for creating and executing state graphs in QML. In this talk I'll give a short introduction to the framework which will arrive in Qt 5.4.