QUIt - Providing Extraordinary User Experience

Year 2023 update

Posted on Jan 1, 2024

Here's a short update on what we worked with during 2023:

  • For the Qt 6.5 release, we implemented a Smart Watch 2D/3D demo. This was a fun project, using the new Qt Quick Effect Maker. The blog post for the Qt 6.5 release is here with video of the demo.
  • Speaking of Qt Quick Effect Maker, we have been using it in different projects. QQEM is great for accelerating the shader effect development with Qt Quick. We have built a set of custom effect nodes that can be used to extend the base QQEM functionality.
  • QNanoPainter has just recently gained a new RHI backend. So while QNanoPainter previously required OpenGL, with the RHI backend QNanoPainter runs natively also on Vulkan, Metal and Direct3D. This RHI backend requires Qt 6.7 as it uses the new QQuickRhiItem class. Having an easy and performant painting library for Qt 6 means exciting times for 2024!

We update our website quite rarely (slightly more active in X!) and let the code speak for itself. But if you are interested and need assistance with Qt & UIs, please do not hesitate to contact us!

Sponsoring Young Players

Posted on Jul 28, 2021

With all that has been going on in the world recently, it's important to allow kids to be active and keep up with their sports. To support this, we decided to use our summer bonus for buying new team clothes for the local PeKa-08 soccer team.

It's summer and hot now here in Finland, but when the fall season starts, warmer clothes are surely required again. Thumbs up from QUIt to the whole team, enjoy!

Qt Quick 3D on Android

Posted on Mar 31, 2021

Recently we tested the very latest Qt Quick 3D dev branch with multiple Android devices. This was done to verify that the Quick 3D particles module funtions well on different mobile hardware and to further optimize its performance, before the Qt 6.1 release.

Here is a short video showing our QUIt Coding 3D tester app on 5 Android tablets & phones with different chipsets, and GPUs:

Qt Quick 3D Instancing and Particles

Posted on Feb 27, 2021

With the upcoming Qt 6.1 version, Qt Quick 3D will get two new exciting features, instancing and particles. Both of these will be in Technology Preview stage, meaning that APIs can still change, with the plan to have them fully supported in Qt 6.2.

Instanced rendering is already explained in this blog post, but in brief it will dramatically improve the performance when rendering large amount of similar items with a single draw call. Particles actually utilize instanced rendering, as they fit very well into "large amount of similar items" category. Up to date Quick3D particles module documentation is available in here. Below is a screenshot from the HeartTrail example of the particles Testbed.

Please download the latest Qt releases or build from the git repository to test the Quick 3D particles and instancing yourself. We hope (and expect) that you will enjoy them!

Qt Quick 3D DynamicMeters demo

Posted on Apr 24, 2020

Lately we have been working to perfect the Qt Quick 3D for the 5.15 release. There are still some tweaking to do, but things are looking pretty nice already!

One of the demos we have prepared is called DynamicMeters (see video from https://www.youtube.com/watch?v=YaB-umVrZFU). The main targets of this demo were:

  • Demonstrate how Quick 3D and Qt Quick (2D) can easily be combined into a single UX. While 3D is great, most applications want to combine also traditional 2D elements in different ways.
  • Test how Quick 3D works together with 3rd party OpenGL libraries. Make sure that the performance is good and there are no barriers for this approach.
  • Implement Qt Quick components as mostly dynamically painted. Usually these kinds of user interfaces use images, but painting them instead allows for more customization and possibilities for nice transition animations. Also, it keeps storage requirements low: Currently the whole demo requires under 5MB space, a big part of it going for QNanoPainter built-in Roboto fonts. Not all of them are even used so this could be lightened even more if desired.

The DynamicMeters demo source codes can be downloaded from https://git.qt.io/public-demos/qtquick3d/ so please check it out and give Qt Quick 3D a spin!

Qt painting performance on different embedded GPUs

Posted on Mar 26, 2019

In the past weeks (among the other things) we have been comparing the painting parformance on different embedded GPUs using QNanoPainter and QPainter. As expected, it is not irrelevant which painting approach you select on the embedded devices when the performance matters. Especially, if the antialiasing is required for smoother outcome.

The full report which tests 4 different GPUs (IMG PowerVR GE8300, ARM Mali-T720 MP2, Adreno 308, Adreno 420) is available in the blog post here.

QNanoPainter with C++ (no QML)

Posted on Mar 17, 2019

Originally, QNanoPainter library was implemented to fulfill the needs of easy to use but performant custom OpenGL QQuickItems. But QNanoPainter can naturally be useful also outside the QtQuick/QML, so recently we have implemented QNanoWidget and QNanoWindow helper classes.

To know more about the technical details and some memory usage measurements, check out this blog post.

New year, new tricks

Posted on Jan 3, 2018

As we once again turn our calendars for a new year, there's time to look back and also plan ahead.

This time we decided to start the year with a bit brand renewal, as we felt that this year will deserve it. So from now on you will know "QUIt Coding waz here" when you see logos like these:

Thanks to everyone for 2017 and may the 2018 be even greater!

QNanoPainter Update

Posted on Oct 22, 2017

Development of QNanoPainter has progressed while using it in different projects. Recent commits include updating to latest NanoVG, support QRenderNode with Qt >= 5.8, control texture size separately from item size, misc. performance improvements, and improved examples. So if you still don't utilize it with your Qt Quick applications, you should take it for a spin!

QNanoPainter Released

Posted on Jan 10, 2016

At QUIt Coding we often have the need to implement custom QQuickItems. Sometimes these items require painting operations and we felt there wasn't Qt component available which would offer productive API, high rendering quality and performance all-in-one. So we developed QNanoPainter which is now freely available with permissive zlib license from GitHub: https://github.com/QUItCoding/qnanopainter

To get more details and comparison to other methods, check out this blog post.

Cinematic Experience 3D

Posted on Jul 1, 2015

Qt 5.5 was released today! Among all other goodies, this version contains technology preview of Qt3D which offers straightforward way to get 3D content into QML UI. So we wanted to put it into test and implemented Cinematic Experience 3D!

This should give some ideas what kind of UX can be achieved when combining 2D and 3D with QtQuick. Demo is running fluidly on desktop and Android devices where Qt3D is currently supported. To see the demo live and download Qt 5.5, check out the official blog post.

Just a Brief Thanks

Posted on Sep 27, 2014

Work hard, play hard... and support when you can. This fall we decided to support the youngest juniors of our local football ("soccer" to US friends) team called PeKa. In co-operation with Sportia, all kids will get some sport gears for the next season. So thanks to everyone we have had a pleasure to work with during the year, you participated in making these kids happy!

Recursive QML shaders

Posted on Mar 9, 2014

The beginning of 2014 has been pretty hectic and we have been busy working. But we anyway wanted to spend a little time implementing an example of using recursive shaders with QML. None of the examples provided with Qt5 are using this feature and recursion can be a usefull trick in Qt developers toolkit.

GForce application which demonstates rendering history graph using a recursive shader can be downloaded from our work section.

Qt 5.2 Android support

Posted on Oct 24, 2013

Qt 5.2 Beta was released yesterday with the final 5.2.0 expected to be released by the end of November. We wanted to make sure our demos work on Android, so we ran some tests with the beta release on Nexus 7.

Results were that pretty much everything is working and we found only few minor issues. So feel free to download examples from our work section and give them a go also on Android!

For a video demonstrating different QUIt applications on Nexus 7, please see here: http://youtu.be/Lc8GQBcLHWQ.

Cinematic Experience on Tizen

Posted on Jun 18, 2013

Qt for Tizen project (http://qt-project.org/wiki/Tizen) has progressed well during the past months. This project which we dig very much, is all about bringing a top-notch Qt5 support into Tizen.

We are especially delighted how well Cinematic Experience is running on Tizen developer devices (http://www.youtube.com/watch?v=ueijEXp2dAY) as well as other Qt5 UX demonstrations we have provided recently (http://www.youtube.com/watch?v=TeVDVRcjfhw).

Welcome on Qt5, Tizen!


Posted on May 12, 2013

Another day, another sample component! This time we release a Qt5 battery component which demonstates fluidity possibilities, literally. This component is more specific than earlier QUItIndicators, which gives more freedom to designers.

We wish also this to be useful for developers utilizing Qt5 & QML. More information and source codes are available from here.


Posted on Apr 18, 2013

Today we released a new example of dynamic Qt5 QML+GLSL components. This QUItIndicators set contains BusyIndicator and ProgressIndicator components with an example application presenting their usage.

We wish this to be useful for developers implementing their own Qt5 QML components. More information and source codes are available from here.

Qt5 Cinematic Experience @ Embedded World 2013

Posted on Mar 2, 2013

Embedded World 2013 exhibition & conference was held this year 26. - 28.2. in Nuremberg, Germany. With more than 800 exhibitors and over 20.000 visitors, Embedded World is one of the major events around embedded technologies. Naturally, Qt was also presentent at the show and Digia had a whole booth dedicated for Qt on various embedded operating systems.

This time our Qt5 Cinematic Experience was demoed not just on iOS and Android, but also on QNX. Being able to run the same application fluidly on Apple iPad, Asus TF300 and BlackBerry PlayBook really shows the power of Qt5. Kudos to the whole Qt community!

For more information about the event, see this post at the Digia Qt blog: http://blog.qt.digia.com/blog/2013/02/27/qt-showing-off-its-portability-power-at-embedded-world-2013/

Qt 5.0.0 released!

Posted on Dec 19, 2012

The first stable release of Qt5 is finally here! We want to congratulate the Qt Project and thank everyone who has participated into getting Qt5 ready for the prime time.

To try Qt5 for yourself, head over here and download the latest Qt5 SDK.

Qt5 Cinematic Experience @ QtDD2012

Posted on Nov 15, 2012

Qt Developer Days were held this year in Berlin (Europe) and Santa Clara (North America). During the developer days, Digia demonstrated Qt5 on both Android and iOS using our Qt5 Cinematic Experience application. Digia has released a video of these demos which can be found from here.

We are very happy to see Qt5 progressing and getting supported on new platforms!

Qt5 NMapper

Posted on Oct 12, 2012

NMapper application is demonstrating the normal mapping technique using Qt5. With this application it's possible to test test different texture images and adjust the lighting conditions. More information and source codes are available from here.

Qt5 Cinematic Experience - Raspberry Pi Edition

Posted on Sep 21, 2012

The Cinematic Experience is available now also for Raspberry Pi, a credit-card sized computer with an affordable $25/$35 price. This version is optimized to perform well with the RPi hardware and with high 1080p resolutions. More information and source codes are available from here.

Qt5 Cinematic Experience

Posted on Aug 16, 2012

'Cinematic Experience' collects many of the new Qt5 QtQuick 2.0 features into the same UX demo application. It uses particles, sprites, path animation, custom shaders etc. new features which Qt5 introduces for QML UIs. More information, video and source codes are available from here.

Qt5 LedScreen component

Posted on Jun 9, 2012

As the Qt5 beta is approaching steadily we decided to publish a small example again, showing the Qt5 QML + GLSL shader power. This time outcome is a LedScreen component which can "ledify" any QML content.

Video and sources with few examples are available from here. Feel free to use it in any imaginative ways!

Smoking success in Nokia store!

Posted on May 1, 2012

We released Smoke the Bugs game about 6 weeks ago and have since received very positive feedback from users all around the world.

As you can see from the screenshot, Smoke the Bugs is currently listed being the #2 most popular free game for Nokia N9! Symbian version for Anna & Belle devices hasn't yet reached similar success, but download numbers are growing steadily.

We love hearing comments from users so keep 'em coming! For more information about Smoke the Bugs, please check here.

Smoke the Bugs! released

Posted on Mar 19, 2012

Today we released Smoke the Bugs! game for Nokia N9 and Anna & Belle devices. The development has been done using Qt Quick with shader effects to boost the action. Game is freely available from Nokia Store so please give it a try! For more information check here.

Five now for Anna & Belle!

Posted on Jan 16, 2012

Five In a Row is now also available for most of the Symbian Anna and Belle devices from Nokia Store!

Our favourite user comment so far states "One of the best games I have seen in recent times in the Store. Both the single player and two player modes are fun to play. Simple and enjoyable.". Feedback like that makes us very happy and humble, thanks!

Five In a Row for N9 available!

Posted on Oct 11, 2011

We are pleased to announce that Five In a Row game is now available for Nokia N9 & N950 from Nokia Store.

This game is free and contains no ads, just straightforward gameplaying. New features include one player game with three different levels of challenge: Easy, Medium and Hard. Which ones can you beat?!

For more information check here.

QUItDistFieldFX Demo Released

Posted on Aug 21, 2011

Freshly from our release queue comes this new example of distance field technique using Qt5 and Qt Quick 2.0. More information and source codes are available from here.

Success of Qt Quick Game Programming tutorial

Posted on Jun 22, 2011

We placed our Qt Quick Game Programming tutorial freely available about 8 months ago. During this time, it has been downloaded over 17.700 times and we have received very positive feedbacks from users!

With the recent release of Qt-powered Nokia N9 MeeGo device, we hope that even more people will start enjoying the easiness and power of Qt Quick. So if you haven't done that already, please grab Qt Quick Game Programming tutorial from here and start preparing your own applications!

Metaballs Demo Released

Posted on May 6, 2011

Today we released a new minimal example of combining Qt Quick QML and OpenGL shaders, in the form of metaballs. More information and source codes are available from here.

QML Scene Graph Demo

Posted on Jan 16, 2011

When it comes to Qt and user interfaces, we have tried to be pioneers in using the latest and greatest technologies. One example of these is the QML scenegraph, which enables combining QML animations with OpenGL shader effects. To visualize some possibilities this new backend enables, we implemented a small demo running in Nokia N900:

Qt Quick Game Programming

Posted on Oct 22, 2010

QUIt Coding crew has been working with Qt Quick for some time already in different projects and environments. Today we have released one of those projects openly available, to share the Qt Quick knowledge and to give something back to Qt community. This release contains:

  • 5-in-a-row game for Nokia N900, written with Qt Quick
  • Full sources of this game
  • "Qt Quick Game Programming" tutorial which describes how the game is implemented
Please download the game and tutorial from here.

We are Qt Ambassadors

Posted on May 5, 2010

QUIt Coding has today been accepted as one of the first members into new Qt Ambassador Program. As ambassadors, we are committed to continue providing extraordinary user experience with Qt.

For more information about Qt Development Framework please visit http://qt.nokia.com