Pretty busy days here at Randa. On the Plasma front some important decisions have been taken and a lot of work is now being done in this direction.
There is now a big traction in rewriting our current plasmoids in QML, such as the notifications I talked about some days ago, and many more that are coming.
The plan for the future is to have 100% QML-based workspaces, with as little changes as possible feature-wise compared to the current one, just with a smoother feeling 😉
This is only the first part of the road, and this is arriving already today, with each release of the Desktop workspace more complete, while Active is already 100% QML from day one.
This comes at a price: only pieces of the user interface that are written in QML can be loaded in an environment based off QML2. hat means the old code based on QGraphicsView (and part of the old C++ API) has to go.
This wasn’t an easy decision, but it will make things dramatically easier in the future.
- On QML2, we’ll have a lot more performance, guaranteeing a way smoother experience (with QML2 you can get 60fps in 1080p on an humble raspberry pi after all)
- More stable, because most user facing code (especially most 3rd party) becomes scripted
- Easier to write plasmoids: lowers the barrier for contributions and lowers the barrier in experimenting new innovative approaches for the UX
- Also the internal library will be way easier to approach for new developers, because it will be way smaller and simpler
- It will also be simpler to take and use the Plasma library for new things, like in application’s dashboards, or just using its QML components.
This is a long term plan: The work on the new Plasma library version started now, and we expect a working shell based on the new framewok and Qt5 in about 18 months or so.
I’ve just got a first preliminary version of libplasma building without QGraphicsView dependencies, and the binary is about two thirds of the size it had before, so this is an encouraging start 😉
It’s again an exciting time when we can design a new architecture, have crazy ideas, trying them out, and any input or help is very appreciated.
You can see the progress of the tasks that are added as the work proceeds here, and talk or claim some tasks for yourself at the usual channels of communication, email@example.com or the #plasma freenode IRC channel.