KEMBAR78
Maemo 6 UI Framework | PDF
Maemo 6 UI Framework


Tomas Junnonen
Application Framework Architect, Nokia




                               1
Status Quo of the Maemo 5 UI framework
• UI Framework implemented using Gtk+
• Window composition using OpenGL
• Single-touch gestures
• Gtk+ applications use the CPU for rendering
• Applications can however use OpenGL directly




                                 2
Drivers for renewal in Maemo 6
• Iconic user experience, animations & transitions
• Portrait and landscape throughout the UI
• Hardware trends
• OpenGL ES acceleration
• Multi-touch, capacitive displays
• Improved finger usability




                                     3
Maemo 6 UI Framework
• Built using Qt4.6
• Full UI acceleration using OpenGL
• Designed from the ground up to be finger usable
• Multi-touch gestures
• Portrait and landscape modes
• Core components are cross platform for a better developer experience




                                 4
Built using the latest Qt capabilities
• Qt Animation Framework
• State Machine Framework
• Multi-touch & Gestures
• Graphics Effects
• Qt3D




                            5
A scene graph approach to UI
• Built using the Qt Graphics View Framework
• Widgets, layouts, all part of one big scene
• Windows act as views into the scenes
• Supports zooming, rotation, animations
• Simple physics for select components




                                   6
Qt provides
• OpenGL ES 2.0 accelerated painting system
• Graphics View
• A base for developing widgets for the scene
• Collision detection, events, layouts, drag and drop, input handling, etc.
• Framework for creating animations
• The kitchen sink




                                   7
Maemo 6 UI framework provides
• Maemo 6 UI look and feel
• A set of widgets for the scene
• Additional layouts, including implicit animations
• Application level scene management, transitions
• Maemo 6 specific gestures
• Application life cycle management
• An advanced theming system based on SVG and CSS




                                   8
Core UI framework components also include
• The usual suspects:
   • Device homescreen
   • Control panel
   • Help system
• A compositing window manager
• Resource management and sharing daemon




                                 9
Maemo 6 UI framework - Technical Preview
• Available now:
   http://qt.gitorious.org/maemo-6-ui-framework

• Includes the application framework library and the homescreen
• Dependencies include the Qt 4.6 technical preview
• Feedback and questions to: tomas.junnonen@nokia.com




                                 10

Maemo 6 UI Framework

  • 1.
    Maemo 6 UIFramework Tomas Junnonen Application Framework Architect, Nokia 1
  • 2.
    Status Quo ofthe Maemo 5 UI framework • UI Framework implemented using Gtk+ • Window composition using OpenGL • Single-touch gestures • Gtk+ applications use the CPU for rendering • Applications can however use OpenGL directly 2
  • 3.
    Drivers for renewalin Maemo 6 • Iconic user experience, animations & transitions • Portrait and landscape throughout the UI • Hardware trends • OpenGL ES acceleration • Multi-touch, capacitive displays • Improved finger usability 3
  • 4.
    Maemo 6 UIFramework • Built using Qt4.6 • Full UI acceleration using OpenGL • Designed from the ground up to be finger usable • Multi-touch gestures • Portrait and landscape modes • Core components are cross platform for a better developer experience 4
  • 5.
    Built using thelatest Qt capabilities • Qt Animation Framework • State Machine Framework • Multi-touch & Gestures • Graphics Effects • Qt3D 5
  • 6.
    A scene graphapproach to UI • Built using the Qt Graphics View Framework • Widgets, layouts, all part of one big scene • Windows act as views into the scenes • Supports zooming, rotation, animations • Simple physics for select components 6
  • 7.
    Qt provides • OpenGLES 2.0 accelerated painting system • Graphics View • A base for developing widgets for the scene • Collision detection, events, layouts, drag and drop, input handling, etc. • Framework for creating animations • The kitchen sink 7
  • 8.
    Maemo 6 UIframework provides • Maemo 6 UI look and feel • A set of widgets for the scene • Additional layouts, including implicit animations • Application level scene management, transitions • Maemo 6 specific gestures • Application life cycle management • An advanced theming system based on SVG and CSS 8
  • 9.
    Core UI frameworkcomponents also include • The usual suspects: • Device homescreen • Control panel • Help system • A compositing window manager • Resource management and sharing daemon 9
  • 10.
    Maemo 6 UIframework - Technical Preview • Available now: http://qt.gitorious.org/maemo-6-ui-framework • Includes the application framework library and the homescreen • Dependencies include the Qt 4.6 technical preview • Feedback and questions to: tomas.junnonen@nokia.com 10