QTablet is alive…

For those who did not know that I started a QTablet project in 2007 and it supposed to be a Qt GraphicsView based application framework and a window manager for N8X0 devices. At that time, I think there were not so many people that wanted to run Qt on NIT devices. I was kept bit insane by some people, because I wanted to do that kind of thing. Now things have changed and everyone wants to run Qt on mobile devices. I believe that already at that time there were plenty of discussion between Nokia and Trolltech and the result is something that you all know these days.

The Beginning

When I started QTablet project, the first thing to do was to build Qt Core for the device.  Nowadays you may know Qt Core as Qt Embedded. If you don’t know, the Qt Embedded runs on a framebuffer, not on X11. It took some time to make it work on the device and to figure out things like how can I shutdown bunch of processes (like X-server) without making the device to reboot, what the hell all the scripts on the device do and so on. It was not so trivial to make display to update when using the framebuffer. Even building the Qt for the N8X0 required one patch. I actually re-build the kernel and enabled the framebuffer updating from the kernel code. Later I found out that the same thing could have been done with ioctl() but I guess this was part of the learning process. The mouse required tslib and I needed to rebuild and configure it in order to make mouse to work. You can check the first version of QTablet running on framebuffer below. It’s ugly as hell, but it was something different at that time. At least in my opinion.

After some time, I decided to start to support X11. The rationale behind this was the fact that there are so many X11 applications ready for use and I don’t want to rebuild every app to make them to work on framebuffer. This was much easier. I basically could just install Qt from the public repositories at that time. Antonio Aloisio started the Qt4 Maemo Garage project, I guess pretty much at the same time that I was starting the QTablet project, but I’m not exactly sure about this. But in anyway, the Qt X11 packages were available there.

I still wanted to separate all the QTablet widgets  and home screen from the X11 specific stuff, so I took the window manager qlwm and removed all the stuff that I didn’t want to use from it and made it to run on N8x0. Then I created a library from QTablet stuff and made qlwm to use it as a desktop/home. This way I could still keep the backup plan that QTablet could run on framebuffer and on X11. I even managed to make qlwm to show Hildon application menu on top toolbar by sending Hildon specific X11 events to the application.

The X11 version of QTablet had two virtual desktops, pager for showing screenshots of running applications, vertically scrollable home screen and horizontally scrollable launcher. You can check  the video of almost the last version of QTablet below. I did do some work after that video e.g. for better looking graphics, but unfortunately I don’t have existing video for that and I’m too lazy to take a new shot.

The End

This is pretty much where the QTablet story ends from my part. I just don’t have enough time for QTablet development and the other thing is that it’s too close to what I do at my daily job, which I can’t tell here because NDA stuff. The third thing is that it’s not so exotic thing to work on nowadays because Nokia owns Trolltech.. I guess you know what I mean.

The Resurrection

Some time ago stskeeps from Mer project contacted me and he asked if I’d been interested in about developing QTablet so that it would be included to the mer. At first I thought that what a good idea, but then I ended up to the same situation that I had no motivation to do that. But some weeks ago I noticed that QTabled had started to live its own life with a new identity. There is a new project called qmantle and it is fully based on QTablet. This is how open source development should go and I’m glad of it. I’ll be interested in to follow how things go in qmantle and I hope they have more motivation than me.

Fremantle…

I’m not so old and tired that I don’t have any motivation to try out things. I was in Maemo Summit, in Amsterdam and as you may know we received pre-release version of N900. Of course I wanted to do some testing with it and compiled the Qt 4.6 for it. I took the PannableView from QTablet and made a small test application where I pan couple of hundreds thumbnails on the screen. The performance was quite good even when comparing the panning to the N900′s Image Viewer application’s panning. I guess Qt is more efficient in many way compared to GTK stuff. Video is included below.

That’s all folks, thanks for reading.

Tags: , , ,

3 Responses to QTablet is alive…

  1. PianoFan says:

    PianoFan…

    Hello ;) Thanks heaps for this indeed!… if anyone else has anything, it would be much appreciated. Great website Super Piano Links http://www.en.Grand-Pianos.org Enjoy!…

  2. zot71 says:

    Hi! Excuse me for the disturb, i’ve watched your vid about QTablet on n810 and i’ve been just shocked!!! I’ve read there where binaries to download but all the web sites you link are down :( How can i do to get those n810 QTablet binaries right now? Do u still have a copy? Qmantle project seems to be died too but i haven’t still found something similar to you implemantation of QTopia working on this wonderful device (i’d like to have a multidesktop, maybe panning too, and what you have done seems to be just perfect for me!!). Thanks in advance for your kind reply.

  3. zchydem says:

    @zot71 Fun to see that your interested in QTablet:)

    The first version of QTablet was built on top of Qt Core / Qt Embedded (framebuffer version) and the last version was working on top of X11. I’m sorry that the QTablet website is down but if you’re in hurry to get QTablet the old source code can be found from the GitHub:

    http://github.com/zchydem/qtablet

    I must remind you that QTablet was far from final and it requires some tweaking here and there to get it run on N8X0.

Leave a Reply