How to make your QML applications scale to and look nice on Symbian, MeeGo/Harmattan and android

Yesterday I was talking at the 2nd Tampere barcamp about how you can make your application automatically scale to different devices, yet allow for pixel perfect fine-tuning when needed. We used this approach for Easy Discount Calculator that is to my understanding the first real app available simultaneously for Symbian, MeeGo/Harmattan and Android (on some Android devices it runs smoothly, on som it has problems due to bugs in not yet mature the porting technology).

Unfortunately the presentation may not make much sense to you if you haven’t been to the barcamp as well, but you may like to have a look at the application on your device. Here are the links to the app stores:
Easy Discount Calculator for Nokia devices. BTW right now it is the second in the top seller Business apps for Nokia N9.
Easy Discount Calculator for Android devices

14 thoughts on “How to make your QML applications scale to and look nice on Symbian, MeeGo/Harmattan and android”

  1. Dianne, the only problem with N900 and QML is that there are no QML components for it (except ones you can make yourself). We’ve done one app called Foreign Money (a currency converter with the rates updatable from net) that works on both N900 and Symbian 3 devices fine and could work on MeeGo if we decided to port it. However, that is pure QML.

    If you are into unofficial builds, however, I believe MeeGo community edition for N900 (as well as Mer and Nemo) allows for QML components, but I don’t really know about the versions supported and about the performance.

  2. Thank you for the kind words, Kimmy.

    Note that this app was done with custom components only as we started when QML components weren’t ready and we were also considering releasing to N900.

    Nowadays I would probably try playing with platformStyle as well – http://doc.qt.nokia.com/qt-components-symbian-1.0/qml-style.html
    I don’t think I’d like to use it directly (then you won’t be able to simulate different platforms on desktop), but I’d play with wrapping it up with my Settings so that I could use simulated values on desktop and real platformStyle on hardware.

  3. Beats By Dre
    Dr Dre
    Beats by dre danmark
    Dr Dre beats
    billige beats by dre

    Et headset alene. Hvorfor vil du have? Sange? Film? Svar på telefonen? F nonsens ting. Bruges til at spise?
    Nej! Et godt headset kan give dig en god stemning! Intet mere end iført hovedtelefoner eksklusivttil processen med audio-visuelle!
    Jeg tror, ikke føler sig godt øre, god kanal behandling. Og sikke en god forebyggelse af tabteknologi kan vinde hovedtelefonerne er I dag har jeg til soltørring på denne Beats by DR.DRE
    Bogstavelig oversættelse fra engelsk, vi kender, er DR.DRE (D ph.d.) design dette headset!

  4. I recently came across your blog and have been reading along. I thought I would leave my first comment. I dont know what to say except that I have enjoyed reading. Nice blog. I will keep visiting this blog very often.auto diagnostic tool

  5. Hi!
    I have been doing a random app to learn QML, and I’m stuck. I have got some questions hope somebody answers:

    I would like the app to work on Fremantle and Harmattan..
    1) Are there best practices for that?
    2) Are com.nokia.meego 1.0 availlable for Fremantle? for Meego CE? for Linux desktop?
    3) If I need to use different UI for different platforms, how do I include target specific code in my project?
    4) I want to rearrange some of my QML items when orientation changes, how do I detect the change, and how do I rearrange them? Can I just set new values for their anchors?
    5) Where should I ask these questions in general?

    Thanks in advance!

  6. I am not familiar with barcamp but still excited to know about programing tactics. I am using .net platform to build various applications as per my client’s requirement. I am keen to upgrade myself with other platforms to generate offshore software development and get a step ahead of the competition.

Leave a Reply

Your email address will not be published. Required fields are marked *