Lightning Talks

  • Oct 6, 2015, 17:30 – 18:30 pm

    Discover bold, powerful talks from diverse, exciting, and influential people. Walk away enlightened and informed.

  • A new way for creating QML models from C++

    Thomas Boutroue, Room B 04, 17:30-17:40

    While creating QML apps over the years, Thomas noticed that ListModel { } was too much limited, and that reimplementing tons of QAbstractListModels in C++ was painful, and thus lots of people (including me) were tempted to use non-model ways to do it (QList of objects or variants, QQmlListProperty, JS arrays etc…). So he finally created a template+metaobject based class that can create any model in just 1 single line of C++. It has been widely used in several projects, and now it’s quite mature. Thomas will discuss about further additions/optimizations, and about the interest of a possible integration in mainstream QML module.

  • Introducing qpm - a package manager for Qt

    Jens Bache-Wiig, Room B 04, 17:40-17:50

    This lightning talk introduces qpm, a package manager with a focus on QML components. The goal of qpm is to help application developers by providing a registry of off-the-shelf components that can easily be included in an application.

  • DSL (Domain Specific Language) to generate C++/Qt code for mobile Business Apps

    Ekkehard Gentz, Room B 04, 17:50-18:00

    Ekkehard is currently using Qt with Cascades UI for BlackBerry 10 and now want to use Qt for Mobile on Android, too. Developing mobile apps for C++ / Qt environments using Eclipse Momentics as IDE there’s much stuff you have to code manually or copy/paste every day. He developed a DSL based on (Eclipse Project) Xtend to make this much easier. This isn’t an app generator – it’s more like generating a workbench where you’ll find all those patterns to work offline (caching to JSON or SQLite), to deal with C++ Pointers for business logic and UI. All the boring stuff will be generated. Ekkehard’s goal is also to generate this code for Qt-on-Android (later iOS, Windows). In this lightning talk he will start from cratch: design a data model, generate the code and then add some UI logic to get a running app. all within the 10 minutes. Then you’ll get an idea what a DSL can do for you.

  • How We Extended Qt in the Last Year: Real-Time Multiplayer Support for QML and C++, 3D Games, New Animation Components, Performance Tweaks and More…

    Christian Feldbacher, Room B 04, 18:00-18:10

    A lot has happened in the Qt world since the last Developer Days 2014! In this talk, you’ll get a glance at the new components we’ve added on top of Qt to simplify the development of games and apps. Got a video with alpha channel you want to display? Do you need push notifications, beta distribution, crash reports or analytics for your Qt applications? See what other Qt developers requested and what we’ve built for them in this lightning talk. In the second part, you’ll see the latest highlights for game developers: multiplayer support enables you to create quiz applications or the next Clash of Clans with Qt! Also learn how we used the Qt3D APIs to create a 3D game; and how you can save performance and disk space using the new animation and sprite components. This talk gives you an overview of how Qt & V-Play is being used in many games and mobile apps – let your app benefit from these extensions too by joining this session.

  • Why you should consider using the QStateMachine framework in your next project

    Krzysztof Krzewniak, Room B 04, 18:10-18:20

    This talk will highlight the benefits that come from using the QStateMachine framework to define the core logic of user facing applications. The first part of the talk will focus on the aspects of improved code readability and maintainability, that we get from having the application divided into states defining valid user interactions at any given point in time. We will also touch upon the fact that using the QStateMachine helps force individual developers or developer teams to write code that adheres to a consistent design, ensuring that long term projects are less prone to problems when some team members move on. We will show how to use the QStateMachine framework to divide your application into independent modules, improve code reusability,  minimizing development effort overlap, and ensuring your task critical code does not get mixed with more volatile parts of your system. Finally we will have a brief look at how using a state machine can help bridge the communication gap between developers and design teams that are used to providing specifications consisting of view wireframes.

  • ———-

  • Coin - Qt Continuous Integration, or the long journey of a patch to the heart of Qt

    Frederik Gladhorn, Room B 07-08, 17:30-17:40

    Automated testing of patches is essential in assuring Qt’s quality. Many of you have probably submitted the one or other enhancement to make Qt even better. I would like to give an overview of how code changes to Qt are submitted, reviewed and then tested. The main focus will be on the testing part, giving an overview over the hundreds of virtual machines involved in making sure that patches don’t unintentionally break things on any platform.

  • How to Use V-Play Apps & Qt to Create Native Mobile Apps That Shine

    Alex Leutgöb, Room B 07-08, 17:40-17:50

    This talk will give a tech overview of how you can use V-Play Apps and Qt to create a mobile iOS & Android app with a single code base. iOS & Android have different UX paradigms: for an app to look, feel and behave natively, it usually requires separate code branches. With the V-Play Apps components, you can use the same source code to create a native user experience. In this session you’ll see how to use these components and what’s different on each platform. You’ll also see how you can use V-Play Plugins to enrich your mobile app with native SDKs like Facebook, Google Analytics, Push Notifications or Crash Reports. If you’re a Qt developer targeting mobile, this lightning talk is for you!

  • OPC UA and Qt

    Sumedha Widyadharma, Room B 07-08, 17:50-18:00

    This lightning talk will present an introduction to OPC UA and reasons why it is an excellent companion technology for Qt, as well as a short demo of our recent work with OPC UA. OPC UA is a modern, platform-independent iteration of the classic OPC communication protocol, used in the automation domain. It is intended for communication between machines ranging from small, embedded controllers to large enterprise systems and for transporting data ranging from sensor data to aggregated production statistic and HMI data, which could make it a cornerstone of Industry 4.0. OPC UA defines a communication protocol as well other important aspects such as data modelling (including pre-defined data models for certain industry standards) and security features like encryption and authentication. Clients access information and functionality on a server through a graph of nodes, which might represent physical features like sensors and actors, or virtual features like production lists or aggregated data sources. These nodes allow the clients to monitor data changes, call functions, receive and acknowledge alerts and more.
    This is where we see great potential for Qt as a lot of the specified functionality maps well to Qt concepts such as signals, slots and properties. The wide platform support offered by Qt provides a solid base for OPC UA functionality on a range of embedded and non-embedded systems. Last but not least, Qt is already in use in many industries for building solid and maintainable software solutions.

  • Efficient Qt 3D asset pipeline for embedded and mobile platforms

    Laszlo Agocs, Room B 07-08, 18:00-18:10

    One of the goals of Qt 3D is to make it easy and efficient to get your 3D assets imported into the scene. However, huge models in a text-based format often lead to performance issues: loading times on a potentially low-powered and I/O bound embedded board can easily become unacceptable. In this talk we will take a sneak peek at Qt 3D’s support for glTF, a work-in-progress runtime asset format for OpenGL endorsed by Khronos, and the extensions, tools, and build system integration that allow painlessly and transparently converting your assets into glTF while deploying them as compressed Qt resources by merely adding a few lines into your project’s .pro file.

  • Qt Speech

     Frederik Gladhorn, Room B 07-08, 18:10-18:20

    As a tech preview in Qt 5.6, Qt Speech comes along, fresh from code review. It’s a small module with a few classes and enables text to speech output for Qt applications, as well as speech recognition. This talk gives a quick overview of what’s in the package and how to use it.

  • ———-

  • Declarative Retranslations in QML

    Vladimir Moolle, Room B 09, 17:30-17:40

    Have you seen QML code flipping a (never read on the other side) flag, just to force a tr() call to happen in C++? Or an empty string property, appended to all translated QML strings and pretending to change, merely to force expression reevaluation (which is not guaranteed to happen, strictly)? Or a retranslateUi() Javascript function traversing text properties in the scene on UI language change? This talk suggests a cleaner (and more “declarative”) alternative, lacking the drawbacks of above approaches. Additionally, some generalizing observations are made (i.e. what if what you are dealing with is not a string-in-string-out function, that relies on some hidden state, but rather a more complex query whose context may change with time?). A small self-contained example will be provided.

  • How I integrated TinyMCE in my Qt Application

     Jens Weller, Room B 09, 17:40-17:50

    I’m working on my own Qt and C++ based CMS, one of the challenges I faced, was how to get a proper Editor for HTML into Qt? I decided it would be worth a try to integrate a web based text editor into my Qt Application, which turned out to be not as easy. The result is a working hack, TinyMCE does blend in very well into my QWidget based program, but there are some limitations…

  • Introducing Mapbox GL for Qt: A GL-based vector tile mapping engine for your Qt application

    Konstantin Käfer, Room B 09, 17:50-18:00

    Mapbox GL is a powerful, open rendering framework for native and mobile devices with a focus on custom data and complete map styling. Now developers can have the most detailed maps sourced from ever-updating OpenStreetMap data, as well as the ability to fully control the style and brand to design maps that perfectly match their app. This is all done using our new on-device vector renderer, which uses OpenGL ES 2.0 technology for pixel-perfect map design, from antialiased fonts to polygon blurring, all hardware-accelerated and optimised for mobile devices — and all on the fly.
    We ported Mapbox GL to Qt, which was fast and easy due to Qt’s power and flexibility. In this talk we’d like to expose the API by going through the features using the live demo as example.

  • Heap Memory Profiling with Heaptrack

    Milian Wolff, Room B 09, 18:00-18:10

  • Qt 3D for CAD

     Paul Lemire, Room B09, 18:10-18:20


2015 session
video recordings
available at ›