Skip to content

Motivation – Beacon-Enabled Museum Guides

When you enter a museum, your phone starts the guide app of the museum automatically. When you look at an exhibit in the museum, the app starts playing the audio commentary of this exhibit. The app provides additional information like web links, videos, photos and texts. When you take photos, the app adds the photos as additional information to the exhibit you are looking at. When you finally reach home, you have your personalised museum guide and you can relive your tour through the museum whenever you want. This is the kind of experience you should expect in 2016.
Read More »Motivation – Beacon-Enabled Museum Guides

Responsive QML HMIs with File Selectors

In my previous post, I have shown how to use scaling to adapt QML HMIs to different screen sizes and formats. We reach the limits of scaling if we must change the structure of the HMI or if the HMI must be pixel-perfect. The solution to these problems is to provide a different implementation for each screen size. Switching between these different implementations is done with QML file selectors.
Read More »Responsive QML HMIs with File Selectors

Responsive QML HMIs with Scaling

The HMIs of in-vehicle infotainment systems, TVs, phones and many other systems must adapt to different screen resolutions and formats. This adaptation should happen with as little duplicate effort as possible. The simplest way of doing this for QML HMIs is to scale the values of all x, y, width, height, margin and border properties in proportion to a reference resolution. Based on the HMI of a music player, I’ll show you how to do this by changing only the screen width and height. Read More »Responsive QML HMIs with Scaling

Offshoring Must Be About Finding Good Developers

Over the last 1.5 years, I worked with two Western automotive tier-1 suppliers who use near- and far-shoring to develop most parts of their infotainment systems. Both suppliers use offshoring to reduce their development costs. But how can these offshoring projects be cheaper if a good developer is easily 10-20 times more productive than an average developer?
Read More »Offshoring Must Be About Finding Good Developers

What Makes a Developer Truly Professional

QA finds many bugs that are very easy to catch. Builds contain warnings and runs error messages and even violated assertions. Coding guidelines and good coding practices are ignored. Unit tests are only written to drive line coverage up. Acceptance tests are missing. Code is committed although some tests are failing. Releases are prepared manually. All these symptoms are signs for unprofessional developers at work. So, what makes a developer truly professional?
Read More »What Makes a Developer Truly Professional

QtCreator – Search & Replace with Captured Texts

I wanted to replace many occurrences of

g_theme.themeDisplay(100, 80, 65)

by

g_theme.thSz([100, 80, 65])

in many QML files. The values of the three integer arguments varied from occurrence to occurrence. What I hoped for was that QtCreator’s search & replace function for regular expressions would support captured texts – the three arguments.
Read More »QtCreator – Search & Replace with Captured Texts