Qt Contributor Summit 2023 - Program
Please, add your sessions/talks/presentations to the table below.
→ If you have any issues while editing this page, please contact Pedro Bessa directly at email@example.com
Make sure to include a title, state your name, define its format, and write a short description.
Topic: write a brief title for your topic of discussion.
Speaker: Add the name of speaker(s) or session facilitator.
Format: is it a discussion, presentation, workshop or something else?
Summary: include here a brief summary of that is to be discussed.
It doesn't need to be a final version of what will be presented, but it's good to have an idea of the presentation's scope and general lines.
|TaskTree||Jarek Kobus||Presentation||TaskTree - generic solution for automatic management of asynchronous task (C++). More info: https://wiki.qt.io/TaskTree.
The TaskTree can automatically manage the chain (or tree) of asynchronous tasks of mixed types.
The recipe on how to run and manage the conglomerate of tasks is described in a declarative way in C++.
The recipes are enclosed in copyable value-type objects and may be run many times, or be part of more general recipes.
The TaskTree is currently broadly used in QtCreator, e.g. for executing Build / Deploy configurations, Locator filter, Clang tool, Autotests, and much more...
The TaskTree's implementation is separated from the QtCreator specific code and may already serve as a general purpose solution outside of QtCreator.
|Qt - Connected First||Vladimir Minenko||Discussion (with some presentations)||Since a while there are multiple additions to Qt wthattarget more efficient development of apps talking to different web services as well as implementing distributed architectures. As of July 2023, it ranges from the new Qt gRPC module and the "revived" Qt HTTP Server to ongoing works on various helpers for REST in Qt (see QTBUG-112276 and issues linked to it). Not mentioning the Qt Interface Framework and Qt D-Bus as IPC components in Qt.
But what should we do next or differently in this domain? Introduce an integration of GraphQL? Invest more time in OpenAPI instead of GraphQL?
In this session we will give an overview of what is going on and available, but most importantly we want ,to discuss and hear your views and opinions
|Evolving QIcon and theming||Volker Hilsheimer||Discussion||QIcon delegates the loading and rendering of icons to platform-specific icon engines, ultimately producing a pixmap. Theme support is very much based on the freedesktop spec, which hasn't moved much since 2006 years. In more recent years, Microsoft and esp Apple have added rich support for icons to their platforms.
QIcon and the theme-abstraction as it is today doesn't map well to those capabilities. The implementation has improved in the context of QTBUG-102346, but the design is in general too limited to support multiple system themes, layered icons with variable properties, and icon coloring and tinting with palette or hierarchical color support.
Since it's related, we might also talk about QtSvg, support for vector graphics animations and animated emojis.
|QtWayland Remaining Issues||David Edmundson||Discussion||The Wayland API does not map nicely to patterns used on every other platform in various aspects of window management. We need to fix popups, find a direction for the native API and look at what other unsolved issues we have in the QPA that we either need to fix here or upstream.|
|Getting more external contributors||David Edmundson||Presentation||Having the QtProject developed by a wide range of developers is an important part of getting the most of being an open source project. There's a lot of really simple things we can all do as developers to both attract new developers and build them into future maintainers. I can present some experiences from contributing to many other open source projects of what works well from both the contributor and maintainer point of view.|
|Qt & Cyber Security||Kai Köhne||Discussion||Interest in cyber security topics has vastly increased in the last months. A lot of customers are asking how 'secure' Qt is ... which is sometimes hard to answer, also given that Qt is a framework, and can be used in countless (and sometimes surprising) ways. How can we improve our security practices themselves, and how can we communicate 'best practices' how to use Qt to our users?|
|Two-way BC in Patch Releases||Volker Hilsheimer||Discussion||We currently promise to maintain both forward and backwards binary compatibility within a patch cycle. While backwards BC is not controversial, forward compatibility seems to have no practical purpose for our users. Qt developer can test issues against several patch levels of the same release without recompiling, but that's such a minor benefit that it might not justify the restrictions forward BC impose on us. Conclusion of discussion on https://lists.qt-project.org/pipermail/development/2023-August/044333.html|
|Improve API review process||Alex Blasche||Discussion||Our API reviews for Qt 6.5 & 6.6 were significantly longer than previous releases. Partly this was caused by more issues being found, reviews being more thorough and potentially because there very slow response and action after review comments are done. Let's discuss how we can improve the situation.||
|I18n with CMake||Jörg Bornemann||Presentation/Discussion||The existing CMake i18n commands are too limited for more complex projects. We'll present the overhauled i18n Qt/CMake commands that we want to release with Qt 6.7 and collect feedback from you.|
|QtGraphs API and architecture||Tomi Korpipää, Kwanghyo Park||Workshop/Discussion||The architecture in QtGraphs in Qt 6.6, apart from replacing the 3D rendering engine and some of the plumbing, is basically a carbon copy of QtDataVisualization, which was originally made over 10 years ago. We have already implemented some architecture and API changes for Qt 6.7, but there is more to be done. How can we modernize the API and architecture further?|
|moc in 202x and beyond||Fabian Kosmale||Workshop/Discussion||moc is a central part of Qt's meta-object system. It's also a glorified pre-processor, and it's getting long in the tooth: We still don't support some C++11 constructs, let alone C++20 modules. There have been previous approaches towards replacing moc: e.g. Olivier's moc-ng (https://github.com/woboq/moc-ng) as an alternative implementation, and Verdigris as a pure macro-based implementation. There was also a hope that C++ itself would gain sufficient reflection facilities, but that is unlikely to happen in the near future. In this session, I'd like to evaluate the requirements we have for moc inside Qt, and discuss a way forward for it.|
|Better OSS contributor planning||Vladimir Minenko, Alex Blasche||Discussion||Explore options how external contributors could join grooming/planning sessions for their areas of interest. Vladimir recently started this effort in the context of Qt Network, but other domains like QtCore may benefit from it too.|