RdUX™ – the Revolutionary Device User eXperience

 

In this article, we will introduce the RdUX™. The focus of the article is on the RdUX™ software: what it does and what technologies we used for building it. RdUX™ is developed and owned by the RdUX alliance.  In RdUX, the content is the king – not applications or icons. RdUX™ is built with the latest software and hardware solutions; Linux®, Qt (Graphics View, Declarative UI, WebKit), multi-touch 7” display and Intel® Atom™ Processor. Couple of days ago we posted the first preview video of our RdUX™ software running on proto units. We will add more videos later where we introduce the actual device  also.

 

Although the original idea was born several months ago and first pre-studies were ready in October 2009, the software project for RdUX™ was started six weeks ago. You read it right. Six weeks! If a project can be agile, this truly was agile. Well, of course we have still lots of work to do after the 2010 Mobile World Congress where the first public appearance will be. If you happen to be there, please come to check it out by yourself. You can find us from stand 1E19.

RdUX™ software is based on the Moblin Core from Moblin Netbook 2.1. Since we are using Intel® Atom™, the graphics stack uses Intel Embedded Graphics Driver, IEGD. And as you can imagine, with this CPU performance, GPU acceleration for graphics is a must. These were the main reasons why we selected Qt X11 for our implementation and not Qt Embedded Framework, for example. As it happened, X11 Qt and IEGD turned out be quite challenging combination. We will cover those challenges in upcoming blog writings.

The desktop, or the main canvas as we call it, is a boundless area that holds the device content (you can call them applications if you want to). The main canvas uses Qt Animation Framework & QStateMachine for zoom, panning and re-ordering transitions. Furthermore, the main canvas uses QLocalSocket and QSharedMemory for communication with the applications.

Since RdUX™ has no keyboard (actually, it has no keys or buttons at all!) the user interaction is based on touch screen gestures. RdUX™ has 7″ multi-touch display but since our proto units have only dual-touch displays, we currently use gestures with one or two fingers. The touch gestures are detected using QGesture and QGestureRecognizer. The gestures we have implemented so far:

  • one-finger pan
  • one-finger sweeps
  • one-finger tap for opening content in fullscreen
  • two-finger pinch zoom
  • two-finger bird’s eye view
  • two-finger hold for closing content from the main canvas

We have still work to do with the gestures, but they do work surprisingly well already now.

Although we had a very tight schedule, we wanted to give a try to Qt Declarative UI aka. QML. Despite of it’s potential, it’s in release candidate state, and it’s always risky business to use such a new technology in your project. As expected, we had some minor problems with Declarative UI, but as in overall, the developers were quite happy with it. We definitely see that Web and Hybrid applications have lots of potential in the future.

Perhaps the most annoying problem was flickering; when you launch an application, it flashes rapidly with white screen before showing its own content. With raster paint system, there was no flickering problem. Unfortunately, OpenGL is a must because of the device performance. The root cause for flickering is still unknown. Furthermore, IEGD is missing CombinedDepthStencil OpenGL extension so regular are not drawn in OpenGL Frame Buffer.

What we did with QML was Photo & Media Galleries. This was the first article of RdUX. We gave QML a try with virtual keyboard also but unfortunately we faced some strange QML problems that we were not able to solve within this time frame. Therefore we were forced to fall back more traditional design of virtual keyboard.

We will add there new articles of more detailed information of some techinques that we used to make all this possible. If you have any questions related on Qt development in Cybercom or technical questions, please contact with following people:

  • Business contact: Pertti Hannelin, pertti.hannelin(at)cybercom.com
  • Technical contact: Ville Marjusaari, ville.marjusaari(at)cybercom.com

Comments

Post new comment

The content of this field is kept private and will not be shown publicly.
CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
Image CAPTCHA
Enter the characters shown in the image.