Qt contributors summit 2017 Program
Back to Qt contributors summit 2017
- 1 Monday 9.10.2017
- 2 Tuesday 10.10.2017
- 3 Session descriptions for Monday
- 3.1 QtCore discussion
- 3.2 Build Systems BOF
- 3.3 3D
- 3.4 Improving texture support in Qt Quick
- 3.5 Qt wiki (wiki.qt.io) maintenance
- 3.6 Releasing
- 3.7 QtNetwork and IOT
- 3.8 Deployment Challenges with QtQuick.Controls(2) applications
- 3.9 BOF Before Runtime
- 3.10 Improving gesture support in Qt Quick and QtGui
- 3.11 Qt6 containers
- 3.12 BOF Unit testing in and with Qt
- 4 Session descriptions for Tuesday
- 4.1 Pretty Printing With Qt-Creator
- 4.2 BOF Qt OpcUa
- 4.3 QQ2 scenegraph
- 4.4 Qt Project Code of Conduct
- 4.5 Navigation API in QtLocation
- 4.6 DTLS & CoAP protocol
- 4.7 Debugging QtWebEngine
- 4.8 Open-source AR with Qt
- 4.9 CI
- 4.10 New QML Compiler infrastructure
- 4.11 C++17, C++20 and beyond
- 4.12 Discuss Qt Logging enhancements
- 4.13 Summing up framework changes: The road towards Qt 6
- 4.14 Qt Examples Guidelines discussion
- 4.15 Qt Wayland
- 4.16 Next topic
- 5 Notes from ad hoc discussions
Please add your name and session description in the lower part of the page!
|Time||bcc A level lobby|
|9.00 - 9.30||Registration|
|Time||Room A3/A4||Room A5/A6||Room A8|
|9:30 - 10:15||Welcome session|
|10:30 - 11:20||Qt Core discussion|
|11:30 - 12:10||3D (Qt 3D Studio, Qt 3D)||Deployment Challenges with QtQuick.Controls(2) applications||QtNetwork and IOT|
|12:10 - 13:10||Lunch!||Lunch!||Lunch!|
|13:10 - 14:00||Textures in QQ2||wiki.qt.io maintenance||BOF Before Runtime|
|14:20 - 15:10||Gestures in QQ2 and QtGui||Discuss Qt Logging enhancements||Releasing|
|Coffee Break||... or tea|
|15:30 - 16:10||Qt Wayland||Qt6 containers discussion|
|16:20 - 17:00||QIODevice (didn't happen)||BOF Unit testing in and with Qt|
At the 2nd floor of the Park Inn Hotel. On Tuesday we will have limited rooms. Enough space, but not so many rooms.
|Time||Döblin 1||Döblin 2|
|9:00 - 9:50||C++17, C++20 and beyond|
|10:00 - 10:40||BOF Build Systems||Qt Quick Scenegraph future|
|10:50 - 11:30||DTLS & CoAP protocol||Qt Project Code of Conduct|
|11:40 - 12:20||New QML compiler infrastructure||CI|
|12:30 - 13:10||Debugging QtWebEngine||Qt Deployment Story|
|13:10 - 14:00||Lunch!||Lunch!|
|14:00 - 14:45||Pretty Printing With Qt Creator||BOF Navigation API in QtLocation|
|14:50 - 15:30||Open-source AR with Qt||BOF Qt Opcua|
|15:40 - 16:20||Qt Examples Guidelines discussion|
|16:30 - 17:10||Summing up framework changes: The road towards Qt 6|
|17:10 - 17:30||Thank you!||Thank you!|
Session descriptions for Monday
Review of latest changes and planning for upcoming work, including preparation for Qt 6 (other than containers). Ideas:
- hashing function update; expanding the hash seed to 64- or 128-bit
- trimmed()/left()/right() vs trim()/truncate()/chop()
- QRandomGenerator and providing a PRNG of good quality (Mersenne Twister or Chacha20)
- QIODevice for Qt 6
Build Systems BOF
Open discussion about Qt & the different build systems.
Laszlo Agocs & others
Let's discuss the 3D story.
Improving texture support in Qt Quick
Qt Quick offers an extremely limited support for using non-RGB(A) textures, such as compressed texture formats and/or prebaked atlases. See the discussion and the subtasks of https://bugreports.qt.io/browse/QTBUG-59855 for a discussion.
Qt wiki (wiki.qt.io) maintenance
How do we make the wiki more useful to everyone? The basics are there, and in the past wiki weeks helped boost the place, but they are not a long term solution. Also moderation needs to be discussed, we have to have it in place because of spam, but we need a bigger moderation team, so that edits don't get stuck for several days.
Open discussion related to Releasing.
QtNetwork and IOT
QtCore and Network team
Ideas/topics to discuss:
- HTTP server
- Present status
- Present scope
- Use cases?
- Protocol support (HTTP / HTTPS / WebSockets / Secure WebSockets / CoAP?)
- DTLS support (who can / will do what?)
- Lack of reviews
- Permanent storage for network?
Deployment Challenges with QtQuick.Controls(2) applications
This session should focus on the deployment challenges on platforms where Qt usually has to be part of the distributed application package (Windows, Mac).
QtQuick.Controls2 comes with a huge amount of qml files that somehow have to be handled by an installer (on Windows at least, on Mac it's all in the bundle).
- Problems with the current approach
- Simplification options for packaging (could the resource system be used?)
- Handling of precompiled modules (qmlc,jsc)
- Improvement of the documentation
BOF Before Runtime
Many IDEs like KDevelop or Qt Creator are now based on Clang which provides much better insight in the source code and new possibilities to transform code. This makes previously impossible takes possible and sometimes easy. What are the implications? What is the meaning of source code compatibility in this new context? What are the most effective ways to support the developer?
Improving gesture support in Qt Quick and QtGui
Shawn Rutledge, Tor Arne Vestbo and Jan-Arve Sæther
Qt Quick provides distributed gesture recognition: it expects to deliver touch and mouse events to individual Items and their Pointer Handlers which then recognize gestures for themselves. But there is a parallel delivery path for QNativeGestureEvent, which occurs only on the trackpad on macOS so far. In the future we expect that more platforms will provide native gesture recognition, and we suspect that we should plan on migrating toward centralized gesture recognition being first-class. So perhaps we should also do gesture recognition in QPA plugins on platforms where the OS doesn't already do it, so that the native gesture events are universally available.
Discuss whether Qt 6 containers should:
- be copy on write or not
- build upon the C++ Standard Library containers or continue independent
BOF Unit testing in and with Qt
Fredrik de Vibe
There are various opinions on unit testing in and with Qt. There have been made arguments for using external tools, for staying with the current tools or updating them.
This session is ad hoc and improvised, please bring your opinions. :-)
Session descriptions for Tuesday
Pretty Printing With Qt-Creator
The Presentation is about So-ADE Debugger, a Qt-Creator plugin extension that allows to create custom Pretty Printer in few click for Qt-Creator. It comes with a few hundreds pre-configured Pretty Printers (Boost Library, Qt, Library, Std Library, Verific Library,.. ). During the session you will learn how to customize existing Pretty Printers and create you own one to greatly improve your productivity. I am very interested about feed back and comment to further improve the plugin, which will be make open source by the conference.
BOF Qt OpcUa
A quick get together for people interested in OPC UA. I'd like to hear about your use-cases for Qt OPC UA. I'd also like to discuss the pros/cons of having a Qt-based implementation at all. Is there mostly interest in a C++ API? What about a QML API? What parts of OPC UA are used in the field? How to get the existing Qt OpcUa based code base off the ground? Is the approach of wrapping an existing implementation sane? Do we wrap the right implementation? Would it be a way forward to build on top of open62541?
Discuss possible ways of evolving the scenegraph and Quick, esp. wrt. embedding and new graphics apis. See https://bugreports.qt.io/browse/QTBUG-62439
Qt Project Code of Conduct
So far the Qt project does not have an official code of conduct. There have been some incidents in the past that we have managed to handle, but it would be good to have an official code of conduct. The idea is that would could adopt an existing code of conduct by another similar open source project and adjust to to make it our own.
Discussion about the requirements and current WIP design of the Navigation API extension to the QtLocation module. Let's use this opportunity to also discuss other missing top level functionalities of the module (AR View, street level view, map matching API, indoor mapping and routing API extensions, etc.)
DTLS & CoAP protocol
We are contributing a CoAP protocol module for Qt, and would like to hear your inputs regarding current implementation and API. CoAP is a protocol similar to HTTP used in IoT contexts. I will explain a few use case, current status of contribution, and what's to be expected next. We can then have a look at the API and how it is designed to discuss openly these aspects.
One of the main obstacles in working on QtWebEngine is the ability to debug it. I will show how to overcome common problems: how to get all debug symbols, how to find your way through the many files and directories, how to step through and trace back the program flow beyond the boundaries of the threads and processes.
Open-source AR with Qt
Martin Voelkle and Stéphane Magnenat
We will present a fully-functional augmented-reality solution using natural marker images, building on Qt 5 and OpenCV. Our solution uses state-of-the-art algorithms but is not yet as fast as competing closed-source products such as Vuforia. We will present the design choices, the architecture, the Qt integration, and discuss challenges and potential improvements. A demo will conclude the presentation.
Open discussion related to the change from VMware to openNebula, the new infrastructure, flakiness of the system and a good amount of Q&A.
New QML Compiler infrastructure
Overview over the new QML byte code interpreter and compiler infrastructure, as well as discussions on how to move to a full tracing JIT in the longer term
C++17, C++20 and beyond
A presentation about what's in C++17 and what is forthcoming in C++20 and future standards.
Discuss Qt Logging enhancements
Qt-based devices such as Medical Cyber-Physical Systems could be developed, verified and validated more efficiently using structured logs. We suggest Qt Logging enhancements that would facilitate both human exploration and automated analysis with Python or other tools. The session will allow gathering your feedback, examining which enhancements would be useful to Qt, and how to contribute them.
Summing up framework changes: The road towards Qt 6
Sum up the findings from the last two days. What kind of changes do we need to do in the Qt Frameworks in the mid to long term. How can those be implemented within Qt 5 and which ones will have to wait until an eventual Qt 6.
Qt Examples Guidelines discussion
Fredrik de Vibe
While working on revamping examples, several issues and questions have been raised, about style, format, definition of examples vs. tutorials, content, etc.
Status update and discussion of what needs to be done for QtWayland both for the QPA plugin, and for the compositor API.
Name of owner
Short description. Two or three sentences that get the point across to the reader. Move this text forward, so there is an example for the next person editing.