Skip to content

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

  • strict warning: Non-static method view::load() should not be called statically in /home/artemmarchenko/agilesoftwaredevelopment.com/modules/views/views.module on line 823.
  • strict warning: Declaration of views_plugin_display::options_validate() should be compatible with views_plugin::options_validate(&$form, &$form_state) in /home/artemmarchenko/agilesoftwaredevelopment.com/modules/views/plugins/views_plugin_display.inc on line 1684.
  • strict warning: Declaration of views_plugin_display_page::options_submit() should be compatible with views_plugin_display::options_submit(&$form, &$form_state) in /home/artemmarchenko/agilesoftwaredevelopment.com/modules/views/plugins/views_plugin_display_page.inc on line 457.
  • strict warning: Declaration of views_plugin_display_block::options_submit() should be compatible with views_plugin_display::options_submit(&$form, &$form_state) in /home/artemmarchenko/agilesoftwaredevelopment.com/modules/views/plugins/views_plugin_display_block.inc on line 184.
  • strict warning: Declaration of views_handler_field_broken::ui_name() should be compatible with views_handler::ui_name($short = false) in /home/artemmarchenko/agilesoftwaredevelopment.com/modules/views/handlers/views_handler_field.inc on line 243.
  • strict warning: Declaration of views_handler_sort_broken::ui_name() should be compatible with views_handler::ui_name($short = false) in /home/artemmarchenko/agilesoftwaredevelopment.com/modules/views/handlers/views_handler_sort.inc on line 82.
  • strict warning: Declaration of views_handler_filter::options_validate() should be compatible with views_handler::options_validate($form, &$form_state) in /home/artemmarchenko/agilesoftwaredevelopment.com/modules/views/handlers/views_handler_filter.inc on line 584.
  • strict warning: Declaration of views_handler_filter::options_submit() should be compatible with views_handler::options_submit($form, &$form_state) in /home/artemmarchenko/agilesoftwaredevelopment.com/modules/views/handlers/views_handler_filter.inc on line 584.
  • strict warning: Declaration of views_handler_filter_broken::ui_name() should be compatible with views_handler::ui_name($short = false) in /home/artemmarchenko/agilesoftwaredevelopment.com/modules/views/handlers/views_handler_filter.inc on line 608.
  • strict warning: Declaration of views_plugin_row::options_validate() should be compatible with views_plugin::options_validate(&$form, &$form_state) in /home/artemmarchenko/agilesoftwaredevelopment.com/modules/views/plugins/views_plugin_row.inc on line 61.
  • strict warning: Declaration of views_plugin_row::options_submit() should be compatible with views_plugin::options_submit(&$form, &$form_state) in /home/artemmarchenko/agilesoftwaredevelopment.com/modules/views/plugins/views_plugin_row.inc on line 61.

October 9, 2011 by Artem Marchenko

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

About the Author: As the Editor-in-Chief for AgileSoftwareDevelopment.com, Artem is charged with overseeing the direction for content, advertising, and the overall management of the site. Nowadays in his day life, Artem is a product manager in a global telecommunication company where he leads the development of a product developed in extremely distributed environment. Artem has been applying Agile and researching Agile since 2005. Contact Artem

Comments

Thank you for the

October 12, 2011 by Artem, 4 years 50 weeks ago
Comment id: 20392

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.

N900 = no QML components

January 19, 2012 by Artem, 4 years 36 weeks ago
Comment id: 20782

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.

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Allowed HTML tags: <a> <b> <i> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img> <br> <blockquote>
  • Lines and paragraphs break automatically.
  • Web page addresses and e-mail addresses turn into links automatically.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>. Beside the tag style "<foo>" it is also possible to use "[foo]".

More information about formatting options

By submitting this form, you accept the Mollom privacy policy.

Best of AgileSoftwareDevelopment.com