A well-known manufacturer of harvesting equipment approached us to build the user interface (UI) for the driver terminals of their harvesters. The driver terminal is a combined instrument cluster, information display and control terminal. We faced a couple of challenges.
The main challenge was that the home screen of a driver terminal shows a lot of information and allows the driver to control important functions. In addition to the usual displays found in a car like speed, rotations per minute, fuel level or coolant temperature, the home screen has displays and controls for rock and metal protection, the type of the installed front attachment, traction control, cruise control, the level of motor oil and silage agent, the working width, the cutting length and many other parameters. In short, if not designed carefully, the home screen gets pretty convoluted and unintuitive to use.
We solved this challenge by having a UI designer and QML developer working tightly together. As soon as a new part of the design became available, it was implemented in software running on a PC and on the target hardware. Then, the customer evaluated the solution. Their feedback was fed back in the solution. This tight feedback loop allowed us to converge quickly on the right UI design and to have running software all along. QML – a simple, declarative language built on top of the UI and application framework Qt – is ideally suited for such a quick and iterative development approach with early feedback from the customer.
Another challenge was that a lot of quickly changing data is visualized on the home screen. Speed, rotation and motor load are displayed both in dials and digital numbers. The ECUs send multiple updates of these and other parameters per second. In order to keep up with these updates and to move the needles of the dials smoothly, the UI needs to update a screen at a rate of 60 frames per second. A smooth display of dynamic movements is again made possible by QML, which can easily be accelerated by OpenGL.
Naturally, the project schedule was fairly aggressive. The customer contacted us a little bit over 2 months before the corn harvest. Their goal was to have a prototype ready that they could deploy on a forage harvester in time for the harvest. Using the right technology with Qt and our expertise in UI design and development, we were able to deliver a first working prototype to a couple of harvesters, which cut up to 20 football fields of corn per hour.