Services – Software Development

I can help you with developing embedded systems and desktop applications using the UI and application framework Qt on many different target platforms. My “home platform” is undoubtedly embedded Linux running on ARM chipsets. I have built embedded systems on a wide range of ARM chipsets ranging from the low-end ARM9 to the high-end Cortex-A9 – from vendors like Freescale, Texas Instruments or Nvidia. Example systems are a wide-area VoIP phone on a Freescale i.Mx27, a driver terminal of a forage harvester on a Freescale i.Mx53, or – on the exotic side – an Internet radio on a bare-metal 16-bit CSR UniFi platform.

Nowadays, embedded systems hardly ever come as isolated solutions, but they can be accessed and controlled from PCs, tablets and smartphones. One of the most valuable features of Qt is that you can run the same source code on many different platforms including all main desktop platforms, several RTOSs, Blackberry, Android and iOS. This can save you a lot of development time. In 15+ years of development in the trenches, I have built my fair share of desktop applications with Qt running on Windows, Mac OS X and Linux (e.g., an IDE for developing Bluetooth and Zigbee applications). And, if you prefer a native app for your iPhone or iPad, no problem: I can help you out there as well.

My services include

  • Building embedded systems and desktop applications with Qt, QML and C/C++ as part of your internal development team – in the role of the lead developer, the software architect or a team member.
  • Helping you with every step of the software development cycle: requirements gathering, user interaction design, software architecture, object-oriented design, implementation, testing, release.
  • Finding the right Qt consultancy or freelancers to whom you can outsource your project partially or completely, if a bigger development team is needed.
  • Selecting the right platform – windowing system, graphics acceleration, operating system, chipset – for your embedded system.
  • Setting up the development environment for different target platforms (Linux on ARM, x86, MIPS or SH4) and bringing up Qt on the target platform.
  • Migrating your Qt application from one Qt version to another (Qt3 to Qt4 to Qt5) and migrating your non-Qt applications (e.g., MFC, .NET, Cocoa, gtk) to Qt.