Every year we try to seed the foss-north event with a set of key speakers. This year, one of our seed speakers is Carsten Munk known from Jolla, libhybris, Meego, Maemo and more. This year he will speak about his new endevour Zipper – bringing blockchain technology to mobile devices.
“Zipper is an Ethereum based mobile platform which brings blockchain based services to our smartphones in one seamless and user-controlled experience.At first, Zipper provides everyday smartphone users an easy and safe way to manage their identity and private keys. This makes it possible for anyone to access blockchain based services out-of-the-box in an easy and intuitive way – just like Apple’s services on iOS today – while being in full control of their identity, transactions and data. Zipper works in an isolated compartment in Android and Sailfish OS smartphones, making Zipper and its wallet secure while still easily accessible.”
It is just 6 more days left of the Call for Papers. With the help of our great sponsors we have the opportunity to transport you to our conference if you are selected to speak. Make sure to make your submission before March 11 and you are in the race.
I’m from South Africa. I’ve been drawing my whole life, mostly with graphite pencil but when I discovered digital drawing I was hooked. I started out just using a standard desktop mouse and GIMP and got kind of good at it. Since then I have improve a lot and plan to keep improving and creating new art for as long as I can.Do you paint professionally, as a hobby artist, or both?
I paint as a hobby, but I sometimes use the skills I’ve learned from painting in a professional capacity when I need to edit or create images.What genre(s) do you work in?
I don’t really have a specific genre besides perhaps drawing in a more realistic style. I like to challenge myself to draw new things. I usually paint something with life in it like creatures or people.
Whose work inspires you most — who are your role models as an artist?
Jazza from the YouTube channel Draw with Jazza. Although he mostly does traditional art his ability to draw amazing things from random prompts really inspire me. There are also amazing artists on ArtStation.com and I only need to scroll through a few images before I feel the urge to draw something myself.How and when did you get to try digital painting for the first time?
I found GIMP on a Linux computer in college and I played around with some of the filters. I was amazed at what was possible with a few simple steps. After browsing around on YouTube I saw some artists drawing pictures from scratch in Photoshop. Because I already knew how to draw with pencil I wanted to give it a try using free software and quickly fell in love with it.What makes you choose digital over traditional painting?
So many things. The ease of changing things when you are already far into the drawing, the fact that you can undo mistakes and best of all it’s not as messy. I also love computers so drawing digitally is like having best of both worlds.
How did you find out about Krita?
A friend told me about it after trying it with his Wacom tablet. I am a software developer so any new software is like a new toy for me. I checked out the website and what other people had created using it and I was intrigued.What was your first impression?
The interface was so much more modern than GIMP, and I’m a firm believer that the interface makes a big difference in first impressions. I played around with it a bit and quickly saw that it had all the features I use with GIMP and more.What do you love about Krita?
I love the interface. I also like the fact that you can do animations with it. I have only started dabbling in animation but so far I am fascinated by it. I also love how responsive Krita is and the fact that it supports my tablet, which GIMP did not. And finally I love that it is still being improved upon by the developers. It means any issues I might encounter can still be solved.
What do you think needs improvement in Krita? Is there anything that really annoys you?
Having spent many hours drawing in Krita I can honestly say there is nothing that is really annoying. There is the occasional odd thing that happens as with any drawing software but nothing I haven’t been able to find a workaround for.What sets Krita apart from the other tools that you use?
The amount of things you can do with it, all neatly wrapped up in a beautiful design. Also the fact that it is free but still has the quality of paid software.If you had to pick one favourite of all your work done in Krita so far, what would it be, and why?
Usually my newest drawing is my favourite but the Ferret mount I drew really stands out for me. I tried to push myself to create a sense of depth and a scene that I haven’t been able to achieve in any of my previous drawings. I learned a lot from drawing it and it was a lot of fun to do.What techniques and brushes did you use in it?
Some of the techniques I used is to blur the foreground and background and add a bright light source to create the impression of depth. I used the default brushes that come with Krita to create everything from the fur to the texture of the dirt.Where can people see more of your work?
I would just like to thank the team working on Krita for the amazing job they’ve done in creating a truly awesome drawing application.
Flashback time! At last year’s foss-north we had a great talk by Chris Lamb about reproducible builds. You can see the recording right here (you might have to click the link if your aggregator hides YouTube contents)
It is just 7 more days left of the Call for Papers. With the help of our great sponsors we have the opportunity to transport you to our conference if you are selected to speak. Make sure to make your submission before March 11 and you are in the race.
The wheels of the Usability & Productivity initiative churns along, knocking out issue after issue! Check out how the KDE universe improved this week:New features
- Konsole color schemes can now be downloaded using the Get Hot New Stuff system (KDE Phabricator revision D10766, implemented in KDE Applications 18.04.0, authored by Harald Sitter)
- The “new screen connected” interface is now displayed when a laptop’s Display key is pressed (KDE bug 390096, implemented in KDE Plasma 5.13.0, authored by Sebastian Kügler)
- Okular now has a “print and then quit” command-line option (KDE bug 318998, implemented in KDE Applications 18.04.0, authored by Dileep Sankhla)
- Fixed a bug that could cause the user switcher to only work on the second click (KDE bug 391007, fixed in KDE Plasma 5.12.3, authored by Fabian Vogt)
- Fixed a bug in Gwenview causing renamed images to show the wrong filename in Full Screen mode (KDE bug 390332, fixed in KDE Applications 17.12.3, authored by Silas Lenz)
- Fixed a bug in Kate that could cause folders containing umlauts to not be shown in the Project plugin’s tree view (KDE bug 389415, fixed in KDE Applications 18.04.0, authored by Dominik Haumann)
- Chromium’s titlebar buttons now look okay again when the window is maximized (KDE Phabricator revision D9773, fixed in KDE Plasma 5.13, authored by Tom Anderson)
- Recent Documents that happen to be executable are now always opened, never executed (KDE Phabricator revision D10835, fixed in KDE Plasma 5.13.0, Authored by Алексей Шилин (Alexei Shilin))
- Plasma’s Volume widget now allows you to transfer audio streams to different hardware devices using the context menu (KDE bug 384292, implemented in KDE Plasma 5.13, authored by Christian Fuchs):
- Title and header text in Plasma is now 100% opaque and matches the actual color set in your text theme (KDE Phabricator revisions D10899 and D10902, fixed in KDE Frameworks 5.44, authored by me, Nate Graham):
- Text field placeholder text is now lighter and less visible so it doesn’t compete with nearby content(KDE Phabricator revision D10922, fixed in KDE Frameworks 5.44, authored by me, Nate Graham):
- When a device is plugged in and the notification pop-up appears, it stays visible while no user activity is detected to make sure you don’t miss it when you come back to your computer (KDE Phabricator revision D10921, fixed in KDE Plasma 5.13.0, quthored by Marco Martin)
- Dolphin’s Filter bar can now be involed with the backslash (/) key, just like in modern web browsers (KDE bug 156381, implemented in KDE Applications 18.04.0, authored by Roman Inflianskas)
- Dolphin now exposes an option allowing you to choose whether or not to warn before emptying the trash (KDE bug 340572, implemented in KDE Applications 18.04.0, authored by Roman Inflianskas)
I also want to make an exciting announcement: we’ve heard the prodigious amount of user feedback about the state of store.kde.org/Get Hot New Stuff, and we’ve started an initiative to clean it up. We’re also working to improve Discover’s display of store.kde.org resources. This initiative is in the early stages so it hasn’t borne fruit yet, but we believe it will provide a significant improvement in the experience of using 3rd-party plugins!
Like what you see? Consider becoming a part of this titanic and so far successful effort to produce the finest free software the world has ever known. Developers and bug triagers are in particular demand right now! It’s a great time to get involved.
Flashback time! At last year’s foss-north we had a great talk by Alexander Larsson introducing flatpak. You can see the recording right here (you might have to click the link if your aggregator hides YouTube contents)
It is just 8 more days left of the Call for Papers. With the help of our great sponsors we have the opportunity to transport you to our conference if you are selected to speak. Make sure to make your submission before March 11 and you are in the race.
This was a week of polish and preparation for Discover. We’ve got some nice new features in the pipeline but we’re not quite ready to announce them just yet. One is implemented but needs more polish, and another is under construction. I think you’ll like ’em once they’re ready! But in the meantime, here are some bugfixes and polish work:Bugfixes
- Fixed a bug causing Discover to emit scary “unmet dependency” warnings while browsing apps on certain systems (KDE bug 391142, fixed in KDE Plasma 5.12.3, authored by Aleix Pol)
- Fixed a bug causing the back and forward arrow to appear in the screenshot pop-up before the screenshot was loaded (KDE bug 391130, fixed in KDE Plasma 5.12.3, authored by Aleix pol)
- Fixed a bug causing apps from Flathub to not appear when clicking on the Flathub repo on Discover’s Settings page (KDE bug 391126, 5.12.3, authored by Aleix Pol)
- Fixed a bug causing review headers for addons to appear malformed (KDE bug 391189, fixed in Plasma 5.12.3, authored by Aleix Pol)
- Discover and other Kirigami apps now correctly use radio buttons for mutually exclusive actions (KDE bug 391144, fixed in KDE Plasma 5.13 and KDE Frameworks 5.44, authored by Aleix Pol)
Want to see faster progress on Discover? Help us out! KDE has great software and a strong focus on usability, productivity, and user satisfaction. But we’re short in the manpower department. There are lots of other ways to contribute, too!
At this year’s foss-north event FSFE will revive the Nordic Free Software Award and the conference will host the prize ceremony. Get your tickets for a great opportunity to meet with the FOSS community, learn new things and visit Gothenburg.
It is just 9 more days left of the Call for Papers. With the help of our great sponsors we have the opportunity to transport you to our conference if you are selected to speak. Make sure to make your submission before March 11 and you are in the race.
The fourth point release update to Kubuntu 16.04 LTS (Xenial Xerus) is out now. This contains all the bug-fixes added to 16.04 since its first release in April 2016. Users of 16.04 can run the normal update procedure to get these bug-fixes. In addition, we suggest adding the Backports PPA to update to Plasma 5.8.8. Read more about it:
Warning: 14.04 LTS to 16.04 LTS upgrades are problematic, and should not be attempted by the average user. Please install a fresh copy of 16.04.4 instead. To prevent messages about upgrading, change Prompt=lts with Prompt=normal or Prompt=never in the /etc/update-manager/release-upgrades file. As always, make a thorough backup of your data before upgrading.
Gwenview is a core KDE app, and an important tentpole of the Usability & Productivity initiative.
However, a few months ago Gwenview had no maintainer and few contributions. It was still a jewel, but was starting to bit-rot. Fast-forward to today: a lively crew of interested contributors are improving it daily, fixing bugs and resolving UI papercuts. Check out the Gwenview Phabricator project; it’s a hotbed of activity!
Gwenview highlights the value of joining a community over going your own way. Apps developed by a single person are vulnerable to dying when that person leaves the project, but apps with many developers can outlive the loss of any individual contributor.
Before starting a new project all by yourself, please consider joining an existing project whose design vision you can live with–it will be far more likely to outlive your interest in it. KDE offers a rich assortment of mature and popular cross-platform software already in use by people all over the world, so there are a lot of great options here!
Anyway, the new Gwenview team has been hard at work knocking out polish and fit-and-finish papercuts and adding new features. Here’s an assortment of what they’ve been up to recently:New Features
- Gwenview now has a “Fill” feature that will make the image always fill the entire viewport (KDE bug 195579, implemented in KDE Applications 18.04.0, authored by Silas Lenz)
- Fixed a bug where the upper selection handles could become inaccessible iun full screen mode (KDE Phabricator revision D10876, fixed in KDE Applications 17.12.3, authored by Henrik Fehlauer)
- Fixed a bug that caused SVG images to not be scaled up when “Enlarge smaller images” is set in Gwenview’s Configure window (KDE bug 364822, fixed in KDE Applications 17.12.3, authored by Henrik Fehlauer):
UI improvements & polish
- Back and forward icons are now more appropriate, and all the buttons in the Save confirmation window now have icons (KDE Phabricator revision D10847, fixed in KDE Applications 18.04.0, authored by Andrew Crouthamel):
- Replaced a few uses of -symbolic icons with regular ones, for better compatibility with non-Breeze icon themes (KDE Phabricator revision D10843, fixed in KDE Applications 17.12.3, authored by Andrew Crouthamel)
- Selection and accent colors in full screen mode now match the system color scheme (KDE Phabricator revision D10649, fixed in KDE Applications 18.04.0, authored by Huon Imberger):
- The Crop and Red Eye Removal toolbars now look right in full screen mode (KDE Phabricator revision D10763, fixed in KDE Applications 17.12.3, authored by Huon Imberger):
- The thumbnail bar now remembers whether it was shown or hidden while in full screen mode (KDE Phabricator revision D10785, fixed in KDE Applications 17.12.3, authored by Huon Imberger)
- Gwenview now starts in full screen mode if it was in full screen when last quit, like other KDE apps do (KDE bug 383093, fixed in KDE Applications 18.04.0, authored by Peter Mühlenpfordt)
- The URL navigator now has consistent and appropriate margins in full screen mode (KDE Phabricator revision D10881 fixed in KDE Applications 17.12.3, authored by Huon Imberger)
We are approaching the count down to foss-north 2018 – at least from an organizer perspective. This year we will be at Chalmers Conference Centre, in the centre of Gothenburg – the world’s most sociable, friendliest city. So, save the date – April 23 – and make sure to drop by.
The reason why it feels like the count down has started is that it is just 10 more days left of the Call for Papers. With the help of our great sponsors we have the opportunity to transport you to our conference if you are selected to speak. Make sure to make your submission before March 11 and you are in the race.
When moving to Chalmers we ended up with a larger venue than last year so make sure to get your ticket – and bring your friends. The saying “the more the merrier” definitely applies to FOSS conferences!
As you might remember our dear Paul Adams decided to retire, this is a loss because of the person... But he was also providing a very nice service in the form of community data visualization. He was famously known among us for his "green blobs (turned blue blobs) and contributor network graphs".
Note that he just took the "green blobs" idea from Adriaan de Groot and later on turned them blue... He might have made them popular in the process but it's unclear if that's due to the color change or his prose. ;-)
Anyway, he was doing that for other communities than KDE, but he almost stopped now. For instance, he did it only once for Habitat in all of 2017. Luckily he published the scripts he was using in his git-viz repository so not all the knowledge was lost.
Earlier this year, I decided to take the torch and try to get into community data analytics myself. I got in touch with Paul to talk a bit about my plans. My first step was to try to modernize his scripts while staying true to his original visualization.
It turned out in an almost complete rewrite which I didn't quite expect. At the same time I wanted this modernization to be a good base for other visualization and also general data analytics. The most prominent part remaining is his git log parsing code although I extended it to work properly across repositories and not just on a single one. But next to that I'm now using pandas, networkx and bokeh for all the data processing and visualization descriptions. This turned out in nice, concise and maintainable code.
So you might wonder... What's possible now? Well, fairly similar visualizations than before but now they can span on more than one repository and they are fully interactive! No more fixed resolution pictures we generate fully dynamic HTML code.
To validate the scripts I used them on the whole year 2017 for all of KDEPIM (that is the parts in KDE Applications, in Extragear and in Playground).
Firstly, this gives us the infamous blue blobs diagram to show contributor weekly activity in all those repositories in 2017:[KDEPIM 2017 activity, full page version]
Clearly we can spot Christian Mollekopf and Laurent Montel as the most consistent committers throughout the year 2017. It should come as unsurprising since they are almost single handedly maintaining Kube/Sink and the rest of KDEPIM respectively. Daniel Vratil, maintainer of Akonadi is also very active and noticeable.
Secondly, this also gives us back the contributor network graphs. Here I did a small exception and used "Fruchterman & Reingold" for the force-directed layout instead of the "Kamada & Kawai" one. This is simply due to a personal preference. I find that in practice "Fruchterman & Reingold" is a bit more agressive at conserving the center for the cluster of most connected (core) contributors (although it sacrifices a bit in readability). So for all the KDEPIM repositories in 2017, we obtain the following network:[KDEPIM 2017 contributor network, full page version]
Surprisingly we can spot two disconnected nodes. Those two contributors touched files no one else touched in 2017. Nothing out of the ordinary, after investigating those two they were very self-contained punctual contributions for default SPAM settings and for improved wording in the GUI. Valuable but indeed don't necessarily require very deep integration in the core contributors network.
Then if we zoom in, we can easily spot the core KDEPIM contributors in 2017: Laurent Montel, Daniel Vratil and Volker Krause. They are the ones who connected most to other contributors via their commits last year. Of course this is a bit of a visual check and as such not very scientific.
Which leads me to the "what's next?" question.
Now I plan to build up on that work and add more tools and analysis. Paul's scripts and graphs were an excellent start hence why I did my best to stick to them. But now it's time to add more! Their are various questions which can be pursued:
- Are the four levels of colors for the activity visualization enough? Could we get better insights with a different palette? Should we get closer to a heat map?
- Could we get some more insights from using different frequency for the activity graph than weekly? Can we learn from daily activity on shorter lengths? Or from monthly on longer scale?
- Should we really look at the contributor network as is? Could we plot it over time and see it evolve dynamically is there insights there or would it just look pretty? Should we have some color coding on the nodes and use different layouts?
- Should we have a higher level view on the contributor network? Maybe we would get more information from finding cliques and plotting their relationships?
- Or should we ditch the contributor network representation altogether? Should we instead plot metrics on the graph structure itself over time (like the density or connectivities)?
- Of course we can come up with even more visualizations and analysis departing further from activity and contributor network (for instance, I suspect we could ease a bit copyright attribution from files to make it easier to contact contributors in case of license changes... I had to do it once for a couple of files and it's fairly manual and error prone process for now).
- And can we process more than the git commits? What about collaborations on reviews? What about interactions on public mailing lists? For sure there are extra insights hiding in there which would also open up non development activities, at some point I'd like to get an idea of the promo people and designers activities too!
Of course, there are other people doing such community analysis work out there, like GrimoireLab, Gitential and more... They are more providing off-the-shelf solutions than what I'm after. But probably some inspiration can be taken from them too!
The scripts I've been using for the visualizations above are available in my ComDaAn repository. Of course I hope to get them to evolve and to have new ones appear due to the questions listed in this post.
As you can see, it opens up a very large field and I'd like to explore more of those questions in the future and also try to apply them on other communities for which I likely have less preconceived knowledge and biases than KDE.
I am pleased to announce that Qt 5.11 Beta 1 is released today. Convenient online binary installers are available for trying out features coming in Qt 5.11. We will follow similar Beta process as earlier and provide multiple Beta releases via the online installer.
After the Qt 5.11 Beta 1 released today we will push out multiple new Beta N releases using the online installer. With this approach it is easy for users to test the new features and provide feedback. During the beta phase we expect to have new Beta N releases with 1-2 weeks intervals. When the maturity has increased sufficiently we will create a release candidate of Qt 5.11. These will be made available directly via the online installer, we are not planning publish separate blogs for the subsequent beta releases and release candidate(s). In addition to binaries, source packages of each beta release are of course also available for those who prefer to build themselves.
I hope many of you will install the Qt 5.11 Beta releases, test and provide us your feedback to complete Qt 5.11. For any issues you may find, please submit a detailed bug report to bugreports.qt.io (please remember to mention which beta you found the issue with, check for duplicates and known issues). You are also welcome to join the discussions in the Qt Project mailing lists, developer forums and to contribute to Qt.
Plasma’s new screen layout selection dialogThis week, Dan Vratil and me have merged a new feature in KScreen, Plasma’s screen configuration tool. Up until now, when plugging in a new display (a monitor, beamer or TV, for example), Plasma would automatically extend the desktop area to include this screen. In many cases, this is expected behavior, but it’s not necessarily clear to the user what just happened. Perhaps the user would rather want the new screen on the other side of the current, clone the existing screen, switch over to it or perhaps not use it at all at this point.
The new behavior is to now pop up a selection on-screen display (OSD) on the primary screen or laptop panel allowing the user to pick the new configuration and thereby make it clear what’s happening. When the same display hardware is plugged in again at a later point, this configuration is remembered and applied again (no OSD is shown in that case).
Another change-set which we’re about to merge is to pop up the same selection dialog when the user presses the display button which can be found on many laptops. This has been nagging me for quite a while since the display button switched screen configuration but provided very little in the way of visual feedback to the user what’s happening, so it wasn’t very user-friendly. This new feature will be part of Plasma 5.13 to be released in June 2018.
Elisa is a music player developed by the KDE community that strives to be simple and nice to use. We also recognize that we need a flexible product to account for the different workflows and use-cases of our users.
We focus on a very good integration with the Plasma desktop of the KDE community without compromising the support for other platforms (other Linux desktop environments, Windows and Android).
We are creating a reliable product that is a joy to use and respects our users privacy. As such, we will prefer to support online services where users are in control of their data.
Elisa has been accepted by the KDE community as an official project with its own release schedule and hosted in the Extragear – Multimedia section. We are preparing a release schedule for our first stable release.
Now is really a good time to join the Elisa team. You will be able to work on code that will soon reach potential users. You will not have to wait for a long time given that we intend to release as soon as we can.
I would also like to thanks all people having offer their help on the HighDPI support. I dot yet own proper hardware to test that and people from the community stepped up to help. You are amazing. If any issues are still visible, please report them.
The following things have been integrated in Elisa git repository:
- Add a margin to the album grid by Diego Gangl ;
- add missing const ref in return of MusicAlbum::trackFromIndex by Matthieu Gallien ;
- include QtConcurrentRun instead of QtConcurrent in src/model/allalbumsmodel.cpp by Matthieu Gallien ;
- rename the include guard macro in singlealbumproxymodel.h (from ebn.kde.org) by Matthieu Gallien ;
- hopefully fix an ebn.kde.org include warning in autotests/elisaqmltests.cpp by Matthieu Gallien ;
- improve appdata file (improve homepage and add documentation) by Matthieu Gallien ;
- move MediaPlaylist to C++ by Alexander Stippich ;
- makes the filter part be invisible when not expanded by Matthieu Gallien ;
- Various general and RTL fixes by Safa AlFulaij ;
- To make theme size depend on DPI by Mykola Krachkovsky with contributions from Alexander Stippich, Andreas Schneider and maybe others I am missing ;
- lazy initialize as much as possible by Matthieu Gallien ;
- makes Baloo optional again by Matthieu Gallien ;
- improve adding tracks or albums from the proxy models (fast and not blocking) by Matthieu Gallien ;
- implement a trackdata helper to display more detailed track information by Alexander Stippich. One notable addition is the cover image being shown in the track information window ;
- fix windows support not picking up the specific qml files by Matthieu Gallien ;
First release of Falkon is finally out!
Falkon is a new KDE web browser, previously known as QupZilla. Following this release, there will only be one last final QupZilla release.
If you were previously using QupZilla, you can manually migrate your profiles to Falkon by moving the config directory (usually in ~/.config/qupzilla/).
There is no automatic migration.
Apart from some under the hood changes, like changing build system from qmake to CMake or using XDG paths, there aren't many differencies from QupZilla.
There is a new extension - Vertical Tabs, but it will also be available later this week in last QupZilla release.
It is possible to write Falkon extensions in Python, but since the bindings are generated using PySide2 which is not yet released and thus not packaged by distributions, it won't be currently available for users.
Windows and macOS support is not yet finished, it will be available later.
It is available for Windows, MacOS, and Linux.
We are happy to announce the release of Qt Automotive Suite 2.0, the Qt solution for digital cockpits. developed in collaboration between KDAB, The Qt Company and Luxoft.
The Qt Automotive Suite provides OEMs and Tier1s with powerful frameworks and tools to build a consistent user experience for both the instrument cluster and the center stack. Being built on top of an open platform, the Qt Automotive Suite makes it possible for the automakers to stay in complete control of the user’s brand experience.
The Qt Automotive suite seamlessly integrates KDAB's runtime introspection tool GammaRay in Qt Creator and with embedded device support of Qt for Device Creation. See the release blogs for GammaRay 2.8 and GammaRay 2.9 for a summary of the new features and improvements.GammaRay texture inspector
Another focus area of KDAB has been a revamp of the Qt IVI module, providing a flexible framework to design create APIs to platform middleware. Using an IDL and code-generation as well as ready-made simulation backends enable work from day before the full hardware or software stack is available. Having tooling support built in makes your APIs runtime instrospectable out of the box, for easy debugging or automated testing. For more details, see KDAB engineer Mike Krus' presentation about the Qt IVI changes.
There are many more improvements in Qt Automotive Suite 2.0, make sure to check out the release blog.
We are excited to announce the Qt Automotive Suite 2.0, a great leap forward towards a unified HMI toolchain and framework for digital cockpit, available February 27th, 2018.
A few years back, we saw several challenges in the industry. One was that with increasing number of screens being present in the car, creating and maintaining a consistent digital UX across multiple displays with strong brand differentiation is unquestionably difficult. Why? Because a perfectly integrated digital UX for the digital cockpit does not end with the UI/UX design, it is only the beginning. When an OEM sends out the design specification, the supplier typically utilizes different software tools and technologies for developing the instrument cluster and center stack (aka. IVI or Infotainment) respectively. Somewhere down the line, there will be unavoidable HMI refinement needed to ensure the digital UX on different screens cooperate in a cohesive way.
Another challenge was that there was little reusability from one project to another, from one customer to another. The re-usability issue was particularly prominent on the center stack development. There was a lot of duplication of work when creating a new center stack HMI and it was just inefficient. Low re-usability made it difficult for the industry to rapidly innovate and differentiate on the HMI, and the development cycle was long and costly.
The third challenge we saw was that the center stack HMI has been traditionally monolithic, meaning all features (e.g. HVAC control, media player, radios) are packed into a single software instance. This approach not only created risks of introducing bugs, but more importantly, each feature may interfere with each other. If one feature crashes, the whole center stack needs to restart. This creates a lot of headache for developing and maintaining the HMI development – it is difficult to split the features into smaller sub projects for parallel development, and a pain to maintain a monolithic code base. Of course, if one feature needs update, the whole center stack needs to be rebuilt and reinstalled.
We solved these challenges, working with our strategic partners Luxoft and KDAB, announcing our first release of the Qt Automotive Suite 1.0 in 2016 (http://blog.qt.io/blog/2016/06/08/announcing-the-qt-automotive-suite/). We created the market’s first unified HMI toolchain and framework for digital cockpit development.
Today, we are happy to report that Qt Automotive Suite has been well received and are being adopted by some of the major OEMs in the world. An increasing number of customers are switching from the traditional specification writing and outsourcing, to owning the HMI design and development. We are glad to see the market is transitioning toward this direction that matches well with our vision with the Qt Automotive Suite proving to be the right solution. Above all, we are seeing millions of cars shipped with Qt Automotive Suite in the coming years.So, what is in Qt Automotive Suite 2.0?
Let’s look at the diagram.
Figure 1: Qt Automotive Suite 2.0
Qt Automotive Suite 2.0 builds out a vision to provide easy-to-use tools that free designers and software engineers to rapidly create superior digital cockpits. Before we jump in to the key features, here is one digital cockpit reference that is built with Qt Automotive Suite.
As customers are adopting Qt Automotive Suite for production development, the feature set and stability must be carefully balanced. Now the Qt Automotive Suite 2.0 sits on top of Qt 5.9, bringing major performance improvement and feature set while receiving Long Term Support (LTS).Qt 3D Studio
We believe a truly unified HMI toolchain and framework should also ship with advanced UI authoring tool for the designers. With 3D becoming a more significant part of the HMI we saw the need for a design tool that facilitates rapid 3D UI/UX concepting and design. For that, we now included the Qt 3D Studio (http://blog.qt.io/blog/2017/11/30/qt-3d-studio-1-0-released/) into the suite.Qt Safe Renderer
Functional safety is a critical path that our customers must cross. Qt Automotive Suite 2.0 includes the Qt Safe Renderer (http://blog.qt.io/blog/2017/05/22/functional-safety-qt-safe-renderer/), ensuring the rendering of safety critical telltales is reliable and certifiable by ISO 26262 part 6 ASIL-B specification.Qt Application Manager
Qt Application Manager brings a modern multi-process GUI architecture to the IVI. By separating the HMI into different functional units (for example, HVAC could be one unit while Navigation could be another), Qt Application Manager enables independent teams to develop and test both separately and simultaneously, thereby reducing project risk and shortening development time. In addition, splitting the UI into smaller applications also makes it easier to do system updates; smaller pieces of code are touched, and the OTA updates are smaller.
Qt Application Manager is a headless, core component. Despite the application management tasks, it powers integrated with the Reference UI which implements a system UI compositor and the home screen along with a selection of apps.
In Qt Automotive Suite 2.0, the user can now make a custom application executable based on Qt Application Manager internal libraries. This greatly improves flexibility and makes integration in customer specific system setups easier. The new and extended system monitoring APIs has been extended and now also allow monitoring of resources consumed by separate applications. During the startup, the new logs allow tracing and profiling of apps in much larger details. Another improvement to mention is further polishing of the single-process mode, which allows running QML-runtime application on single process setups in the same way as on multi-process ones.
There are lots of other improvements under the hood, be sure to check out the latest documentation at: https://doc.qt.io/QtApplicationManager/index.htmQt Application Manager Plugin for Qt Creator
Since Qt Application Manager controls the application life cycle, direct launching from Qt Creator is not possible. A special plugin is provided now which wraps the command line tools provided in Qt Application Manager and integrates all essential steps into Qt Creator IDE. In Qt Automotive Suite 2.0, the plug-in uses the Generic Linux device type as a base. In the future it will directly use Boot2Qt device types to unify the device setup.Qt IVI
To tackle reusability, QtIVI brings a level of standardization within the Qt ecosystem for how to access and extend automotive-specific APIs. The applications developed in one generation of program can be reused on the next, even if the underlying platform is different. This is particularly important as OEMs are increasingly taking control of the car HMI development. Reducing duplication of work means significant cost saving and more focus on branded UX differentiation. Qt Automotive Suite 2.0 is designed to integrate well with industry’s leading initiatives such as GENIVI and AGL, further increasing the re-usability on the platform level for the entire industry.
At its core, Qt IVI is built around a pattern based on the separation of API facing the application developer, so-called Feature, and the code implementing it, the Backend. There can be multiple backends per feature and the Core module provides support for finding the corresponding backend in an easy-to-use way.
Common use cases driving this separation are:
- Early development, where the UI can rely on a feature with a very basic backend implementation.
- Testing / simulation, where the backends can be tested separately from the app and the app can be tested using a specialized testing backend.
- Targets with different hardware configurations, where certain parts of the system are represented by simulated backends while others use a real hardware integration.
- Dynamically appearing services, when services are available sometimes, but not always, meaning that backends come and go over time.
The module provides an extendable set of reference APIs for automotive features. It can be used to develop automotive applications and to provide automotive features to Qt-based applications in a structured manner.
We added a way to describe interfaces using an IDL (interface definition language) and then generate Qt/QML API code based on this definition. We use QFace IDL and its libraries, which provide a generic auto-generation framework. In addition to the generic integration of a QFace-based auto-generation into QtIVI Core, we migrated the Climate and Vehicle Settings APIs to be based on IDL.
From the interface definition, the tooling generates the QML and C++ APIs, code that allows properties (i.e. values) to be inspected and overridden by other tools such as GammaRay and Squish, and the code for a simulator that will allow a developer to observe and control vehicle data values in the absence of a real vehicle to test on. This is useful not only for debugging but also for automated testing.
Figure 2: Qt IVI auto generator architecture
The grey boxes are the only parts what the customer needs to implement. The visible part (to the end user) is the application that uses the vehicle data. The non-visible part is the communication with the vehicle data service which is typically an independent process that communicates via an IPC.GammaRay
The Qt Automotive Suite deeply integrates GammaRay into the QtCreator which allows for runtime introspection, visualization and manipulation of internal structures such as scene graphs and state machines. This can provide an insight into the running system to diagnose those hard problems and understand where memory is being used.
In Automotive Suite 2.0, our partner KDAB has added new texture inspection capabilities, improved Qt Quick layout diagnostics, support for QML binding analysis, and many other improvements. In addition, GammaRay’s performance has been improved to reduce the analysis impact on the target application and increases the responsiveness of the remote views. Make sure you have a read on GammaRay at: https://doc.qt.io/GammaRay/ or https://docs.kdab.com/gammaray-manual/latest/.
Figure 3: GammaRay can identify resource waste and even suggest remedyReference UI: Neptune and soon Triton
Since the initial release of Qt Automotive Suite, Qt Quick Controls 2.0 were released providing significant improvements in performance and more flexible styling. The Neptune reference UI has been upgraded to use Qt Quick Controls 2.0. The UI initialization supports staged loading for better performance. There is a new Notification framework with a Notification Center, Application Expose allowing to stop apps. Check out the documentation at: https://doc.qt.io/NeptuneUI/index.html.
After 2.0, we will provide a new UX design and implementation developed by our partner Luxoft . Its code name is Triton. Some of you might have seen it already at the CES or at the Embedded World shows this year.
Figure 4: Triton UI
The future System UI highlights Qt’s unique windows compositing capabilities. Take a look at the Phone, Maps, Player app widgets, they are run as separate apps and composited together on one screen managed by the System UI that acts as Application Launcher and HVAC control.Comprehensive documentation
Qt Automotive Suite 2.0 is now more mature, and one aspect is that we now have much better documentation for all the existing and new tools, components, and APIs.SDK Creation
Let us reiterate this. Many times, parts of the system functionality will be delivered by second and third parties. Or third parties may want to develop apps specifically for your platform. The Qt Automotive Suite makes it easy to build a redistributable SDK that contains your specific HMI assets and added middleware together with the Qt tooling to allow 3rd parties to build and test their apps with minimal intervention.Open Development Model
The Qt Automotive Suite will be developed in the same open manner as Qt itself. The code is available at http://code.qt.io/cgit/ and there is an automotive specific mailing list (http://lists.qt-project.org/mailman/listinfo/automotive) for discussions on engineering and product direction.Summary
With Qt Automotive Suite 2.0, we now provide a truly end-to-end solution for the digital cockpit HMI development, bringing designers and developers to work under the Qt ecosystem, maximizing consistent digital UX for all screens while equipped with Functional Safety. With reduced design-development roundtrip and underlying cost, OEMs can now focus more on HMI innovation and brand differentiation, which is a win for the whole industry and consumers like you and us.