Planet maemo: category "feed:bc034fe7bc4cd5ba2bbd6c0cfff73d04"

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:

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

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).

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).

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

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

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.

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.

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?

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!

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.

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:

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

In a brief break from Hermes-related Maemo work, I was inspired by Manfred Weiss' MyMenu to create an auto-organising menu application for the N900:

Catorise organises the application menu to have top-levels corresponding to the sections in Application Manager. Features:

Uses the section icons from the current theme, falling back to the default theme if none available.

Determines an application's section from the same information the packager used when uploading it to Extras.

Keeps track of application installs/uninstalls.

Entirely non-destructive: remove the package and everything goes back to how it was before.

"All" and "Other" sections, just as in the App Manager, to provide additional access routes.

So, with Catorise the section you find an application's icon is the same you used to install it!

It is currently in Extras-devel. This should, therefore, only be tested by people who are willing to suffer potential data loss, hair loss and the eating of babies.

It's largely feature complete, however there are some known problems/future developments:

Applications installed from Ovi will go into the "Other" section, due to the way Ovi on Maemo has been designed. I've some thoughts on how to work around this, though.

Changing the theme will only update the icons on the next application install/removal.

A quick GUI editor could be created to manipulate /opt/catorise/menu which is a simple text file cache to speed-up rebuilding. This would allow the user to shuffle the apps to best suit their use cases.