12/14/2010

Qt framework for QNX: Not just a pretty interface

Before we go any further, let's get the pronunciation thing out of the way. Strictly speaking, Qt is pronounced "cute." But guess what: The minute you start saying things like "That device has 'cute' user interface" is the same minute people start looking at you funny. Hence, the pronunciation of choice has become, not surprisingly, "kyoo tee".

If you're new to Qt, the Qt community portal has a good, albeit prolix definition:

"Qt is a comprehensive C++ application development framework that includes a class library and tools for cross-platform development and internationalization. The intuitive Qt API and tools are consistent across all supported platforms, enabling platform-independent application development and deployment."

The definition on the Qt Development Frameworks website gets to the point a little quicker:

"Qt is a cross-platform application and UI framework. Using Qt, you can write web-enabled applications once and deploy them across desktop, mobile, and embedded operating systems without rewriting the source code."

This "write once, deploy across" feature is a key reason why many QNX customers, particularly those in the medical and industrial automation industries, show interest in Qt. Mind you, it's not the only reason. Qt's rich cross-platform C++ class library, running on the QNX Neutrino RTOS, also allows device makers to:
  • build advanced user interfaces from a rich set of standard and customizable GUI components
  • visualize data in 3D with a tight integration with OpenGL
  • increase designer & developer collaboration with Qt Quick, a complete UI creation kit
  • choose a license to fit project requirements
  • take advantage of the Qt ecosystem
  • leverage the reliability and real-time performance of the QNX Neutrino RTOS

From port to completed port
Qt Software, a Nokia subsidiary, first ported Qt to the QNX Neutrino RTOS in July 2009. QNX Software Systems plans to complete this port and quickly move up to latest release of Qt, v4.7. From what I understand, the new port will initially support ARM and Atom processors on Beagle boards and Kontron boards, respectively. Support for additional platforms will depend on customer interest.

Look ma, no C++
Qt 4.7 introduces a new feature, Qt Quick, that enhances Qt's capabilities and allows anyone familiar with scripting languages to create UIs and apps. With Qt Quick, you don't need to know C++. Instead, you can use QML, a JavaScript-based declarative language, to design your "UI centric" applications.

According to the Qt website, if you have experience with JavaScript, HTML, or CSS, you have the skills to learn QML. Practically speaking, this ease of access means that user-interface designers can work hand-in-hand with software developers to create animated, touch-enabled UIs.

A matter of choice
The QNX Neutrino RTOS already supports a choice of UI technologies, including Adobe Flash, OpenGL ES, and the QNX Photon microGUI. Support for Qt will add to this choice. In future posts, I will track the progress of Qt for the QNX Neutrino RTOS and provide some insight as to how it integrates with existing QNX graphics technologies and frameworks.

Until then, here's a video published to celebrate the initial port to QNX Neutrino back in 2009:

12/06/2010

QNX drives digital instrument cluster for Jaguar XJ

You know what I like best about digital instrument clusters? Their dynamic reconfigurability. Shift into drive, for example, and the cluster displays a tachometer. Shift into reverse, and the cluster replaces the tachometer with video output from a backup camera. I mean, how cool is that?

This isn't just science fiction. Some production cars already provide this type of functionality, including the Jaguar XJ and Land Rover Range Rover. Here, for example, are some photos from a Jaguar XJ, which made an appearance at the recent QNX Automotive Summit in Stuttgart. The cluster, as you may have already guessed, runs on the QNX Neutrino RTOS:











Recently, QNX Software Systems equipped a Corvette with a digital cluster to show off some of its latest software technologies. To see photos of the cluster in action, click here.

POSTSCRIPT: Originally, this post referred to the vehicle in question as a Jaguar XJ5. Fortunately, an astute (and Jaguar-savvy) reader pointed out that the last XJ5 probably shipped in the early 1980s. Consequently, I've edited the text to reflect the correct name: XJ.
 

12/05/2010

I passed the buck...

... or did the buck pass me? It's all a matter of perspective, I guess. In any case, this buck and I passed by each other in the woods yesterday, and I managed to squeeze off a few frames before he moved on. Here's one of them:


Click to magnify.

Photo tip: With their impressive antlers, white-tailed bucks evoke regality. To keep them looking regal, I often change my perspective by getting on my knees and shooting them from below their eye level. This gives the effect of looking up at them, much as you would a king on a throne.

Disney artists used much the same technique when drawing images of Bambi's father. For example:



Because in art, as in life, perspective is everything. :-)
 

11/23/2010

Neptec wins contract to develop new lunar rover

This just in: The Canadian Space Agency has selected Neptec, a longtime QNX customer and NASA contractor, to develop the new Lunar Exploration Light Rover, or LELR.

According to Mike Kearns, Neptec's vice president of space exploration, "the innovative design of this new Canadian rover will facilitate surface transportation for payloads, cargo, and crew during moon exploration. It will also enable drilling and excavation, manipulator and tool integration, and vision and state-of-the-art communications systems."

Neptec is a familiar name in the QNX community. The company built two QNX-based solutions for the Space Shuttle and International Space Station: the Laser Camera System and the Advanced Space Vision System.

For photos and more details on the lunar rover story, check out the Ottawa Citizen article.
 

11/17/2010

Engadget: BlackBerry PlayBook hands-on demo

Yesterday, RIM's Jim Balsillie treated members of the Engadget team to a hallway demonstration of the BlackBerry PlayBook. The team's cameras were rolling at the time, and in the video, someone exclaims "Oh, man... oh, that's just beautiful" in response to the PlayBook's multitasking.

Well, I'm pretty sure that's what they said. You can judge for yourself; just click here to view the Engadget video.
 

RealVNC showcases smartphone connectivity at QNX automotive summit

Yesterday, RealVNC announced that they will demonstrate their VNC Mobile Solution at the QNX Automotive Summit.

If you're unfamiliar with VNC technology, it allows the infotainment system in a car to display applications running on smartphones, tablets, and other mobile devices. It also allows car occupants to interact with these applications using steering wheel buttons or the infotainment system's touchscreen.

For years, VNC has allowed enterprise users to access remote computers and perform remote troubleshooting. More recently, it has found its way into smartphones, where a terminal client on the phone lets the user see and control applications running on a remote server. In a car, the roles reverse: the smartphone becomes the server and the vehicle infotainment system becomes the client.

Here's a diagram that summarizes how this works:



I'm only scratching the surface here. For a more thorough explanation of this and other approaches to car-to-smartphone connectivity, check out the article, "Mobile device connectivity keeps the car relevant," recently published in Automotive DesignLine.

VNC supports both terminal mode and Apple iPod Out. Here, for example, is a video showing how VNC, terminal mode, and the QNX Neutrino operating system work in combination to integrate cars and smartphones:


 

11/16/2010

Shootout: BlackBerry PlayBook versus Apple iPad

Hey, check out this video of the PlayBook and iPad going head-to-head on browser speed, Flash support, and HTML5 performance:



For previous posts on the BlackBerry Playbook, click here.