Qt contributors summit 2015 Program: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
No edit summary
(Remove redundant category (parent of the one retained))
 
(29 intermediate revisions by 14 users not shown)
Line 1: Line 1:
[[Category:QtCS2015]]
Back to [[Qt contributors summit 2015]]
Back to [[Qt contributors summit 2015]]


Line 47: Line 48:
! 13:20 - 14:10
! 13:20 - 14:10
| Qt installers - path forward - Kai Koehne
| Qt installers - path forward - Kai Koehne
| Qt on QNX - Peter Hartmann / Rafael Roquetto
| [[QtCS2015_QtOnQNX| Qt on QNX]]  - Peter Hartmann / Rafael Roquetto
| Next-generation pointing and gesture support - Shawn Rutledge
| [[Next-generation_pointing_device_and_gesture_support|Next-generation pointing and gesture support]] - Shawn Rutledge
|-
|-
! 14:20 - 15:10
! 14:20 - 15:10
|  
| QtRemoteObjects
| QtNetwork
| QtNetwork
| Screen Management in Qt - Untangling the Knot - Dan Vratil & Aleix Pol
| Screen Management in Qt - Untangling the Knot - Dan Vratil & Aleix Pol
Line 102: Line 103:
|-
|-
! 14:00 - 14:50
! 14:00 - 14:50
| Deprecating thing - modules, compilers, platforms - Lars Knoll
|  
| Qt Quick performance - Robin Burchell and Gunnar Sletta
| Qt Quick performance - Robin Burchell and Gunnar Sletta
|  
|  
Line 108: Line 109:
! 15:00 - 15:50
! 15:00 - 15:50
| Inqlude - collecting all 3rd party Qt libraries, Cornelius Schumacher
| Inqlude - collecting all 3rd party Qt libraries, Cornelius Schumacher
|  
| Deprecating thing - modules, compilers, platforms - Lars Knoll
|  
|  
|-
|-
! 16:00 - 16:50
! 16:00 - 16:50
| QtRemoteObjects - Alan and Bjørn
|  
|  
| Long-term support Qt, Thiago Macieira
|  
|  
|-
|-
Line 133: Line 134:
Includes most services that are run under the qt.io domain like Forum and Wiki.   
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.
Excludes codereview and bugreports, as I am not in charge of those.
[[QtCS2015 Website|Notes]]


===Resolution independence and HighDPI support ===
===Resolution independence and HighDPI support ===
Line 138: Line 141:


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.
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.
[[QtCS2015_ResolutionIndependence|Session notes]]


===Services in Qt for Android===
===Services in Qt for Android===
Line 143: Line 148:


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.
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.
[[QtCS2015_AndroidServices|Session notes]]


===Qt on Embedded Linux===
===Qt on Embedded Linux===
Line 156: Line 163:
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?
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?


===Local Qt Meetups, how to get them going and what support is needed?===
Notes: [[Qt_and_3D_QtCS2015|https://wiki.qt.io/Qt_and_3D_QtCS2015]]
'''Tero Kojo'''
 
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?


===Next-generation pointing device and gesture support in Qt Quick===
===Next-generation pointing device and gesture support in Qt Quick===
Line 165: Line 169:


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.
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.
https://wiki.qt.io/Next-generation_pointing_device_and_gesture_support


===Continuous Integration===
===Continuous Integration===
Line 180: Line 186:


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.
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.
Slides: https://speakerdeck.com/achipa/native-qml-ui-controls


=== Screen Management: Untangling the knot ===
=== Screen Management: Untangling the knot ===
Line 190: Line 198:
* Prefer signals to destruction + construction
* 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.
* 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?===
[[QtCS2015_LicensePolicy|Notes]]


===Session title===
===Session title===
Line 197: Line 209:


==Session descriptions for Sunday==
==Session descriptions for Sunday==
=== Local Qt meetups ===
"Tero Kojo"
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?
[[QtCS2015_LocalQtMeetups| Notes]]


=== Qt and Modern C++ - the future is now, how can we make use of the new stuff? ===
=== Qt and Modern C++ - the future is now, how can we make use of the new stuff? ===
Line 202: Line 221:


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.
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.
[[QtCS2015_ModernCpp| Notes]]


===Qt Quick Performance===
===Qt Quick Performance===
Line 240: Line 261:
===QML Runtime===
===QML Runtime===
''Alan Alpert''
''Alan Alpert''
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).
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).
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).
[[QtCS2015 QML Runtime|Session Notes]]


===QtRemoteObjects===
===QtRemoteObjects===
''Alan and Bjørn''
''Alan and Bjørn''
A discussion about the forward development of this playground module, mostly QML api and transport adapters


[[Category:Contributors_Summit]]
A discussion about the forward development of this playground module, mostly QML api and transport adapters
 
[[QtCS2015_QtRemoteObjects|Session Notes]]
 
===3rd party qml/js modules===
''Alan Alpert''
 
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).
 
 
===Qt WebEngine===
''Pierre and Zeno''
 
A discussion about Qt WebEngine and its future development.
 
[[QtCS2015_QtWebEngine| Notes]]
 
===Qt long-term releases===
"Thiago Macieira"
 
Discussing which release of Qt should be a long-term one and how to achieve that. [[QtCS2015_LTS|Notes]]
 
===Qt Quick Controls 2===
"J-P Nurmi"
 
Presenting Qt Quick Controls 2 in its current status. [[QtCS2015_QtQuickControls2|Notes]]

Latest revision as of 14:19, 22 November 2016

Back to Qt contributors summit 2015

Friday 5.6.2015

Time The Qt Company office
16:00 -> Get-together / BBQ

Saturday 6.6.2015

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

Sunday 7.6.2015

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

Kai Koehne

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

Tero Kojo

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.

Notes

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.

Session notes

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.

Session notes

Qt on Embedded Linux

Laszlo Agocs

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.

Notes: https://wiki.qt.io/Qt_on_Embedded_LinuxQtCS2015

Qt and 3D

Pasi Keränen

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?

Notes: https://wiki.qt.io/Qt_and_3D_QtCS2015

Next-generation pointing device and gesture support in Qt Quick

Shawn Rutledge

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.

https://wiki.qt.io/Next-generation_pointing_device_and_gesture_support

Continuous Integration

Frederik Gladhorn

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

Sem Donkers

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

Attila Csipa

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.

Slides: https://speakerdeck.com/achipa/native-qml-ui-controls

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:

License policy for qt-project - 3rd party contributions, GPL apps/frameworks?

Notes

Session title

Session host

Short description in a few sentences

Session descriptions for Sunday

Local Qt meetups

"Tero Kojo"

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?

Notes

Qt and Modern C++ - the future is now, how can we make use of the new stuff?

Louai Al-Khanji

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.

Notes

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

Cornelius Schumacher

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

Ulf Hermann

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

Ulf Hermann

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

QML Runtime

Alan Alpert

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

Session Notes

QtRemoteObjects

Alan and Bjørn

A discussion about the forward development of this playground module, mostly QML api and transport adapters

Session Notes

3rd party qml/js modules

Alan Alpert

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


Qt WebEngine

Pierre and Zeno

A discussion about Qt WebEngine and its future development.

Notes

Qt long-term releases

"Thiago Macieira"

Discussing which release of Qt should be a long-term one and how to achieve that. Notes

Qt Quick Controls 2

"J-P Nurmi"

Presenting Qt Quick Controls 2 in its current status. Notes