Matthias is a well-known member of the Free Software Community. He created the LyX document-processor and is a founder of the K Desktop Environment (KDE), which aims at providing Linux and Unix systems with a familiar and friendly graphical user interface. KDE is built with the Qt toolkit created by Trolltech, now Nokia Qt Development Frameworks. As VP Engineering, Matthias lead the Qt development team during the creation of Qt 4. Today he is the head of Nokia Qt Development Framework's R&D office in Berlin, working among others on Qt Creator.
Keynote held during Qt Developer Days 2009.
http://qt.nokia.com/developer/learning/elearning
WordPress Websites for Engineers: Elevate Your Brand
Qt Developer Days 2009 Keynote - Portable UIs
1. QML, the future of Qt’s UI
New Paradigms for Portable User Interfaces
2. What Determines a User Interface (UI)
• Graphics Power
• Screen
• Input Method
• Purpose
3. What Determines a User Interface (UI)
15 years ago
• Graphics Power 2D primitives
• Screen 75dpi
• Input Method keybord, joystick, mouse
• Purpose offline content creation, calculation
4. What Determines a User Interface (UI)
Today
• Graphics Power animated 3D rendering
• Screen 240dpi
• Input Method keyboard, stylus, touch, accelerometer
• Purpose managing huge amounts of content
(online & offline), communication,
collaboration, fun
5. Widget Model
Window
Widget
Widget
Widget
Widget
Widget Widget
6. Widget Model
• Widgets are rectangular
• Widgets have a parent and optional child widgets
• Widgets are clipped to their parent and clip their children
• Widgets draw the pixels they are responsible for
• Widgets manage their content
• Widgets are expensive to show/hide/move/resize
• Widgets are (almost) impossible to flip/rotate/stretch
9. Widget Model
UIs using widgets are
– Clearly structured / Bulky
– Static
– Enforcing standard platform look and feel
– Very useful for traditional applications
11. What do we want?
• Express a UI the way we think about it: components,
views, states, transitions, animations and effects
• Connect the UI to real data and back-end functionality
• Everything should be fast and easy
• In fact so easy that also designers can do it (e.g. the sort
of people doing Flash, Silverlight and Web)
12. What do we want?
• A world where developers and designers work directly
together on the same project
• A world where a UI is determined by its usability and not
by limitations of the underlying technology
13. Meet QML
• QML is a new declarative language extension to Qt
• It maps almost directly to how you should think about a
UI: components, views, states, transitions, animations
and effects
• The declarative language itself is simple and intuitive,
the rest is JavaScript.
• All the power and freedom of Qt is still available
15. Summary
• QML is a new declarative language extension to Qt
• It provides you with all the elements you need to think
about a UI and nothing more
• It allows complete concentration on the UI and finding
and solving problems as fast as possible
• It’s so simply and intuitive that designers and developers
can work directly together
• Programmers: You will never want to code a UI in C++
again
• Designers: You will never need to prototype the UI with a
separate technology again