Utvikling.com
- excellence in development

HomePilot

HomePilot

The HomePilot is a "set top box", developed and manufactured by PCTVnet ASA.

Like the competing WebTV, the HomePilot is a box that is designed to sit on top of your TV set.

The idea is that you'll want to be surfing the Internet from wherever you prefer to sit down to watch TV.

The main difference between the HomePilot and the competition, is that it offers several options in addition to email and web surfing. Among these are :

The HomePilot runs the QNX operating system, with the addition of the Photon GUI.

QNX is a very reliable realtime operating system. It is quite scalable, and thus it is a good choice for "high end" embedded platforms.

Also, QNX has a lot in common with UNIX, making programming in C and C++ pretty much a straightforward task.

Working for PCTVnet, I analyzed, designed and implemented the SmartHome and alarm system software.

Also, I was the architect, evangelist and main reason for the software development team to migrate all application source code from C to C++.

And I created several small pieces of software, e.g. the Picture-in-Picture software that enables the user to browse the Internet and watch TV at the same time.

SmartHome

The SmartHome system allows the user to specify the brightness level for lamps, the temperature for heaters, and the on/off state for various household appliances.

The user interface is rather simplistic, aiming to be easy to use for people with no experience using computers.

Alarm system

The alarm system is, from the software developer's view, just an extension of the SmartHome system.

The user interface is easy to use, and rarely needs to be accessed more than once by the user.

Smartcard activation

A smartcard is used to activate the software, making it possible to license selected parts of the system to specific customers.

From C to C++

The SmartHome system was separated into two parts from the beginning : a SmartHome specific part and a reusable class library.

The class library part was extended into a complete Photon wrapper library, and also extended with various stuff that Photon doesn't have.

Basically, this library does for QNX/Photon what MFC does for Windows (Widget wrappers, custom widgets, dialogs, messageboxes, application class, message routing, strings, dynamic arrays/lists/trees/maps, files, memfiles, archives, exception handling and so on).

All HomePilot applications were easily migrated to use this brilliant error-reducing time saver. The sources became a lot more readable, less prone to error, and a lot easier to maintain and develop further. (Yeah! OOx IS the new silver bullet.)

Target technologies

Development tools

Software made