Planet maemo: category "feed:d443227b3e9056c673daf7c465839a14"

Andrew Flegg

This is the first post in a new BlackBerry category in my blog. Having attended the "BlackBerry 10 Dev Jam" in London last week, BB10 looks very interesting - and a spiritual successor to MeeGo 1.2 Harmattan, i.e. the Nokia N9.

It's particularly interesting as BlackBerry have created their own Qt/QML-based environment, called Cascades.

However, I've got an existing app, Bedside which is almost pure QML. Could I get it running? More detailed instructions will come later, but here's how I got to where I am:

  1. Install the BlackBerry 10 Native SDK and developer environment.

  2. Create a new BlackBerry Cascades C++ project, although we're going to use it for "plain" Qt (as described in this Chinese blog post).

  3. Ensure you add <env var="QT_QPA_FONTDIR" value="/usr/lib/qt4/lib/fonts" /> to bar-descriptor.xml.

  4. Copy qmlapplicationviewer.{cpp,h} from the existing project into APP/src/.

  5. Put your QML resources in APP/assets/ (note you can't use asset://... URLs within the QML files, as you can with Cascades).

  6. Replace main.cpp with a simplified version from your other project, for example:

#include <QtGui/QApplication>
#include <QtDeclarative>
#include "qmlapplicationviewer.h"

int main(int argc, char **argv) {
    QApplication app(argc, argv);
    QmlApplicationViewer viewer;


    return app.exec();

In particular, note the path to the main-QML-file.

And here's the initial version of Bedside (with no screensaver interaction yet) running on the BlackBerry 10 Dev Alpha:

[Icon] [Portrait] [Landscape] [Multitasking]

UPDATE: With a bit more work, I've got a single source tree working: now I can deploy to Symbian, Maemo, Harmattan or BlackBerry 10 (using Qt SDK for the first three, and BB10 Native SDK for the latter).

Instructions are in this forum post.

Andrew Flegg

These days I'm often travelling long distances; whether it's to Asia or Detroit with work; or San Francisco for the MeeGo and JavaOne Conferences.

Ten hour flights are rarely fun; but when combined with a ten hour time difference? The jet lag can destroy you.

However, I trust a clock when I see it. So if I can convince myself that the time isn't changing in one big jump, jet lag is less of an issue. I used to do this with my watch: every two hours on a ten hour flight with an eight hour time difference: move my watch forward two hours. By speeding up, or slowing down time, I find it excellent for transitioning gradually to my destination timezone.

My N9's standby screen provides an opportunity to do this automatically: every time I glance at my phone on the flight, it could show me the right "transient" time.

I prototyped it with a spreadsheet (download), for a recent trip to Korea, to see how effective it would be before writing an app:


To try it out, first off, enter the local departure and arrival times; and the timezone difference:

If travelling eastwards, the time difference will be positive. If travelling westwards, it will be negative.

A shell script will then be shown in column E. Copy this column and paste it into a text editor. Copy the resulting script to your UNIX-based mobile device (N9, N950, N900, N8x0, jailbroken iPad).

On a Harmattan device, the script needs to be run in develsh:

~ $ develsh

On everything else it needs to be run as root:

Jaffas-iPad:~ mobile$ su -
Jaffas-Ipad:~ root# sh

If run with screen or nohup, you shouldn't even need to keep the terminal open.


Obviously the next step is an app. Is it something you'd be interested in? Is there a nice Qt API for changing the time? Are there Qt APIs for looking up timezones, and setting the device's timezone?

Thanks to eipi for allowing me to use MaeFlight's icon in this post. Also published on Nokia Developer blogs

Andrew Flegg

Nick Larsson (aka frals) has posted an article on adding a small (120x120px) logo to your N9 lock screen.

The N9 has a PenTile AMOLED screen, but is configured to avoid the colour fringing problems that affected the Android-based Nexus One. However, when the lock screen is displayed, certain bit patterns produce colours:

Photo of N9 lock screen with colour image

John Hutchison's Generating false colour images on the Nexus One using only grayscale pixels contains source code and examples.

The above photo was created by taking a 120x120px cut from the example rainbow image and setting it as the logo:

Greyscale section of rainbow

The same section, viewed on a Nexus One looks like:

Greyscale section of rainbow

As you can see, the colour mapping isn't the same (meaning new reference images need to be generated). However, you'll see it is possible to have colour logos on the lockscreen. Hopefully someone will take it forward, perhaps Nick can update his tool to do colour mapping; or someone can post the reference images so that the Java source code from Luke Hutchison can work.

Andrew Flegg

[MeeGo Conference logo]The first official day of the MeeGo Spring conference started with a two-hour keynote by Jim Zemlin, Executive Director of the Linux Foundation. While MeeGo is a Linux Foundation project, nobody from the Linux Foundation is formally involved on a day-to-day basis in the management and leadership of the project, which is being left to Intel (and, previously, Nokia). Because of this, Mr. Zemlin stands in as the Linux Foundation's public face for MeeGo.

Click to read 1602 more words
Andrew Flegg

I've gone beyond the playing with QML stage and now want to port my first Maemo 5 application, Attitude, to Qt Quick; with the aim of having it run on Maemo, Symbian, MeeGo and Android.

Development environment

I'm using the Qt SDK 1.1 beta on Ubuntu 10.10. I'll deal with developing with this in another post (Eclipse keybindings, the combination of graphical and source editing (and the limitations therein), issues to bear in mind). Here I want to deal with deployment. Qt Creator offers a number of targets:

  • Desktop (not relevant to this app)
  • Maemo
  • Simulator
  • Remote compiler

I chose the last three. On Linux, there is no native support for deploying or compiling for Symbian. Compiling can be dealt with by the "remote compiler", but what about deploying?

I can, now, to the following; all from within Qt Creator:

  • Compile Qt applications and get a signed SIS file for installation
  • Install the SIS file on to a USB-connected N8
  • Start the application and get its console output back in the IDE.

Configuring the remote compiler

  1. Get a Forum Nokia account, if you do not have one.

  2. Install runonphone.

  3. Download this script: runonphone.wrap, and put it on your PATH (make sure it's executable).

  4. In Qt Creator, select Tools > Options... > Projects > Remote compiler and authenticate with your Forum Nokia details:

    Screenshot of Qt Creator options

  5. Open your project, and select Projects > Remote Compiler > Build. Ensure Signed is checked.

    Screenshot of Qt Creator options

  6. Switch to the Run tab and create a new deployment and run configuration.

    • Command: runonphone.wrap
    • Working directory: $BUILDDIR
    • Arguments: either install (for deploy) or run.
    Screenshot of Qt Creator options

Configuring the device

  1. Go to <QT_SDK>/Symbian/sis/Symbian^3.

  2. Send the SIS files under Qt/4.7.2, QtMobility/1.1.0 and TRK to your phone (e.g. via Bluetooth) and install via launching them.

  3. Go to the main launcher menu and launch RnD Tools > TRK.

  4. Under Options > Settings ensure USB is set as the connection method.

  5. Connect your Symbian phone via a USB cable.

  6. Select Options > Connect.

Then, when you deploy and run in Qt Creator the SIS file should be sent over the usbserial connection and launched on the device.

Unfortunately, if there's a problem you can sometimes end up in a state where you need to kill -9 the processes blocking the port. It also doesn't seem to like working on /dev/ttyUSB1, only /dev/ttyUSB0 - but these could all be interrelated problems. Improvements to the script very welcome!

Andrew Flegg

We go to MeeGo (Jaffa@maemopeople)

2010-11-20 16:33 UTC  by  Andrew Flegg

Please forgive the cheesy title :-) As everyone wrapping up the conference has said, it was a great place; well organised and a fantastic atmosphere. Here are some of my bullet point thoughts:

Click to read 1112 more words
Andrew Flegg

At the MeeGo Conference in Dublin? Want to come and see how MWKN is put together every Sunday evening?

Come along to the D4 Ballsbridge, following signs for "MeeGo Conference 2010 Early Bird Event" and we're in the bar next to the ballroom.

You might want to bring a beer from the Dubliner, as the bar here's not (yet?) open.

Andrew Flegg

As Ryan and I - editors of MWKN - will be at the MeeGo Conference on Sunday evening, we'll try and find some space to get together to put together the issue. We'd love to have some help!

What's MWKN?

M* Weekly News is a weekly news digest from the MeeGo/Maemo worlds; inspired by LWN and Wine Weekly News.

Throughout the week, contributors ping over links and short titles to the @mwkn account on Twitter. These then get expanded with quotes, de-duplicated etc. on a Sunday evening for the issue to be published on Monday morning.

The idea is that the community is far too large for any one person to know everything going on, so we can crowdsource the interesting bits which are happening on IRC, the mailing lists, the fora, elsewhere on the Internet etc.

Want to get involved?

Getting involved as a contributor, or an editor (to help with putting the issue together), couldn't be easier; and we'd love to have more people involved.

Please feel free to get involved ahead of time or - if you're going to be around in Dublin on Sunday evening - let me know, and you can either come along and help edit the issue; give us moral support or just get a flavour of what it is we do.

Kees Jongenburger

Qt tools for Nokia (keesj@maemopeople)

2010-11-08 19:07 UTC  by  Kees Jongenburger

Today I was at a Qt for N8 Training/Introduction here in Amsterdam. It was a small setup with people from Nokia Benelux.

The training covered Qt for Mobile platforms.

The Qt Mobile platform

There are great differences between Symbian and Maemo in terms of platform architecture but Nokia managed to create a single API that make most differences vanish. Credits go to the Qt toolkit. This single API might the key to the success this platform needs. It will also allow Nokia to focus on a single platform for developers. With The SDK I used today it is already possible to target the different platforms Nokia currently has without much effort. So What does that mean? It means that Nokia can offer one single attractive SDK (on windows,Linux and Mac) with different developers in mind (c++ and the HTML/js people) and this sounds like quite a good offering to me.

It must have been quite a huge effort already and we are not there yet. Linux users can't yet develop
for Symbian (as I discovered during the day) and windows user are pushed to use remote services to do the hardcore maemo debian packaging.

As I already did some Qt before I decided to focus a little QML and create a mock for the Linux OutLaws CrapAlert app (something like I managed to get a "UI" working very fast. After that things went down my n900 is dead and I unsuccessfully tried to install the application on the N8 from Linux.

I played with the N8 but things did not work as I expected. I even surprised myself by thinking "what are all these buttons for, do I really need to learn what they do" while I usually like lots of buttons. Overall the N900 is way better (as expected).

Still when going home I had the feeling to have learned about a useful platform with enough devices "in the wild" to make it very interesting.

Some notes I made during the day(I might be wrong here):
-I think the Qt Mobility API should not end up in Qt. it clutters the very nice Qt API's with non relevant stuff for a cross platform UI. (Effectively they are creating a cross platform platform...)
-Qt Lacks serious IPC/RPC functionality
-Bonus points for "forum Nokia", During the day I filed a bug in their JIRA database and did get an answer within 20 minutes. Now that is fanatical support!.

Get started here:

Andrew Flegg

Nokia's N8, a Symbian^3 device, comes with a service called Here and Now. This reads the cell tower information you're currently connected to and opens a web page detailing the current events (cinema listings and weather, for example) near you. I've done a quick port to Maemo 5 and the N900.

Once installed, you can launch it like any other application:

[Launching Here and Now]

Without using a GPS, it sends your approximate position to Nokia's servers and shows you what's currently going on:

[Here and Now screen]

Andrew Flegg

Council election time again (Jaffa@maemopeople)

2010-09-16 11:19 UTC  by  Andrew Flegg

Voting has now opened for the next Maemo Community Council and, once again, I'm standing.

Last year I won, and the council chose me as their chair (hence the quietness of this blog compared with the Council blog, or even MWKN).

Please vote, the Council this next term will be very important in setting the tone of, and the way the Maemo community can work with (and, where desired, transition to) the MeeGo community.

You can read my declaration, my response to EIPI's set of questions covering numerous topics. Then, don't forget to vote. Contact Dave Neary if you have not received your voting token.

Andrew Flegg

The election period has started for the next Maemo Community Council election and we have a number of excellent candidates, including - even if I do say so myself - me ;-)

Click to read 1130 more words