SlideShare une entreprise Scribd logo
1  sur  41
Télécharger pour lire hors ligne
Success story and future challenges of
applying Qt for embedded Linux

Software Research Associates, Inc.
Agenda


• Introduction

• Experience of GUI Development for Embedded Devices

• Future Challenges for Embedded Development with Qt




                                                       1
Introduction




               2
Where come from
Who are we


• Software Research Associates, Inc. (SRA)

• Started over 40 years ago as a strictly neutral,
  independent information technology services company

• Based in Tokyo Japan
   – 6 subsidiaries in Japan

   – 7 subsidiaries in Asia, USA and Europe

• Employees: 1800 people

• http://www.sra.co.jp


                                                        4
Who are we


• Business units
   – System development and related services

   – Business application services and products

   – Network administration; System operation/administration

   – Linux; Open Source Software; EDI/EC

   – Solutions for educational institutions




                                                               5
Who am I


• Osamu Kobayashi
  – 30 years experience of software development; joined SRA 1998

  – Used Qt since 2006

  – Senior Software Manager and Developer in SRA

  – Some development projects
    Embedded software written in assembly language, package
    software for PCs in C/C++, server applications written in Java,
    GUI software development for high-end and low-end multi
    functional printers



                                                                      6
What we do for Qt


• Qt Services
   – Qt training since 2002

   – Qt professional service s for desktop since 2003

   – Qt professional services for embedded since 2004

   – Squish/Qt professional services since 2004

• Seminars
   – Wingnut seminar - Qt and KDE seminar in 2000

   – Qt hands-on seminar every month since 2006

   – Squish/Qt hands-on seminars since 2006


                                                        7
What we do for Qt


• Books
   – Published the first Qt book in Japanese from Gijutsu-Hyohron in 2000

   – Published the first KDE book in Japanese from Gijutsu-Hyohron in
     2001

   – Translated C++ GUI Programming with Qt 3 from Softbank in 2005

   – Translated C++ GUI Programming with Qt 4 from O'Reilly in 2007

• Articles
   – Over 40 Qt related articles for magazines and web since 1999




                                                                            8
What we do for Qt


• Software Development with Qt for our customers
   – The first use. Applied Qt for VLSI CAD in 1999

   – Karaoke machine

   – Qt 4 porting from Qt 3 - Car designe CAD, MainConcept and high-
     resolution scanner

   – Very high-resolution scanner

   – Large LCI production system

   – Custom widgets development
   – Prototyping for mobile phone application with QML of Declarative UI.



                                                                            9
What we do for Qt


• Software Development with Qt for our customers (cont.)
   – PDA software - Main launcher, instant messenger, movie player,
     music player and so on

   – High-end multi-functional printer (my project)




                                                                      10
What we do for Qt


• Products for Qt for Embedded
   – Qinput - Input method front-end

   – Qtouch - Flexible software keyboard

   – T-Kenel/ITRON port (under development)




                                              11
What we do for Qt
Qinput and Qtouch   Qinput - Input method front-end
                    Qtouch - Flexible software keyboard




                                                          12
What we do for Qt
T-Kernel/ITRON port (under development)


• General architecture




                                          13
What we do for Qt
T-Kernel/ITRON port (under development)


• Task and process architecture




                                          14
What we do for Qt

■ Partnership with Nokia, Qt Development Frameworks(Trolltech)
                            Received a request “Partnership Agreement”
                             Received a request “Partnership Agreement”
     2000                              from former Trolltech
                                        from former Trolltech

                                Started Qt training in Japanese
                                 Started Qt training in Japanese
     2002            (A Customer requested Japanese training to Trolltech)
                      (A Customer requested Japanese training to Trolltech)
                                               July, 2003
                                                July, 2003
     2003                         execution of Partnership agreement
                                   execution of Partnership agreement

     2004                                    Started Qt Embedded
                                              Started Qt Embedded

 SRA is a leading company in Qt business, started “Qt full support” in Japanese
      Our “One-Stop Support Service” satisfies you in Qt use.
      We all provide “License, Training, Consultation, Software development.”
 Authorized Qt trainers
      We are the only authorized Qt trainers by Qt in Japan.
      We a pioneer of Qt in Japan, and have a lot of Qt writings.
      We are the only company that provides “Support” and “Training” in Japanese by authorized trainers.



                                                                                                           15
What we do for Qt
   ■ We provide everything you need! !
     “license, consultation, software development, training, one-stop full
   support”
                                                        Distribution
                                                        Distribution
Seminar
Seminar
                                                             - Qt license
 - Free experience seminar/Training                          - SRA Original Qt Solution
                                                                ・SW keyboard「Qtouch」
                                                                ・Japanese input module「Qinput」
                                                             - automatic test tool Squish for Qt
   Consultation
   Consultation
    - Introduction support
    - Customization、Tuning

                                                                Support
                                                                Support
Software development
Software development                                              - Support in Japanese
     -Development team with Qt experiences                        - LGPL Support
     -Cooperate with Qt support team
     -Automatic test by Squish for Qt


       SRA helps you to practical use of Qt with our Software development experiences.
       SRA helps you to practical use of Qt with our Software development experiences.
       We are the only company knows about Qt and provide everything what you need!
       We are the only company knows about Qt and provide everything what you need!


                                                                                                   16
Experience of GUI Development for Embedded Systems




                                                     17
GUI Framework Development for Embedded


• Elements of GUI Framework Development with Qt
   – Integration of Qt with proprietary frameworks

   – Custom GUI Components

   – Tools for designing screen layouts

   – Engine for screen transitions

   – Management of ‘resources’ (strings and images)




                                                      18
GUI Framework Development for Embedded

• Issues in GUI framework development for embedded
   – Technical
      • Integration of Qt and proprietary system architecture

      • GUI Style different from desktop applications

      • Performance

      • Integration of Web Browser

      • Multilingual support

   – Non-Technical
      • Mismatch between customer’s expectation and Qt’s offering

      • Software development culture
GUI Framework Development for Embedded
• Technical issue:
   – Integration of Qt and proprietary system architecture
       • Overlapping and competing functionalities between customer's
         architecture and Qt frameworks

           – Management of threads

           – Management of communications

           – Management of event dispatching

           – etc.

       • Good understanding of both of Qt and customer’s architecture are
         required.

       • Event event dispatching may be the key point
GUI Framework Development for Embedded
• Technical issue:
   – Integration of Qt and proprietary system architecture


                                                                   Qt
              Qt
                                         other
                                                              GUI framework
                                       subsystem
                                                          thread      event
    app. framework
    thread network   event
                                                app. framework
                                       thread       network           event
GUI Framework Development for Embedded
• Technical issue:
   – GUI Style different from desktop applications
       • Low resolution of LCD and touch panels result in

           – Simple GUI components (manipulated by user’s fingertips)

           – Simple layout design with fixed geometry

           – Many, many screens (sometimes more than 1,000 screens)

           – Complex screen transitions

       • No universal standard look & feels

       • Same GUI style covering many products, from small (without Qt) to
         large (with Qt).

       • These may restrict usage of rich Widget set of Qt
GUI Framework Development for Embedded

• Technical issue:
   – GUI Style different from desktop applications
       • Custom made GUI Components

           – Simple components with fixed features
             over flexible feature-rich components

       • Layout design tools

           – Simple, fixed-purpose format converters and code generators
             can help developers greatly

           – Flexible, full-fledged design tools ( like QtDesigner ) may be
             overkill
GUI Framework Development for Embedded

• Technical issue:
   – Performance
      • ‘Heaviness’ of QObject and QWidget

      • Treatment of Images

      • Widget’s opacity
GUI Framework Development for Embedded
• Technical issue:
   – ‘Heaviness’ of QObjects and QWidgets
      • Are QObjects and QWidgets heavy ?!

          – Cost of signal-slot connection

          – Cost of ‘thread awareness’

          – Cost of ‘moc’ objects

      • Solutions:

          – POCO (Plain Old C++ Objects)

          – POOP (Plain Old Observer Pattern)

          – Resulted in a little bit of (yet critical) efficiency,
            but complicated code …
GUI Framework Development for Embedded

• Technical issue:
   – Treatment of Images
      • Image files over images as resources

          – ‘On memory’ file systems can be faster than resources as a
            container of many images.

      • QImage over QPixmap

          – QImage permit finer control of pixel depth and formats

          – On Qt/Embedded, QPixmaps have few performance
            advantages over QImages

      • Removal of redundant alpha channels
GUI Framework Development for Embedded

• Technical issue:
   – Opacity of Widget
      • Opacity of Widgets can result in redundant drawing operations.
GUI Framework Development for Embedded
• Technical issue:

   – Integration with web browsers
      • Web browsers are becoming essential for embedded devices

      • How to integrate browsers

          – Make everything on browsers (html + css + javascript)

          – Browsers as separate processes

          – Browsers as in-process components
GUI Framework Development for Embedded

• Technical issue:
   – Integration with web browsers
      • Choice of browsers

          – Small memory footprint

          – Proven commercial browser with technical support

          – Proprietary customization and extension

      • Benefits of Qt as a proven GUI platform

          – Browser Venders are ready to port their products on Qt

          – QProcess and QCopChannel make interactions with Browser
            process much easy
GUI Framework Development for Embedded

• Technical issue:
   – Multilingual support
       • Manufacturers sell their products world-wide.

           – Qt’s fully supported internationalization gives advantage
             manufacturers of products for foreign market

       • Advantage of high-quality and low-cost Multi-lingualization

           – English, Japanese, Chinese, Korea, French and German

           – As well as adapting to Arabic, Hebrew.
GUI Framework Development for Embedded

• Non-technical-issue:
   – Mismatching between customer’s expectation and Qt’s offering
      • Expected by customers;

          – Sophisticated, high performance graphics engine

          – Visual design tools for non-programmers
            (QtDesigner may be too programmer-oriented…)

      • (Sometimes) not expected by customers;

          – Qt as total application framework
GUI Framework Development for Embedded

• Non-technical issue:
   – Software development culture
      • Some gaps yet to be fulfilled…

          – Developers grown in ‘Procedural’ C Language

          – Tendency toward static, predictable software structure

          – Division of research teams and production teams

      • Making customers understand benefits of Qt

          – Qt is good tool to educate good object oriented programming.
Future Challenges for Embedded Development with Qt




                                                     33
Future Challenges for Qt

• Customers Expectations
   – GUI Design without programming

   – Animated User Interfaces

• Our Expectations
   – State-machine framework

   – Declarative-UI

   – Tighter integration of WEB
Future Challenges for Qt

• GUI Design without programming
   – Simplified, customizable, visual designer
       • QtDesigner may be too programmer-oriented

           – Direct correspondence to Qt API

           – Component palette full of Standard Widgets (which are not
             suitable for Embedded systems)

   – Visual ‘screen flow’ designer
       • Screen flows on embedded systems tends to be complex due to
         small screen size and growing functionalities

       • Screen flows are strictly designed in upper process
Future Challenges for Qt

• Animated User Interfaces
   – Animated User Interfaces are becoming common

   – Uniform animation style across different domains will be essential for
     usability

   – So we need ‘standardized’ animation framework
Future Challenges for Qt

• State-machine framework
  – Nature of embedded systems
     • Embedded systems are ‘reactive systems’ driven by events.

     • Design and analysis with state-machine models are essential for
       high quality embedded systems.

  – UI Design point of views
     • Complex user interfaces can be modeled with state-machines.

     • State-machine models can be end-user friendly and improve visual
       design tools
Future Challenges for Qt

• Declarative-UI
   – Sophisticated UI Design needs rapid prototyping by UI designers

   – End user’s concerns are ‘What’, not ‘How’

   – Declarative-UI framework ties between UI designers and End-
     users more directly.

   – Constructing or evaluating Declarative-UI framework is
     challenging and enjoyable for developers, too
Future Challenges for Qt

• Tighter integration of WEB
   – WebKit integration tuned for embedded systems
      • As a foundation for customizable, extensible user interface

   – Tight collaborations between Web and device’s internal
     functionalities.
Thank you




            40

Contenu connexe

Tendances

Polyglot and Functional Programming (OSCON 2012)
Polyglot and Functional Programming (OSCON 2012)Polyglot and Functional Programming (OSCON 2012)
Polyglot and Functional Programming (OSCON 2012)Martijn Verburg
 
Java Presentation
Java PresentationJava Presentation
Java PresentationAmr Salah
 
Demystifying IoT skills : What does it take to become a FullStack IoT engineer?
Demystifying IoT skills : What does it take to become a FullStack IoT engineer?Demystifying IoT skills : What does it take to become a FullStack IoT engineer?
Demystifying IoT skills : What does it take to become a FullStack IoT engineer?Emertxe Information Technologies Pvt Ltd
 
KDE Plasma for Mobile Phones
KDE Plasma for Mobile PhonesKDE Plasma for Mobile Phones
KDE Plasma for Mobile Phonesaccount inactive
 
Adopt OpenJDK - Lessons learned and Where we're going (FOSDEM 2013)
Adopt OpenJDK - Lessons learned and Where we're going (FOSDEM 2013)Adopt OpenJDK - Lessons learned and Where we're going (FOSDEM 2013)
Adopt OpenJDK - Lessons learned and Where we're going (FOSDEM 2013)Martijn Verburg
 
JDD2015: Towards the Fastest (J)VM on the Planet! - Jaroslav Tulach
JDD2015: Towards the Fastest (J)VM on the Planet! - Jaroslav TulachJDD2015: Towards the Fastest (J)VM on the Planet! - Jaroslav Tulach
JDD2015: Towards the Fastest (J)VM on the Planet! - Jaroslav TulachPROIDEA
 
Eclipsecon 2010 - Scala Support in Eclipse
Eclipsecon 2010 - Scala Support in EclipseEclipsecon 2010 - Scala Support in Eclipse
Eclipsecon 2010 - Scala Support in EclipseMiles Sabin
 
JVM Languages Support in Eclipse - Monkey-patching the JDT for fun and profit?
JVM Languages Support in Eclipse - Monkey-patching the JDT for fun and profit?JVM Languages Support in Eclipse - Monkey-patching the JDT for fun and profit?
JVM Languages Support in Eclipse - Monkey-patching the JDT for fun and profit?Miles Sabin
 
Scala Support in Eclipse - Monkey-patching the JDT for fun and profit?
Scala Support in Eclipse - Monkey-patching the JDT for fun and profit?Scala Support in Eclipse - Monkey-patching the JDT for fun and profit?
Scala Support in Eclipse - Monkey-patching the JDT for fun and profit?Miles Sabin
 

Tendances (13)

Polyglot and Functional Programming (OSCON 2012)
Polyglot and Functional Programming (OSCON 2012)Polyglot and Functional Programming (OSCON 2012)
Polyglot and Functional Programming (OSCON 2012)
 
Java Presentation
Java PresentationJava Presentation
Java Presentation
 
Meet Qt
Meet QtMeet Qt
Meet Qt
 
Demystifying IoT skills : What does it take to become a FullStack IoT engineer?
Demystifying IoT skills : What does it take to become a FullStack IoT engineer?Demystifying IoT skills : What does it take to become a FullStack IoT engineer?
Demystifying IoT skills : What does it take to become a FullStack IoT engineer?
 
KDE Plasma for Mobile Phones
KDE Plasma for Mobile PhonesKDE Plasma for Mobile Phones
KDE Plasma for Mobile Phones
 
Adopt OpenJDK - Lessons learned and Where we're going (FOSDEM 2013)
Adopt OpenJDK - Lessons learned and Where we're going (FOSDEM 2013)Adopt OpenJDK - Lessons learned and Where we're going (FOSDEM 2013)
Adopt OpenJDK - Lessons learned and Where we're going (FOSDEM 2013)
 
JDD2015: Towards the Fastest (J)VM on the Planet! - Jaroslav Tulach
JDD2015: Towards the Fastest (J)VM on the Planet! - Jaroslav TulachJDD2015: Towards the Fastest (J)VM on the Planet! - Jaroslav Tulach
JDD2015: Towards the Fastest (J)VM on the Planet! - Jaroslav Tulach
 
Eclipsecon 2010 - Scala Support in Eclipse
Eclipsecon 2010 - Scala Support in EclipseEclipsecon 2010 - Scala Support in Eclipse
Eclipsecon 2010 - Scala Support in Eclipse
 
JVM Languages Support in Eclipse - Monkey-patching the JDT for fun and profit?
JVM Languages Support in Eclipse - Monkey-patching the JDT for fun and profit?JVM Languages Support in Eclipse - Monkey-patching the JDT for fun and profit?
JVM Languages Support in Eclipse - Monkey-patching the JDT for fun and profit?
 
Internet of things : Beginners view
Internet of things : Beginners viewInternet of things : Beginners view
Internet of things : Beginners view
 
Scala Support in Eclipse - Monkey-patching the JDT for fun and profit?
Scala Support in Eclipse - Monkey-patching the JDT for fun and profit?Scala Support in Eclipse - Monkey-patching the JDT for fun and profit?
Scala Support in Eclipse - Monkey-patching the JDT for fun and profit?
 
resume
resumeresume
resume
 
Java Introduction
Java IntroductionJava Introduction
Java Introduction
 

Similaire à Success Story and Future Challenges of Applying Qt for Embedded Linux

Mp25: Mobile dev with QT and Python for the Notorious N9
Mp25: Mobile dev with QT and Python for the Notorious N9Mp25: Mobile dev with QT and Python for the Notorious N9
Mp25: Mobile dev with QT and Python for the Notorious N9Montreal Python
 
Learn how to develop applications and UIs with Qt Commercial
Learn how to develop applications and UIs with Qt CommercialLearn how to develop applications and UIs with Qt Commercial
Learn how to develop applications and UIs with Qt CommercialQt Commercial, Digia
 
Develer - Company Profile
Develer - Company ProfileDeveler - Company Profile
Develer - Company ProfileDeveler S.r.l.
 
Case Study: Using Qt to Develop Advanced GUIs & Advanced Visualization Software
Case Study: Using Qt to Develop Advanced GUIs & Advanced Visualization SoftwareCase Study: Using Qt to Develop Advanced GUIs & Advanced Visualization Software
Case Study: Using Qt to Develop Advanced GUIs & Advanced Visualization Softwareaccount inactive
 
Cutest technology of them all - Forum Nokia Qt Webinar December 2009
Cutest technology of them all - Forum Nokia Qt Webinar December 2009Cutest technology of them all - Forum Nokia Qt Webinar December 2009
Cutest technology of them all - Forum Nokia Qt Webinar December 2009Nokia
 
So I Downloaded Qt, Now What?
So I Downloaded Qt, Now What?So I Downloaded Qt, Now What?
So I Downloaded Qt, Now What?Janel Heilbrunn
 
So I downloaded Qt, Now What?
So I downloaded Qt, Now What?So I downloaded Qt, Now What?
So I downloaded Qt, Now What?ICS
 
Contribuire al Qt Project
Contribuire al Qt ProjectContribuire al Qt Project
Contribuire al Qt ProjectQT-day
 
Qt user interface
Qt user interfaceQt user interface
Qt user interfacemeriem sari
 
What's unique to Qt
What's unique to QtWhat's unique to Qt
What's unique to QtYikei Lu
 
Architecting Qt Mobile Applications: Frameworks, Code Generators and Beyond
Architecting Qt Mobile Applications: Frameworks, Code Generators and BeyondArchitecting Qt Mobile Applications: Frameworks, Code Generators and Beyond
Architecting Qt Mobile Applications: Frameworks, Code Generators and BeyondSandro Andrade
 
Qt Developer Days 2009 Keynote - Qt Everywhere
Qt Developer Days 2009 Keynote - Qt EverywhereQt Developer Days 2009 Keynote - Qt Everywhere
Qt Developer Days 2009 Keynote - Qt Everywhereaccount inactive
 
Andreas Jakl Software Development on Nokia Deviceswith Qt
Andreas Jakl Software Development on Nokia Deviceswith QtAndreas Jakl Software Development on Nokia Deviceswith Qt
Andreas Jakl Software Development on Nokia Deviceswith QtNokiaAppForum
 
Meet Qt Canada
Meet Qt CanadaMeet Qt Canada
Meet Qt CanadaQt
 
Qt - for stack overflow developer conference
Qt - for stack overflow developer conferenceQt - for stack overflow developer conference
Qt - for stack overflow developer conferenceNokia
 

Similaire à Success Story and Future Challenges of Applying Qt for Embedded Linux (20)

Treinamento Qt básico - aula I
Treinamento Qt básico - aula ITreinamento Qt básico - aula I
Treinamento Qt básico - aula I
 
Mp25: Mobile dev with QT and Python for the Notorious N9
Mp25: Mobile dev with QT and Python for the Notorious N9Mp25: Mobile dev with QT and Python for the Notorious N9
Mp25: Mobile dev with QT and Python for the Notorious N9
 
Learn how to develop applications and UIs with Qt Commercial
Learn how to develop applications and UIs with Qt CommercialLearn how to develop applications and UIs with Qt Commercial
Learn how to develop applications and UIs with Qt Commercial
 
Develer - Company Profile
Develer - Company ProfileDeveler - Company Profile
Develer - Company Profile
 
Develer - Company Profile
Develer - Company ProfileDeveler - Company Profile
Develer - Company Profile
 
Case Study: Using Qt to Develop Advanced GUIs & Advanced Visualization Software
Case Study: Using Qt to Develop Advanced GUIs & Advanced Visualization SoftwareCase Study: Using Qt to Develop Advanced GUIs & Advanced Visualization Software
Case Study: Using Qt to Develop Advanced GUIs & Advanced Visualization Software
 
Intel AppUp™ SDK Suite 1.2 for MeeGo
Intel AppUp™ SDK Suite 1.2 for MeeGoIntel AppUp™ SDK Suite 1.2 for MeeGo
Intel AppUp™ SDK Suite 1.2 for MeeGo
 
Cutest technology of them all - Forum Nokia Qt Webinar December 2009
Cutest technology of them all - Forum Nokia Qt Webinar December 2009Cutest technology of them all - Forum Nokia Qt Webinar December 2009
Cutest technology of them all - Forum Nokia Qt Webinar December 2009
 
So I Downloaded Qt, Now What?
So I Downloaded Qt, Now What?So I Downloaded Qt, Now What?
So I Downloaded Qt, Now What?
 
So I downloaded Qt, Now What?
So I downloaded Qt, Now What?So I downloaded Qt, Now What?
So I downloaded Qt, Now What?
 
Contribuire al Qt Project
Contribuire al Qt ProjectContribuire al Qt Project
Contribuire al Qt Project
 
Qt user interface
Qt user interfaceQt user interface
Qt user interface
 
What's unique to Qt
What's unique to QtWhat's unique to Qt
What's unique to Qt
 
Architecting Qt Mobile Applications: Frameworks, Code Generators and Beyond
Architecting Qt Mobile Applications: Frameworks, Code Generators and BeyondArchitecting Qt Mobile Applications: Frameworks, Code Generators and Beyond
Architecting Qt Mobile Applications: Frameworks, Code Generators and Beyond
 
Qt Developer Days 2009 Keynote - Qt Everywhere
Qt Developer Days 2009 Keynote - Qt EverywhereQt Developer Days 2009 Keynote - Qt Everywhere
Qt Developer Days 2009 Keynote - Qt Everywhere
 
Andreas Jakl Software Development on Nokia Deviceswith Qt
Andreas Jakl Software Development on Nokia Deviceswith QtAndreas Jakl Software Development on Nokia Deviceswith Qt
Andreas Jakl Software Development on Nokia Deviceswith Qt
 
了解 Qt
了解 Qt了解 Qt
了解 Qt
 
Meet Qt Canada
Meet Qt CanadaMeet Qt Canada
Meet Qt Canada
 
Qt quick (qml)
Qt quick (qml)Qt quick (qml)
Qt quick (qml)
 
Qt - for stack overflow developer conference
Qt - for stack overflow developer conferenceQt - for stack overflow developer conference
Qt - for stack overflow developer conference
 

Plus de account inactive

Shipping Mobile Applications Using Qt for Symbian
Shipping Mobile Applications Using Qt for SymbianShipping Mobile Applications Using Qt for Symbian
Shipping Mobile Applications Using Qt for Symbianaccount inactive
 
Scripting Your Qt Application
Scripting Your Qt ApplicationScripting Your Qt Application
Scripting Your Qt Applicationaccount inactive
 
Special Effects with Qt Graphics View
Special Effects with Qt Graphics ViewSpecial Effects with Qt Graphics View
Special Effects with Qt Graphics Viewaccount inactive
 
Developments in The Qt WebKit Integration
Developments in The Qt WebKit IntegrationDevelopments in The Qt WebKit Integration
Developments in The Qt WebKit Integrationaccount inactive
 
Qt on Real Time Operating Systems
Qt on Real Time Operating SystemsQt on Real Time Operating Systems
Qt on Real Time Operating Systemsaccount inactive
 
Development with Qt for Windows CE
Development with Qt for Windows CEDevelopment with Qt for Windows CE
Development with Qt for Windows CEaccount inactive
 
Translating Qt Applications
Translating Qt ApplicationsTranslating Qt Applications
Translating Qt Applicationsaccount inactive
 
Qt State Machine Framework
Qt State Machine FrameworkQt State Machine Framework
Qt State Machine Frameworkaccount inactive
 
Mobile Development with Qt for Symbian
Mobile Development with Qt for SymbianMobile Development with Qt for Symbian
Mobile Development with Qt for Symbianaccount inactive
 
How to Make Your Qt App Look Native
How to Make Your Qt App Look NativeHow to Make Your Qt App Look Native
How to Make Your Qt App Look Nativeaccount inactive
 
Animation Framework: A Step Towards Modern UIs
Animation Framework: A Step Towards Modern UIsAnimation Framework: A Step Towards Modern UIs
Animation Framework: A Step Towards Modern UIsaccount inactive
 
Using Multi-Touch and Gestures with Qt
Using Multi-Touch and Gestures with QtUsing Multi-Touch and Gestures with Qt
Using Multi-Touch and Gestures with Qtaccount inactive
 
Debugging Qt, Fixing and Contributing a Bug Report (Using Gitorious)
Debugging Qt, Fixing and Contributing a Bug Report (Using Gitorious)Debugging Qt, Fixing and Contributing a Bug Report (Using Gitorious)
Debugging Qt, Fixing and Contributing a Bug Report (Using Gitorious)account inactive
 
Copy Your Favourite Nokia App with Qt
Copy Your Favourite Nokia App with QtCopy Your Favourite Nokia App with Qt
Copy Your Favourite Nokia App with Qtaccount inactive
 
The Next Generation Qt Item Views
The Next Generation Qt Item ViewsThe Next Generation Qt Item Views
The Next Generation Qt Item Viewsaccount inactive
 

Plus de account inactive (20)

Shipping Mobile Applications Using Qt for Symbian
Shipping Mobile Applications Using Qt for SymbianShipping Mobile Applications Using Qt for Symbian
Shipping Mobile Applications Using Qt for Symbian
 
The Future of Qt Widgets
The Future of Qt WidgetsThe Future of Qt Widgets
The Future of Qt Widgets
 
Scripting Your Qt Application
Scripting Your Qt ApplicationScripting Your Qt Application
Scripting Your Qt Application
 
Special Effects with Qt Graphics View
Special Effects with Qt Graphics ViewSpecial Effects with Qt Graphics View
Special Effects with Qt Graphics View
 
Developments in The Qt WebKit Integration
Developments in The Qt WebKit IntegrationDevelopments in The Qt WebKit Integration
Developments in The Qt WebKit Integration
 
Qt Kwan-Do
Qt Kwan-DoQt Kwan-Do
Qt Kwan-Do
 
Qt on Real Time Operating Systems
Qt on Real Time Operating SystemsQt on Real Time Operating Systems
Qt on Real Time Operating Systems
 
Development with Qt for Windows CE
Development with Qt for Windows CEDevelopment with Qt for Windows CE
Development with Qt for Windows CE
 
Translating Qt Applications
Translating Qt ApplicationsTranslating Qt Applications
Translating Qt Applications
 
Qt Creator Bootcamp
Qt Creator BootcampQt Creator Bootcamp
Qt Creator Bootcamp
 
Qt Widget In-Depth
Qt Widget In-DepthQt Widget In-Depth
Qt Widget In-Depth
 
Qt State Machine Framework
Qt State Machine FrameworkQt State Machine Framework
Qt State Machine Framework
 
Mobile Development with Qt for Symbian
Mobile Development with Qt for SymbianMobile Development with Qt for Symbian
Mobile Development with Qt for Symbian
 
How to Make Your Qt App Look Native
How to Make Your Qt App Look NativeHow to Make Your Qt App Look Native
How to Make Your Qt App Look Native
 
Animation Framework: A Step Towards Modern UIs
Animation Framework: A Step Towards Modern UIsAnimation Framework: A Step Towards Modern UIs
Animation Framework: A Step Towards Modern UIs
 
Using Multi-Touch and Gestures with Qt
Using Multi-Touch and Gestures with QtUsing Multi-Touch and Gestures with Qt
Using Multi-Touch and Gestures with Qt
 
Debugging Qt, Fixing and Contributing a Bug Report (Using Gitorious)
Debugging Qt, Fixing and Contributing a Bug Report (Using Gitorious)Debugging Qt, Fixing and Contributing a Bug Report (Using Gitorious)
Debugging Qt, Fixing and Contributing a Bug Report (Using Gitorious)
 
The Mobility Project
The Mobility ProjectThe Mobility Project
The Mobility Project
 
Copy Your Favourite Nokia App with Qt
Copy Your Favourite Nokia App with QtCopy Your Favourite Nokia App with Qt
Copy Your Favourite Nokia App with Qt
 
The Next Generation Qt Item Views
The Next Generation Qt Item ViewsThe Next Generation Qt Item Views
The Next Generation Qt Item Views
 

Dernier

Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integrationmarketing932765
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...Nikki Chapple
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
QMMS Lesson 2 - Using MS Excel Formula.pdf
QMMS Lesson 2 - Using MS Excel Formula.pdfQMMS Lesson 2 - Using MS Excel Formula.pdf
QMMS Lesson 2 - Using MS Excel Formula.pdfROWELL MARQUINA
 
A Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxA Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxAna-Maria Mihalceanu
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
All These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFAll These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFMichael Gough
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...amber724300
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024TopCSSGallery
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Karmanjay Verma
 
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...BookNet Canada
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 

Dernier (20)

Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
QMMS Lesson 2 - Using MS Excel Formula.pdf
QMMS Lesson 2 - Using MS Excel Formula.pdfQMMS Lesson 2 - Using MS Excel Formula.pdf
QMMS Lesson 2 - Using MS Excel Formula.pdf
 
A Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxA Glance At The Java Performance Toolbox
A Glance At The Java Performance Toolbox
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
All These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFAll These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDF
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#
 
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
 
How Tech Giants Cut Corners to Harvest Data for A.I.
How Tech Giants Cut Corners to Harvest Data for A.I.How Tech Giants Cut Corners to Harvest Data for A.I.
How Tech Giants Cut Corners to Harvest Data for A.I.
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 

Success Story and Future Challenges of Applying Qt for Embedded Linux

  • 1. Success story and future challenges of applying Qt for embedded Linux Software Research Associates, Inc.
  • 2. Agenda • Introduction • Experience of GUI Development for Embedded Devices • Future Challenges for Embedded Development with Qt 1
  • 5. Who are we • Software Research Associates, Inc. (SRA) • Started over 40 years ago as a strictly neutral, independent information technology services company • Based in Tokyo Japan – 6 subsidiaries in Japan – 7 subsidiaries in Asia, USA and Europe • Employees: 1800 people • http://www.sra.co.jp 4
  • 6. Who are we • Business units – System development and related services – Business application services and products – Network administration; System operation/administration – Linux; Open Source Software; EDI/EC – Solutions for educational institutions 5
  • 7. Who am I • Osamu Kobayashi – 30 years experience of software development; joined SRA 1998 – Used Qt since 2006 – Senior Software Manager and Developer in SRA – Some development projects Embedded software written in assembly language, package software for PCs in C/C++, server applications written in Java, GUI software development for high-end and low-end multi functional printers 6
  • 8. What we do for Qt • Qt Services – Qt training since 2002 – Qt professional service s for desktop since 2003 – Qt professional services for embedded since 2004 – Squish/Qt professional services since 2004 • Seminars – Wingnut seminar - Qt and KDE seminar in 2000 – Qt hands-on seminar every month since 2006 – Squish/Qt hands-on seminars since 2006 7
  • 9. What we do for Qt • Books – Published the first Qt book in Japanese from Gijutsu-Hyohron in 2000 – Published the first KDE book in Japanese from Gijutsu-Hyohron in 2001 – Translated C++ GUI Programming with Qt 3 from Softbank in 2005 – Translated C++ GUI Programming with Qt 4 from O'Reilly in 2007 • Articles – Over 40 Qt related articles for magazines and web since 1999 8
  • 10. What we do for Qt • Software Development with Qt for our customers – The first use. Applied Qt for VLSI CAD in 1999 – Karaoke machine – Qt 4 porting from Qt 3 - Car designe CAD, MainConcept and high- resolution scanner – Very high-resolution scanner – Large LCI production system – Custom widgets development – Prototyping for mobile phone application with QML of Declarative UI. 9
  • 11. What we do for Qt • Software Development with Qt for our customers (cont.) – PDA software - Main launcher, instant messenger, movie player, music player and so on – High-end multi-functional printer (my project) 10
  • 12. What we do for Qt • Products for Qt for Embedded – Qinput - Input method front-end – Qtouch - Flexible software keyboard – T-Kenel/ITRON port (under development) 11
  • 13. What we do for Qt Qinput and Qtouch Qinput - Input method front-end Qtouch - Flexible software keyboard 12
  • 14. What we do for Qt T-Kernel/ITRON port (under development) • General architecture 13
  • 15. What we do for Qt T-Kernel/ITRON port (under development) • Task and process architecture 14
  • 16. What we do for Qt ■ Partnership with Nokia, Qt Development Frameworks(Trolltech) Received a request “Partnership Agreement” Received a request “Partnership Agreement” 2000 from former Trolltech from former Trolltech Started Qt training in Japanese Started Qt training in Japanese 2002 (A Customer requested Japanese training to Trolltech) (A Customer requested Japanese training to Trolltech) July, 2003 July, 2003 2003 execution of Partnership agreement execution of Partnership agreement 2004 Started Qt Embedded Started Qt Embedded SRA is a leading company in Qt business, started “Qt full support” in Japanese Our “One-Stop Support Service” satisfies you in Qt use. We all provide “License, Training, Consultation, Software development.” Authorized Qt trainers We are the only authorized Qt trainers by Qt in Japan. We a pioneer of Qt in Japan, and have a lot of Qt writings. We are the only company that provides “Support” and “Training” in Japanese by authorized trainers. 15
  • 17. What we do for Qt ■ We provide everything you need! ! “license, consultation, software development, training, one-stop full support” Distribution Distribution Seminar Seminar - Qt license - Free experience seminar/Training - SRA Original Qt Solution ・SW keyboard「Qtouch」 ・Japanese input module「Qinput」 - automatic test tool Squish for Qt Consultation Consultation - Introduction support - Customization、Tuning Support Support Software development Software development - Support in Japanese -Development team with Qt experiences - LGPL Support -Cooperate with Qt support team -Automatic test by Squish for Qt SRA helps you to practical use of Qt with our Software development experiences. SRA helps you to practical use of Qt with our Software development experiences. We are the only company knows about Qt and provide everything what you need! We are the only company knows about Qt and provide everything what you need! 16
  • 18. Experience of GUI Development for Embedded Systems 17
  • 19. GUI Framework Development for Embedded • Elements of GUI Framework Development with Qt – Integration of Qt with proprietary frameworks – Custom GUI Components – Tools for designing screen layouts – Engine for screen transitions – Management of ‘resources’ (strings and images) 18
  • 20. GUI Framework Development for Embedded • Issues in GUI framework development for embedded – Technical • Integration of Qt and proprietary system architecture • GUI Style different from desktop applications • Performance • Integration of Web Browser • Multilingual support – Non-Technical • Mismatch between customer’s expectation and Qt’s offering • Software development culture
  • 21. GUI Framework Development for Embedded • Technical issue: – Integration of Qt and proprietary system architecture • Overlapping and competing functionalities between customer's architecture and Qt frameworks – Management of threads – Management of communications – Management of event dispatching – etc. • Good understanding of both of Qt and customer’s architecture are required. • Event event dispatching may be the key point
  • 22. GUI Framework Development for Embedded • Technical issue: – Integration of Qt and proprietary system architecture Qt Qt other GUI framework subsystem thread event app. framework thread network event app. framework thread network event
  • 23. GUI Framework Development for Embedded • Technical issue: – GUI Style different from desktop applications • Low resolution of LCD and touch panels result in – Simple GUI components (manipulated by user’s fingertips) – Simple layout design with fixed geometry – Many, many screens (sometimes more than 1,000 screens) – Complex screen transitions • No universal standard look & feels • Same GUI style covering many products, from small (without Qt) to large (with Qt). • These may restrict usage of rich Widget set of Qt
  • 24. GUI Framework Development for Embedded • Technical issue: – GUI Style different from desktop applications • Custom made GUI Components – Simple components with fixed features over flexible feature-rich components • Layout design tools – Simple, fixed-purpose format converters and code generators can help developers greatly – Flexible, full-fledged design tools ( like QtDesigner ) may be overkill
  • 25. GUI Framework Development for Embedded • Technical issue: – Performance • ‘Heaviness’ of QObject and QWidget • Treatment of Images • Widget’s opacity
  • 26. GUI Framework Development for Embedded • Technical issue: – ‘Heaviness’ of QObjects and QWidgets • Are QObjects and QWidgets heavy ?! – Cost of signal-slot connection – Cost of ‘thread awareness’ – Cost of ‘moc’ objects • Solutions: – POCO (Plain Old C++ Objects) – POOP (Plain Old Observer Pattern) – Resulted in a little bit of (yet critical) efficiency, but complicated code …
  • 27. GUI Framework Development for Embedded • Technical issue: – Treatment of Images • Image files over images as resources – ‘On memory’ file systems can be faster than resources as a container of many images. • QImage over QPixmap – QImage permit finer control of pixel depth and formats – On Qt/Embedded, QPixmaps have few performance advantages over QImages • Removal of redundant alpha channels
  • 28. GUI Framework Development for Embedded • Technical issue: – Opacity of Widget • Opacity of Widgets can result in redundant drawing operations.
  • 29. GUI Framework Development for Embedded • Technical issue: – Integration with web browsers • Web browsers are becoming essential for embedded devices • How to integrate browsers – Make everything on browsers (html + css + javascript) – Browsers as separate processes – Browsers as in-process components
  • 30. GUI Framework Development for Embedded • Technical issue: – Integration with web browsers • Choice of browsers – Small memory footprint – Proven commercial browser with technical support – Proprietary customization and extension • Benefits of Qt as a proven GUI platform – Browser Venders are ready to port their products on Qt – QProcess and QCopChannel make interactions with Browser process much easy
  • 31. GUI Framework Development for Embedded • Technical issue: – Multilingual support • Manufacturers sell their products world-wide. – Qt’s fully supported internationalization gives advantage manufacturers of products for foreign market • Advantage of high-quality and low-cost Multi-lingualization – English, Japanese, Chinese, Korea, French and German – As well as adapting to Arabic, Hebrew.
  • 32. GUI Framework Development for Embedded • Non-technical-issue: – Mismatching between customer’s expectation and Qt’s offering • Expected by customers; – Sophisticated, high performance graphics engine – Visual design tools for non-programmers (QtDesigner may be too programmer-oriented…) • (Sometimes) not expected by customers; – Qt as total application framework
  • 33. GUI Framework Development for Embedded • Non-technical issue: – Software development culture • Some gaps yet to be fulfilled… – Developers grown in ‘Procedural’ C Language – Tendency toward static, predictable software structure – Division of research teams and production teams • Making customers understand benefits of Qt – Qt is good tool to educate good object oriented programming.
  • 34. Future Challenges for Embedded Development with Qt 33
  • 35. Future Challenges for Qt • Customers Expectations – GUI Design without programming – Animated User Interfaces • Our Expectations – State-machine framework – Declarative-UI – Tighter integration of WEB
  • 36. Future Challenges for Qt • GUI Design without programming – Simplified, customizable, visual designer • QtDesigner may be too programmer-oriented – Direct correspondence to Qt API – Component palette full of Standard Widgets (which are not suitable for Embedded systems) – Visual ‘screen flow’ designer • Screen flows on embedded systems tends to be complex due to small screen size and growing functionalities • Screen flows are strictly designed in upper process
  • 37. Future Challenges for Qt • Animated User Interfaces – Animated User Interfaces are becoming common – Uniform animation style across different domains will be essential for usability – So we need ‘standardized’ animation framework
  • 38. Future Challenges for Qt • State-machine framework – Nature of embedded systems • Embedded systems are ‘reactive systems’ driven by events. • Design and analysis with state-machine models are essential for high quality embedded systems. – UI Design point of views • Complex user interfaces can be modeled with state-machines. • State-machine models can be end-user friendly and improve visual design tools
  • 39. Future Challenges for Qt • Declarative-UI – Sophisticated UI Design needs rapid prototyping by UI designers – End user’s concerns are ‘What’, not ‘How’ – Declarative-UI framework ties between UI designers and End- users more directly. – Constructing or evaluating Declarative-UI framework is challenging and enjoyable for developers, too
  • 40. Future Challenges for Qt • Tighter integration of WEB – WebKit integration tuned for embedded systems • As a foundation for customizable, extensible user interface – Tight collaborations between Web and device’s internal functionalities.
  • 41. Thank you 40