How to replace tklock (touchscreen/key lock) SystemUI plugin on Maemo 5
Jonathan Wilson has continued his campaign to grok the closed source components at the lowest levels of Maemo, with the touchscreen/key lock being his latest success: The tklock plugin plugin_init function registers 2 systemui handlers using systemui_add_handler and also registers a dbus signal handler for the signal display_status_ind sent by mce (documentation for the The information should be useful to those looking to replace the lockscreen and hook into the functionality.
Qt Quick Components now also available for Symbian
Qt Quick Components, the ready-to-use platform-native UI elements for QML, are now available for Symbian: Qt Quick has been around for a little while now, helping developers make great looking, responsive user interfaces. And it is nice to see so many applications in Ovi Store utilizing this new technology. But we want to keep taking it further and one of the ways we’re doing that is by adding ready-made UI building blocks to Qt Quick. We call these building blocks Qt Quick components! In brief, Qt Quick components is a UI component set for Qt Quick application developers and designers. It helps to create a fresh and modern UX with added productivity. In the first phase, the Symbian and MeeGo 1.2 Harmattan platforms are covered. For more information on the history of this project so far, see the related Qt Labs postings below.
Cloning Maemo 5's vibration plugin - help wanted
Jonathan Wilson would like some help exploring how libvibration works: Its a rather hacked up version of the MeeGo mce source tree (or rather the oldest version in that particular repo) and currently only builds libvibrator.so (any files not linked into libvibrator.so are assumed to be WIP and/or unusable). The plugin builds fine but when I run it on my N900 in place of the stock plugin, it just makes mce go crazy and doesn't actually seem to work. Anyone with any insights should get in touch.
C++ Harmattan event feed library
Johan Paul has produced "libharmattaneventview", a C++ port of Thomas Perl's Python event feed library (which we mentioned a couple of weeks ago): D-Pointer has today published the first public version of the libHarmattanEventView Qt C++ library that you can to use with your Nokia N9 Harmattan MeeGo device and integrate your application with its Event view. A video of the library in action, as well as comprehensive documentation, is available.
Qt Components - should developers accept they'll never be cross-platform?
Attila Csipa provides us with some interesting insight into the potential true benefit of Qt Components and the question of code-once-deploy-everywhere UI coding: Paradigm shifts are always difficult, especially when linked totechnology changes. Qt Components are here and seeing that there and at least three component sets (MeeGo Harmattan, Symbian, MeeGo UX) and counting, it is hard to see how components will help solve the cross-platform problem that has been plaguing mobile developers. Hard to see, if you think about Components as a QWidgetling, that is. In the vein of the story of the ugly duckling, I will try to explain how you can utilize Components and avoid the feeling of being given a square peg when you are looking at a round hole [...] Think about the UI as a throwaway component. Is it Harmattan? Okay, I'll just drop in the QML from the examples, who cares if it runs on Symbian. Different resolution? I'll just include a different QML optimized for that. I can see the disbelief in your eyes. How can this work? The point is that spawning UIs with QML is *fast*. Really fast. Actually way, way, way faster than tweaking for a certain subset/common API or resolution independence. You will write (and maintain !) 5 different UIs *faster* than you would write a monolithic QWidgets UI that would work truly cross-platform. It is a radically different setup. Qt Components hasn't, so far, realized its potential for cross-platform UIs, but Attila's proposed approach of doing "throwaway" UIs for each platform makes some sense. By sharing application logic, but separating the UI, you can put together platform-specific UIs with relative ease and deploy each separately without having to worry about working around platform idiosyncrasies. The next step in selling this approach to developers is to provide examples on how best to do the platform and capability detection.
MeeGo 1.2 and Harmattan package comparison
A package comparison between MeeGo 1.2 and Harmattan has been generated by a user on the MeeGo forum: The list of core packages is taken from meego-compliance-tools-1.2. I'm currently working on the tools for checking compatibility of operating systems and it's one of the first reports. See the link in the post for the link to the comparison table. As expected with Nokia touting Harmattan as "MeeGo compatible", there is a lot of commonality; with obvious differences limited to the lower levels of the stack; for example, EDS being used rather than Tracker for contacts' storage or low level X utility packages being present.