

As you might have heard in many other places a bunch of GNOME and WebKit hackers have met in rainy Coruña for the 3rd WebKitGTK+ hackfest. Many things have been discussed, but today I’m going to give a sneak preview of the new design for Epiphany and its rebirth as the core GNOME Web application.
Next up is the open source release of the qw prototype "qw.py", which has been developed during the Super GameDev Weekend 2010 at the Metalab Vienna last December (the next one is at the upcoming weekend; stop by if you are in Vienna!) - nearly 1 year ago. This is not the same as qw The Game in Ovi Store, but it's an earlier version, which still contains multi-player support (4 players on one PC keyboard), and it's written in Python, so it should be easily hackable.
And last but maybe not least is the IP Address "Widget" for Harmattan. This small hack (which is inspired by the earlier Calenderr calendar icon hack) makes use of the fact that the Harmattan UX reloads the icon of an application whenever the .desktop file or the icon file itself changes. The details (and a .deb for easy installation) can be found on the website - basically it shows a way to have semi-interactive "widgets" on the app list on Harmattan. I'm sure that creative readers can come up with some cool ideas :)
A Quick Look at Extras in Bugzilla
2011-11-28 through 2011-12-04
Finally, here’s the much-demanded second part to this QML beginner-focused series. Okay, one guy asked, but he sounded really interested.
Playing 720p videos on Nokia N900
Ivaylo Dimitrov shares instructions on how to watch 720p videos on the N900. The instructions are not for the faint of heart, as they involve installing extra codecs, running the power kernel, and overclocking the device. Even then, "not all 720p videos will be playable of course, n900 DSP is just not powerful enough for some profiles."
Care should be taken for anyone attempting this, the overclocking will void your warranty (such as it is).
Read more (talk.maemo.org)In this edition (Download)...
- Front Page
- Playing 720p videos on Nokia N900
- Development
- Source code for Maemo 5's "certman" now available
- Framebuffer-based recovery boot for N900
- IP Address Widget for Harmattan
- Announcements
- New, stable, version of "power" kernel for N900

You can get a Mac and Linux flasher from here: http://tablets-dev.nokia.com/maemo-dev-env-downloads.php
The flash image is not currently available outside Nokia but is inside the exe that you can download from the Nokia web site for updating the N9. Unfortunately this exe obviously only runs on Windows (I for example don't have any Windows machines around and for me the Windows exe is completely useless).
If someone manages to extract the flash image from the exe, it can be in theory flashed with Mac and Linux flashers. If you manage to succeed with that, please let me know and I will mention about it on my blog. Please write me at karoliina dot t dot salminen at gmail dot com or write to the comments on this post (please note that the comments are moderated to avoid spam and it will take time for me to approve them, so don't be afraid if you don't see them appearing immediately).
I tried to send a question about this to Nokia customer care [about how can I update my N9 with my Mac] but I was unable to do so because the form required all the lengthy numbers like serial number and my personal N9 was not with me today so I could not check it.
UPDATE: Got information that there indeed is a beta version (unstable) Mac Nokia Updater out there. http://betalabs.nokia.com/apps/nokia-software-updater-for-mac It does not state that it would support Nokia N9. I downloaded it and tried it with my N9. It didn't work, it stated that N9 is not supported.
Also people have been using a software called navifirm to extract the flash image out of the Nokia software updater exe to enable flashing it using Mac. However, according to my Googling this software also runs on Windows, so it may not be so straightforward for Mac users to use that route. Maybe the beta version of the software updater for Mac is the best bet at the moment in case it would start supporting N9 (that I hope but don't know).
It seems I still don't have a solution for this. If you know a working solution how to get N9 flashed with Mac, please let me know. If I will find a solution for this, I will post a new blog post with instructions how to do it with Mac.
The Maliit developers and the Plasma Active developers, with some Mer developers too, discussed yesterday how they can work together. Reading the irc log, it seems to have been productive, with great input from all groups, and with some first development steps planned.
As always, I’m proud of our Maliit developers at Openismus. We believe that excellent developers must be communicators, or their work is for nothing. That log shows why.

When I first read about GNOME dropping support for BSD and Solaris, my impression was that this is a good idea to aiming to unify limit resources and get the work done. I was also excited about the idea of the GNOME OS. I think it is necessary to keep the big picture in mind when developing the different components. Previously Ubuntu was the only project that did this and it was also the reason why I started using Ubuntu. Because it made the different parts of Linux work together to achieve the big goal of a great overall system.
AGTL features several cool features:

- Compass view
- Map view
- All details and images, the last 20 logs
- Writing fieldnotes
- Of course, some settings
- And best of it all: A unique augmented reality view!
Please report bugs to github and only to github. Please try to provide an output log of the program run. You can start AGTL by running agtl-meego in the terminal. If you run agtl-meego > errorlog.txt 2>&1 it will create a file errorlog.txt containing valuable information for bug hunting.
Please consider a donation if you like AGTL. It will stay free (as in beer) also when it hits the OVI store, although rewriting the UI for Meego took a lot of hours in the last weeks.





A Quick Look at Extras in Bugzilla
2011-12-05 through 2011-12-11
Intel to stop accepting MeeGo tablet apps in AppUp store
In a somewhat foreseable move, Intel's Bob Duffy has announced that MeeGo tablet applications will no longer be accepted in the Intel AppUp store. "With the Linux Foundation moving forward with Tizen, and without MeeGo tablet devices in market, (correction: without AppUp supported MeeGo devices in market) the AppUp developer program will not be accepting MeeGo tablet app submissions for validation, effective December 2011." The move makes sense given that there aren't actually any MeeGo tablets with AppUp support out-of-the-box but it could be a disapointment for developers who spent a lot of time getting MeeGo tablet apps in the AppUp store in the first place.
Read more (appdeveloper.intel.com)In this edition (Download)...
- Front Page
- Intel to stop accepting MeeGo tablet apps in AppUp store
- Applications
- Using the N9's Dolby Headphone feature as a cheap encoder
- Enabling ICQ in N9 instant messaging
- Development
- Major new release of gst-dsp for using N900 DSP from gstreamer
- Devices
- Nokia N9 software update on Mac OS X and Linux
- The Nokia N9 and the Information Architecture paradox: improving the apps view with search

As part of a bigger effort to get my Nokia N900 in good shape for development, I decided to track down an issue with the keyboard; I could type 'a', but not 'A' or any special characters, so no 'shift' or 'ctrl' or anything special. Trying to figure out what was going on took me … Continue reading A tale of just another Linux kernel bug
Ever since Intel’s MeeGo-cedes-to-Tizen announcement, I’ve been in a slightly unfocused state. It’s familiar territory– when Maemo was set aside by Nokia for MeeGo, there was the same quandary: what now? Better yet, what next?
- Common Prefix Elimination: A very cool name for a very space-efficient feature. If all episodes in a podcast have the same prefix in their title, the prefix is stripped. This usually gives you more information about the episode on screen without wasting space with repeated information.
- Audio Player Scrubbing: You probably know the seeking buttons in the media player. These buttons now show their meaning in a text popup when pressed and - and here comes the cool part - allow you to "scrub" through a podcast.
Some bugs (like the YouTube episode sorting issue) have also been fixed, more on that in the release announcement. gPodder 3.0.2 "Agent 99" will be available in Ovi Store and Apps For Meego shortly.
At FOSDEM 2012 we will have a devroom related to Open Mobile Linux. Our primary goal is to facilitate meetups, collaboration and awareness between different projects and communities within Open Mobile Linux and provide a place to present directions, ideas and your projects themselves.
By Open Mobile Linux we mean any open source projects revolving around typical non-desktop/server Linux, such as handsets, tablets, netbooks or other creative uses. Examples of such projects could be Qt5, Mer, MeeGo, Android, webOS, Plasma Active, Tizen, Boot to Gecko, SHR and other related efforts.
We have the room AW1.120 with 74 seats, a video projector (VGA), wireless internet on Saturday 4th February for a total of 8 hours.
The format we will be utilizing is lightning talks of length 15 minutes with 10 minutes of questions, 5 minute changeover to next speaker. Our goal is about 15 talks during the day.
The motivation is that after each talk, you and your project will be visible to the rest of the Open Mobile Linux community and further deeper discussions into your topic with your peers can continue outside the devroom.
Please send a short biography and an abstract for your talk to carsten.munk@gmail.com by Dec 31st 2011, and we'll get back to you at latest January 7th.
We're also grateful for volunteers helping to run the devroom. Contact Carsten if you're interested.


Everyone wants a proper Youtube browser when it comes to viewing online videos on the N900. Viewing a full Youtube page on the browser may hog up alot of data and even your memory causing a slowdown in performance and even crash the Web App. Introducing the new NVideo, designed specifically to ease the usage of Youtube on the N900.
Here is the breakdown of the review.
Starting the app took quite a while roughly of 15-20 seconds before it could be totally functional but from there onwards the app runs smoothly and switches between tab nicely. Logging into the Youtube account here with your current Google account requires no hassle.
The page that you would be shown for videos recommendation that relates to what you have been watching recently.
The loading screen that you are presented with when the video loads. At the bottom bar, the image with 3 lines is the additional buttons option.
The sharing and like button you would see on every Youtube videos. It also has the download video feature
One of the hiccups I got was trying to add a comment into one of the videos. It wasn’t responsive and it blocked the video.. Trying to get back to the video took much hassle and once I got back to the video, it has finished. I guess a fix should come soon enough
Overall I would say it is a good Youtube browsing app but still slightly lacks behind what the CuteTube has to offer with better UI and better response.
6/10
Related Posts:
- Cutetube vs CuteTube-QML on Nokia N900
- @scene for the Nokia Nokia N900
- Win a Nokia N900!
- New definition of Mobility? & Just a little more on mobile browsing with the Nokia N900
- Nokia N900 Browser
A Quick Look at Extras in Bugzilla
2011-12-12 through 2011-12-18
Nokia N900 gamepad hack
Engadget covers Emyrth's slide-on, USB-based, gamepad for the N900: "Nokia's internetting tablet that simply refuses to quit has already run the multi-purpose gamut, standing in as a brain scanner / replacement, OS dual-booter and Ice Cream Sandwich biter -- just to name a few."
"Now, a homebrew mod from Polish hacker Emeryth, has that soon-to-be retro QWERTY slider sporting a custom gamepad to make those long hours logged into video game emulation that much more thumb-friendly. The exposed overlay is based on an ATmega8A microcontroller and plugs directly into the device's USB port, giving gamers an eight button solution, plus a PSP-like analog stick. It's a handy, albeit ugly, add-on that'll help get your gaming heroes of old through well trodden enemy lines."
A video is presented, and schematics and code is available to download from Andrzej's blog.
Read more (engadget.com)First Qt application accepted to Apple's App Store
Qt was always intended as a cross-platform development framework. Nokia took it to Symbian, Maemo, MeeGo and Harmattan. Open source Necessitas took it to Android. Now, Qt4iOS on Twitter says "THE question has finally been answered... The first Qt Widget app to be submitted to Apple has been accepted for the App Store... :)"
This means a Qt developer can now target Android, iOS, Symbian and MeeGo 1.2 Harmattan with a single code-base.
Read more (twitter.com)In this edition (Download)...
- Front Page
- Nokia N900 gamepad hack
- First Qt application accepted to Apple's App Store
- Applications
- Installing AIM/ICQ/Yahoo!/MSN/Vkontakte and QIP chat accounts, with GUI, on Nokia N9
- Kheweeteur 0.7.1 promoted to Extras-testing for testing
- Development
- Qt Creator 2.4.0 released with improved coding style and quick fixing
- PhoneGap porting to MeeGo 1.2 Harmattan
- Devices
- Adding additional languages to N900 welcome screen
- Announcements
- Fully open source flasher
- Nokia Live View augmented reality available for Nokia N9

NITDroid have been running over the years on the N900 and here is the current latest update :
Latest stable Android version running on the N900 is Version 2.3.7. Well this is practically a Gingerbread OS with Google Wallet support. This version is called N12 for NITDroid for the N900
N12 includes receiving and sending SMS successfully. However voice calls and camera are still under development
Here is a list with compatible games being able to run on the NITDroid itself. Overclocking and installation on internal EMMC would be suggested to ensure smooth game play.
And on the day the Ice Cream Sandwich source code is being released, a port of ICS has been done for the N900. Credits to the NITDroid developer drunkdebugger. Here is the link to the video : Video
Let’s hope more updates would come soon and we can get a stable NITDroid to replace Maemo for the N900.
Related Posts:
- Video review on NITDroid for the N900
- [How-To] Using rescue initrd on the N900
- [How-To] Installing SHR on your N900
- How to overclock NITDroid on the N900? (for the advanced users)
- How to install NITDroid on the Internal EMMC? (advanced users)

As for some N900 users, full fledge browser would come in handy at some points but when it comes to rendering a web full of images and Javascript content may be stressful on the phone and crashing the web browser at some point.
Introducing Web App for the N900.
To make things simple, it is a native app on the N900 that renders the webpage into just the important contents for you to view, hence removing all the ads and Javascript contents that contain tons of animation.
To install, first you would have to install this dependency in XTerminal :
apt-get install qtwrt
Then click on the following links to install the Web App that you want. It would bring you to a 4shared site, and when prompted, click open with Widget Installer. After installation, you would see an icon in your menu.
These links best accessed through your N900:
More Web apps available from this source
Related Posts:
- [How-To] Using rescue initrd on the N900
- How to SSH into your N900? Linux / Mac users
- Mieru : A flexible Manga Reader for the N900
- Nokia N900 Ovi Map enhancement
- Protect your network privacy on the N900 with Tor
Leading quickly to the “ham”, just install Applications Fullscreener and Automatic Skype Launcher in your N8x0 and turn it into a Skype phone. Now, the long explanation
introduction and motivation
At ProFUSION a common topic is how to optimze the system. Not just the speed, but also what and how it is done. Not just for our embedded systems, but also our desktops and laptops.introduction and motivation
At ProFUSION a common topic is how to optimze the system. Not just the speed, but also what and how it is done. Not just for our embedded systems, but also our desktops and laptops.
While I was thinking about LSM mediations of the D-Bus messages, I found out a nice work that is being developed by the Ubuntu sec team in order to support the AppArmor mediation on D-Bus message exchange and service acquisition.
Having a chat with John Johansen (from Unbuntu sec team), he said that he was missing a loadable module support on the D-Bus. Allowing the support of different Linux Security Modules mediation without messing up the D-Bus daemon code, which does make sense.
I started to implement a little PoC about this loadable support, which consists in the following: the LSM modules can be dynamically loadable at the d-bus daemon startup. By copying a D-Bus LMS module to a given directory (which can be specified at the d-bus configuration) it will be loaded and registered.
The idea is to have independent modules, if possible use only the D-Bus functions provided by libdbus, however, of course, if needed symbols can be copied from libdbus-internal.a.
Despite the fact that the modules can be independent of the D-Bus internals, they must have at least one known function, this function should be named as “pre_init“, and receives the pointer to the D-Bus internal function “register_security“. The “register_security” function should be called by the module if it is loaded successfully. The “pre_init” function must return a “dbus_bool_t“: true if everything goes right or false if not. Note that audit can be also initialized by this function.
The function “register_security” receives as parameter a pointer to the structure “security_validations” that is part of dbus-security.h. The structure is illustrated bellow:
struct security_validations { char *name; dbus_bool_t (*bus_security_allows_send) (DBusConnection *, DBusConnection*, const char *, const char *, const char *, const char *, const char *, const char *, const char *, DBusError *); dbus_bool_t (*bus_security_allows_acquire_service) (DBusConnection *, const char *, const char *, DBusError *); dbus_bool_t (*shutdown) (void); };
The structure “security_validations” defines the hooks and the name of the security module and also the function to shutdown the mediation. Two main hooks were needed, the first is the one responsible to mediate the message exchanges and the second is the responsible to avoid unauthorized process to acquire some service. The shutdown hook is not less important, but less used. Shutdown is only called when the D-Bus daemon is hanging out.
The current implementation of SELinux mediation needs more hooks to work than what I am offering in this PoC. Since the SELinux implementation has some performance improvements by doing caching, it will be necessary to create new hooks to gather some information before deciding whether some message is ok to go or not, but this may be a later discussion.
The patched D-Bus code is available at:
http://cgit.collabora.com/git/user/zimmerle/dbus-lsm.git/
And there is a dummy module at:
http://cgit.collabora.com/git/user/zimmerle/dbus-dummy-lsm.git/
Looking like the SELinux but less boring, the AppArmor is a Linux security module (LSM) which provides mandatory access control (MAC). The first distro to adopt the utilization of AppArmor was SUSE in SUSE Linux Enterprise Server 10 and in openSUSE 10.1. It is part of Ubuntu since the version 8.04 and the adoption increase version to version since more profiles are created.
Other software that is part of more and more applications each day is the D-Bus, adopted by GNOME and KDE as an inter-process communication mechanism, the usage of D-Bus allows the communication between different applications. It is used, for example, to provide the communication between a software Core with the UI. Due to the nature of the communication of certain applications (sensible data) is indispensable to have some control about who can acquire some interface or who can listen or send some message.
D-Bus daemon has support to mediate SELinux messages and there is also a D-Bus internal mechanism that has some control over the use of the bus, but none of this is related to AppArmor. There are some experiments that show that it is possible however the necessary patches (Kernel, libapparmor and D-Bus daemon) were not submitted to be part of the respective projects, as explained in the earlier post.
The patches on the experiment enable apparmor parser to understand the tag dbus, as illustrated on the example bellow (line 15). More information about the experiment and the syntax of the file can be seen in: https://lists.ubuntu.com/archives/apparmor/2011-September/001541.html
/home/zimmerle/hello.py flags=(complain) { #include <abstractions/base> /usr/bin/python2.7 ix, /usr/include/python2.7/pyconfig.h r, /usr/local/lib/python2.7/dist-packages/ r, /usr/share/pyshared/PIL.pth r, /usr/share/pyshared/lazr.restfulclient-0.11.2-nspkg.pth r, /usr/share/pyshared/lazr.uri-1.0.2-nspkg.pth r, /usr/share/pyshared/pygst.pth r, /usr/share/pyshared/pygtk.pth r, /usr/share/pyshared/ubuntu-sso-client.pth r, /usr/share/pyshared/ubuntuone-client.pth r, dbus bar.foo.hello acquire, }
In order to ensure the functionality of the suggestion made in the post: D-Bus Loadable security module support, I decided to modify the AppArmor D-Bus daemon patches to make them compatible with the suggested model. And it is working like a charm.
The code of the current experiment can be fetched from:
http://cgit.collabora.com/git/user/zimmerle/dbus-apparmor-lsm.git/
Note that in this experiment I had to use the D-Bus internal functions/headers. I made little hacks in order to get it working but apparently, this is a good way to go.
A Quick Look at Extras in Bugzilla
2011-12-19 through 2011-12-25
Rant mode on (once again). The reason why gPodder 3.0.2, which has been released two weeks ago has not yet made it into Ovi Store is not because I was lazy (in fact, I uploaded the .deb on the same day as the release day, i.e. 2011-12-13) but because it took Ovi Store QA one whole week(!) to realize that the gPodder package isn't optified. Guess what? Optification isn't really needed by Harmattan anymore, and the Ovi Store has passed all previous gPodder releases which have been packaged exactly the same. Apparently they decided it's necessary this time.
Cool, so now I have to modify my packaging, and Marius' maemo-optify isn't in the Madde environment of the Qt SDK (and I'm not even sure if the package would be accepted then).
It seems that I quite often include videos in my blog posts. There is no reason to stray away from that habit now, so here's a video showing a beta version of "Smoke the Bugs!" game on N950 & N8:
By looking at the graphics, effects, dynamic lights etc. what you saw was a pretty average OpenGL (ES 2.0) game, right? Well yes and no... Yes, GLSL shaders have been used for the effects. But no, there is zero lines of OpenGL and in fact also zero lines of C/C++ in the game. It's all QML + GLSL + JavaScript.
To work on current Harmattan & Symbian devices, game uses Qt 4.7 with the shaders plugin. This is an okay-ish platform, as you see from the video: N8@680MHz runs at smooth ~60fps. But I have also smelled, tasted and floated in the sweet velvet of Qt5 and can tell you as a fact that it will be much better. With Qt5 & QtQuick 2.0, applications will get a healthy boost of performance, smoothness and possibility for even better effects.
Here is a short list of improvements QtQuick-based games will gain from Qt5:
- Performance: QML Scene Graph will render everything faster than Qt4 QGraphicsView-based renderer, especially when the amount and complexity of (animated) items rises.
- Performance2: New V8 JavaScript engine performs much better than the JavaScriptCore engine in Qt4. Also thanks to this integration work, there is deeper co-operation between QML and JavaScript.
- Smoothness: Qt5 moves rendering into a separate thread which makes UI feel much smoother.
- Effects: QtQuick 2.0 supports shader effects to make QML UI's much more dynamic. Using shaders with Qt4 is possible with the shader plugin as shown above, but Qt5 native support will be more complete.
- Particles: QtQuick 1.0 contains particles plugin but it's very basic when compared to QtQuick 2.0 particles. No game can survive without particles!
- QML features: There are additions in QML which will suit games very well like SpriteImage for sprite animations and PathAnimation & PathInterpolator to animate along a custom path instead of linear path.
- QtCreator: Had to mention this one still as the work done in QtCreator Qt5 integration, QML debugger & analyzer etc. will improve the developer (that's me) productivity.
Now look at the video again to see what the old 2011 QML looked like, add all the above improvements to it and use your imagination... For me it feels like Qt5 & QtQuick 2.0 can offer a great platform not just for applications but also for games. Billion or two, I don't really care... ;) Happy New Year 2012 Everyone!
Today is the last day of 2011 and it is once again when people look back in time and realize what they have done throughout the year and if they stuck to their promises. I don’t give that much importance to events like new year’s eve or even my birthday but I decided to write a blog post and to think about what happened on 2011.