SlideShare a Scribd company logo
1 of 25
Download to read offline
Ubuntu Phone Engineering
The Phone Delivery Team
2014-04-30 edited. (2014-04-09) Rex Tsai <rex.tsai@canonical.com>
© 2014 Canonical Ltd. Ubuntu and Canonical are registered trademarks of Canonical Ltd.
Architecture overview
Ubuntu Stack
High level architecture using ARM or x86 Android chipset
Using Android BSP
We recommend choosing
a stable and proven
hardware platform
Hardware bring up and validation
significantly shortened due to
common architecture
1 2
Apps Scopes Shell, Home
Linux Kernel
Ubuntu Platform
Libraries: OpenGL ES, WiFi, Sensors
Unity 8, QT, Application Services
AAL
Android Devices Drivers
Hardware enablement
Boot process
Stages
1. Kernel enablement & Ubuntu core.
○ A busybox shell through adb
console
○ Test disk I/O using gzip
compression/decompression on
various partitions. This process can
help find driver level errors
2. Integrate LXC & Android system service.
○ A Ubuntu prompt through adb, and
LXC is running properly
○ Observe upstart-property-watcher
running in the background
3. Full system integration.
○ Ubuntu Unity UI appears on the
screen
○ Start verifying higher level
functionality such as Wifi, telephony,
etc.
Image Components
Device tarball
The Device tarball contains the Ubuntu equivalent of an Android BSP. Each individual mobile device
will have its own specific device tarball.
Ubuntu tarball
The Ubuntu tarball is considered the “standard” Ubuntu Touch image. As much as possible, it is
common across all Ubuntu Touch devices. This design helps to prevent fragmentation of deployed
devices.
Custom tarball
The Custom tarball is the officially supported method for all Ubuntu Touch downstream consumers,
ranging from commercial OEMs to community remixes, to modify the look, feel, and behavior of
Ubuntu Touch.
Deployment
Images
○ Boot image
This is flashed to the boot partition and is given control by the bootloader in ROM. This is a device dependent image containing the kernel and the initramfs needed
to boot Ubuntu. The initramfs userland bits follow the armhf ABI since it is built from Ubuntu sources. The kernel is ABI agnostic since it does not use floating point
functionality.
○ Recovery (Clockworkmod Recovery image)
Optional for running the device but necessary for OTA upgrades and also usually a good first step when porting Android to a device. This is a Clockworkmod Recovery
image with Ubuntu patches, so it is built from the Android tree.
git://phablet.ubuntu.com/CyanogenMod/android_bootable_recovery
○ System images
This is built from the Android source tree and contains only the bare minimum needed for Ubuntu (Android HAL, initramfs, bionic, vendor blobs and daemons).
Building Android apps, assets and the Dalvik runtime are disabled among other things.
This image is mounted inside an LXC container in the Ubuntu host filesystem and it contains the Android proprietary drivers and is running the Android helper
daemons needed to have proper support for all the hardware peripherals that are not natively supported by Ubuntu and open source drivers. Executables in this
image use the armel ABI.
○ The Ubuntu root file system image
This is a device independent image containing the Ubuntu Touch userland, the closes equivalent to a regular Ubuntu Desktop filesystem. This gets booted to, and in
turn mounts and runs the Android system image inside an LXC container. This is built from the official Ubuntu package archives and by adding a few prebuilt Click
packages.
Deploying Ubuntu system
Recovery utils
● ubuntu-device-flash (lp:/ubuntu/goget-ubuntu-touch)
○ File upload & config protocol - adb
Recovery system
○ based on CWM.
○ adb is always on.
○ system-image-upgrader
■ /cache
● Read restore script from /cache/recovery/ubuntu_command
○ GPG verification
■ archive-master.tar.xz
■ archive-master.tar.xz.asc
Easy customization of look, feel, and
behavior
Image Components
Device tarball
The Device tarball contains the Ubuntu equivalent of an Android BSP. Each individual mobile device
will have its own specific device tarball.
Ubuntu tarball
The Ubuntu tarball is considered the “standard” Ubuntu Touch image. As much as possible, it is
common across all Ubuntu Touch devices. This design helps to prevent fragmentation of deployed
devices.
Custom tarball
The Custom tarball is the officially supported method for all Ubuntu Touch downstream consumers,
ranging from commercial OEMs to community remixes, to modify the look, feel, and behavior of
Ubuntu Touch.
Customization
● Backgrounds
Normal Unity Shell background and the Welcome Screen background.
○ Shell background
○ Welcome Screen background
● Color Schemes
○ Customized themes
○ Infographic color scheme
the series of circles on the Welcome Screen that displays user’s data
● Audio
● Default Browser settings
○ Bookmarks
○ home page
● Preinstalling Content
○ click packages
○ sample content.
Scope
Developers have multiple entry points on Ubuntu
Scopes
C++ backend code (no UI)
Lowest effort
Greatest visibility
HTML5
Native/QML
Declarative Language (C++ optional)
Great developer support/Documentation (Digia)
High Developer productivity
Aligned with HTML5 developer critical mass :
• Chrome, Android, iOS
• Webkit/Blink rendering engine
• Apache/Cordova API for offline
Scopes terminology
Scope
The search engine itself, talking to a web service or a local database. Its visible representation is a
Dash page.
Standalone scope
A scope that presents a single set of results and queries one single source
Aggregating scope
A scope that acts as a container for multiple standalone scopes. Every scope can be an aggregating
scope, which enable richer content on their Dash pages
Dash page
The visible part of the scope: dash pages present the scope’s search interface and its results. Dash
pages can be marked as favourites, so that they are always pinned in the Dash.
Ubuntu is designed to allow for OEM and
Operator differentiation, at the default
service layer, without fragmentation
Ubuntu enables partners to build their own
footprint on Ubuntu devices, creating a rich
core OS experience with scopes
Unprecedented customization capabilities
in comparison to Android and other platforms:
● user account - own user identity
● default UX - with scopes and default apps
● branding and theming - own visual identity
● backend integration -i.e. carrier billing
Differentiate where it matters with Ubuntu
2
3
1
Scopes are a a UI toolkit to present
local or remote content and services
in the home screen
Differentiate your device with scopes
to deliver your own default experience
Discoverability of apps, services and
content from multiple sources:
● users are no longer forced to decide
which store to use
● users can focus on finding content
quickly
Scopes | A New UI Paradigm
A user experience where content is front and center
Scopes are fast and engaging
Scopes are a fast and engaging way to embed your services in Ubuntu
Self Service Deal finder LBS Service
Scopes expose content and services in a rich and engaging
way - allowing OEMs and Operators to differentiate their
offerings in an unprecedented fashion.
Scopes are the tool that defines the core OS experience
delivering content as part of the device UI - a direct channel
to the user.
● The default pages use Scopes to deliver music, video and
apps curated from a number of different sources.
● A scope can deliver information and content to existing
pages or can exist as dedicated device pages.
● Harness the power of Scopes to mix and match a variety of
content to create targeted services (e.g. dedicated pages
for sports fans, city guides, operator self-service etc.)
● Scopes are a breeze to develop. Through a common UI
toolkit, pages are easy to design and layout and the results
are always elegant.
Scopes explained
Scopes registry
Scopes data flow
References
● Ubuntu Developer http://developer.ubuntu.com/
○ Scope http://developer.ubuntu.com/scopes/overview/
● Mir: Welcome to Mir http://unity.ubuntu.com/mir/
● Touch - Ubuntu Wiki https://wiki.ubuntu.com/Touch
○ Touch/Porting https://wiki.ubuntu.com/Touch/Porting
○ Touch/Deploying https://wiki.ubuntu.com/Touch/Deploying
● OEM Customization http://developer.ubuntu.com/resources/oem/
○ Ubuntu Image Architecture http://developer.ubuntu.com/resources/oem/architecture/
Ubuntu phone engineering

More Related Content

What's hot

Introduction to OpenBricks: an Embedded Linux Framework
Introduction to OpenBricks: an Embedded Linux FrameworkIntroduction to OpenBricks: an Embedded Linux Framework
Introduction to OpenBricks: an Embedded Linux FrameworkBenjamin Zores
 
Embedded Android Workshop
Embedded Android WorkshopEmbedded Android Workshop
Embedded Android WorkshopOpersys inc.
 
Customizing AOSP For Different Embedded Devices And Integration at Applicatio...
Customizing AOSP For Different Embedded Devices And Integration at Applicatio...Customizing AOSP For Different Embedded Devices And Integration at Applicatio...
Customizing AOSP For Different Embedded Devices And Integration at Applicatio...ijafrc
 
Android Jumpstart ESC SV 2012 Part I
Android Jumpstart ESC SV 2012 Part IAndroid Jumpstart ESC SV 2012 Part I
Android Jumpstart ESC SV 2012 Part IOpersys inc.
 
ExoPlayer for Application developers
ExoPlayer for Application developersExoPlayer for Application developers
ExoPlayer for Application developersHassan Abid
 
BeagleBoard Workshop ESC Boston 2011
BeagleBoard Workshop ESC Boston 2011BeagleBoard Workshop ESC Boston 2011
BeagleBoard Workshop ESC Boston 2011Opersys inc.
 
Leveraging Android's Linux Heritage at AnDevCon3
Leveraging Android's Linux Heritage at AnDevCon3Leveraging Android's Linux Heritage at AnDevCon3
Leveraging Android's Linux Heritage at AnDevCon3Opersys inc.
 
Embedded Android Workshop at Embedded World 2014
Embedded Android Workshop at Embedded World 2014Embedded Android Workshop at Embedded World 2014
Embedded Android Workshop at Embedded World 2014Opersys inc.
 
Embedded Android Workshop with Oreo
Embedded Android Workshop with OreoEmbedded Android Workshop with Oreo
Embedded Android Workshop with OreoOpersys inc.
 
Embedded Android Workshop at AnDevCon VI
Embedded Android Workshop at AnDevCon VIEmbedded Android Workshop at AnDevCon VI
Embedded Android Workshop at AnDevCon VIOpersys inc.
 
Embedded Android Workshop at ABS 2014
Embedded Android Workshop at ABS 2014Embedded Android Workshop at ABS 2014
Embedded Android Workshop at ABS 2014Opersys inc.
 
Embedded Android Workshop with Lollipop
Embedded Android Workshop with LollipopEmbedded Android Workshop with Lollipop
Embedded Android Workshop with LollipopOpersys inc.
 
Embedded Android Workshop part I ESC SV 2012
Embedded Android Workshop part I ESC SV 2012Embedded Android Workshop part I ESC SV 2012
Embedded Android Workshop part I ESC SV 2012Opersys inc.
 
Is Android the New Embedded Linux? at AnDevCon VI
Is Android the New Embedded Linux? at AnDevCon VIIs Android the New Embedded Linux? at AnDevCon VI
Is Android the New Embedded Linux? at AnDevCon VIOpersys inc.
 
Headless Android (Wearable DevCon 2014)
Headless Android (Wearable DevCon 2014)Headless Android (Wearable DevCon 2014)
Headless Android (Wearable DevCon 2014)Ron Munitz
 
Android jumpstart at ESC Boston 2011
Android jumpstart at ESC Boston 2011Android jumpstart at ESC Boston 2011
Android jumpstart at ESC Boston 2011Opersys inc.
 
Embedded Android Workshop with Nougat
Embedded Android Workshop with NougatEmbedded Android Workshop with Nougat
Embedded Android Workshop with NougatOpersys inc.
 

What's hot (20)

Introduction to OpenBricks: an Embedded Linux Framework
Introduction to OpenBricks: an Embedded Linux FrameworkIntroduction to OpenBricks: an Embedded Linux Framework
Introduction to OpenBricks: an Embedded Linux Framework
 
Embedded Android Workshop
Embedded Android WorkshopEmbedded Android Workshop
Embedded Android Workshop
 
Customizing AOSP For Different Embedded Devices And Integration at Applicatio...
Customizing AOSP For Different Embedded Devices And Integration at Applicatio...Customizing AOSP For Different Embedded Devices And Integration at Applicatio...
Customizing AOSP For Different Embedded Devices And Integration at Applicatio...
 
Android Jumpstart ESC SV 2012 Part I
Android Jumpstart ESC SV 2012 Part IAndroid Jumpstart ESC SV 2012 Part I
Android Jumpstart ESC SV 2012 Part I
 
ExoPlayer for Application developers
ExoPlayer for Application developersExoPlayer for Application developers
ExoPlayer for Application developers
 
BeagleBoard Workshop ESC Boston 2011
BeagleBoard Workshop ESC Boston 2011BeagleBoard Workshop ESC Boston 2011
BeagleBoard Workshop ESC Boston 2011
 
Leveraging Android's Linux Heritage at AnDevCon3
Leveraging Android's Linux Heritage at AnDevCon3Leveraging Android's Linux Heritage at AnDevCon3
Leveraging Android's Linux Heritage at AnDevCon3
 
Embedded Android Workshop at Embedded World 2014
Embedded Android Workshop at Embedded World 2014Embedded Android Workshop at Embedded World 2014
Embedded Android Workshop at Embedded World 2014
 
Embedded Android Workshop with Oreo
Embedded Android Workshop with OreoEmbedded Android Workshop with Oreo
Embedded Android Workshop with Oreo
 
Android internals
Android internalsAndroid internals
Android internals
 
Embedded Android Workshop at AnDevCon VI
Embedded Android Workshop at AnDevCon VIEmbedded Android Workshop at AnDevCon VI
Embedded Android Workshop at AnDevCon VI
 
Embedded Android Workshop at ABS 2014
Embedded Android Workshop at ABS 2014Embedded Android Workshop at ABS 2014
Embedded Android Workshop at ABS 2014
 
Embedded Android Workshop with Lollipop
Embedded Android Workshop with LollipopEmbedded Android Workshop with Lollipop
Embedded Android Workshop with Lollipop
 
Embedded Android Workshop part I ESC SV 2012
Embedded Android Workshop part I ESC SV 2012Embedded Android Workshop part I ESC SV 2012
Embedded Android Workshop part I ESC SV 2012
 
Is Android the New Embedded Linux? at AnDevCon VI
Is Android the New Embedded Linux? at AnDevCon VIIs Android the New Embedded Linux? at AnDevCon VI
Is Android the New Embedded Linux? at AnDevCon VI
 
Linux introduction
Linux introductionLinux introduction
Linux introduction
 
Headless Android (Wearable DevCon 2014)
Headless Android (Wearable DevCon 2014)Headless Android (Wearable DevCon 2014)
Headless Android (Wearable DevCon 2014)
 
Android jumpstart at ESC Boston 2011
Android jumpstart at ESC Boston 2011Android jumpstart at ESC Boston 2011
Android jumpstart at ESC Boston 2011
 
Embedded Android Workshop with Nougat
Embedded Android Workshop with NougatEmbedded Android Workshop with Nougat
Embedded Android Workshop with Nougat
 
Android Internals
Android InternalsAndroid Internals
Android Internals
 

Viewers also liked

Ubuntu phone - future of smart phones
Ubuntu phone - future of smart phones Ubuntu phone - future of smart phones
Ubuntu phone - future of smart phones Vikram Verma
 
ubuntu in handheld devices
ubuntu in handheld devicesubuntu in handheld devices
ubuntu in handheld devicesDanial Behzadi
 
Ubuntu 13.04 Persian Release Party
Ubuntu 13.04 Persian Release PartyUbuntu 13.04 Persian Release Party
Ubuntu 13.04 Persian Release PartyDanial Behzadi
 
امنیت و محرمانگی در رایانش همراه
امنیت و محرمانگی در رایانش همراهامنیت و محرمانگی در رایانش همراه
امنیت و محرمانگی در رایانش همراهDanial Behzadi
 
رایانش ابری از دیدگاه آزادی نرم‌افزار
رایانش ابری از دیدگاه آزادی نرم‌افزاررایانش ابری از دیدگاه آزادی نرم‌افزار
رایانش ابری از دیدگاه آزادی نرم‌افزارDanial Behzadi
 
Creating Ubuntu apps with Qt an Python
Creating Ubuntu apps with Qt an PythonCreating Ubuntu apps with Qt an Python
Creating Ubuntu apps with Qt an PythonDanial Behzadi
 
معرفی سیستم‌های توکار در دانشگاه صنعتی شریف
معرفی سیستم‌های توکار در دانشگاه صنعتی شریفمعرفی سیستم‌های توکار در دانشگاه صنعتی شریف
معرفی سیستم‌های توکار در دانشگاه صنعتی شریفnumb95
 
مستندات رفتاری در انجمنهای نرم افزار های آزاد
مستندات رفتاری در انجمنهای نرم افزار های آزادمستندات رفتاری در انجمنهای نرم افزار های آزاد
مستندات رفتاری در انجمنهای نرم افزار های آزادnumb95
 
Ubuntu 12.04 Persian Release Party
Ubuntu 12.04 Persian Release PartyUbuntu 12.04 Persian Release Party
Ubuntu 12.04 Persian Release PartyDanial Behzadi
 
Human Recognition in Video
Human Recognition in VideoHuman Recognition in Video
Human Recognition in VideoDanial Behzadi
 
LXD Container Hypervisor
LXD Container HypervisorLXD Container Hypervisor
LXD Container HypervisorDanial Behzadi
 
The Three Lies About Your Age
The Three Lies About Your AgeThe Three Lies About Your Age
The Three Lies About Your AgeSean Si
 

Viewers also liked (13)

Ubuntu phone - future of smart phones
Ubuntu phone - future of smart phones Ubuntu phone - future of smart phones
Ubuntu phone - future of smart phones
 
ubuntu in handheld devices
ubuntu in handheld devicesubuntu in handheld devices
ubuntu in handheld devices
 
Ubuntu 13.04 Persian Release Party
Ubuntu 13.04 Persian Release PartyUbuntu 13.04 Persian Release Party
Ubuntu 13.04 Persian Release Party
 
امنیت و محرمانگی در رایانش همراه
امنیت و محرمانگی در رایانش همراهامنیت و محرمانگی در رایانش همراه
امنیت و محرمانگی در رایانش همراه
 
رایانش ابری از دیدگاه آزادی نرم‌افزار
رایانش ابری از دیدگاه آزادی نرم‌افزاررایانش ابری از دیدگاه آزادی نرم‌افزار
رایانش ابری از دیدگاه آزادی نرم‌افزار
 
Free Software Persian
Free Software PersianFree Software Persian
Free Software Persian
 
Creating Ubuntu apps with Qt an Python
Creating Ubuntu apps with Qt an PythonCreating Ubuntu apps with Qt an Python
Creating Ubuntu apps with Qt an Python
 
معرفی سیستم‌های توکار در دانشگاه صنعتی شریف
معرفی سیستم‌های توکار در دانشگاه صنعتی شریفمعرفی سیستم‌های توکار در دانشگاه صنعتی شریف
معرفی سیستم‌های توکار در دانشگاه صنعتی شریف
 
مستندات رفتاری در انجمنهای نرم افزار های آزاد
مستندات رفتاری در انجمنهای نرم افزار های آزادمستندات رفتاری در انجمنهای نرم افزار های آزاد
مستندات رفتاری در انجمنهای نرم افزار های آزاد
 
Ubuntu 12.04 Persian Release Party
Ubuntu 12.04 Persian Release PartyUbuntu 12.04 Persian Release Party
Ubuntu 12.04 Persian Release Party
 
Human Recognition in Video
Human Recognition in VideoHuman Recognition in Video
Human Recognition in Video
 
LXD Container Hypervisor
LXD Container HypervisorLXD Container Hypervisor
LXD Container Hypervisor
 
The Three Lies About Your Age
The Three Lies About Your AgeThe Three Lies About Your Age
The Three Lies About Your Age
 

Similar to Ubuntu phone engineering

Ubuntu Core 技术详解
Ubuntu Core 技术详解Ubuntu Core 技术详解
Ubuntu Core 技术详解Rex Tsai
 
Droidcon 2013 France - Android Platform Anatomy
Droidcon 2013 France - Android Platform AnatomyDroidcon 2013 France - Android Platform Anatomy
Droidcon 2013 France - Android Platform AnatomyBenjamin Zores
 
如何在 Ubuntu 上更快、更便捷地部署物联网设备
如何在 Ubuntu 上更快、更便捷地部署物联网设备如何在 Ubuntu 上更快、更便捷地部署物联网设备
如何在 Ubuntu 上更快、更便捷地部署物联网设备Rex Tsai
 
BKK16-406 Ubuntu Core - a snappy platform for Embedded, IoT and 96boards!
BKK16-406 Ubuntu Core - a snappy platform for Embedded, IoT and 96boards!BKK16-406 Ubuntu Core - a snappy platform for Embedded, IoT and 96boards!
BKK16-406 Ubuntu Core - a snappy platform for Embedded, IoT and 96boards!Linaro
 
Enhancing and modifying_the_core_android_os
Enhancing and modifying_the_core_android_osEnhancing and modifying_the_core_android_os
Enhancing and modifying_the_core_android_osArnav Gupta
 
Open stack meetup_boston_ubuntu_cloud
Open stack meetup_boston_ubuntu_cloudOpen stack meetup_boston_ubuntu_cloud
Open stack meetup_boston_ubuntu_cloudKamesh Pemmaraju
 
IoT - Innovating without compromising security
IoT - Innovating without compromising securityIoT - Innovating without compromising security
IoT - Innovating without compromising securityVictor Tuson Palau
 
The ultimate guide to software updates on embedded linux devices
The ultimate guide to software updates on embedded linux devicesThe ultimate guide to software updates on embedded linux devices
The ultimate guide to software updates on embedded linux devicesMender.io
 
Webapps development on ubuntu
Webapps development on ubuntuWebapps development on ubuntu
Webapps development on ubuntuXiaoguo Liu
 
Enhancing and modifying_the_core_android_os
Enhancing and modifying_the_core_android_osEnhancing and modifying_the_core_android_os
Enhancing and modifying_the_core_android_osArnav Gupta
 
OSDC 2016 | rkt and Kubernetes: What’s new with Container Runtimes and Orches...
OSDC 2016 | rkt and Kubernetes: What’s new with Container Runtimes and Orches...OSDC 2016 | rkt and Kubernetes: What’s new with Container Runtimes and Orches...
OSDC 2016 | rkt and Kubernetes: What’s new with Container Runtimes and Orches...NETWAYS
 
OSDC 2016 - rkt and Kubernentes what's new with Container Runtimes and Orches...
OSDC 2016 - rkt and Kubernentes what's new with Container Runtimes and Orches...OSDC 2016 - rkt and Kubernentes what's new with Container Runtimes and Orches...
OSDC 2016 - rkt and Kubernentes what's new with Container Runtimes and Orches...NETWAYS
 
OSCamp Kubernetes 2024 | Zero-Touch OS-Infrastruktur für Container und Kubern...
OSCamp Kubernetes 2024 | Zero-Touch OS-Infrastruktur für Container und Kubern...OSCamp Kubernetes 2024 | Zero-Touch OS-Infrastruktur für Container und Kubern...
OSCamp Kubernetes 2024 | Zero-Touch OS-Infrastruktur für Container und Kubern...NETWAYS
 
"Building Complete Embedded Vision Systems on Linux—From Camera to Display," ...
"Building Complete Embedded Vision Systems on Linux—From Camera to Display," ..."Building Complete Embedded Vision Systems on Linux—From Camera to Display," ...
"Building Complete Embedded Vision Systems on Linux—From Camera to Display," ...Edge AI and Vision Alliance
 
Introduction to android sessions new
Introduction to android   sessions newIntroduction to android   sessions new
Introduction to android sessions newJoe Jacob
 

Similar to Ubuntu phone engineering (20)

Ubuntu Core 技术详解
Ubuntu Core 技术详解Ubuntu Core 技术详解
Ubuntu Core 技术详解
 
Droidcon 2013 France - Android Platform Anatomy
Droidcon 2013 France - Android Platform AnatomyDroidcon 2013 France - Android Platform Anatomy
Droidcon 2013 France - Android Platform Anatomy
 
如何在 Ubuntu 上更快、更便捷地部署物联网设备
如何在 Ubuntu 上更快、更便捷地部署物联网设备如何在 Ubuntu 上更快、更便捷地部署物联网设备
如何在 Ubuntu 上更快、更便捷地部署物联网设备
 
Android OS
Android OSAndroid OS
Android OS
 
BKK16-406 Ubuntu Core - a snappy platform for Embedded, IoT and 96boards!
BKK16-406 Ubuntu Core - a snappy platform for Embedded, IoT and 96boards!BKK16-406 Ubuntu Core - a snappy platform for Embedded, IoT and 96boards!
BKK16-406 Ubuntu Core - a snappy platform for Embedded, IoT and 96boards!
 
Enhancing and modifying_the_core_android_os
Enhancing and modifying_the_core_android_osEnhancing and modifying_the_core_android_os
Enhancing and modifying_the_core_android_os
 
Open stack meetup_boston_ubuntu_cloud
Open stack meetup_boston_ubuntu_cloudOpen stack meetup_boston_ubuntu_cloud
Open stack meetup_boston_ubuntu_cloud
 
Embedded Linux on ARM
Embedded Linux on ARMEmbedded Linux on ARM
Embedded Linux on ARM
 
IoT - Innovating without compromising security
IoT - Innovating without compromising securityIoT - Innovating without compromising security
IoT - Innovating without compromising security
 
Android
Android Android
Android
 
The ultimate guide to software updates on embedded linux devices
The ultimate guide to software updates on embedded linux devicesThe ultimate guide to software updates on embedded linux devices
The ultimate guide to software updates on embedded linux devices
 
Webapps development on ubuntu
Webapps development on ubuntuWebapps development on ubuntu
Webapps development on ubuntu
 
Enhancing and modifying_the_core_android_os
Enhancing and modifying_the_core_android_osEnhancing and modifying_the_core_android_os
Enhancing and modifying_the_core_android_os
 
OSDC 2016 | rkt and Kubernetes: What’s new with Container Runtimes and Orches...
OSDC 2016 | rkt and Kubernetes: What’s new with Container Runtimes and Orches...OSDC 2016 | rkt and Kubernetes: What’s new with Container Runtimes and Orches...
OSDC 2016 | rkt and Kubernetes: What’s new with Container Runtimes and Orches...
 
OSDC 2016 - rkt and Kubernentes what's new with Container Runtimes and Orches...
OSDC 2016 - rkt and Kubernentes what's new with Container Runtimes and Orches...OSDC 2016 - rkt and Kubernentes what's new with Container Runtimes and Orches...
OSDC 2016 - rkt and Kubernentes what's new with Container Runtimes and Orches...
 
OSCamp Kubernetes 2024 | Zero-Touch OS-Infrastruktur für Container und Kubern...
OSCamp Kubernetes 2024 | Zero-Touch OS-Infrastruktur für Container und Kubern...OSCamp Kubernetes 2024 | Zero-Touch OS-Infrastruktur für Container und Kubern...
OSCamp Kubernetes 2024 | Zero-Touch OS-Infrastruktur für Container und Kubern...
 
"Building Complete Embedded Vision Systems on Linux—From Camera to Display," ...
"Building Complete Embedded Vision Systems on Linux—From Camera to Display," ..."Building Complete Embedded Vision Systems on Linux—From Camera to Display," ...
"Building Complete Embedded Vision Systems on Linux—From Camera to Display," ...
 
Introduction to android sessions new
Introduction to android   sessions newIntroduction to android   sessions new
Introduction to android sessions new
 
Embedded Android : System Development - Part I
Embedded Android : System Development - Part IEmbedded Android : System Development - Part I
Embedded Android : System Development - Part I
 
Ubuntu-Overview
Ubuntu-OverviewUbuntu-Overview
Ubuntu-Overview
 

More from Rex Tsai

登山步道開放資料格式標準化
登山步道開放資料格式標準化登山步道開放資料格式標準化
登山步道開放資料格式標準化Rex Tsai
 
Building a developer community with containers
Building a developer community with containersBuilding a developer community with containers
Building a developer community with containersRex Tsai
 
台灣開源社區淺談 (Open Source and Free Software community in Taiwan)
台灣開源社區淺談 (Open Source and Free Software community in Taiwan)台灣開源社區淺談 (Open Source and Free Software community in Taiwan)
台灣開源社區淺談 (Open Source and Free Software community in Taiwan)Rex Tsai
 
以 Leaflet 濫用^H^H呈現開放街圖資料
以 Leaflet 濫用^H^H呈現開放街圖資料以 Leaflet 濫用^H^H呈現開放街圖資料
以 Leaflet 濫用^H^H呈現開放街圖資料Rex Tsai
 
Everest basecamp & gokyo trekking
Everest basecamp & gokyo trekkingEverest basecamp & gokyo trekking
Everest basecamp & gokyo trekkingRex Tsai
 
Oepn Street Map Batch edting via API
Oepn Street Map Batch edting via APIOepn Street Map Batch edting via API
Oepn Street Map Batch edting via APIRex Tsai
 
以開源軟體與 Open Street Map 規劃登山行程
 以開源軟體與 Open Street Map 規劃登山行程 以開源軟體與 Open Street Map 規劃登山行程
以開源軟體與 Open Street Map 規劃登山行程Rex Tsai
 
Modern Linux Desktop Stack
Modern Linux Desktop StackModern Linux Desktop Stack
Modern Linux Desktop StackRex Tsai
 
Get your FLOSS problems solved
Get your FLOSS problems solvedGet your FLOSS problems solved
Get your FLOSS problems solvedRex Tsai
 
遺失的時代精神 - Zeitgeist and GNOME Activity Journal
遺失的時代精神 - Zeitgeist and GNOME Activity Journal遺失的時代精神 - Zeitgeist and GNOME Activity Journal
遺失的時代精神 - Zeitgeist and GNOME Activity JournalRex Tsai
 
Layer 8 - Open source communities and your product
Layer 8  - Open source communities and your productLayer 8  - Open source communities and your product
Layer 8 - Open source communities and your productRex Tsai
 
A Study of SVG-based Application Development @ OSDC 2010
A Study of SVG-based Application Development @ OSDC 2010A Study of SVG-based Application Development @ OSDC 2010
A Study of SVG-based Application Development @ OSDC 2010Rex Tsai
 
OpenWrt Case Study 2008
OpenWrt Case Study 2008OpenWrt Case Study 2008
OpenWrt Case Study 2008Rex Tsai
 
OpenWrt101 2007
OpenWrt101 2007OpenWrt101 2007
OpenWrt101 2007Rex Tsai
 
OpenLab.Taipei #2 PORTA2030 Extra
OpenLab.Taipei #2 PORTA2030 ExtraOpenLab.Taipei #2 PORTA2030 Extra
OpenLab.Taipei #2 PORTA2030 ExtraRex Tsai
 
OpenLab.Taipei #2 PORTA2030
OpenLab.Taipei #2 PORTA2030OpenLab.Taipei #2 PORTA2030
OpenLab.Taipei #2 PORTA2030Rex Tsai
 
OpenWRT, A value-add base solution for your product. (1st part, chihchun)
OpenWRT, A value-add base solution for your product. (1st part, chihchun)OpenWRT, A value-add base solution for your product. (1st part, chihchun)
OpenWRT, A value-add base solution for your product. (1st part, chihchun)Rex Tsai
 

More from Rex Tsai (17)

登山步道開放資料格式標準化
登山步道開放資料格式標準化登山步道開放資料格式標準化
登山步道開放資料格式標準化
 
Building a developer community with containers
Building a developer community with containersBuilding a developer community with containers
Building a developer community with containers
 
台灣開源社區淺談 (Open Source and Free Software community in Taiwan)
台灣開源社區淺談 (Open Source and Free Software community in Taiwan)台灣開源社區淺談 (Open Source and Free Software community in Taiwan)
台灣開源社區淺談 (Open Source and Free Software community in Taiwan)
 
以 Leaflet 濫用^H^H呈現開放街圖資料
以 Leaflet 濫用^H^H呈現開放街圖資料以 Leaflet 濫用^H^H呈現開放街圖資料
以 Leaflet 濫用^H^H呈現開放街圖資料
 
Everest basecamp & gokyo trekking
Everest basecamp & gokyo trekkingEverest basecamp & gokyo trekking
Everest basecamp & gokyo trekking
 
Oepn Street Map Batch edting via API
Oepn Street Map Batch edting via APIOepn Street Map Batch edting via API
Oepn Street Map Batch edting via API
 
以開源軟體與 Open Street Map 規劃登山行程
 以開源軟體與 Open Street Map 規劃登山行程 以開源軟體與 Open Street Map 規劃登山行程
以開源軟體與 Open Street Map 規劃登山行程
 
Modern Linux Desktop Stack
Modern Linux Desktop StackModern Linux Desktop Stack
Modern Linux Desktop Stack
 
Get your FLOSS problems solved
Get your FLOSS problems solvedGet your FLOSS problems solved
Get your FLOSS problems solved
 
遺失的時代精神 - Zeitgeist and GNOME Activity Journal
遺失的時代精神 - Zeitgeist and GNOME Activity Journal遺失的時代精神 - Zeitgeist and GNOME Activity Journal
遺失的時代精神 - Zeitgeist and GNOME Activity Journal
 
Layer 8 - Open source communities and your product
Layer 8  - Open source communities and your productLayer 8  - Open source communities and your product
Layer 8 - Open source communities and your product
 
A Study of SVG-based Application Development @ OSDC 2010
A Study of SVG-based Application Development @ OSDC 2010A Study of SVG-based Application Development @ OSDC 2010
A Study of SVG-based Application Development @ OSDC 2010
 
OpenWrt Case Study 2008
OpenWrt Case Study 2008OpenWrt Case Study 2008
OpenWrt Case Study 2008
 
OpenWrt101 2007
OpenWrt101 2007OpenWrt101 2007
OpenWrt101 2007
 
OpenLab.Taipei #2 PORTA2030 Extra
OpenLab.Taipei #2 PORTA2030 ExtraOpenLab.Taipei #2 PORTA2030 Extra
OpenLab.Taipei #2 PORTA2030 Extra
 
OpenLab.Taipei #2 PORTA2030
OpenLab.Taipei #2 PORTA2030OpenLab.Taipei #2 PORTA2030
OpenLab.Taipei #2 PORTA2030
 
OpenWRT, A value-add base solution for your product. (1st part, chihchun)
OpenWRT, A value-add base solution for your product. (1st part, chihchun)OpenWRT, A value-add base solution for your product. (1st part, chihchun)
OpenWRT, A value-add base solution for your product. (1st part, chihchun)
 

Recently uploaded

chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
buds n tech IT solutions
buds n  tech IT                solutionsbuds n  tech IT                solutions
buds n tech IT solutionsmonugehlot87
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsMehedi Hasan Shohan
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?Watsoo Telematics
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 

Recently uploaded (20)

chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
buds n tech IT solutions
buds n  tech IT                solutionsbuds n  tech IT                solutions
buds n tech IT solutions
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software Solutions
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 

Ubuntu phone engineering

  • 1. Ubuntu Phone Engineering The Phone Delivery Team 2014-04-30 edited. (2014-04-09) Rex Tsai <rex.tsai@canonical.com> © 2014 Canonical Ltd. Ubuntu and Canonical are registered trademarks of Canonical Ltd.
  • 4. High level architecture using ARM or x86 Android chipset Using Android BSP We recommend choosing a stable and proven hardware platform Hardware bring up and validation significantly shortened due to common architecture 1 2 Apps Scopes Shell, Home Linux Kernel Ubuntu Platform Libraries: OpenGL ES, WiFi, Sensors Unity 8, QT, Application Services AAL Android Devices Drivers
  • 7. Stages 1. Kernel enablement & Ubuntu core. ○ A busybox shell through adb console ○ Test disk I/O using gzip compression/decompression on various partitions. This process can help find driver level errors 2. Integrate LXC & Android system service. ○ A Ubuntu prompt through adb, and LXC is running properly ○ Observe upstart-property-watcher running in the background 3. Full system integration. ○ Ubuntu Unity UI appears on the screen ○ Start verifying higher level functionality such as Wifi, telephony, etc.
  • 8. Image Components Device tarball The Device tarball contains the Ubuntu equivalent of an Android BSP. Each individual mobile device will have its own specific device tarball. Ubuntu tarball The Ubuntu tarball is considered the “standard” Ubuntu Touch image. As much as possible, it is common across all Ubuntu Touch devices. This design helps to prevent fragmentation of deployed devices. Custom tarball The Custom tarball is the officially supported method for all Ubuntu Touch downstream consumers, ranging from commercial OEMs to community remixes, to modify the look, feel, and behavior of Ubuntu Touch.
  • 10. Images ○ Boot image This is flashed to the boot partition and is given control by the bootloader in ROM. This is a device dependent image containing the kernel and the initramfs needed to boot Ubuntu. The initramfs userland bits follow the armhf ABI since it is built from Ubuntu sources. The kernel is ABI agnostic since it does not use floating point functionality. ○ Recovery (Clockworkmod Recovery image) Optional for running the device but necessary for OTA upgrades and also usually a good first step when porting Android to a device. This is a Clockworkmod Recovery image with Ubuntu patches, so it is built from the Android tree. git://phablet.ubuntu.com/CyanogenMod/android_bootable_recovery ○ System images This is built from the Android source tree and contains only the bare minimum needed for Ubuntu (Android HAL, initramfs, bionic, vendor blobs and daemons). Building Android apps, assets and the Dalvik runtime are disabled among other things. This image is mounted inside an LXC container in the Ubuntu host filesystem and it contains the Android proprietary drivers and is running the Android helper daemons needed to have proper support for all the hardware peripherals that are not natively supported by Ubuntu and open source drivers. Executables in this image use the armel ABI. ○ The Ubuntu root file system image This is a device independent image containing the Ubuntu Touch userland, the closes equivalent to a regular Ubuntu Desktop filesystem. This gets booted to, and in turn mounts and runs the Android system image inside an LXC container. This is built from the official Ubuntu package archives and by adding a few prebuilt Click packages.
  • 11. Deploying Ubuntu system Recovery utils ● ubuntu-device-flash (lp:/ubuntu/goget-ubuntu-touch) ○ File upload & config protocol - adb Recovery system ○ based on CWM. ○ adb is always on. ○ system-image-upgrader ■ /cache ● Read restore script from /cache/recovery/ubuntu_command ○ GPG verification ■ archive-master.tar.xz ■ archive-master.tar.xz.asc
  • 12. Easy customization of look, feel, and behavior
  • 13. Image Components Device tarball The Device tarball contains the Ubuntu equivalent of an Android BSP. Each individual mobile device will have its own specific device tarball. Ubuntu tarball The Ubuntu tarball is considered the “standard” Ubuntu Touch image. As much as possible, it is common across all Ubuntu Touch devices. This design helps to prevent fragmentation of deployed devices. Custom tarball The Custom tarball is the officially supported method for all Ubuntu Touch downstream consumers, ranging from commercial OEMs to community remixes, to modify the look, feel, and behavior of Ubuntu Touch.
  • 14. Customization ● Backgrounds Normal Unity Shell background and the Welcome Screen background. ○ Shell background ○ Welcome Screen background ● Color Schemes ○ Customized themes ○ Infographic color scheme the series of circles on the Welcome Screen that displays user’s data ● Audio ● Default Browser settings ○ Bookmarks ○ home page ● Preinstalling Content ○ click packages ○ sample content.
  • 15. Scope
  • 16. Developers have multiple entry points on Ubuntu Scopes C++ backend code (no UI) Lowest effort Greatest visibility HTML5 Native/QML Declarative Language (C++ optional) Great developer support/Documentation (Digia) High Developer productivity Aligned with HTML5 developer critical mass : • Chrome, Android, iOS • Webkit/Blink rendering engine • Apache/Cordova API for offline
  • 17. Scopes terminology Scope The search engine itself, talking to a web service or a local database. Its visible representation is a Dash page. Standalone scope A scope that presents a single set of results and queries one single source Aggregating scope A scope that acts as a container for multiple standalone scopes. Every scope can be an aggregating scope, which enable richer content on their Dash pages Dash page The visible part of the scope: dash pages present the scope’s search interface and its results. Dash pages can be marked as favourites, so that they are always pinned in the Dash.
  • 18. Ubuntu is designed to allow for OEM and Operator differentiation, at the default service layer, without fragmentation Ubuntu enables partners to build their own footprint on Ubuntu devices, creating a rich core OS experience with scopes Unprecedented customization capabilities in comparison to Android and other platforms: ● user account - own user identity ● default UX - with scopes and default apps ● branding and theming - own visual identity ● backend integration -i.e. carrier billing Differentiate where it matters with Ubuntu 2 3 1
  • 19. Scopes are a a UI toolkit to present local or remote content and services in the home screen Differentiate your device with scopes to deliver your own default experience Discoverability of apps, services and content from multiple sources: ● users are no longer forced to decide which store to use ● users can focus on finding content quickly Scopes | A New UI Paradigm A user experience where content is front and center
  • 20. Scopes are fast and engaging Scopes are a fast and engaging way to embed your services in Ubuntu Self Service Deal finder LBS Service
  • 21. Scopes expose content and services in a rich and engaging way - allowing OEMs and Operators to differentiate their offerings in an unprecedented fashion. Scopes are the tool that defines the core OS experience delivering content as part of the device UI - a direct channel to the user. ● The default pages use Scopes to deliver music, video and apps curated from a number of different sources. ● A scope can deliver information and content to existing pages or can exist as dedicated device pages. ● Harness the power of Scopes to mix and match a variety of content to create targeted services (e.g. dedicated pages for sports fans, city guides, operator self-service etc.) ● Scopes are a breeze to develop. Through a common UI toolkit, pages are easy to design and layout and the results are always elegant. Scopes explained
  • 24. References ● Ubuntu Developer http://developer.ubuntu.com/ ○ Scope http://developer.ubuntu.com/scopes/overview/ ● Mir: Welcome to Mir http://unity.ubuntu.com/mir/ ● Touch - Ubuntu Wiki https://wiki.ubuntu.com/Touch ○ Touch/Porting https://wiki.ubuntu.com/Touch/Porting ○ Touch/Deploying https://wiki.ubuntu.com/Touch/Deploying ● OEM Customization http://developer.ubuntu.com/resources/oem/ ○ Ubuntu Image Architecture http://developer.ubuntu.com/resources/oem/architecture/