Qt: Write once, #ifdef everywhere?
Thomas Perl has posted an in-depth article on his experience with writing a game in Qt, and getting in running on the N900 (running Maemo) and the N8 (running Symbian^3) - both featuring Qt 4.6: Despite what the title of this post might suggest, I really like Qt. But as a developer, I also know that "write once, run everywhere" isn't realistic without writing some special-cased platform-specific code. Qt does take care of many platform-specific things, and I think it's the closest you can get to "write once, run everywhere" right now. Thomas concludes his code examples asking if anyone has a better way of doing what he's had to do, and a plea that Qt itself abstracts some of these common tasks.
DQuest for object relational mapping in Qt
Large commercial applications will abstract their database access; not only to ensure a single point of contact with the DB (and so optimisation), nor to improve testability - although both are strong points. One of the most common reasons is to map your model classes straight to the database: simulating an "object" database in a relational one; with libraries like Hibernate being the best-of-breed for Java and .NET. Ben Lau has started a new project to provide a similar framework in Qt: I would like to introduce my new OSS project for Qt and mobile. It is DQuest, a C++ ORM (Object-relational mapping) for Qt framework. It aims to provide a rapid development environment for application with database access. The database model declaration is very simple, just like other C++/Qt class. It is designed for mobile environment but also useful for desktop and embedded application that do not demand for maximized performance for database. Ben has just received $25,000 from Nokia for his work on FrontViewN900; so it's good to see that money supporting tools like this which should help developers create powerful applications in Qt.
Hacking on hildon-desktop to get MeeGo-esque task switching
Thomas Perl has also released patches which change Hildon Desktop's task switcher in Maemo 5 (Fremantle) into a similar style as that visible in the MeeGo Handset UX: After playing around with the MeeGo Handset launcher and task switcher, I decided to have a look at how this could be implemented in Fremantle, because the big previews and the paginated launcher are easier to use in some cases (you can also checkout the contents of a window while scrolling by without having to activate it). Hildon Desktop is a key component of the N900's user interface; you should only attempt at building on Thomas' work if you are comfortable recovering from such low-level hackery.