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
No edit summary
(Added page on QDebug session)
 
(5 intermediate revisions by 3 users not shown)
Line 35: Line 35:
|-
|-
! 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
Line 43: Line 43:
|-
|-
! 15:00 - 15:50
! 15:00 - 15:50
| Qt Quick (and qml and controls)
| [[QtCS2018 QtQuick|Qt Quick (and qml and controls)]]
| [[QtCS2018 Third-Party Sources Policy and Security|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 56: 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 ===
Line 79: Line 76:
| Code Review Tool and Workflow
| Code Review Tool and Workflow
| Improving SW testing
| Improving SW testing
|Qt Remote Objects
|[[QtCS2018 RemoteObjects|Qt Remote Objects]]
|-
|-
! 11:00 - 11:50
! 11:00 - 11:50
Line 95: Line 92:
|-
|-
! 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
|-
|-
Line 130: 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 145: 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 168: 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 178: 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 206: Line 207:


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.
[[QtCS2018 Third-Party Sources Policy and Security|Session notes]].


=== <s>Qt for WebAssembly</s> ===
=== <s>Qt for WebAssembly</s> ===
Line 247: 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 288: Line 291:
''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''


Line 303: Line 309:
''Eskil Abrahamsen Blomfeldt''
''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.
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 ===
=== Improving SW 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.