Qt contributors summit 2017 Program: Difference between revisions
Arnaud Clere (talk | contribs) |
m (Added link to Wiki maintenance notes) |
||
(76 intermediate revisions by 20 users not shown) | |||
Line 10: | Line 10: | ||
! 9.00 - 9.30 | ! 9.00 - 9.30 | ||
| Registration | | Registration | ||
|} | |} | ||
{| class="wikitable" | {| class="wikitable" | ||
! Time | ! Time | ||
! Room A3 | ! Room A3/A4 | ||
! Room | ! Room A5/A6 | ||
! Room | ! Room A8 | ||
! | |- | ||
!9:30 - 10:15 | |||
!Welcome session | |||
! | |||
! | |||
|- | |- | ||
! 10:30 - 11:20 | ! 10:30 - 11:20 | ||
| Qt Core discussion | | [[QtCS2017 QtCore|Qt Core discussion]] | ||
| | | | ||
| | | | ||
|- | |- | ||
! 11:30 - 12: | ! 11:30 - 12:10 | ||
|3D (Qt 3D Studio, Qt 3D) | | [[QtCS2017_3D|3D (Qt 3D Studio, Qt 3D)]] | ||
| | | [[QtCS2017 QtQuickControlsDeployment|Deployment Challenges with QtQuick.Controls(2) applications]] | ||
| QtNetwork and IOT | | [[QtCS2017 QtNetwork|QtNetwork and IOT]] | ||
|- | |- | ||
! 12: | ! 12:10 - 13:10 | ||
! Lunch! | ! Lunch! | ||
! Lunch! | ! Lunch! | ||
! Lunch! | ! Lunch! | ||
|- | |- | ||
! 13: | ! 13:10 - 14:00 | ||
| Textures in QQ2 | | [[QtCS2017 Textures in QQ2|Textures in QQ2]] | ||
| wiki.qt.io maintenance | | [[QtCS2017 WikiMaintenance|wiki.qt.io maintenance]] | ||
| | | [[QtCS2017 Before Runtime discussion | BOF Before Runtime]] | ||
| | |||
|- | |- | ||
! 14:20 - 15:10 | ! 14:20 - 15:10 | ||
| | |Gestures in QQ2 and QtGui | ||
| | | [[QtCS2017_Discuss_Qt_Logging_enhancements | Discuss Qt Logging enhancements]] | ||
| | |[[QtCS2017 Releasing|Releasing]] | ||
| | |- | ||
!Coffee Break | |||
!... or tea | |||
! | |||
! | |||
|- | |- | ||
! 15: | ! 15:30 - 16:10 | ||
| | | [[QtCS2017 QtWayland session|Qt Wayland]] | ||
| | | [[QtCS2017 QtCore#Containers|Qt6 containers discussion]] | ||
| | |||
| | | | ||
|- | |- | ||
! 16:20 - 17: | ! 16:20 - 17:00 | ||
| | | | ||
| QIODevice (didn't happen) | |||
| [[QtCS2017_UnitTesting|BOF Unit testing in and with Qt]] | |||
|} | |} | ||
==Tuesday 10.10.2017== | ==Tuesday 10.10.2017== | ||
On Tuesday we will have limited rooms. Enough space, but not so many rooms. | '''At the 2nd floor of the Park Inn Hotel.''' On Tuesday we will have limited rooms. Enough space, but not so many rooms. | ||
{| class="wikitable" | {| class="wikitable" | ||
! Time | ! Time | ||
! | ! Döblin 1 | ||
! | ! Döblin 2 | ||
|- | |- | ||
! 9:00 - 9:50 | ! 9:00 - 9:50 | ||
| C++17, C++20 and beyond | | C++17, C++20 and beyond | ||
| | | | ||
|- | |- | ||
! 10:00 - 10: | ! 10:00 - 10:40 | ||
| | | [[QtCS2017 BOF Build Systems|BOF Build Systems]] | ||
| | | [[QtCS2017_QQSG|Qt Quick Scenegraph future]] | ||
|- | |- | ||
! | ! 10:50 - 11:30 | ||
| DTLS & CoAP protocol | | [[QtCS 2017 CoAP|DTLS & CoAP protocol]] | ||
| | | Qt Project Code of Conduct | ||
|- | |- | ||
! | ! 11:40 - 12:20 | ||
| | | New QML compiler infrastructure | ||
| CI | | CI | ||
|- | |- | ||
! 13: | !12:30 - 13:10 | ||
|Debugging QtWebEngine | |||
|[[QtCS2017 Qt Deployment Story|Qt Deployment Story]] | |||
|- | |||
! 13:10 - 14:00 | |||
! Lunch! | ! Lunch! | ||
! Lunch! | ! Lunch! | ||
|- | |- | ||
! 14:00 - 14: | ! 14:00 - 14:45 | ||
|Pretty Printing With Qt Creator | |Pretty Printing With Qt Creator | ||
|Navigation API in QtLocation | |BOF Navigation API in QtLocation | ||
|- | |||
! 14:50 - 15:30 | |||
|Open-source AR with Qt | |||
|BOF Qt Opcua | |||
|- | |- | ||
! 15: | !15:40 - 16:20 | ||
| | |[[QtCS2017 Qt Examples Guidelines|Qt Examples Guidelines discussion]] | ||
| | | | ||
|- | |- | ||
! 16: | ! 16:30 - 17:10 | ||
| | | colspan="2" |Summing up framework changes: The road towards Qt 6 | ||
|Qt | |||
|- | |- | ||
! 17: | ! 17:10 - 17:30 | ||
! Thank you! | ! Thank you! | ||
!Thank you! | |||
|} | |} | ||
Line 118: | Line 125: | ||
* QRandomGenerator and providing a PRNG of good quality (Mersenne Twister or Chacha20) | * QRandomGenerator and providing a PRNG of good quality (Mersenne Twister or Chacha20) | ||
* QIODevice for Qt 6 | * QIODevice for Qt 6 | ||
=== Build Systems BOF === | |||
''Kai Köhne'' | |||
Open discussion about Qt & the different build systems. | |||
=== 3D === | === 3D === | ||
Line 135: | Line 147: | ||
[[QtCS2017 WikiMaintenance|Notes]] | [[QtCS2017 WikiMaintenance|Notes]] | ||
=== Releasing === | === Releasing === | ||
Line 146: | Line 153: | ||
Open discussion related to Releasing. | Open discussion related to Releasing. | ||
[ | [https://wiki.qt.io/QtCS2017_Releasing Notes] | ||
=== QtNetwork and IOT === | === QtNetwork and IOT === | ||
'' | ''QtCore and Network team'' | ||
Ideas/topics to discuss: | |||
* HTTP server | |||
* DTLS support | ** Present status | ||
* | ** Present scope | ||
* | ** Use cases? | ||
** Protocol support (HTTP / HTTPS / WebSockets / Secure WebSockets / CoAP?) | |||
* CoAP | |||
** DTLS support (who can / will do what?) | |||
* MQTT | |||
* ZeroMQ | |||
* Lack of reviews | |||
* Permanent storage for network? | |||
[[Link to the notes page|Notes]] | [[Link to the notes page|Notes]] | ||
=== Deployment Challenges with QtQuick.Controls(2) applications === | |||
''Nils Jeisecke'' | |||
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 | |||
[[Link to the notes page|Notes]] | |||
=== BOF Before Runtime === | |||
''Marco Bubke'' | |||
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? | |||
[[Link to the notes page|Notes]] | [[Link to the notes page|Notes]] | ||
== | === 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. | |||
=== Qt6 containers === | === Qt6 containers === | ||
Line 175: | Line 203: | ||
# be copy on write or not | # be copy on write or not | ||
# build upon the C++ Standard Library containers or continue independent | # build upon the C++ Standard Library containers or continue independent | ||
Use qssize_t | |||
=== 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. :-) | |||
[[QtCS2017_UnitTesting|BOF Unit testing in and with Qt]] | |||
==Session descriptions for Tuesday== | |||
=== Pretty Printing With Qt-Creator === | === Pretty Printing With Qt-Creator === | ||
Line 185: | Line 226: | ||
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? | 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? | ||
=== QQ2 scenegraph === | |||
"Laszlo Agocs" | |||
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 === | |||
''Andy Nichols'' | |||
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. | |||
[[QtCS2017 Qt Project Code of Conduct|Notes]] | |||
=== Navigation API in QtLocation === | === Navigation API in QtLocation === | ||
Line 195: | Line 249: | ||
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. | 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. | ||
=== Debugging QtWebEngine === | |||
''Viktor Engelmann'' | |||
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 === | === Open-source AR with Qt === | ||
Line 209: | Line 268: | ||
Open discussion related to the change from VMware to openNebula, the new infrastructure, flakiness of the system and a good amount of Q&A. | 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 === | ||
'' | ''Lars Knoll'' | ||
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 === | === C++17, C++20 and beyond === | ||
Line 226: | Line 285: | ||
We suggest Qt Logging enhancements that would facilitate both human exploration and automated analysis with Python or other tools. | 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. | 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 === | |||
''Lars Knoll'' | |||
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. | |||
|[[QtCS2017 Qt Examples Guidelines|Qt Examples Guidelines discussion]] | |||
=== Qt Wayland === | |||
''Johan Helsing'' | |||
Status update and discussion of what needs to be done for QtWayland both for the QPA plugin, and for the compositor API. | |||
[[QtCS2017 QtWayland session|Notes]] | |||
=== Next topic === | === Next topic === | ||
Line 233: | Line 311: | ||
[[Link to the notes page|Notes]] | [[Link to the notes page|Notes]] | ||
==Notes from ad hoc discussions== | |||
=== CBOR === | |||
[[QtCS2017 CBOR|CBOR]] |
Latest revision as of 07:20, 17 October 2017
Back to Qt contributors summit 2017
Monday 9.10.2017
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 |
Tuesday 10.10.2017
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
QtCore discussion
Thiago Macieira
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
Kai Köhne
Open discussion about Qt & the different build systems.
3D
Laszlo Agocs & others
Let's discuss the 3D story.
Improving texture support in Qt Quick
Giuseppe D'Angelo
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
Tero Kojo
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.
Releasing
Jani Heikkinen
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?)
- CoAP
- DTLS support (who can / will do what?)
- MQTT
- ZeroMQ
- Lack of reviews
- Permanent storage for network?
Deployment Challenges with QtQuick.Controls(2) applications
Nils Jeisecke
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
Marco Bubke
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.
Qt6 containers
Thiago Macieira
Discuss whether Qt 6 containers should:
- be copy on write or not
- build upon the C++ Standard Library containers or continue independent
Use qssize_t
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. :-)
BOF Unit testing in and with Qt
Session descriptions for Tuesday
Pretty Printing With Qt-Creator
Stéphane Petithomme
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
Frank Meerkötter
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?
QQ2 scenegraph
"Laszlo Agocs"
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
Andy Nichols
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.
Paolo Angelelli
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
Adrien Leravat
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.
Debugging QtWebEngine
Viktor Engelmann
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.
CI
Tony Sarajärvi
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
Lars Knoll
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
Ville Voutilainen
A presentation about what's in C++17 and what is forthcoming in C++20 and future standards.
Discuss Qt Logging enhancements
Arnaud Clère
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
Lars Knoll
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.
|Qt Examples Guidelines discussion
Qt Wayland
Johan Helsing
Status update and discussion of what needs to be done for QtWayland both for the QPA plugin, and for the compositor API.
Next topic
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.