Qt contributors summit 2018 Program
Back to Qt contributors summit 2018
- 1 Table of topics
- 2 Session descriptions
- 2.1 Keynote: Path towards Qt 6
- 2.2 Plenary: Graphics Vision 2020
- 2.3 Plenary: Qt 6 development process and desired changes
- 2.4 Plenary: Leveraging C++17
- 2.5 Final session: Conclusions
- 2.6 Qt 3D Studio (application, runtime, APIs)
- 2.7 Qt + unique_ptr
- 2.8 Qt Remote Objects
- 2.9 Serialisation (JSON, CBOR, QDataStream)
- 2.10 CI status and ruminations about flaky tests
- 2.11 Qt for Python
- 2.12 Dates, Times, Zones and Calendars
- 2.13 Third party sources policy and security
- 2.14 Qt for WebAssembly
- 2.15 Qt Widgets
- 2.16 Qt Quick
- 2.17 Pointer Handlers Update
- 2.18 Documentation with Clang-QDoc
- 2.19 Code Review Tool and Workflow
- 2.20 Qt3D use cases in automotive and the problems with it
- 2.21 BOF Clang tooling and code model
- 2.22 Jira/bugreports
- 2.23 Qt Wayland Future Directions
- 2.24 Intents for embedded Linux
- 2.25 A peek at the Qbs port of Qt
- 2.26 QDebug vs other tracing facilities
- 2.27 Code/Repository management (Not Qt's source tree, blog related code, etc)
- 2.28 Nurturing the Qt Community
- 2.29 Refactoring QPA. Support multiple QPA plugins.
- 2.30 Text in Qt
- 2.31 Improving SW testing
Table of topics
Please add a longer session description with topic owner in the lower part of the page!
|Time||Room A2 - 075||Room A2 - 070||Room A2 - 010|
|9:00 - 9:20||Introduction and sponsors|
|9:20 - 10:45||Keynote: Path towards Qt 6|| |
|11:00 - 11:50||Qt 3D Studio||Serialisation (JSON, CBOR, QDataStream)||Code/Repository management (Not Qt's source tree, blog related code, etc)|
|12:00 - 13:00||Lunch|
|13:00 - 13:50||Plenary session: Graphics vision 2020|
|14:00 - 14:50||Qt Widgets||Dates, Times, Zones and Calendars||Free|
|15:00 - 15:50||Qt Quick (and qml and controls)||Third-party sources policy and security||Qt3D use cases in automotive and the problems with it|
|16:00 - 17:00||Plenary session: Qt 6 development process and desired changes|| |
Starting after 18:00
The Shamrock Pub at Schleppegrellsgate 32, 0556 Oslo
- On google maps: https://goo.gl/maps/fNtgT5iG9jQ2
- Walking about 30 minutes, or bus 30 from the side of the BI building to Dælenenga stop, about 10 minutes ride time.
- No food served, you can get something there or on the way.
|Time||Room A2 - 075||Room A2 - 070||Room A2 - 010|
|9:00 - 9:50||Plenary session: Leveraging C++17|| |
|10:00 - 10:50||Code Review Tool and Workflow||Improving SW testing||Qt Remote Objects|
|11:00 - 11:50||CI status and ruminations about flaky tests||BOF Clang tooling and code model||Qt Wayland future directions|
|12:00 - 13:00||Lunch|
|13:00 - 13:50||Nurturing the Qt community||Refactoring QPA. Support multiple QPA plugins||Text in Qt|
|14:00 - 14:50||Pointer Handlers Update||QDebug vs other tracing facilities||Documentation with Clang-QDoc|
|15:00 - 15:25||A peek at the Qbs port of Qt||Qt for Python||Intents for embedded Linux|
|15:25 - 15:50||Free||Jira/bugreports||Qt + unique_ptr|
|16:00 - 17:00||Final session: Conclusions|| |
Please give a quick over-view and say who'll be getting the discussion going.
Keynote: Path towards Qt 6
Look into the currently ongoing development items in Qt and intended timeline and practicalities for development of Qt 6.
Plenary: Graphics Vision 2020
Laszlo/Andy + various people
Towards a unified 2D-3D world. Let's discuss the direction for Qt Quick, the scenegraph, Qt 3D Studio with Qt 3D underneath, and the related tools like Qt 3D Studio and Qt Design Studio.
Plenary: Qt 6 development process and desired changes
Discussion about different alternatives for development process of Qt 6 features (branches etc). Summarizing the findings during the first day and previously identified needs for larger changes in various Qt modules.
Plenary: Leveraging C++17
Discussion on how we could and should leverage capabilities of C++14 and C++17 in Qt framework - considering possibility of setting C++17 as the minimum compiler requirement for Qt 6. Look into areas where we can provide interoperability between Qt types and C++ standards types (especially as we can have a binary break with a major version of Qt). Identifying possible items to help improving performance (e.g. allocators), adding functionality and reducing maintenance load. What about upcoming C++20?
Final session: Conclusions
Lars Knoll, Tuukka Turunen
Summarizing the findings during the summit.
Qt 3D Studio (application, runtime, APIs)
László Agócs, Andy Nichols, Pasi Keränen, Soili Väinämö, Sami Makkonen, Ilya Gluschenko
Let's discuss the present and future of the Qt 3D Studio application.
Let's take a look at what ships in Qt 3D Studio 2.0 when it comes to C++ and QML APIs, and how these - and the underlying engine - will evolve in H2/2018 and beyond. Also serves as an intro to the Graphics Vision session that follows afterwards.
- Out of the box PBR support
- Improving custom materials "user-experience"
- Improving UI usability
Qt + unique_ptr
Qt's ownership model is based on the capabilities of C++98, since C++11, standard C++ contains a standard way to transfer ownership. Recently I've investigated how Qt could adopt unique_ptr in its apis.
Qt Remote Objects
Discuss the current status of Qt Remote Objects (QtRO) and bringing it out of Tech Preview status for 5.12. Most of the changes needed are internal to QtRO, but there are also opportunities to improve it that would require changes to other modules, and it would be great to see what interest there is in these efforts.
Serialisation (JSON, CBOR, QDataStream)
Let's discuss what we want of Qt serialisation in Qt 5.12+:
- QJsonDocument support for content larger than 128 MB
- Deprecating binary QJsonDocument
- Expanding Qt supported types in CBOR
- Modernisation of QDataStream, possibly using CBOR
- Any other protocols we should consider, like CapnProto or Protobuf
CI status and ruminations about flaky tests
Brief look at what the CI task force has done, with focus on flaky tests, how to find them, and what to do about them going forward.
Qt for Python
The technical preview of this new project is almost here, and we would like to give a brief overview of Qt for Python. We are focusing this discussion on a couple of crucial points of the current and future development aspects.
- Code generation,
- API compatibility (Qt and Python),
Dates, Times, Zones and Calendars
C++20 is slated to build, on std::'s <chrono>, a coherent (and well-designed) date/time system that does time-zones well and supports a way of doing calendars. We have a QAbstractCalendar contribution in the pipe-line.
- What becomes of that, QTimeZone and Q(Date|Time)+ once (most of a decade from now) Qt is able to use C++20's shiny new library features ?
- What should we do for Qt6 to prepare the way for that future transition ?
Third party sources policy and security
Qt ships quite a few bundled sources for third-party code, which require constant maintenance and attention. Many of those are also subject to security attacks and have CVEs reported to them on several times a year. This session intends to discuss the Qt Project's policy going forward on accepting new third-party sources, the required actions for the maintainer of those sources and configure system. We should also discuss when to re-issue binary releases of Qt and Qt Creator when security issues are found.
Qt for WebAssembly
The Qt for WebAssembly platform port is currently in Tech Preview and is scheduled for inclusion in Qt 5.12. In this session we'll discuss what the Qt support for this platform should look like. (Cancelled due to illness)
Richard Gustavsen, Frederik Gladhorn, Gabriel de Dietrich
What is new with Qt Widgets, where do we need updates and development, are the styles up to date?
Whither QStyleSheetStyle in Qt 6? (See QTBUG-68671 for a discussion starter)
What is the direction for QML, Qt Quick and Qt Quick Controls 2? Where do we have gaps and what is the most important goal to achieve?
Pointer Handlers Update
Discussion of how it has gone with the 5.10-5.11 Tech Preview and what is left to be done before transition to supported API in 5.12.
- Renaming: Gesture Handlers?
- Make sure API is sustainable
- Implement missing functionality
- Drag & Drop
Documentation with Clang-QDoc
Topi Reiniö, others
Since Qt 5.11, the documentation generation tool (QDoc) uses libclang to parse C++ source. In this session we'll
discuss what this means for creating Qt module docs, what are the current challenges and how to best improve the
tool going forward.
Code Review Tool and Workflow
We have been wanting to update Gerrit, but progress seems slow. Let's discuss our workflow and consider the pros and cons of other tools.
Vladimir Minenko, Ilya Gluschenko, Nikita Krupitska, Volker Krause, others
There are a few typical cases for the use 3D in the automotive projects. Most of them are about visualisation of cars, parts of interior, dials and gauges in a retro styles. Assets for those 3D models are usually developed in 3rd party tools (like Maya or Blender) or even converted from CAD data, then composited in scene manually (for now, in absence of a released version of Qt 3D Studio). These use cases expose multiple problems or a lack of features in Q3D.
BOF Clang tooling and code model
ClangCodeModel is finally the default code model starting with Qt Creator 4.7. Other Clang-based tooling is also on it's way. Let's discuss what is good, what requires polishing and what are we missing.
Quite a few changes are ongoing to streamline Jira usage. This includes things like open requirements mgmt, automatic handling of "Need more info" bugs and general project adjustments. The session should also give opportunity to bring up personal issues from the audience which may have been creeping up.
Qt Wayland Future Directions
Let's discuss the future of Qt Wayland. Important topics: deprecation of old shells, client-side APIs, window decorations, important bugs, pain points with the current compositor API. More details
Intents for embedded Linux
Vladimir Minenko, Robert Griebl, Volker Krause
Large, extendable multi-process projects on embedded Linux are lacking an IPC mechanism to loosely couple apps, especially on the input side (mostly touch and voice). Let's discuss what Qt could provide to the developers to prevent re-inventing the wheel for each project.
A peek at the Qbs port of Qt
We're working on porting the build system of Qt to qbs since a while. I'd like to share the current state & how to try things out.
QDebug vs other tracing facilities
QDebug tracepoints are very convenient to troubleshoot code but less adequate for systematic tracing:
- they are too slow to use permanently in performance-critical code
- extracting data from their messages is tedious
I will show of benchmark of QDebug vs High-perf tracing (LTTng, Win ETL) vs our structured tracing library (MODMED) as a starting point to discuss what could be done to improve Qt in that area
Kai Köhne / Samuel Gaist
During this session, we'll talk about code and repositories management. What would be the best way to organise this when dealing, for example, with code related to a blog post that is using Qt or could benefit Qt but doesn't enter in any module ?
Nurturing the Qt Community
Kai Köhne / Samuel Gaist
It feels the number of Qt contributors stagnates. Forums etc are active, but we don't succeed in getting new contributors to the project itself. Let's discuss what we can do about this. Session notes.
Let's discus how we can improve our QPA plugins and allow our customers to do screen mirroring and remote control out of box.
Text in Qt
Eskil Abrahamsen Blomfeldt
What are the challenges for getting good performance out of text? What exists for text in Qt right now, what should we add in the future and what should we drop.
Improving SW testing
Effectiveness: What improvements should be made in testing area to make Qt even better (fewer bugs and better testing coverage).
Efficiency: How to reduce manual regression testing.