Qt contributors summit 2015 Program
Back to Qt contributors summit 2015
- 1 Friday 5.6.2015
- 2 Saturday 6.6.2015
- 3 Sunday 7.6.2015
- 4 Session descriptions for Saturday
- 4.1 Qt Installers - path forward
- 4.2 Qt website and services
- 4.3 Resolution independence and HighDPI support
- 4.4 Services in Qt for Android
- 4.5 Qt on Embedded Linux
- 4.6 Qt and 3D
- 4.7 Next-generation pointing device and gesture support in Qt Quick
- 4.8 Continuous Integration
- 4.9 DynamicQML : Accessing any foreign technology within QML
- 4.10 NativeQML - Wrapping native UI controls in QML
- 4.11 Screen Management: Untangling the knot
- 4.12 License policy for qt-project - 3rd party contributions, GPL apps/frameworks?
- 4.13 Session title
- 5 Session descriptions for Sunday
- 5.1 Local Qt meetups
- 5.2 Qt and Modern C++ - the future is now, how can we make use of the new stuff?
- 5.3 Qt Quick Performance
- 5.4 Inqlude - collecting all 3rd party Qt libraries
- 5.5 Test coverage and benchmarking with QML
- 5.6 Improving QML debugging and profiling connections
- 5.7 QML Runtime
- 5.8 QtRemoteObjects
- 5.9 3rd party qml/js modules
- 5.10 Qt WebEngine
- 5.11 Qt long-term releases
- 5.12 Qt Quick Controls 2
|Time||The Qt Company office|
|16:00 ->||Get-together / BBQ|
|Time||Plenary room (A1-030)|
|9.00 - 9.20||Registration|
|9.20 - 10.15||Plenary session|
|Time||Room 1 (A2-020)||Room 2 (A2-035)||Room 3 (A2-070)|
|10:30 - 11:20||Qt Creator Flat Style UI Design, Light and Dark themes||Qt on Embedded Linux (graphics, input, building, Yocto) - Laszlo Agocs|
|11:30 - 12:20||Qt Creator wizards||Services in Qt for Android - Eskil A. Blomfeldt and Christian Strømme||Qt website and services for Qt users - Tero Kojo|
|12:20 - 13:20||Lunch!||Lunch!||Lunch!|
|13:20 - 14:10||Qt installers - path forward - Kai Koehne||Qt on QNX - Peter Hartmann / Rafael Roquetto||Next-generation pointing and gesture support - Shawn Rutledge|
|14:20 - 15:10||QtRemoteObjects||QtNetwork||Screen Management in Qt - Untangling the Knot - Dan Vratil & Aleix Pol|
|15:20 - 16:10||Continuous Integration - Frederik Gladhorn||QtWayland - Paul & Jorgen|
|16:20 - 17:10||License policy for qt-project - 3rd party contributions, GPL apps/frameworks? - Lars Knoll||Resolution independence and HighDPI support - Paul O. Tvete|
|Time||Room 1 (A2-020)||Room 2 (A2-035)||Room 3 (A2-070)|
|9:00 - 9:50||QML Runtime - Alan Alpert||Local Qt Meetups, how to get them going and what support is needed? - Tero Kojo|
|10:00 - 10:50||Qt Quick Controls 2 - J-P Nurmi||Qt and Modern C++ - the future is now, how can we make use of the new stuff? - Louai Al-Khanji|
|11:00 - 11:50||QtWebEngine - Pierre Rossi||DynamicQML : Accessing any foreign technology within QML - Sem Donkers||Improving QML debugging and profiling connections|
|12:00 - 12:50||Qt and 3D - Pasi Keränen||NativeQML - Wrapping native UI controls in QML - Attila Csipa||Test coverage and benchmarking with QML|
|13:00 - 13:50||Lunch!||Lunch!||Lunch!|
|14:00 - 14:50||Qt Quick performance - Robin Burchell and Gunnar Sletta|
|15:00 - 15:50||Inqlude - collecting all 3rd party Qt libraries, Cornelius Schumacher||Deprecating thing - modules, compilers, platforms - Lars Knoll|
|16:00 - 16:50||Long-term support Qt, Thiago Macieira|
|17:00 - 17:15||Thank you!|
Session descriptions for Saturday
Qt Installers - path forward
We're putting significant effort in our offline and online installers, and the framework that powers them. What are the biggest impediments in the current setup? Which alternative ways of distribution should we consider (3rd party package managers, online stores ..)?
Qt website and services
Status and future outlook of the services we have running for Qt project. Includes most services that are run under the qt.io domain like Forum and Wiki. Excludes codereview and bugreports, as I am not in charge of those.
Resolution independence and HighDPI support
Paul O. Tvete
Discuss how to support creation of device independent user interfaces. This includes the DEVICE_PIXEL_RATIO approach for legacy applications, and resolution independent units for Qt Quick.
Services in Qt for Android
Eskil A. Blomfeldt and Christian Strømme
Discuss how to implement support for Android Services in Qt for Android, specifically the problem of having both an Activity and a Service in the same application. Is it possible to provide the two, with independent entry points and exit points, in the same process? Or does it have to be separate processes? This session serves as brain storming and discussion about how this can be achieved and what the possible pitfalls are.
Qt on Embedded Linux
Discuss the state of Qt 5.5 on Embedded Linux, focusing on recent additions and future plans for graphics, input, and the build system. Introduce recent efforts to enhance the building of Qt 5 via Yocto.
Qt and 3D
Discuss the state of 3D enablers in Qt now that 5.5 brings Canvas3D (a WebGL-like API to QtQuick) and Qt 3D 2.0 technology preview (an upcoming advanced, fully data driven C++ 3D scene graph). Some things we probably should discuss include: How easy is it to use these? Performance expectations? What kind of tooling would be in the scope of Qt to offer a good enough end-to-end content pipeline? What kind of use cases should we be looking at and optimising for?
Next-generation pointing device and gesture support in Qt Quick
Because the Areas (MouseArea, PinchArea, Flickable etc.) have proven so unwieldy and we have so much trouble to support proper multi-point touch in a backwards-compatible way with them, an idea has materialized to use handlers in the form of attached properties instead, similar to the Keys attached property for handling key events. It's not a very solid plan yet though, so this is a good idea to discuss both that idea and any alternatives that anyone would like to suggest, to make event handling clean, simple and flexible.
Changes in our infrastructure to make integrations pass more reliably. Let's discuss how we're changing the testing infrastructure and how it hopefully leads to more reliable test integration and also package creation.
DynamicQML : Accessing any foreign technology within QML
We present a novice module, Organic Assembly (OA), that gives QML access to qobjects without ever using 'moc'. OA uses inspection to access features in any supported technology and creates qobjects on the fly. Thus QML can access things like d-bus, remote services using RPC, (D)COM, Soap, AI (and other) languages. Access to technologies is provided just-in-time. Adding a new technology is a one time effort. We would like to discuss the abilities and future of this module and invite the integration of other technologies.
NativeQML - Wrapping native UI controls in QML
Explore the (dis)advantages of using QML wrapped native UIs and toolkits, as opposed to the traditional QtQuick / QtQuick Controls based UIs. Moving from the single-codebase lowest-common-denominator UI approach to the single-language native-look-and-feel(-and-performance) UI one.
Screen Management: Untangling the knot
Dan Vratil and Aleix Pol
There's some issues that we keep hitting regarding window management that we need to fix. We'd like to discuss these issues over with the rest, so we can come up with a sane conclusion. Issues:
- Qt has its own concept of primaryScreen that doesn't relate to the platform's. https://bugreports.qt.io/browse/QTBUG-38404
- Crashes every now and then related to screen removal: https://bugreports.qt.io/browse/QTBUG-46399
- Prefer signals to destruction + construction
- Sometimes Qt decides to move a window from a screen to another, which used to be the window manager's job.
License policy for qt-project - 3rd party contributions, GPL apps/frameworks?
Short description in a few sentences
Session descriptions for Sunday
Local Qt meetups
Qt used to have many more local groups doing meetups in the past. What needs to happen to get them going again? What kind of support is needed and what how can we help local Qt user groups?
Qt and Modern C++ - the future is now, how can we make use of the new stuff?
So C++ is finally modernizing. Let's sit down and talk about what we can do with the new features and whether there are things in the core classes that can take advantage of them.
Qt Quick Performance
"Robin Burchell and Gunnar Sletta"
We'd like to have a discussion about different issues we're seeing in Qt Quick; and perhaps to some extent Qt in general. Both in terms of benchmarking and tooling to better see and understand the problems, to raise awareness around problematic parts and to see what can be done short term and longer term.
Inqlude - collecting all 3rd party Qt libraries
We have collected 179 Qt libraries on Inqlude so far. I would like to discuss status and future ideas and plans. Topics could include:
- How to present Qt itself on Inqlude
- Integration with installers and native package managers
- Integration with IDEs, such as Qt Creator
- How to present commercial offerings
- Feature wishes
Test coverage and benchmarking with QML
With the latest changes the qmlprofiler command line tool is better suited for automated tasks. The profiling framework can be extended to track branches in JS, so that the output could be used to analyse code coverage.
As a follow-up to last year's Qt contributors summit let's compare notes on what has happened in the area oft QML coverage testing and what should still be done.
Improving QML debugging and profiling connections
Right now the only way to connect the QML debugger or profiler to an application is through a TCP socket, opened by the application. In order for this to work, the debugger or profiler is expected to read a line of output printed by the application on stdout. This frequently causes problems as you might not be able to establish a TCP connection, or stdout might be redirected. Also, the implementation of the underlying protocol in QtQml increases the release binary size by about 300kb, which is a significant amount of dead code as long as you don't use either debugger or profiler. There are several ways to approach the problem:
- Add another connection plugin that doesn't need a TCP connection
- Further split up the implementation into more plugins, which are only loaded when needed and don't need to be deployed on production systems
- Reuse the connection established by C++ debuggers like gdb and lldb
- Use LD_PRELOAD and friends to inject code without plugins
- Improve the debugger and profiler clients to try some default values if line printed by the application doesn't arrive
I'm still explaining the QML runtime to people, and why it deprecates both qmlscene and qmlviewer (although we won't kill them until Qt6).
It could use ideas on how to explain itself better, as to provide even more benefit and draw people that way. I have some ideas about integrated package management I'd like to discuss, as a possible way to help it be more useful (think built-in npm for a declarative language).
Alan and Bjørn
A discussion about the forward development of this playground module, mostly QML api and transport adapters
3rd party qml/js modules
Continuing from Cornelius' topic, is there anything we should do for extra convenience with interpreted code modules? And what about using common js to integrate with existing js module repositories, is that worthwhile?
Summary: Doesn't seem to be anything special we want to do with interpreted only modules at this time. Existing inqlude functionality should work with them just as well. ES 6 comes with a common import mechanism that's more worth supporting than CommonJS, we'll aim for that w.r.t. 3rd party JS modules (but those wouldn't involve inqlude).
Pierre and Zeno
A discussion about Qt WebEngine and its future development.
Qt long-term releases
Discussing which release of Qt should be a long-term one and how to achieve that. Notes
Qt Quick Controls 2
Presenting Qt Quick Controls 2 in its current status. Notes