Qt contributors summit 2017 Program: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
m (Added link to Wiki maintenance notes)
 
(75 intermediate revisions by 20 users not shown)
Line 10: Line 10:
! 9.00 - 9.30  
! 9.00 - 9.30  
| Registration
| Registration
|-
! 9.30 - 10.15
| Welcome session and planning
|}
|}


{| class="wikitable"
{| class="wikitable"
! Time
! Time
! Room A3
! Room A3/A4
! Room A4
! Room A5/A6
! Room A5
! Room A8
! Room A6
|-
!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:20
! 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:20 - 13:20
! 12:10 - 13:10
! Lunch!
! Lunch!
! Lunch!
! Lunch!
! Lunch!
! Lunch!
! Lunch!
|-
|-
! 13:20 - 14:10
! 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
| Open governance and Jira practices
| [[QtCS2017_Discuss_Qt_Logging_enhancements | Discuss Qt Logging enhancements]]
|  
|[[QtCS2017 Releasing|Releasing]]
|Releasing
|-
!Coffee Break
!... or tea
!
!
|-
|-
! 15:20 - 16:10
! 15:30 - 16:10
| The road towards Qt 6 (part 1)
| [[QtCS2017 QtWayland session|Qt Wayland]]
|  
| [[QtCS2017 QtCore#Containers|Qt6 containers discussion]]
|  
|  
|  
|-
|-
! 16:20 - 17:10
! 16:20 - 17:00
| The road towards Qt 6 (part 2)
|
|
|  
|  
| 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
! Room 1
! Döblin 1
! Room 2
! Döblin 2
|-
|-
! 9:00 - 9:50
! 9:00 - 9:50
| C++17, C++20 and beyond
| C++17, C++20 and beyond
| BOF Build Systems
|  
|-
|-
! 10:00 - 10:50
! 10:00 - 10:40
| Qt6 containers discussion
| [[QtCS2017 BOF Build Systems|BOF Build Systems]]
| Discuss Qt Logging enhancements
| [[QtCS2017_QQSG|Qt Quick Scenegraph future]]
|-
|-
! 11:00 - 11:50
! 10:50 - 11:30
| DTLS & CoAP protocol
| [[QtCS 2017 CoAP|DTLS & CoAP protocol]]
|  
| Qt Project Code of Conduct
|-
|-
! 12:00 - 12:50
! 11:40 - 12:20
|  
| New QML compiler infrastructure
| CI
| CI
|-
|-
! 13:00 - 13:50
!12:30 - 13:10
|Debugging QtWebEngine
|[[QtCS2017 Qt Deployment Story|Qt Deployment Story]]
|-
! 13:10 - 14:00
! Lunch!
! Lunch!
! Lunch!
! Lunch!
|-
|-
! 14:00 - 14:50
! 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:00 - 15:50
!15:40 - 16:20
|  
|[[QtCS2017 Qt Examples Guidelines|Qt Examples Guidelines discussion]]
|BOF Qt OpcUa
|
|-
|-
! 16:00 - 16:50
! 16:30 - 17:10
|Open-source AR with Qt
| colspan="2" |Summing up framework changes: The road towards Qt 6
|Qt examples guidelines discussion
|-
|-
! 17:00 - 17:15
! 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]]
=== Open governance and Jira practices ===
''Santtu Ahonen''
How we use Jira public projects, Epics, User stories and Tasks & Bugs to track and share work targets? As far as I can tell there seems to be project specific practices and if nothing else the discussion is about sharing those practices (e.g. why we use so many Epics instead of User Stories?) and see if there is some parts where we could or should align (e.g. how to mark fixtarget releases?). This links in to The Qt Company internal use and practices for Jira use, we cannot plan our own internal Jira usage in vacuum without the contributors.


=== Releasing ===
=== Releasing ===
Line 146: Line 153:
Open discussion related to Releasing.
Open discussion related to Releasing.


[[Link to the notes page|Notes]]
[https://wiki.qt.io/QtCS2017_Releasing Notes]


=== QtNetwork and IOT ===
=== QtNetwork and IOT ===
''Timur Pocheptsov & others''
''QtCore and Network team''


Short review of the recent changes in QtNetwork module - OpenSSL 1.1, HSTS, HTTP/2, redirects. Upcoming work and planning.
Ideas/topics to discuss:
Some ideas (for QtNetwork):
* HTTP server
* DTLS support
** Present status
* OCSP (Online Certificate Status Protocol)
** Present scope
* QSslSocket with SChannel (?)
** 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]]


Topic
=== 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]]


''Name of owner''
=== BOF Before Runtime ===
''Marco Bubke''


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.
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]]


==Session descriptions for Tuesday==
=== 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.


=== Build Systems BOF ===
=== New QML Compiler infrastructure ===
''Kai Köhne''
''Lars Knoll''


Open discussion about Qt & the different build systems.
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.

Notes

Releasing

Jani Heikkinen

Open discussion related to Releasing.

Notes

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?

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

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?

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

Thiago Macieira

Discuss whether Qt 6 containers should:

  1. be copy on write or not
  2. 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.

Notes

Navigation API in QtLocation

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.

Notes

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.

Notes

Notes from ad hoc discussions

CBOR

CBOR