The Maemo 6 UI framework is built using Qt4.6 for full OpenGL acceleration. It uses a scene graph approach with widgets and layouts as part of the scene. The framework provides the Maemo 6 look and feel with multi-touch gestures, portrait and landscape modes, and animations. A technical preview is available now and feedback should be sent to the listed contact.
1. Maemo 6 UI Framework
Tomas Junnonen
Application Framework Architect, Nokia
1
2. 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
3. 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
4. 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
5. Built using the latest Qt capabilities
• Qt Animation Framework
• State Machine Framework
• Multi-touch & Gestures
• Graphics Effects
• Qt3D
5
6. 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
7. 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
8. 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
9. 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
10. 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