ICS Development Team
With hundreds of successful projects to our credit, ICS’ software development team understands the tools, technologies and techniques needed to turn ideas into successful products. We love sharing our knowledge and helping our clients innovate!
Articles by Author
A Media Manager for Automotive Infotainment (Part 1)
Monday, March 14, 2016 - 14:51 "> • By ICS Development Team • IVI, Qt, Media Manager, automotive IVI
We came up with an interesting architecture that addresses many of the vexing issues with existing IVI solutions.
Fixed Function to Modern OpenGL (Part 4 of 4)
Tuesday, February 9, 2016 - 16:31 "> • By ICS Development Team • OpenGL, Qt, 3D, 3D rendering
Texture setup in modern OpenGL is nearly equivalent to what you are used to in the fixed-function API.
Fixed Function to Modern OpenGL (Part 3 of 4)
Tuesday, February 9, 2016 - 16:20 "> • By ICS Development Team • OpenGL, Qt, 3D, 3D rendering
Next up, we're going to talk about OpenGL lighting, its origins, and theory and how to implement that theory in your shader programs.
Fixed Function to Modern OpenGL (Part 2 of 4)
Tuesday, February 9, 2016 - 15:46 "> • By ICS Development Team • OpenGL, Qt, 3D, 3D rendering
In this blog post, we will compare and contrast Fixed-Function OpenGL with Modern OpenGL.
Fixed Function to Modern OpenGL (Part 1 of 4)
Friday, February 5, 2016 - 15:53 "> • By ICS Development Team • OpenGL, Qt, 3D, 3D rendering
In this blog post, we will outline differences between Fixed-Function OpenGL with Modern OpenGL.
Using OpenGL and Qt in a Scene Graph
Friday, July 24, 2015 - 09:56 "> • By ICS Development Team • Qt, QML, OpenGL, scene graph
This blog post presents a short example program that illustrates how to use OpenGL and Qt in a scene graph.
Logging Events With BoostLog
Thursday, May 28, 2015 - 16:17 "> • By ICS Development Team • Qt, Boost, C++, Logging
In this post, we'll look at Boost::Log, a facility of the Boost C++ libraries that makes it easy to add logging to applications.
Dynamic Language Selection in Qt
Friday, May 22, 2015 - 14:30 "> • By ICS Development Team • Qt, C++, localization, internationalization
In this blog post, we will show an example of how to support dynamic language selection in an application using Qt.
Internet of Things: Connecting Intelligent Systems with MRAA
Tuesday, May 19, 2015 - 13:51 "> • By ICS Development Team • Internet of Things, IoT, user interface, MRAA, Software Development
A recent project related to the Internet of Things gave us a chance to highlight some of ICS' capabilities.
What Makes Medical Device Software Design and Development Different?
Tuesday, February 10, 2015 - 10:49 "> • By ICS Development Team • Software Development, Medical, FDA, Qt, QNX
What Makes Medical Device Software Design and Development Different?
QNX Powers Ford's Next Connected Automotive Infotainment System, Sync 3
Thursday, December 11, 2014 - 15:22 "> • By ICS Development Team • IVI, QNX, Infotainment Systems, In-vehicle infotainment
Congratulations to our friends at QNX for powering Ford's next Connected Car System, Sync 3. Given that Qt is the standard GUI toolkit for QNX, I suspect that this means that Qt will soon become the de facto standard for IVI System development as well. Read more about this in the articles below: Ford drops Microsoft and revamps its Sync system for more speed - Engadget
Qt and OpenGL: Loading a 3D Model with Open Asset Import Library (Assimp)
Thursday, May 15, 2014 - 10:11 "> • By ICS Development Team • OpenGL, Assimp, Qt, 3D
This blog post is the first in a series that will cover using OpenGL with Qt. In this installment, we will look at how to use Open Asset Import Library (Assimp) (1) to load 3D models from some common 3D model formats.
Using Self-Signed Certificates in Qt Code
Thursday, January 2, 2014 - 12:44 "> • By ICS Development Team • Qt
This article will show how to create a self-signed SSL key for Apache and how the Qt code will use it.
Model/View With BlackBerry 10 Cascades
Monday, October 28, 2013 - 08:59 "> • By ICS Development Team • Qt, QML, C++, Cascades, BlackBerry
The Cascades framework lets you create UIs for the BlackBerry Application Platform with relative ease. This Qt based framework can be used to develop native applications for the BlackBerry 10 mobile platform. It supports development in C++ and/or QML.
A Multilayered Architecture for Qt Quick
Monday, September 16, 2013 - 09:34 "> • By ICS Development Team • Qt, QML
The architecture of a Qt Quick application is the difference between pain and joy. A good architecture makes C++ and QML integration seem natural, while a poor and muddled architecture makes it an exercise in frustration.
Qt Contributors Summit 2013 Recap
Monday, July 22, 2013 - 11:57 "> • By ICS Development Team •
This year's Qt Contributors Summit was held in conjunction with KDE Akademy in Bilbao, Spain. The event was well attended by engineers from many diverse organizations that share a vital interest in the ongoing development of the Qt libraries.
Integrating a Custom Widget into Qt Designer
Friday, July 12, 2013 - 13:34 "> • By ICS Development Team • Qt Designer, Qt
This blog post will describe how to write a custom Qt widget and how to integrate it into Qt Designer so that you can drag and drop it onto your designs. It will also provide an understanding of important differences between Qt 4 and Qt 5 when it comes to creating designable widgets.
An Introduction to Clang Part 2
Friday, June 28, 2013 - 10:53 "> • By ICS Development Team • C++
IntroductionAs promised, here is a follow-up to An Introduction to Clang. I mentioned in that posting the cool thing about Clang is that it is library based and offers public APIs that allows one to access information about a C or C++ program with relative ease. In this post we will work through an example using Clang's API to write our own "baby IDE" that parses C and C++ code and performs syntax highlighting.
Building Qt 5 on Raspberry Pi
Friday, May 17, 2013 - 08:46 "> • By ICS Development Team • Raspberry Pi, Embedded
This is a HOW TO guide for building Qt 5 for the the Raspberry Pi, and building and deploying Qt 5 apps using Qt Creator.
Object Serialization and Persistence using QDataStream
Monday, April 22, 2013 - 08:51 "> • By ICS Development Team • Qdatastream, Qt
This article will demonstrate how a user-defined class can use overloaded QDataStream operators for serialization and persistence.
What's new in Qt 5: QStandardPaths
Friday, April 12, 2013 - 07:48 "> • By ICS Development Team •
Qt 5.0.0 introduced the QStandardPaths class. This expands on functionality that was in Qt 4 in the QDesktopServices class. The QStandardPaths class provides methods for accessing standard paths on a system such as the location of the user's desktop directory or location of a program executable. The class provides only static methods, so it never needs to be instantiated as an object.
Multiple Inheritance in Qt
Friday, April 12, 2013 - 07:45 "> • By ICS Development Team •
Introduction A quick trivia quiz: Does Qt use multiple inheritance? If so, how many public Qt classes use it? Does any Qt class directly inherit from more than two classes? Does Qt let you multiply inherit (directly or indirectly) from QObject? If you can correctly answer these questions off the top of your head you're definitely a Qt and C++ guru and can stop reading now. If not, then by the end of this article you will be able to answer these questions and impress your colleagues with your knowledge.
An Introduction to Clang
Friday, April 12, 2013 - 07:42 "> • By ICS Development Team • C++
In this blog post I will be writing about some of my experiences with clang. What is clang? It is a front end to the LLVM compiler and is designed to compile C, C++, Objective-C, and Objective-C++ to machine code. The LLVM Project "is a collection of modular and reusable compiler and toolchain technologies," meaning that you could use LLVM to create a compiler for just about any language you'd like, including your own invented language, were you so inclined.
Marketing Push
Wednesday, January 30, 2013 - 12:34 "> • By ICS Development Team • Qt, PhoneGap, Raspberry Pi
This week we did some marketing to promote the project. All of this effort stimulated some good discussion on the blogs and callback developer mailing list.
New Qt 5 / WebKit 2 WebView APIs
Wednesday, January 30, 2013 - 12:34 "> • By ICS Development Team • Qt, PhoneGap
There was no blog posting last week because I was away for some vacation in a warm place. This week work continued implementing the APIs for Accelerometer and Notification and using the Qt Simulator for testing.
Repos Moving
Wednesday, January 30, 2013 - 12:33 "> • By ICS Development Team • Qt, Cordova, Raspberry Pi, PhoneGap
This week we finished implementing some Cordova APIs (at least for the Qt 4 version). Compass and Accelerometer are done and some of Events was implemented. Notification is done as is most of File support and we are starting work on Contacts and Camera.Note that I am going to start consistently using the name Cordova rather than Callback orPhoneGap for this project.
Corinthian Leather
Wednesday, January 30, 2013 - 12:32 "> • By ICS Development Team • Qt, Cordova, PhoneGap
This week we switched to the new repository. Some pull requests from the old repository had to be resubmitted. Changes were committed for :
Move to QML
Wednesday, January 30, 2013 - 12:32 "> • By ICS Development Team • Qt, QML, Raspberry Pi, Cordova
Since the last posting we properly set up deployment of Cordova Qt for MeeGo Harmattan (e.g. the Nokia N9 phone). We also got Qt 5 packages including WebKit built for MeeGo Harmattan and tested it on a Nokia N9. Incidently, a big PR1.2 software update rolled out this week for MeeGo Harmattan phones.