Qt wiki will be updated on October 12th 2023 starting at 11:30 AM (EEST) and the maintenance will last around 2-3 hours. During the maintenance the site will be unavailable.

Qt contributors summit 2018 Program: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
(added mention of development process to Qt 6 session of day 1.)
(Added page on QDebug session)
 
(26 intermediate revisions by 13 users not shown)
Line 31: Line 31:
|-
|-
! 13:00 - 13:50
! 13:00 - 13:50
| Plenary session: Graphics vision 2020
| [[QtCS2018 Graphics Vision 2020|Plenary session: Graphics vision 2020]]
| colspan="2" |<hr />
| colspan="2" |<hr />
|-
|-
! 14:00 - 14:50
! 14:00 - 14:50
| Qt Widgets
| [[QtCS2018 QtWidgets|Qt Widgets]]
| [[Qt contributors summit 2018 Program#Dates.2C Times.2C Zones and Calendars|Dates, Times, Zones and Calendars]]
| [[Qt contributors summit 2018 Program#Dates.2C Times.2C Zones and Calendars|Dates, Times, Zones and Calendars]]
|Free
|Free
|-
!
! colspan="3" |Coffee
|-
|-
! 15:00 - 15:50
! 15:00 - 15:50
| Qt Quick (and qml and controls)
| [[QtCS2018 QtQuick|Qt Quick (and qml and controls)]]
| Third-party sources policy and security
| [[QtCS2018 Third-Party Sources Policy and Security|Third-party sources policy and security]]
|Qt3D use cases in automotive and the problems with it
|[[Qt3D use cases in automotive and the problems with it]]
|-
|-
! 16:00 - 17:00
! 16:00 - 17:00
| Plenary session: Qt 6 development process and desired changes  
| [[QtCS2018 Qt 6|Plenary session: Qt 6 development process and desired changes]]
| colspan="2" | <hr>
| colspan="2" | <hr>
|}
|}
Line 53: Line 56:


The Shamrock Pub at Schleppegrellsgate 32, 0556 Oslo
The Shamrock Pub at Schleppegrellsgate 32, 0556 Oslo
 
* On google maps: https://goo.gl/maps/fNtgT5iG9jQ2
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.
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.


=== Day 2 ===
=== Day 2 ===


{| class="wikitable"
{| class="wikitable"
|+
! Time
! Time
! Room A2 - 075
! Room A2 - 075
Line 74: Line 75:
! 10:00 - 10:50
! 10:00 - 10:50
| Code Review Tool and Workflow
| Code Review Tool and Workflow
| Qt for WebAssembly
| Improving SW testing
|Qt Remote Objects
|[[QtCS2018 RemoteObjects|Qt Remote Objects]]
|-
|-
! 11:00 - 11:50
! 11:00 - 11:50
Line 83: Line 84:
|-
|-
! 12:00 - 13:00
! 12:00 - 13:00
| colspan="3" style="text-align:center;" | Lunch
| colspan="3" style="text-align:center;" | '''Lunch'''
|-
|-
! 13:00 - 13:50
! 13:00 - 13:50
| Nurturing the Qt community
| [[QtCS2018 Nurturing the Qt community|Nurturing the Qt community]]
|Refactoring QPA. Support multiple QPA plugins
|[[Refactoring QPA. Support multiple QPA plugins]]
|Text in Qt
|[[QtCS2018 Text in Qt|Text in Qt]]
|-
|-
! 14:00 - 14:50
! 14:00 - 14:50
| Pointer Handlers Update
| [[QtCS2018 Pointer Handlers|Pointer Handlers Update]]
| QDebug vs other tracing facilities
| [[QDebug and other tracing facilities|QDebug <s>vs</s> <u>and</u> other tracing facilities]]
| Documentation with Clang-QDoc
| Documentation with Clang-QDoc
|-
!
! colspan="3" |Coffee
|-
|-
! 15:00 - 15:25
! 15:00 - 15:25
Line 101: Line 105:
|-
|-
!15:25 - 15:50
!15:25 - 15:50
|'''Free'''
| '''Free'''
| Jira/bugreports
| Jira/bugreports
|Qt + unique_ptr
| Qt + unique_ptr
|-
|-
! 16:00 - 17:00
! 16:00 - 17:00
| Final session: Conclusions  
| [[QtCS2018 Conclusions|Final session: Conclusions]]
| colspan="2" | <hr>
| colspan="2" | <hr>
|}
|}
Line 123: Line 127:
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.  
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.  


See [[QtGraphics2020]]  
See [[QtGraphics2020]] and [[QtCS2018 Graphics Vision 2020|session notes]].
=== Plenary: Qt 6 development process and desired changes ===
=== Plenary: Qt 6 development process and desired changes ===
''Lars Knoll''
''Lars Knoll''
Line 138: Line 142:


Summarizing the findings during the summit.
Summarizing the findings during the summit.
[[QtCS2018 Conclusions|Session notes]].


=== Qt 3D Studio (application, runtime, APIs) ===
=== Qt 3D Studio (application, runtime, APIs) ===
Line 161: Line 167:
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.
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.


[[QtCS2018 RemoteObjects|Session notes.]]
=== Serialisation (JSON, CBOR, QDataStream) ===
=== Serialisation (JSON, CBOR, QDataStream) ===
''Thiago Macieira''
''Thiago Macieira''
Line 171: Line 178:
* Any other protocols we should consider, like CapnProto or Protobuf
* Any other protocols we should consider, like CapnProto or Protobuf


[[QtCS2018 Serialisation|Session notes.]]
=== CI status and ruminations about flaky tests ===
=== CI status and ruminations about flaky tests ===
''Ville Voutilainen''
''Ville Voutilainen''
Line 187: Line 195:
=== Dates, Times, Zones and Calendars ===
=== Dates, Times, Zones and Calendars ===
''Edward Welbourne''
''Edward Welbourne''
[[QtCS2018 Date Time|Session notes]]


C++20 is slated to build, on std::'s <chrono>, a coherent (and well-designed) [https://howardhinnant.github.io/date/d0355r7.html date/time system] that does time-zones well and supports a way of doing calendars.
C++20 is slated to build, on std::'s <chrono>, a coherent (and well-designed) [https://howardhinnant.github.io/date/d0355r7.html date/time system] that does time-zones well and supports a way of doing calendars.
Line 198: Line 208:
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 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 ===
[[QtCS2018 Third-Party Sources Policy and Security|Session notes]].
 
=== <s>Qt for WebAssembly</s> ===
''Morten Sørvig''
''Morten Sørvig''


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.
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)''


=== Qt Widgets ===
=== Qt Widgets ===
Line 238: Line 250:
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.
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.


=== Qt3D use cases in automotive and the problems with it ===
=== [[Qt3D use cases in automotive and the problems with it]] ===
''Vladimir Minenko'', ''Ilya Gluschenko'', ''Nikita Krupitska'', ''Volker Krause'', others
''Vladimir Minenko'', ''Ilya Gluschenko'', ''Nikita Krupitska'', ''Volker Krause'', others


Line 274: Line 286:
* they are too slow to use permanently in performance-critical code
* they are too slow to use permanently in performance-critical code
* extracting data from their messages is tedious
* 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
I will show of benchmark of QDebug vs High-perf tracing (LTTng, Win ETL) vs our structured tracing library ([https://gricad-gitlab.univ-grenoble-alpes.fr/modmed/modmedLog MODMED]) as a starting point to discuss what could be done to improve Qt in that area


=== Code/Repository management (Not Qt's source tree, blog related code, etc) ===
=== Code/Repository management (Not Qt's source tree, blog related code, etc) ===
''Kai Köhne / Samuel Gaist''
''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 ?.
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 ?
 
[[QtCS 2018 Code Repository Management|Session notes.]]


=== Nurturing the Qt Community ===
=== Nurturing the Qt Community ===
''Kai Köhne / Samuel Gaist''
''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.Re
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.
[[QtCS2018 Nurturing the Qt community|Session notes]].


=== Refactoring QPA. Support multiple QPA plugins. ===
=== [[Refactoring QPA. Support multiple QPA plugins]]. ===
''Mikhail Svetkin''
''Mikhail Svetkin''


Let's discus how we can improve our QPA plugins and allow our customers to do screen mirroring  and remote control out of box.
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.
[[QtCS2018 Text in Qt|Session notes]].
=== Improving SW testing ===
''Asmo Saarela''
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.

Latest revision as of 09:51, 15 June 2018

Back to Qt contributors summit 2018

Table of topics

Please add a longer session description with topic owner in the lower part of the page!

Day 1

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
Coffee
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

Evening meet

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.

Day 2

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 and other tracing facilities Documentation with Clang-QDoc
Coffee
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

Session descriptions

Please give a quick over-view and say who'll be getting the discussion going.

Keynote: Path towards Qt 6

Lars Knoll

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.

See QtGraphics2020 and session notes.

Plenary: Qt 6 development process and desired changes

Lars Knoll

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

Ville Voutilainen

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.

Session notes.

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.

Additional topics:

  • Out of the box PBR support
  • Improving custom materials "user-experience"
  • Improving UI usability

Qt + unique_ptr

Daniel Teske

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

Brett Stottlemyer

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.

Session notes.

Serialisation (JSON, CBOR, QDataStream)

Thiago Macieira

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

Session notes.

CI status and ruminations about flaky tests

Ville Voutilainen

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

Cristián Maureira-Fredes

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),
  • Features,
  • etc

Dates, Times, Zones and Calendars

Edward Welbourne

Session notes

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

Thiago Macieira

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.

Session notes.

Qt for WebAssembly

Morten Sørvig

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)

Qt Widgets

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)

Qt Quick

Frederik Gladhorn

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

Shawn Rutledge

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

Frederik Gladhorn

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.

Qt3D use cases in automotive and the problems with it

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

Ivan Donchevskii

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.

Jira/bugreports

Alex Blasche

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

Johan Helsing

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

Kai Köhne

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

Arnaud Clère

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

Code/Repository management (Not Qt's source tree, blog related code, etc)

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 ?

Session notes.

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.

Refactoring QPA. Support multiple QPA plugins.

Mikhail Svetkin

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.

Session notes.

Improving SW testing

Asmo Saarela

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.