ModRana Roadmap

(New page: == Qt GUI == A Qt base is currently the main item on the modRana roadmap, due to multiple reasons: * it enables modRana to run properly on Harmattan * it enables the use of kinetic scrolli...)
Line 8: Line 8:
* removes the dependency on GTK
* removes the dependency on GTK
** it is currently not possible to submit applications with outside dependencies both to the Ovi store and to Apps for MeeGo (AFM seems to be working on dependency support though)
** it is currently not possible to submit applications with outside dependencies both to the Ovi store and to Apps for MeeGo (AFM seems to be working on dependency support though)
 +
 +
=== What about the current Cairo + GTK based GUI ? ===
 +
the new Qt based GUI should be just another alternative together with the GTK one. Also in the process more a clear core-GUI separation should be developed to enable other alternative GUIs (EFL,SDL/PyGame,Clutter/MX,etc.).
 +
 +
==== Uses for the current GTK GUI ===
 +
* devices and environment with old versions of Qt
 +
** Neo FreeRunner
 +
** Open Pandora (not sure ?)
 +
** Android chroot (not sure ?)
 +
NOTE: Qt/QML unlike Clutter has a software renderer so OpenGL is not needed to use it. Might be interesting to see the QML vs GTK software rendering performance.
 +
 +
==== Main drawbacks ====
 +
* only basic X acceleration
 +
* no 3D acceleration, smooth scrolling, rotation animation acceleration
 +
* as the classic GTK widgets are basically unusable on mobile devices, modRana has to basically build its own GUI toolkit with Cairo
 +
** while flexible, this is '''very''' labor intensive
 +
** most of new features and improvements are not blocked by extensive GUI improvements needed to make them usable, the backend work is quite easy in comparison
 +
** examples:
 +
*** on-map context menu - needs a new context menu widget
 +
*** long list handling with search - kinetic scrolling (is it doable with Cairo) + interactive search box [built in in Qt Components]
 +
*** clickable in text links [easy with QML]
 +
*** multiline text editing for POI descriptions, etc. [very easy with QML]

Revision as of 13:23, 5 January 2012

Contents

Qt GUI

A Qt base is currently the main item on the modRana roadmap, due to multiple reasons:

  • it enables modRana to run properly on Harmattan
  • it enables the use of kinetic scrolling, smooth animations and generally improves performance
  • generally better suitable for touchscreen interfaces with Qt Quick (QML)
    • unlike Clutter, that needs OpenGL, QML also supports software rendering
    • development experience with Mieru generally shows it's much faster to work with than doing custom UI with Cairo
  • removes the dependency on GTK
    • it is currently not possible to submit applications with outside dependencies both to the Ovi store and to Apps for MeeGo (AFM seems to be working on dependency support though)

What about the current Cairo + GTK based GUI ?

the new Qt based GUI should be just another alternative together with the GTK one. Also in the process more a clear core-GUI separation should be developed to enable other alternative GUIs (EFL,SDL/PyGame,Clutter/MX,etc.).

= Uses for the current GTK GUI

  • devices and environment with old versions of Qt
    • Neo FreeRunner
    • Open Pandora (not sure ?)
    • Android chroot (not sure ?)

NOTE: Qt/QML unlike Clutter has a software renderer so OpenGL is not needed to use it. Might be interesting to see the QML vs GTK software rendering performance.

Main drawbacks

  • only basic X acceleration
  • no 3D acceleration, smooth scrolling, rotation animation acceleration
  • as the classic GTK widgets are basically unusable on mobile devices, modRana has to basically build its own GUI toolkit with Cairo
    • while flexible, this is very labor intensive
    • most of new features and improvements are not blocked by extensive GUI improvements needed to make them usable, the backend work is quite easy in comparison
    • examples:
      • on-map context menu - needs a new context menu widget
      • long list handling with search - kinetic scrolling (is it doable with Cairo) + interactive search box [built in in Qt Components]
      • clickable in text links [easy with QML]
      • multiline text editing for POI descriptions, etc. [very easy with QML]