SlideShare a Scribd company logo
Using Flutter for
Embedded
Featuring an Automotive Grade
Linux (AGL) IVI Case Study
June 2024
Speakers
2
Justin Noel
ICS
Walt Miner
Automotive Grade Linux
About ICS
Established in 1987, Integrated Computer Solutions,
Inc. (ICS) delivers innovative software solutions
with a full suite of services to accelerate
development of successful next-gen products.
ICS is headquartered outside Boston in Waltham,
Mass. with offices in California, Canada and
Europe. Currently 160 people.
Boston UX is ICS’ design studio, specializing in
intuitive touchscreen and multimodal interfaces for
high-impact embedded and connected devices.
3
About Automotive Grade Linux
4
● Non-profit organization
● Open source Linux-based
collaborative project
● Hosted at Linux Foundation
● Collaborating to build the
car of the future through
rapid innovation by uniting
the automotive and software
industries
5
About AGL - over 100 member companies
Bronze Members - Too many for this slide!
6
About The Linux Foundation - over 900 projects
7
8
AGL Distro “Unified Code Base”
AGL Distro “Unified Code Base”
Two major
releases per year
Minimum of four
updates per
release
Two years of
support for QQ
(following Yocto
4.0.x)
9
Release notes and source code can be found at
https://wiki.automotivelinux.org/agl-distro/release-notes
AGL Distro “Unified Code Base”
10
One Source Tree
Multiple Use Cases
Automotive Gateway - Beyond IVI and IC
11
AGL and Flutter
Drivers demand similar experience
to their phones
No single OEM can compete with
phone manufacturers
AGL provides place for industry
collaboration
Flutter provides ability to create
amazing UI/UX
Toyota created Flutter embedded
for AGL and we have incorporated
it into the UCB since 2022
12
Find out more about AGL
Web Page
https://www.automotivelinux.org
Documentation
https://docs.automotivelinux.org
Weekly Developer Call every Thursday
https://wiki.automotivelinux.org/dev-call-info
Developer Community Mail List
https://lists.automotivelinux.org/g/agl-dev-community
Learn More - Videos from Automotive Linux Summit
https://confluence.automotivelinux.org/x/UQAXBg
13
Automotive Grade Linux 2024
Reference IVI UI
● AGL asked ICS to implement this year’s reference UI
using Flutter
○ Vehicle Data
■ Eclipse Kuksa.val Broker
○ HVAC controls
■ Kuksa - > CAN
○ Media Player
■ gRPC
● AGL itself is UI agnostic
○ Manufacturers bring their own
○ Previous AGL references in
■ Qt
■ HTML5
● AGL prefers Open Source solutions
● AGL uses a services based architecture 14
● Collaborative online design tool
● Somewhat Object Oriented
○ Reusable collections
○ UI variants
○ Public API for parsing designs
● Becoming the de facto UX tool
○ Adobe tried to buy them for 20B
○ FTC stopped the deal
● ICS has a Figma importer and code
generator called GreenHouse
○ Qt/QML now
○ Flutter soon
Designed using Figma
15
ICS Flutter IVI @ CES 2024
16
What is Flutter?
● Google Cross Platform Framework
○ 1.0 Released in Dec 2018.
○ 3.19 Released Feb 2024
● BSD License
○ Free for all including commercial
● Reactive / Declarative UI
○ Conceptually similar to QML
● Self contained rendering
○ Similar to Qt’s philosophy
○ Very easy to brand / stylize
● Dart Programming Language
○ Type / Null Safe
○ AOT and JIT Compilation
○ Hot Reload Dev (Edit / Continue)
17
Flutter Technology Stack
● Basic foundational classes
○ Painting, Animation, Gestures
● Rendering Layer
○ Dynamic layout of items
○ Efficiently and dynamically
updating
● Widgets Layer
○ Composition based approach
○ Each render object has a
corresponding class in the
widgets layer.
○ Reactive programming
■ State and bindings
18
Application Runtime
● Dart Runtime
○ Where the UI runs.
○ AoT or JIT Compiled
○ AoT is native fast
○ JIT is easily debuggable
■ Quick development!
● Flutter Engine
○ Written in C++ for speed
○ Impeller, Skia, OpenGL
● Flutter Embedder
○ Platform specific glue
19
Flutter for Embedded Devices
(Embedder)
● Similar concept to Qt Platform Plugins
● Handle GPU / rendering resources
● Handle native input handling
● Plus richer porting options
○ Win32 / POSIX / iOS / Android /
New API is pluggable
○ Native event loop
○ Native thread integration
● Plugins for platforms as too
○ Multimedia
○ Bluetooth
○ 3D Engines
20
Toyota Connected Embedder
● Wayland IVI Support
○ GLES or Vulkan
● Active open development
○ Apache 2.0 License
● Many supported Flutter plugins!
■ Audio / Video / Camera
■ Google Firebase
■ Filament
■ GLFW
■ Lots more in progress!
21
Wayland / IVI-Shell
● Drive many screens with discrete input
devices
● Compose multi process surfaces
○ Layer many surfaces to appear as
on “application” to the user
22
Declarative / Reactive User Interface
● Widget trees are regenerated using
build() methods
● Describing the widget constructors and
associated data
23
Dart Language
● C Style Language
○ Type Safe
○ Null Safe
● Object Oriented
○ Encapsulation (Classes)
○ Abstraction & Polymorphism
○ Composition
● Garbage Collected
● Non-shared heap concurrency
○ Isolates
● Bridges to native languages (FFI)
○ C++, Rust, Swift, Kotlin, JAVA
24
Recommended Embedded System Architecture
● Flutter on embedded works best with a services based backend
● UI is developed in Dart
● Services are developed in C++, Rust, Python or Other Languages
● In-Process can use Foreign Function Interface
25
AGL w/ Kuksa.val (VSS)
Databroker Architecture
● Kuksa.val - Eclipse project to enable
software defined vehicles
○ Implements COVESA VSS
○ Provides bridges to vehicle hardware
● VSS - COVESA Vehicle Signal Specification
○ Tree that includes ~1200
standardized vehicle data points
■ Speed, RPM, etc
26
Riverpod State Management
● Reactive caching data binding
framework
○ Marshalling data to/from
a services backend
■ Like Kuksa.val!
○ Supports Dependency
Injection
■ For easy testing and
simulation
● Enables MVC, MVVM and Clean
Architectures.
27
AGL Architecture
● Services Based Architecture
● Hypervisor and containers
● COVESA VSS Standard
○ Vehicle Signaling Schema
○ Eclipse Kuksa.val Broker
● Audio Routing
○ PipeWire
○ Wire Plumber
○ gRPC
● BT / Telephony
○ Bluez / oFono
○ gRPC
● And more!
Page #
28
Flutter Embedded without AGL
● ICS is working to diversity use of
Toyota’s Flutter Embedder
○ Consumer Devices
○ Industrial Automation
○ Scientific and Medical Devices
● More portability. Less dependencies
○ Standard Wayland
○ KMS / DRM rendering
○ Images for common chipsets
■ And development boards
● Meta-flutter Yocto layer is available
○ Includes classes for including
flutter apps
29
30
Any questions?

More Related Content

Similar to Webinar On-Demand: Using Flutter for Embedded

Open Source on Wheels - Tech Day by Init 2017
Open Source on Wheels - Tech Day by Init 2017Open Source on Wheels - Tech Day by Init 2017
Open Source on Wheels - Tech Day by Init 2017
Johan Thelin
 
Contributions to an open source project: Igalia and the Chromium project
Contributions to an open source project: Igalia and the Chromium projectContributions to an open source project: Igalia and the Chromium project
Contributions to an open source project: Igalia and the Chromium project
Igalia
 
How OpenShift SDN helps to automate
How OpenShift SDN helps to automateHow OpenShift SDN helps to automate
How OpenShift SDN helps to automate
Ilkka Tengvall
 
How Igalia Is Driving Innovation In Embedded Systems With Open Source Technol...
How Igalia Is Driving Innovation In Embedded Systems With Open Source Technol...How Igalia Is Driving Innovation In Embedded Systems With Open Source Technol...
How Igalia Is Driving Innovation In Embedded Systems With Open Source Technol...
Igalia
 
Building End-user Applications on Embedded Devices with WPE
Building End-user Applications on Embedded Devices with WPEBuilding End-user Applications on Embedded Devices with WPE
Building End-user Applications on Embedded Devices with WPE
Igalia
 
IoTivity for Automotive: meta-ocf-automotive tutorial
IoTivity for Automotive: meta-ocf-automotive tutorialIoTivity for Automotive: meta-ocf-automotive tutorial
IoTivity for Automotive: meta-ocf-automotive tutorial
Samsung Open Source Group
 
Linux on RISC-V with Open Source Hardware (Open Source Summit Japan 2020)
Linux on RISC-V with Open Source Hardware (Open Source Summit Japan 2020)Linux on RISC-V with Open Source Hardware (Open Source Summit Japan 2020)
Linux on RISC-V with Open Source Hardware (Open Source Summit Japan 2020)
Drew Fustini
 
Linux on RISC-V with Open Hardware (ELC-E 2020)
Linux on RISC-V with Open Hardware (ELC-E 2020)Linux on RISC-V with Open Hardware (ELC-E 2020)
Linux on RISC-V with Open Hardware (ELC-E 2020)
Drew Fustini
 
A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...
A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...
A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...
Igalia
 
Android presentation
Android presentationAndroid presentation
Android presentation
Siva Ramakrishna kv
 
BKK16-100K1 George Grey, Linaro CEO Opening Keynote
BKK16-100K1 George Grey, Linaro CEO Opening KeynoteBKK16-100K1 George Grey, Linaro CEO Opening Keynote
BKK16-100K1 George Grey, Linaro CEO Opening Keynote
Linaro
 
Cloud Native Application Integration With APIs
Cloud Native Application Integration With APIsCloud Native Application Integration With APIs
Cloud Native Application Integration With APIs
Nirmal Fernando
 
HKG15: Opening Keynote - George Grey, Linaro CEO
HKG15: Opening Keynote - George Grey, Linaro CEOHKG15: Opening Keynote - George Grey, Linaro CEO
HKG15: Opening Keynote - George Grey, Linaro CEO
Linaro
 
Coscup2018 itri android-in-cloud
Coscup2018 itri android-in-cloudCoscup2018 itri android-in-cloud
Coscup2018 itri android-in-cloud
Tian-Jian Wu
 
Crosswalk and the Intel XDK
Crosswalk and the Intel XDKCrosswalk and the Intel XDK
Crosswalk and the Intel XDK
Intel® Software
 
Davide Ricci - Continuos compliance @ Linaro.pdf
Davide Ricci - Continuos compliance @ Linaro.pdfDavide Ricci - Continuos compliance @ Linaro.pdf
Davide Ricci - Continuos compliance @ Linaro.pdf
South Tyrol Free Software Conference
 
Virtualization - the next trend in the automotive industry
Virtualization  - the next trend in the automotive industryVirtualization  - the next trend in the automotive industry
Virtualization - the next trend in the automotive industry
Ahmed Abdelfattah
 
GDP-ivi9 What's new in the open source demo platform for automotive
GDP-ivi9 What's new in the open source demo platform for automotiveGDP-ivi9 What's new in the open source demo platform for automotive
GDP-ivi9 What's new in the open source demo platform for automotive
Agustin Benito Bethencourt
 
Accelerate Your IoT and Robotics Development Using Web Technology and Apache ...
Accelerate Your IoT and Robotics Development Using Web Technology and Apache ...Accelerate Your IoT and Robotics Development Using Web Technology and Apache ...
Accelerate Your IoT and Robotics Development Using Web Technology and Apache ...
Intel® Software
 
Xpdays: Kubernetes CI-CD Frameworks Case Study
Xpdays: Kubernetes CI-CD Frameworks Case StudyXpdays: Kubernetes CI-CD Frameworks Case Study
Xpdays: Kubernetes CI-CD Frameworks Case Study
Denys Vasyliev
 

Similar to Webinar On-Demand: Using Flutter for Embedded (20)

Open Source on Wheels - Tech Day by Init 2017
Open Source on Wheels - Tech Day by Init 2017Open Source on Wheels - Tech Day by Init 2017
Open Source on Wheels - Tech Day by Init 2017
 
Contributions to an open source project: Igalia and the Chromium project
Contributions to an open source project: Igalia and the Chromium projectContributions to an open source project: Igalia and the Chromium project
Contributions to an open source project: Igalia and the Chromium project
 
How OpenShift SDN helps to automate
How OpenShift SDN helps to automateHow OpenShift SDN helps to automate
How OpenShift SDN helps to automate
 
How Igalia Is Driving Innovation In Embedded Systems With Open Source Technol...
How Igalia Is Driving Innovation In Embedded Systems With Open Source Technol...How Igalia Is Driving Innovation In Embedded Systems With Open Source Technol...
How Igalia Is Driving Innovation In Embedded Systems With Open Source Technol...
 
Building End-user Applications on Embedded Devices with WPE
Building End-user Applications on Embedded Devices with WPEBuilding End-user Applications on Embedded Devices with WPE
Building End-user Applications on Embedded Devices with WPE
 
IoTivity for Automotive: meta-ocf-automotive tutorial
IoTivity for Automotive: meta-ocf-automotive tutorialIoTivity for Automotive: meta-ocf-automotive tutorial
IoTivity for Automotive: meta-ocf-automotive tutorial
 
Linux on RISC-V with Open Source Hardware (Open Source Summit Japan 2020)
Linux on RISC-V with Open Source Hardware (Open Source Summit Japan 2020)Linux on RISC-V with Open Source Hardware (Open Source Summit Japan 2020)
Linux on RISC-V with Open Source Hardware (Open Source Summit Japan 2020)
 
Linux on RISC-V with Open Hardware (ELC-E 2020)
Linux on RISC-V with Open Hardware (ELC-E 2020)Linux on RISC-V with Open Hardware (ELC-E 2020)
Linux on RISC-V with Open Hardware (ELC-E 2020)
 
A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...
A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...
A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...
 
Android presentation
Android presentationAndroid presentation
Android presentation
 
BKK16-100K1 George Grey, Linaro CEO Opening Keynote
BKK16-100K1 George Grey, Linaro CEO Opening KeynoteBKK16-100K1 George Grey, Linaro CEO Opening Keynote
BKK16-100K1 George Grey, Linaro CEO Opening Keynote
 
Cloud Native Application Integration With APIs
Cloud Native Application Integration With APIsCloud Native Application Integration With APIs
Cloud Native Application Integration With APIs
 
HKG15: Opening Keynote - George Grey, Linaro CEO
HKG15: Opening Keynote - George Grey, Linaro CEOHKG15: Opening Keynote - George Grey, Linaro CEO
HKG15: Opening Keynote - George Grey, Linaro CEO
 
Coscup2018 itri android-in-cloud
Coscup2018 itri android-in-cloudCoscup2018 itri android-in-cloud
Coscup2018 itri android-in-cloud
 
Crosswalk and the Intel XDK
Crosswalk and the Intel XDKCrosswalk and the Intel XDK
Crosswalk and the Intel XDK
 
Davide Ricci - Continuos compliance @ Linaro.pdf
Davide Ricci - Continuos compliance @ Linaro.pdfDavide Ricci - Continuos compliance @ Linaro.pdf
Davide Ricci - Continuos compliance @ Linaro.pdf
 
Virtualization - the next trend in the automotive industry
Virtualization  - the next trend in the automotive industryVirtualization  - the next trend in the automotive industry
Virtualization - the next trend in the automotive industry
 
GDP-ivi9 What's new in the open source demo platform for automotive
GDP-ivi9 What's new in the open source demo platform for automotiveGDP-ivi9 What's new in the open source demo platform for automotive
GDP-ivi9 What's new in the open source demo platform for automotive
 
Accelerate Your IoT and Robotics Development Using Web Technology and Apache ...
Accelerate Your IoT and Robotics Development Using Web Technology and Apache ...Accelerate Your IoT and Robotics Development Using Web Technology and Apache ...
Accelerate Your IoT and Robotics Development Using Web Technology and Apache ...
 
Xpdays: Kubernetes CI-CD Frameworks Case Study
Xpdays: Kubernetes CI-CD Frameworks Case StudyXpdays: Kubernetes CI-CD Frameworks Case Study
Xpdays: Kubernetes CI-CD Frameworks Case Study
 

More from ICS

Secure-by-Design Using Hardware and Software Protection for FDA Compliance
Secure-by-Design Using Hardware and Software Protection for FDA ComplianceSecure-by-Design Using Hardware and Software Protection for FDA Compliance
Secure-by-Design Using Hardware and Software Protection for FDA Compliance
ICS
 
A Deep Dive into Secure Product Development Frameworks.pdf
A Deep Dive into Secure Product Development Frameworks.pdfA Deep Dive into Secure Product Development Frameworks.pdf
A Deep Dive into Secure Product Development Frameworks.pdf
ICS
 
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...
ICS
 
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
ICS
 
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...
ICS
 
Overcoming CMake Configuration Issues Webinar
Overcoming CMake Configuration Issues WebinarOvercoming CMake Configuration Issues Webinar
Overcoming CMake Configuration Issues Webinar
ICS
 
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
ICS
 
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
ICS
 
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
ICS
 
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
ICS
 
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
ICS
 
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
ICS
 
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
ICS
 
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
ICS
 
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
ICS
 
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
ICS
 
Basic Cmake for Qt Users
Basic Cmake for Qt UsersBasic Cmake for Qt Users
Basic Cmake for Qt Users
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
 
Qt Installer Framework
Qt Installer FrameworkQt Installer Framework
Qt Installer Framework
ICS
 
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
ICS
 

More from ICS (20)

Secure-by-Design Using Hardware and Software Protection for FDA Compliance
Secure-by-Design Using Hardware and Software Protection for FDA ComplianceSecure-by-Design Using Hardware and Software Protection for FDA Compliance
Secure-by-Design Using Hardware and Software Protection for FDA Compliance
 
A Deep Dive into Secure Product Development Frameworks.pdf
A Deep Dive into Secure Product Development Frameworks.pdfA Deep Dive into Secure Product Development Frameworks.pdf
A Deep Dive into Secure Product Development Frameworks.pdf
 
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
 
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...
 
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
 
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
 
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
 
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
 
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
 

Recently uploaded

AI - Your Startup Sidekick (Leveraging AI to Bootstrap a Lean Startup).pdf
AI - Your Startup Sidekick (Leveraging AI to Bootstrap a Lean Startup).pdfAI - Your Startup Sidekick (Leveraging AI to Bootstrap a Lean Startup).pdf
AI - Your Startup Sidekick (Leveraging AI to Bootstrap a Lean Startup).pdf
Daniel Zivkovic
 
Independent Girls call Service Pune 000XX00000 Provide Best And Top Girl Serv...
Independent Girls call Service Pune 000XX00000 Provide Best And Top Girl Serv...Independent Girls call Service Pune 000XX00000 Provide Best And Top Girl Serv...
Independent Girls call Service Pune 000XX00000 Provide Best And Top Girl Serv...
bhumivarma35300
 
Il Data Streaming per un’AI real-time di nuova generazione
Il Data Streaming per un’AI real-time di nuova generazioneIl Data Streaming per un’AI real-time di nuova generazione
Il Data Streaming per un’AI real-time di nuova generazione
confluent
 
Celebrity Girls Call Mumbai 9930687706 Unlimited Short Providing Girls Servic...
Celebrity Girls Call Mumbai 9930687706 Unlimited Short Providing Girls Servic...Celebrity Girls Call Mumbai 9930687706 Unlimited Short Providing Girls Servic...
Celebrity Girls Call Mumbai 9930687706 Unlimited Short Providing Girls Servic...
kiara pandey
 
GT degree offer diploma Transcript
GT degree offer diploma TranscriptGT degree offer diploma Transcript
GT degree offer diploma Transcript
attueb
 
Prada Group Reports Strong Growth in First Quarter …
Prada Group Reports Strong Growth in First Quarter …Prada Group Reports Strong Growth in First Quarter …
Prada Group Reports Strong Growth in First Quarter …
908dutch
 
How To Fill Timesheet in TaskSprint: Quick Guide 2024
How To Fill Timesheet in TaskSprint: Quick Guide 2024How To Fill Timesheet in TaskSprint: Quick Guide 2024
How To Fill Timesheet in TaskSprint: Quick Guide 2024
TaskSprint | Employee Efficiency Software
 
High Girls Call Chennai 000XX00000 Provide Best And Top Girl Service And No1 ...
High Girls Call Chennai 000XX00000 Provide Best And Top Girl Service And No1 ...High Girls Call Chennai 000XX00000 Provide Best And Top Girl Service And No1 ...
High Girls Call Chennai 000XX00000 Provide Best And Top Girl Service And No1 ...
singhlata50dh
 
Cisco Live Announcements: New ThousandEyes Release Highlights - July 2024
Cisco Live Announcements: New ThousandEyes Release Highlights - July 2024Cisco Live Announcements: New ThousandEyes Release Highlights - July 2024
Cisco Live Announcements: New ThousandEyes Release Highlights - July 2024
ThousandEyes
 
Maximizing Efficiency and Profitability: Optimizing Data Systems, Enhancing C...
Maximizing Efficiency and Profitability: Optimizing Data Systems, Enhancing C...Maximizing Efficiency and Profitability: Optimizing Data Systems, Enhancing C...
Maximizing Efficiency and Profitability: Optimizing Data Systems, Enhancing C...
OnePlan Solutions
 
Software development... for all? (keynote at ICSOFT'2024)
Software development... for all? (keynote at ICSOFT'2024)Software development... for all? (keynote at ICSOFT'2024)
Software development... for all? (keynote at ICSOFT'2024)
miso_uam
 
NYGGS 360: A Complete ERP for Construction Innovation
NYGGS 360: A Complete ERP for Construction InnovationNYGGS 360: A Complete ERP for Construction Innovation
NYGGS 360: A Complete ERP for Construction Innovation
NYGGS Construction ERP Software
 
Private Girls Call Navi Mumbai 🛵🚡9820252231 💃 Choose Best And Top Girl Servic...
Private Girls Call Navi Mumbai 🛵🚡9820252231 💃 Choose Best And Top Girl Servic...Private Girls Call Navi Mumbai 🛵🚡9820252231 💃 Choose Best And Top Girl Servic...
Private Girls Call Navi Mumbai 🛵🚡9820252231 💃 Choose Best And Top Girl Servic...
902basic
 
AWS DevOps-Tutorial CHANAKYA SRIYAN DUKKA.
AWS DevOps-Tutorial CHANAKYA SRIYAN DUKKA.AWS DevOps-Tutorial CHANAKYA SRIYAN DUKKA.
AWS DevOps-Tutorial CHANAKYA SRIYAN DUKKA.
Srinivas Dukka
 
Introduction to Cloud computing for Internet of Things
Introduction to Cloud computing for Internet of ThingsIntroduction to Cloud computing for Internet of Things
Introduction to Cloud computing for Internet of Things
NachuSubramanian1
 
Wired_2.0_Create_AmsterdamJUG_09072024.pptx
Wired_2.0_Create_AmsterdamJUG_09072024.pptxWired_2.0_Create_AmsterdamJUG_09072024.pptx
Wired_2.0_Create_AmsterdamJUG_09072024.pptx
SimonedeGijt
 
Independent Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class H...
Independent Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class H...Independent Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class H...
Independent Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class H...
aslasdfmkhan4750
 
Agra Girls Call Agra 0X0000000X Unlimited Short Providing Girls Service Avail...
Agra Girls Call Agra 0X0000000X Unlimited Short Providing Girls Service Avail...Agra Girls Call Agra 0X0000000X Unlimited Short Providing Girls Service Avail...
Agra Girls Call Agra 0X0000000X Unlimited Short Providing Girls Service Avail...
rachitkumar09887
 
Artificial intelligence in customer services or chatbots
Artificial intelligence  in customer services or chatbotsArtificial intelligence  in customer services or chatbots
Artificial intelligence in customer services or chatbots
kayash1656
 
ThaiPy meetup - Indexes and Django
ThaiPy meetup - Indexes and DjangoThaiPy meetup - Indexes and Django
ThaiPy meetup - Indexes and Django
akshesh doshi
 

Recently uploaded (20)

AI - Your Startup Sidekick (Leveraging AI to Bootstrap a Lean Startup).pdf
AI - Your Startup Sidekick (Leveraging AI to Bootstrap a Lean Startup).pdfAI - Your Startup Sidekick (Leveraging AI to Bootstrap a Lean Startup).pdf
AI - Your Startup Sidekick (Leveraging AI to Bootstrap a Lean Startup).pdf
 
Independent Girls call Service Pune 000XX00000 Provide Best And Top Girl Serv...
Independent Girls call Service Pune 000XX00000 Provide Best And Top Girl Serv...Independent Girls call Service Pune 000XX00000 Provide Best And Top Girl Serv...
Independent Girls call Service Pune 000XX00000 Provide Best And Top Girl Serv...
 
Il Data Streaming per un’AI real-time di nuova generazione
Il Data Streaming per un’AI real-time di nuova generazioneIl Data Streaming per un’AI real-time di nuova generazione
Il Data Streaming per un’AI real-time di nuova generazione
 
Celebrity Girls Call Mumbai 9930687706 Unlimited Short Providing Girls Servic...
Celebrity Girls Call Mumbai 9930687706 Unlimited Short Providing Girls Servic...Celebrity Girls Call Mumbai 9930687706 Unlimited Short Providing Girls Servic...
Celebrity Girls Call Mumbai 9930687706 Unlimited Short Providing Girls Servic...
 
GT degree offer diploma Transcript
GT degree offer diploma TranscriptGT degree offer diploma Transcript
GT degree offer diploma Transcript
 
Prada Group Reports Strong Growth in First Quarter …
Prada Group Reports Strong Growth in First Quarter …Prada Group Reports Strong Growth in First Quarter …
Prada Group Reports Strong Growth in First Quarter …
 
How To Fill Timesheet in TaskSprint: Quick Guide 2024
How To Fill Timesheet in TaskSprint: Quick Guide 2024How To Fill Timesheet in TaskSprint: Quick Guide 2024
How To Fill Timesheet in TaskSprint: Quick Guide 2024
 
High Girls Call Chennai 000XX00000 Provide Best And Top Girl Service And No1 ...
High Girls Call Chennai 000XX00000 Provide Best And Top Girl Service And No1 ...High Girls Call Chennai 000XX00000 Provide Best And Top Girl Service And No1 ...
High Girls Call Chennai 000XX00000 Provide Best And Top Girl Service And No1 ...
 
Cisco Live Announcements: New ThousandEyes Release Highlights - July 2024
Cisco Live Announcements: New ThousandEyes Release Highlights - July 2024Cisco Live Announcements: New ThousandEyes Release Highlights - July 2024
Cisco Live Announcements: New ThousandEyes Release Highlights - July 2024
 
Maximizing Efficiency and Profitability: Optimizing Data Systems, Enhancing C...
Maximizing Efficiency and Profitability: Optimizing Data Systems, Enhancing C...Maximizing Efficiency and Profitability: Optimizing Data Systems, Enhancing C...
Maximizing Efficiency and Profitability: Optimizing Data Systems, Enhancing C...
 
Software development... for all? (keynote at ICSOFT'2024)
Software development... for all? (keynote at ICSOFT'2024)Software development... for all? (keynote at ICSOFT'2024)
Software development... for all? (keynote at ICSOFT'2024)
 
NYGGS 360: A Complete ERP for Construction Innovation
NYGGS 360: A Complete ERP for Construction InnovationNYGGS 360: A Complete ERP for Construction Innovation
NYGGS 360: A Complete ERP for Construction Innovation
 
Private Girls Call Navi Mumbai 🛵🚡9820252231 💃 Choose Best And Top Girl Servic...
Private Girls Call Navi Mumbai 🛵🚡9820252231 💃 Choose Best And Top Girl Servic...Private Girls Call Navi Mumbai 🛵🚡9820252231 💃 Choose Best And Top Girl Servic...
Private Girls Call Navi Mumbai 🛵🚡9820252231 💃 Choose Best And Top Girl Servic...
 
AWS DevOps-Tutorial CHANAKYA SRIYAN DUKKA.
AWS DevOps-Tutorial CHANAKYA SRIYAN DUKKA.AWS DevOps-Tutorial CHANAKYA SRIYAN DUKKA.
AWS DevOps-Tutorial CHANAKYA SRIYAN DUKKA.
 
Introduction to Cloud computing for Internet of Things
Introduction to Cloud computing for Internet of ThingsIntroduction to Cloud computing for Internet of Things
Introduction to Cloud computing for Internet of Things
 
Wired_2.0_Create_AmsterdamJUG_09072024.pptx
Wired_2.0_Create_AmsterdamJUG_09072024.pptxWired_2.0_Create_AmsterdamJUG_09072024.pptx
Wired_2.0_Create_AmsterdamJUG_09072024.pptx
 
Independent Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class H...
Independent Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class H...Independent Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class H...
Independent Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class H...
 
Agra Girls Call Agra 0X0000000X Unlimited Short Providing Girls Service Avail...
Agra Girls Call Agra 0X0000000X Unlimited Short Providing Girls Service Avail...Agra Girls Call Agra 0X0000000X Unlimited Short Providing Girls Service Avail...
Agra Girls Call Agra 0X0000000X Unlimited Short Providing Girls Service Avail...
 
Artificial intelligence in customer services or chatbots
Artificial intelligence  in customer services or chatbotsArtificial intelligence  in customer services or chatbots
Artificial intelligence in customer services or chatbots
 
ThaiPy meetup - Indexes and Django
ThaiPy meetup - Indexes and DjangoThaiPy meetup - Indexes and Django
ThaiPy meetup - Indexes and Django
 

Webinar On-Demand: Using Flutter for Embedded

  • 1. Using Flutter for Embedded Featuring an Automotive Grade Linux (AGL) IVI Case Study June 2024
  • 3. About ICS Established in 1987, Integrated Computer Solutions, Inc. (ICS) delivers innovative software solutions with a full suite of services to accelerate development of successful next-gen products. ICS is headquartered outside Boston in Waltham, Mass. with offices in California, Canada and Europe. Currently 160 people. Boston UX is ICS’ design studio, specializing in intuitive touchscreen and multimodal interfaces for high-impact embedded and connected devices. 3
  • 4. About Automotive Grade Linux 4 ● Non-profit organization ● Open source Linux-based collaborative project ● Hosted at Linux Foundation ● Collaborating to build the car of the future through rapid innovation by uniting the automotive and software industries
  • 5. 5 About AGL - over 100 member companies Bronze Members - Too many for this slide!
  • 6. 6 About The Linux Foundation - over 900 projects
  • 7. 7
  • 9. AGL Distro “Unified Code Base” Two major releases per year Minimum of four updates per release Two years of support for QQ (following Yocto 4.0.x) 9 Release notes and source code can be found at https://wiki.automotivelinux.org/agl-distro/release-notes
  • 10. AGL Distro “Unified Code Base” 10 One Source Tree Multiple Use Cases
  • 11. Automotive Gateway - Beyond IVI and IC 11
  • 12. AGL and Flutter Drivers demand similar experience to their phones No single OEM can compete with phone manufacturers AGL provides place for industry collaboration Flutter provides ability to create amazing UI/UX Toyota created Flutter embedded for AGL and we have incorporated it into the UCB since 2022 12
  • 13. Find out more about AGL Web Page https://www.automotivelinux.org Documentation https://docs.automotivelinux.org Weekly Developer Call every Thursday https://wiki.automotivelinux.org/dev-call-info Developer Community Mail List https://lists.automotivelinux.org/g/agl-dev-community Learn More - Videos from Automotive Linux Summit https://confluence.automotivelinux.org/x/UQAXBg 13
  • 14. Automotive Grade Linux 2024 Reference IVI UI ● AGL asked ICS to implement this year’s reference UI using Flutter ○ Vehicle Data ■ Eclipse Kuksa.val Broker ○ HVAC controls ■ Kuksa - > CAN ○ Media Player ■ gRPC ● AGL itself is UI agnostic ○ Manufacturers bring their own ○ Previous AGL references in ■ Qt ■ HTML5 ● AGL prefers Open Source solutions ● AGL uses a services based architecture 14
  • 15. ● Collaborative online design tool ● Somewhat Object Oriented ○ Reusable collections ○ UI variants ○ Public API for parsing designs ● Becoming the de facto UX tool ○ Adobe tried to buy them for 20B ○ FTC stopped the deal ● ICS has a Figma importer and code generator called GreenHouse ○ Qt/QML now ○ Flutter soon Designed using Figma 15
  • 16. ICS Flutter IVI @ CES 2024 16
  • 17. What is Flutter? ● Google Cross Platform Framework ○ 1.0 Released in Dec 2018. ○ 3.19 Released Feb 2024 ● BSD License ○ Free for all including commercial ● Reactive / Declarative UI ○ Conceptually similar to QML ● Self contained rendering ○ Similar to Qt’s philosophy ○ Very easy to brand / stylize ● Dart Programming Language ○ Type / Null Safe ○ AOT and JIT Compilation ○ Hot Reload Dev (Edit / Continue) 17
  • 18. Flutter Technology Stack ● Basic foundational classes ○ Painting, Animation, Gestures ● Rendering Layer ○ Dynamic layout of items ○ Efficiently and dynamically updating ● Widgets Layer ○ Composition based approach ○ Each render object has a corresponding class in the widgets layer. ○ Reactive programming ■ State and bindings 18
  • 19. Application Runtime ● Dart Runtime ○ Where the UI runs. ○ AoT or JIT Compiled ○ AoT is native fast ○ JIT is easily debuggable ■ Quick development! ● Flutter Engine ○ Written in C++ for speed ○ Impeller, Skia, OpenGL ● Flutter Embedder ○ Platform specific glue 19
  • 20. Flutter for Embedded Devices (Embedder) ● Similar concept to Qt Platform Plugins ● Handle GPU / rendering resources ● Handle native input handling ● Plus richer porting options ○ Win32 / POSIX / iOS / Android / New API is pluggable ○ Native event loop ○ Native thread integration ● Plugins for platforms as too ○ Multimedia ○ Bluetooth ○ 3D Engines 20
  • 21. Toyota Connected Embedder ● Wayland IVI Support ○ GLES or Vulkan ● Active open development ○ Apache 2.0 License ● Many supported Flutter plugins! ■ Audio / Video / Camera ■ Google Firebase ■ Filament ■ GLFW ■ Lots more in progress! 21
  • 22. Wayland / IVI-Shell ● Drive many screens with discrete input devices ● Compose multi process surfaces ○ Layer many surfaces to appear as on “application” to the user 22
  • 23. Declarative / Reactive User Interface ● Widget trees are regenerated using build() methods ● Describing the widget constructors and associated data 23
  • 24. Dart Language ● C Style Language ○ Type Safe ○ Null Safe ● Object Oriented ○ Encapsulation (Classes) ○ Abstraction & Polymorphism ○ Composition ● Garbage Collected ● Non-shared heap concurrency ○ Isolates ● Bridges to native languages (FFI) ○ C++, Rust, Swift, Kotlin, JAVA 24
  • 25. Recommended Embedded System Architecture ● Flutter on embedded works best with a services based backend ● UI is developed in Dart ● Services are developed in C++, Rust, Python or Other Languages ● In-Process can use Foreign Function Interface 25
  • 26. AGL w/ Kuksa.val (VSS) Databroker Architecture ● Kuksa.val - Eclipse project to enable software defined vehicles ○ Implements COVESA VSS ○ Provides bridges to vehicle hardware ● VSS - COVESA Vehicle Signal Specification ○ Tree that includes ~1200 standardized vehicle data points ■ Speed, RPM, etc 26
  • 27. Riverpod State Management ● Reactive caching data binding framework ○ Marshalling data to/from a services backend ■ Like Kuksa.val! ○ Supports Dependency Injection ■ For easy testing and simulation ● Enables MVC, MVVM and Clean Architectures. 27
  • 28. AGL Architecture ● Services Based Architecture ● Hypervisor and containers ● COVESA VSS Standard ○ Vehicle Signaling Schema ○ Eclipse Kuksa.val Broker ● Audio Routing ○ PipeWire ○ Wire Plumber ○ gRPC ● BT / Telephony ○ Bluez / oFono ○ gRPC ● And more! Page # 28
  • 29. Flutter Embedded without AGL ● ICS is working to diversity use of Toyota’s Flutter Embedder ○ Consumer Devices ○ Industrial Automation ○ Scientific and Medical Devices ● More portability. Less dependencies ○ Standard Wayland ○ KMS / DRM rendering ○ Images for common chipsets ■ And development boards ● Meta-flutter Yocto layer is available ○ Includes classes for including flutter apps 29