SlideShare uma empresa Scribd logo
1 de 32
Baixar para ler offline
Integrated Computer Solutions Inc.
Improving User Experience with Ubiquitous QuickBoot
Jeff Tranter, ICS
Andrew McNaughton, Ubiquitous AI
Integrated Computer Solutions Inc.
Harrison Donahue
2
Harrison is a Business Development Manager for
The Qt Company focused on the growth and
development of Qt for MCUs.
He’s spent the last 6 years developing IoT products
for consumer markets, focused on home
automation, energy awareness and connected
security.
He holds a Bachelor’s in Electrical Engineering from
the University of Massachusetts - Lowell
Integrated Computer Solutions Inc.
Matthew Ellis
3
Matthew Ellis is a Senior Software Architect
at ICS.
For the last decade he has been bringing
customers' UX visions into reality across
multiple industries.
Matthew holds a Bachelor of Electrical
Engineering from the University of Victoria.
Integrated Computer Solutions Inc. 4
Integrated Computer Solutions Inc. 5
Integrated Computer Solutions Inc. 6
The Qt Framework
What’s Inside...
Integrated Computer Solutions Inc.
Ultimate Performance. Tiny Footprint.
Qt for MCUs
›Declarative UI and OOP – the best of both worlds
›Re-use and deploy same QML based UI while implementing Application logic in
standard C/C++
›Ultimate Performance. Tiny Footprint.
›A new rendering engine uses HW 2D accelerators to achieve good graphical
performance. The runtime itself has a very small footprint (starting from ~80KB)
›Qt supports a wide range of platforms
›MCUs from ST, NXP, Rensas, Cypress/Infineon, Xilinx UltraScale+, Espressif,
Nordic Semi
›Bare Metal or FreeRTOS (on selected MCUs)
7
Integrated Computer Solutions Inc.
The Qt Advantage
8
Integrated Computer Solutions Inc. 9
›Variety of libraries for quick
implementation
›QtQuick API facilitates code re-use
›Large developer base
›Accelerated time-to-market puts you
ahead of schedule and eases time lost
to unexpected changes
›Platform agnostic means never
starting from scratch
Integrated Computer Solutions Inc.
About ICS and Boston UX
Design-Driven Development
10
ICS’ design studio
specializes in intuitive
touchscreen and
multimodal interfaces for
high-impact embedded and
connected devices.
Established in 1987, ICS provides expert
software development, UX design and
related product development services across
many high-performance industries from
medical to manufacturing, helping our
customers develop their products on a
variety of technologies. ICS and Boston UX
are headquartered in Waltham, Mass. with
offices in California, Canada and Europe.
Integrated Computer Solutions Inc.
● Low cost of hardware
● Competitors all have a touch screen
● Need to differentiate product line
11
Why are you looking to develop a GUI on an MCU?
Integrated Computer Solutions Inc.
User Experience
Have you given thought on how the customer will use the
device?
12
Integrated Computer Solutions Inc. 13
Development process
UX Visual
Design
Software
Dev
Integrated Computer Solutions Inc.
UX Design
● Understand the task(s) the user is trying to
accomplish with the device
● How the interface will allow the user to
accomplish the task
User experience design is the foundation of a
good product
14
Integrated Computer Solutions Inc.
New to User Experience design?
Recommended Reading
15
Integrated Computer Solutions Inc.
User Experience for MCUs
● Device location
● Smaller screen sizes and resolutions
● Existing product
● Performance
16
Integrated Computer Solutions Inc.
Product Ecosystem
● Companion Applications
● Web application
● Cloud integration
17
Integrated Computer Solutions Inc.
Use-case
18
Start/Stop
350 F 350 F
Start Stop
Start/Stop
Units
Time
Support
Units
Time
Support
Reset
Main
Screen
Menu
Screen
Integrated Computer Solutions Inc.
UX best practices
● Share design concepts early with engineering
● Create low-fidelity prototypes of concern areas
● Get prototypes in front of users early
19
Integrated Computer Solutions Inc.
Visual design meets hardware constraints
● Flash (storage)
● Ram
● Performance
20
Integrated Computer Solutions Inc.
Visual design: collapse images or seperate
21
Integrated Computer Solutions Inc.
Visual Design: Removing transparency
22
Remove Transparency (alpha channel)
For background images or opaque
images
Integrated Computer Solutions Inc.
Visual Design: Blurs!
23
Integrated Computer Solutions Inc.
Visual Design: 16 bit display considerations
24
Gradients (Color Banding)
● Avoid gradients
● Apply gaussian noise filter
Note: Hardware dithering may be
available, but these techniques may
be desired for performance
Integrated Computer Solutions Inc.
Visual Design-best practices
● Understanding key element of design
● Prioritize what is important in case changes are need due to engineering
25
Integrated Computer Solutions Inc.
Development
● Images handling
● Fonts
26
Integrated Computer Solutions Inc.
Images
Native vs decompressed
● Compressed images save flash space but use ram
● Uncompressed use more flash but saves RAM
CMake:
and/or per file basis:
27
set_source_files_properties(background.png PROPERTIES QUL_COMPRESSION ON)
qul_add_resource(myapp FILES spinner.png background.png)
set(QUL_DEFAULT_COMPRESSION ON)
Integrated Computer Solutions Inc.
Images
Copy to RAM control
● Never
● On Demand
● Start up
CMake:
set_source_files_properties(background.png PROPERTIES QUL_COMPRESSION ON)
qul_add_resource(myapp FILES spinner.png background.png)
28
set(QUL_DEFAULT_COPY_TO_RAM "OnDemand")
set_source_files_properties(background.png PROPERTIES QUL_COPY_TO_RAM
“OnStartup”)
qul_add_resource(myapp FILES spinner.png background.png)
Integrated Computer Solutions Inc.
Optimize for rotation or scaling
Two compiler hints for optimizations.
29
set_source_files_properties(images/my_image.png
PROPERTIES QUL_OPTIMIZE_FOR_ROTATION ON)
set_source_files_properties(images/my_image.png
PROPERTIES QUL_OPTIMIZE_FOR_SCALING ON)
Integrated Computer Solutions Inc.
Fonts
30
● Build-time and low-overhead runtime rasterization
● Ram Caching with Optional Cache Priming for faster application boot-up
● Two types of font hinting
● Several font types supported - .TTF, .TTC, .PFA, .PFB, .OTF, CCC Compressed, and Fontmaps
● Complex Font Layout (CTL) - bidirectional and context sensitive (Arabic script)
● Dynamic Text supported
● Dynamic Font properties in QML
Integrated Computer Solutions Inc.
Hardware layers
● Reduce memory footprint and CPU or
GPU utilization
● Explicitly divide your application by
component “layer”
● Set the performance (FPS) and
color-depth per component.
● Load static background images
directly from Flash minimizing
framebuffer size in RAM
● Update areas where you need the
smoothest performance
● Reduce bits per pixel and shrink
framebuffer where minimal colors are
needed.
31
Integrated Computer Solutions Inc.
Thank you!
32
Any questions?

Mais conteúdo relacionado

Mais procurados

Meet Qt 6.0
Meet Qt 6.0 Meet Qt 6.0
Meet Qt 6.0
Qt
 
Qt Tutorial - Part 1
Qt Tutorial - Part 1Qt Tutorial - Part 1
Qt Tutorial - Part 1
rmitc
 

Mais procurados (20)

Intro to gui, cross platform and qt
Intro to gui, cross platform and qtIntro to gui, cross platform and qt
Intro to gui, cross platform and qt
 
Migrating from Photon to Qt
Migrating from Photon to QtMigrating from Photon to Qt
Migrating from Photon to Qt
 
Improve Time to Market for Industrial Edge Devices
Improve Time to Market for Industrial Edge DevicesImprove Time to Market for Industrial Edge Devices
Improve Time to Market for Industrial Edge Devices
 
Qt for beginners part 5 ask the experts
Qt for beginners part 5   ask the expertsQt for beginners part 5   ask the experts
Qt for beginners part 5 ask the experts
 
Qt Technical Presentation
Qt Technical PresentationQt Technical Presentation
Qt Technical Presentation
 
Introduction to Qt
Introduction to QtIntroduction to Qt
Introduction to Qt
 
Meet Qt 6.0
Meet Qt 6.0 Meet Qt 6.0
Meet Qt 6.0
 
[Webinar] 10 Keys to Ensuring Success for Your Next Qt Project
[Webinar] 10 Keys to Ensuring Success for Your Next Qt Project[Webinar] 10 Keys to Ensuring Success for Your Next Qt Project
[Webinar] 10 Keys to Ensuring Success for Your Next Qt Project
 
Introduction to Qt programming
Introduction to Qt programmingIntroduction to Qt programming
Introduction to Qt programming
 
Introduction to Qt Creator
Introduction to Qt CreatorIntroduction to Qt Creator
Introduction to Qt Creator
 
So I Downloaded Qt, Now What?
So I Downloaded Qt, Now What?So I Downloaded Qt, Now What?
So I Downloaded Qt, Now What?
 
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
 
Qt Tutorial - Part 1
Qt Tutorial - Part 1Qt Tutorial - Part 1
Qt Tutorial - Part 1
 
Convert Your Legacy OpenGL Code to Modern OpenGL with Qt
Convert Your Legacy OpenGL Code to Modern OpenGL with QtConvert Your Legacy OpenGL Code to Modern OpenGL with Qt
Convert Your Legacy OpenGL Code to Modern OpenGL with Qt
 
Creating Slick User Interfaces With Qt
Creating Slick User Interfaces With QtCreating Slick User Interfaces With Qt
Creating Slick User Interfaces With Qt
 
Qt 6.2 lts vs. qt 5.15 the big feature parity comparison
Qt 6.2 lts vs. qt 5.15 the big feature parity comparisonQt 6.2 lts vs. qt 5.15 the big feature parity comparison
Qt 6.2 lts vs. qt 5.15 the big feature parity comparison
 
Qt for beginners part 1 overview and key concepts
Qt for beginners part 1   overview and key conceptsQt for beginners part 1   overview and key concepts
Qt for beginners part 1 overview and key concepts
 
Plugin-based IVI Architectures with Qt
Plugin-based IVI Architectures with Qt Plugin-based IVI Architectures with Qt
Plugin-based IVI Architectures with Qt
 
Meet Qt
Meet QtMeet Qt
Meet Qt
 
Qt 5 - C++ and Widgets
Qt 5 - C++ and WidgetsQt 5 - C++ and Widgets
Qt 5 - C++ and Widgets
 

Semelhante a Creating Advanced GUIs for Low-power MCUs with Qt

Accessible computer interface for a cnc machining center
Accessible computer interface for a cnc machining centerAccessible computer interface for a cnc machining center
Accessible computer interface for a cnc machining center
Jupira Silva
 
Каталог продукции Matrox Imaging
Каталог продукции Matrox ImagingКаталог продукции Matrox Imaging
Каталог продукции Matrox Imaging
SVGA
 
HPC Compass 2014/2015 IBM Special
HPC Compass 2014/2015 IBM SpecialHPC Compass 2014/2015 IBM Special
HPC Compass 2014/2015 IBM Special
Marco van der Hart
 
Udaya Gunasena resume 2014
Udaya Gunasena resume 2014Udaya Gunasena resume 2014
Udaya Gunasena resume 2014
Udayagunasena
 

Semelhante a Creating Advanced GUIs for Low-power MCUs with Qt (20)

1. ch 1-introduction
1. ch 1-introduction1. ch 1-introduction
1. ch 1-introduction
 
Leveraging Artificial Intelligence Processing on Edge Devices
Leveraging Artificial Intelligence Processing on Edge DevicesLeveraging Artificial Intelligence Processing on Edge Devices
Leveraging Artificial Intelligence Processing on Edge Devices
 
Accelerating Development of a Safety-Critical Cobot Welding System with Qt/QM...
Accelerating Development of a Safety-Critical Cobot Welding System with Qt/QM...Accelerating Development of a Safety-Critical Cobot Welding System with Qt/QM...
Accelerating Development of a Safety-Critical Cobot Welding System with Qt/QM...
 
Gajendra kumar
Gajendra kumar Gajendra kumar
Gajendra kumar
 
Fixing SCADA: How Ignition Reduces Frustration
Fixing SCADA: How Ignition Reduces FrustrationFixing SCADA: How Ignition Reduces Frustration
Fixing SCADA: How Ignition Reduces Frustration
 
A workstation that runs demanding design and engineering apps and can hide on...
A workstation that runs demanding design and engineering apps and can hide on...A workstation that runs demanding design and engineering apps and can hide on...
A workstation that runs demanding design and engineering apps and can hide on...
 
Aplit-Soft
Aplit-Soft Aplit-Soft
Aplit-Soft
 
Introducing GreenHouse
Introducing GreenHouseIntroducing GreenHouse
Introducing GreenHouse
 
Accessible computer interface for a cnc machining center
Accessible computer interface for a cnc machining centerAccessible computer interface for a cnc machining center
Accessible computer interface for a cnc machining center
 
MDG Panel - Creating Expert Level GUIs for Complex Medical Devices
MDG Panel - Creating Expert Level GUIs for Complex Medical DevicesMDG Panel - Creating Expert Level GUIs for Complex Medical Devices
MDG Panel - Creating Expert Level GUIs for Complex Medical Devices
 
IoT Device Fleet Management: Create a Robust Solution with Azure
IoT Device Fleet Management: Create a Robust Solution with AzureIoT Device Fleet Management: Create a Robust Solution with Azure
IoT Device Fleet Management: Create a Robust Solution with Azure
 
Vdi strategy
Vdi strategyVdi strategy
Vdi strategy
 
Improving User Experience with Ubiquitous QuickBoot
 Improving User Experience with Ubiquitous QuickBoot Improving User Experience with Ubiquitous QuickBoot
Improving User Experience with Ubiquitous QuickBoot
 
Каталог продукции Matrox Imaging
Каталог продукции Matrox ImagingКаталог продукции Matrox Imaging
Каталог продукции Matrox Imaging
 
Hpc kompass ibm_special_2014
Hpc kompass ibm_special_2014Hpc kompass ibm_special_2014
Hpc kompass ibm_special_2014
 
HPC Compass 2014/2015 IBM Special
HPC Compass 2014/2015 IBM SpecialHPC Compass 2014/2015 IBM Special
HPC Compass 2014/2015 IBM Special
 
MCS1_SJUSD_Resume
MCS1_SJUSD_ResumeMCS1_SJUSD_Resume
MCS1_SJUSD_Resume
 
Dominion over domains
Dominion over domainsDominion over domains
Dominion over domains
 
The Intel NUC 12 Extreme Kit is a compact workstation that can handle compute...
The Intel NUC 12 Extreme Kit is a compact workstation that can handle compute...The Intel NUC 12 Extreme Kit is a compact workstation that can handle compute...
The Intel NUC 12 Extreme Kit is a compact workstation that can handle compute...
 
Udaya Gunasena resume 2014
Udaya Gunasena resume 2014Udaya Gunasena resume 2014
Udaya Gunasena resume 2014
 

Mais de ICS

Software Update Mechanisms: Selecting the Best Solutin for Your Embedded Linu...
Software Update Mechanisms: Selecting the Best Solutin for Your Embedded Linu...Software Update Mechanisms: Selecting the Best Solutin for Your Embedded Linu...
Software Update Mechanisms: Selecting the Best Solutin for Your Embedded Linu...
ICS
 

Mais de ICS (20)

The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Practical Advice for FDA’s 510(k) Requirements.pdf
Practical Advice for FDA’s 510(k) Requirements.pdfPractical Advice for FDA’s 510(k) Requirements.pdf
Practical Advice for FDA’s 510(k) Requirements.pdf
 
Overcoming CMake Configuration Issues Webinar
Overcoming CMake Configuration Issues WebinarOvercoming CMake Configuration Issues Webinar
Overcoming CMake Configuration Issues Webinar
 
Enhancing Quality and Test in Medical Device Design - Part 2.pdf
Enhancing Quality and Test in Medical Device Design - Part 2.pdfEnhancing Quality and Test in Medical Device Design - Part 2.pdf
Enhancing Quality and Test in Medical Device Design - Part 2.pdf
 
Designing and Managing IoT Devices for Rapid Deployment - Webinar.pdf
Designing and Managing IoT Devices for Rapid Deployment - Webinar.pdfDesigning and Managing IoT Devices for Rapid Deployment - Webinar.pdf
Designing and Managing IoT Devices for Rapid Deployment - Webinar.pdf
 
Quality and Test in Medical Device Design - Part 1.pdf
Quality and Test in Medical Device Design - Part 1.pdfQuality and Test in Medical Device Design - Part 1.pdf
Quality and Test in Medical Device Design - Part 1.pdf
 
Creating Digital Twins Using Rapid Development Techniques.pdf
Creating Digital Twins Using Rapid Development Techniques.pdfCreating Digital Twins Using Rapid Development Techniques.pdf
Creating Digital Twins Using Rapid Development Techniques.pdf
 
Secure Your Medical Devices From the Ground Up
Secure Your Medical Devices From the Ground Up Secure Your Medical Devices From the Ground Up
Secure Your Medical Devices From the Ground Up
 
Cybersecurity and Software Updates in Medical Devices.pdf
Cybersecurity and Software Updates in Medical Devices.pdfCybersecurity and Software Updates in Medical Devices.pdf
Cybersecurity and Software Updates in Medical Devices.pdf
 
How to Craft a Winning IOT Device Management Solution
How to Craft a Winning IOT Device Management SolutionHow to Craft a Winning IOT Device Management Solution
How to Craft a Winning IOT Device Management Solution
 
Bridging the Gap Between Development and Regulatory Teams
Bridging the Gap Between Development and Regulatory TeamsBridging the Gap Between Development and Regulatory Teams
Bridging the Gap Between Development and Regulatory Teams
 
Basic Cmake for Qt Users
Basic Cmake for Qt UsersBasic Cmake for Qt Users
Basic Cmake for Qt Users
 
Software Update Mechanisms: Selecting the Best Solutin for Your Embedded Linu...
Software Update Mechanisms: Selecting the Best Solutin for Your Embedded Linu...Software Update Mechanisms: Selecting the Best Solutin for Your Embedded Linu...
Software Update Mechanisms: Selecting the Best Solutin for Your Embedded Linu...
 
Qt Installer Framework
Qt Installer FrameworkQt Installer Framework
Qt Installer Framework
 
Bridging the Gap Between Development and Regulatory Teams
Bridging the Gap Between Development and Regulatory TeamsBridging the Gap Between Development and Regulatory Teams
Bridging the Gap Between Development and Regulatory Teams
 
Overcome Hardware And Software Challenges - Medical Device Case Study
Overcome Hardware And Software Challenges - Medical Device Case StudyOvercome Hardware And Software Challenges - Medical Device Case Study
Overcome Hardware And Software Challenges - Medical Device Case Study
 
User Experience Design for IoT
User Experience Design for IoTUser Experience Design for IoT
User Experience Design for IoT
 
Software Bill of Materials - Accelerating Your Secure Embedded Development.pdf
Software Bill of Materials - Accelerating Your Secure Embedded Development.pdfSoftware Bill of Materials - Accelerating Your Secure Embedded Development.pdf
Software Bill of Materials - Accelerating Your Secure Embedded Development.pdf
 
5 Key Considerations at the Start of SaMD Development
5 Key Considerations at the Start of SaMD Development5 Key Considerations at the Start of SaMD Development
5 Key Considerations at the Start of SaMD Development
 
An In-Depth Look Into Microcontrollers
An In-Depth Look Into MicrocontrollersAn In-Depth Look Into Microcontrollers
An In-Depth Look Into Microcontrollers
 

Último

%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
VictoriaMetrics
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
chiefasafspells
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
shinachiaurasa2
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
masabamasaba
 

Último (20)

tonesoftg
tonesoftgtonesoftg
tonesoftg
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 

Creating Advanced GUIs for Low-power MCUs with Qt

  • 1. Integrated Computer Solutions Inc. Improving User Experience with Ubiquitous QuickBoot Jeff Tranter, ICS Andrew McNaughton, Ubiquitous AI
  • 2. Integrated Computer Solutions Inc. Harrison Donahue 2 Harrison is a Business Development Manager for The Qt Company focused on the growth and development of Qt for MCUs. He’s spent the last 6 years developing IoT products for consumer markets, focused on home automation, energy awareness and connected security. He holds a Bachelor’s in Electrical Engineering from the University of Massachusetts - Lowell
  • 3. Integrated Computer Solutions Inc. Matthew Ellis 3 Matthew Ellis is a Senior Software Architect at ICS. For the last decade he has been bringing customers' UX visions into reality across multiple industries. Matthew holds a Bachelor of Electrical Engineering from the University of Victoria.
  • 6. Integrated Computer Solutions Inc. 6 The Qt Framework What’s Inside...
  • 7. Integrated Computer Solutions Inc. Ultimate Performance. Tiny Footprint. Qt for MCUs ›Declarative UI and OOP – the best of both worlds ›Re-use and deploy same QML based UI while implementing Application logic in standard C/C++ ›Ultimate Performance. Tiny Footprint. ›A new rendering engine uses HW 2D accelerators to achieve good graphical performance. The runtime itself has a very small footprint (starting from ~80KB) ›Qt supports a wide range of platforms ›MCUs from ST, NXP, Rensas, Cypress/Infineon, Xilinx UltraScale+, Espressif, Nordic Semi ›Bare Metal or FreeRTOS (on selected MCUs) 7
  • 8. Integrated Computer Solutions Inc. The Qt Advantage 8
  • 9. Integrated Computer Solutions Inc. 9 ›Variety of libraries for quick implementation ›QtQuick API facilitates code re-use ›Large developer base ›Accelerated time-to-market puts you ahead of schedule and eases time lost to unexpected changes ›Platform agnostic means never starting from scratch
  • 10. Integrated Computer Solutions Inc. About ICS and Boston UX Design-Driven Development 10 ICS’ design studio specializes in intuitive touchscreen and multimodal interfaces for high-impact embedded and connected devices. Established in 1987, ICS provides expert software development, UX design and related product development services across many high-performance industries from medical to manufacturing, helping our customers develop their products on a variety of technologies. ICS and Boston UX are headquartered in Waltham, Mass. with offices in California, Canada and Europe.
  • 11. Integrated Computer Solutions Inc. ● Low cost of hardware ● Competitors all have a touch screen ● Need to differentiate product line 11 Why are you looking to develop a GUI on an MCU?
  • 12. Integrated Computer Solutions Inc. User Experience Have you given thought on how the customer will use the device? 12
  • 13. Integrated Computer Solutions Inc. 13 Development process UX Visual Design Software Dev
  • 14. Integrated Computer Solutions Inc. UX Design ● Understand the task(s) the user is trying to accomplish with the device ● How the interface will allow the user to accomplish the task User experience design is the foundation of a good product 14
  • 15. Integrated Computer Solutions Inc. New to User Experience design? Recommended Reading 15
  • 16. Integrated Computer Solutions Inc. User Experience for MCUs ● Device location ● Smaller screen sizes and resolutions ● Existing product ● Performance 16
  • 17. Integrated Computer Solutions Inc. Product Ecosystem ● Companion Applications ● Web application ● Cloud integration 17
  • 18. Integrated Computer Solutions Inc. Use-case 18 Start/Stop 350 F 350 F Start Stop Start/Stop Units Time Support Units Time Support Reset Main Screen Menu Screen
  • 19. Integrated Computer Solutions Inc. UX best practices ● Share design concepts early with engineering ● Create low-fidelity prototypes of concern areas ● Get prototypes in front of users early 19
  • 20. Integrated Computer Solutions Inc. Visual design meets hardware constraints ● Flash (storage) ● Ram ● Performance 20
  • 21. Integrated Computer Solutions Inc. Visual design: collapse images or seperate 21
  • 22. Integrated Computer Solutions Inc. Visual Design: Removing transparency 22 Remove Transparency (alpha channel) For background images or opaque images
  • 23. Integrated Computer Solutions Inc. Visual Design: Blurs! 23
  • 24. Integrated Computer Solutions Inc. Visual Design: 16 bit display considerations 24 Gradients (Color Banding) ● Avoid gradients ● Apply gaussian noise filter Note: Hardware dithering may be available, but these techniques may be desired for performance
  • 25. Integrated Computer Solutions Inc. Visual Design-best practices ● Understanding key element of design ● Prioritize what is important in case changes are need due to engineering 25
  • 26. Integrated Computer Solutions Inc. Development ● Images handling ● Fonts 26
  • 27. Integrated Computer Solutions Inc. Images Native vs decompressed ● Compressed images save flash space but use ram ● Uncompressed use more flash but saves RAM CMake: and/or per file basis: 27 set_source_files_properties(background.png PROPERTIES QUL_COMPRESSION ON) qul_add_resource(myapp FILES spinner.png background.png) set(QUL_DEFAULT_COMPRESSION ON)
  • 28. Integrated Computer Solutions Inc. Images Copy to RAM control ● Never ● On Demand ● Start up CMake: set_source_files_properties(background.png PROPERTIES QUL_COMPRESSION ON) qul_add_resource(myapp FILES spinner.png background.png) 28 set(QUL_DEFAULT_COPY_TO_RAM "OnDemand") set_source_files_properties(background.png PROPERTIES QUL_COPY_TO_RAM “OnStartup”) qul_add_resource(myapp FILES spinner.png background.png)
  • 29. Integrated Computer Solutions Inc. Optimize for rotation or scaling Two compiler hints for optimizations. 29 set_source_files_properties(images/my_image.png PROPERTIES QUL_OPTIMIZE_FOR_ROTATION ON) set_source_files_properties(images/my_image.png PROPERTIES QUL_OPTIMIZE_FOR_SCALING ON)
  • 30. Integrated Computer Solutions Inc. Fonts 30 ● Build-time and low-overhead runtime rasterization ● Ram Caching with Optional Cache Priming for faster application boot-up ● Two types of font hinting ● Several font types supported - .TTF, .TTC, .PFA, .PFB, .OTF, CCC Compressed, and Fontmaps ● Complex Font Layout (CTL) - bidirectional and context sensitive (Arabic script) ● Dynamic Text supported ● Dynamic Font properties in QML
  • 31. Integrated Computer Solutions Inc. Hardware layers ● Reduce memory footprint and CPU or GPU utilization ● Explicitly divide your application by component “layer” ● Set the performance (FPS) and color-depth per component. ● Load static background images directly from Flash minimizing framebuffer size in RAM ● Update areas where you need the smoothest performance ● Reduce bits per pixel and shrink framebuffer where minimal colors are needed. 31
  • 32. Integrated Computer Solutions Inc. Thank you! 32 Any questions?