(1) Pick up one Android phone and discover its internals
(2) Learn how to select the "weapons" to fight with
Android system facilities
(3) Skipping Java parts, we focus on the native area:
dynamic linking, processes, debugger, memory
layout, IPC, and interactions with frameworks.
(4) It is not comprehensive to familarize Android. The
goal is to utilize Android platforms, which are the
popular and powerful development devices to us.
Presentation at Android Builders Summit 2012.
Based on the experience of working with ODM companies and SoC vendors, this session would discuss how to figure out the performance hotspot of certain Android devices and then improve in various areas including graphics and boot time. This session consists of the detailed components which seem to be independent from each other in traditional view. However, the situation changes a lot in Android system view since everything is coupled in a mass. Three frequently mentioned items in Android engineering are selected as the entry points: 2D/3D graphics, runtime, and boot time. Audience: Developers who work on Android system integration and platform enablement.
Linaro's mission is to make it easier and quicker for ARM partners to deploy the latest technology into optimized Linux based products. This presentation covers the basic work from Linaro Android platform team.
Presentation at FreedomHEC 2012 Conference. 0xlab extends DMTCP (Distributed Multi-Threaded CheckPointing) to enable Android checkpointing, which leads to resume to stored state for faster Android boot time and make better product field trial experience.
(1) Pick up one Android phone and discover its internals
(2) Learn how to select the "weapons" to fight with
Android system facilities
(3) Skipping Java parts, we focus on the native area:
dynamic linking, processes, debugger, memory
layout, IPC, and interactions with frameworks.
(4) It is not comprehensive to familarize Android. The
goal is to utilize Android platforms, which are the
popular and powerful development devices to us.
Presentation at Android Builders Summit 2012.
Based on the experience of working with ODM companies and SoC vendors, this session would discuss how to figure out the performance hotspot of certain Android devices and then improve in various areas including graphics and boot time. This session consists of the detailed components which seem to be independent from each other in traditional view. However, the situation changes a lot in Android system view since everything is coupled in a mass. Three frequently mentioned items in Android engineering are selected as the entry points: 2D/3D graphics, runtime, and boot time. Audience: Developers who work on Android system integration and platform enablement.
Linaro's mission is to make it easier and quicker for ARM partners to deploy the latest technology into optimized Linux based products. This presentation covers the basic work from Linaro Android platform team.
Presentation at FreedomHEC 2012 Conference. 0xlab extends DMTCP (Distributed Multi-Threaded CheckPointing) to enable Android checkpointing, which leads to resume to stored state for faster Android boot time and make better product field trial experience.
Ideas about Checkpointing for Android
> Resume to stored state for faster Android boot time
> Better product field trial experience due to regular
> Deploy problematic states for engineering analysis and
debugging transparently
> Q&A stress test purpose
Jim Huang (jserv) from 0xlab.org prepared the technical training for ARM and SoC. In part I, it introduced the overview of ARM architecture, family, ISA feature, SoC overview, and several practical approaches to Xscale SoC as example.
This presentation covers the working model about Process, Thread, system call, Memory operations, Binder IPC, and interactions with Android frameworks.
In this presentation, the unaware or indirect applications of essential computer science concepts are dicussed as showcase. Jim Huang presented in Department of Computer Science and Engineering, National Taiwan University.
Introduce F9 microkernel, new open source implementation built from scratch, which deploys modern kernel techniques, derived from L4 microkernel designs, to deep embedded devices.
:: https://github.com/f9micro
Characteristics of F9 microkernel
– Efficiency: performance + power consumption
– Security: memory protection + isolated execution
– Flexible development environment
* Know the reasons why various operating systems exist and how they are functioned for dedicated purposes
* Understand the basic concepts while building system software from scratch
• How can we benefit from cheap ARM boards and the related open source tools?
- Raspberry Pi & STM32F4-Discovery
Learning, Analyzing and Protecting Android with TOMOYO Linux (JLS2009)Toshiharu Harada, Ph.D
TOMOYO Linux is a MAC (Mandatory Access Control) implementation which gives support to protect Linux systems as well as to learn, understand and analyze system behavior. Being lightweight, it results suitable for embedded systems too. This tutorial aims to show in a practical way how to make the best use of TOMOYO Linux potentials in order to study and protect embedded Linux systems, taking Android as a specific study case. Though Android is amazingly expanding its target to various kinds of devices, it was designed mainly for mobile phones. Then, unlike other embedded operating systems, it presents some peculiar characteristics which require a particular attention to apply MAC effectively. The session is directed to those who want to learn how to use TOMOYO Linux, to managers or developers interested in security concerning embedded Linux and Android, and even to anyone just wishing to take a closer glance at Android internals.
Demian Neidetcher's presentation to the Denver Open Source Users Group on the Android mobile phone platform. Full details and source code available at http://neidetcher.com/android.html
Ideas about Checkpointing for Android
> Resume to stored state for faster Android boot time
> Better product field trial experience due to regular
> Deploy problematic states for engineering analysis and
debugging transparently
> Q&A stress test purpose
Jim Huang (jserv) from 0xlab.org prepared the technical training for ARM and SoC. In part I, it introduced the overview of ARM architecture, family, ISA feature, SoC overview, and several practical approaches to Xscale SoC as example.
This presentation covers the working model about Process, Thread, system call, Memory operations, Binder IPC, and interactions with Android frameworks.
In this presentation, the unaware or indirect applications of essential computer science concepts are dicussed as showcase. Jim Huang presented in Department of Computer Science and Engineering, National Taiwan University.
Introduce F9 microkernel, new open source implementation built from scratch, which deploys modern kernel techniques, derived from L4 microkernel designs, to deep embedded devices.
:: https://github.com/f9micro
Characteristics of F9 microkernel
– Efficiency: performance + power consumption
– Security: memory protection + isolated execution
– Flexible development environment
* Know the reasons why various operating systems exist and how they are functioned for dedicated purposes
* Understand the basic concepts while building system software from scratch
• How can we benefit from cheap ARM boards and the related open source tools?
- Raspberry Pi & STM32F4-Discovery
Learning, Analyzing and Protecting Android with TOMOYO Linux (JLS2009)Toshiharu Harada, Ph.D
TOMOYO Linux is a MAC (Mandatory Access Control) implementation which gives support to protect Linux systems as well as to learn, understand and analyze system behavior. Being lightweight, it results suitable for embedded systems too. This tutorial aims to show in a practical way how to make the best use of TOMOYO Linux potentials in order to study and protect embedded Linux systems, taking Android as a specific study case. Though Android is amazingly expanding its target to various kinds of devices, it was designed mainly for mobile phones. Then, unlike other embedded operating systems, it presents some peculiar characteristics which require a particular attention to apply MAC effectively. The session is directed to those who want to learn how to use TOMOYO Linux, to managers or developers interested in security concerning embedded Linux and Android, and even to anyone just wishing to take a closer glance at Android internals.
Demian Neidetcher's presentation to the Denver Open Source Users Group on the Android mobile phone platform. Full details and source code available at http://neidetcher.com/android.html
Ok Labs Webinar Android Migration At The Speed Of LightOpen Kernel Labs
Open Kernel Labs is the global leader in open source virtualization software for mobile devices, consumer electronics and embedded systems. Backed by the largest, independent team of microkernel developers, the OKL4 embedded hypervisor is deployed on more than 250 million mobile phones worldwide. Chipset suppliers, handset OEMs, and mobile network operators depend on OK Labs to deliver high performance solutions that decrease BOM cost, reduce complexity and speed time-to-market.
Learn about Current & Future Linux on System z Technology to Improve performance statistics, enhanc node affinity support. For more information, visit http://ibm.co/PNo9Cb.
Learn about Linux on System z Update: Current & Future Linux on System z Technology, Live Virtual Class, Wednesday, July 28. 2010. For more information, visit http://ibm.co/PNo9Cb.
Profiling Multicore Systems to Maximize Core Utilization mentoresd
Profiling Multicore Systems to Maximize Core Utilization – Colin Walls
Underutilization of cores in a multicore system can be considered a bug. As your system incorporates more cores, you need to make sure that all the cores are being utilized fully. Un-expected inter-actions between processes, the operating system, and resources can prevent cores from delivering peak performance. In this session explore how to profile what each core is doing, which processes are running on each core, and understand where core utilization falls below optimum values.
For the full video of this presentation, please visit: https://www.edge-ai-vision.com/2022/06/seamless-deployment-of-multimedia-and-machine-learning-applications-at-the-edge-a-presentation-from-qualcomm/
Megha Daga, Senior Director of Product Management for AIoT at Qualcomm, presents the “Seamless Deployment of Multimedia and Machine Learning Applications at the Edge” tutorial at the May 2022 Embedded Vision Summit.
There has been an explosion of opportunities for edge compute solutions across the internet of things. This growth in opportunities and the diversity of applications is leading to fragmentation in the IoT space both in hardware and software, which creates challenges for developers. In addition, customers and developers are facing challenges in efficient data management and optimized application deployment on embedded edge platforms.
In this session, Daga introduces the Qualcomm Intelligent Multimedia SDK, which empowers developers to tackle these challenges and deploy edge compute applications in a scalable, flexible and optimized way. The Qualcomm Intelligent Multimedia SDK easily decodes and organizes sensor data and executes applications efficiently on edge platforms.
Introduce Brainf*ck, another Turing complete programming language. Then, try to implement the following from scratch: Interpreter, Compiler [x86_64 and ARM], and JIT Compiler.
The promise of the IoT won’t be fulfilled until integrated
software platforms are available that allow software
developers to develop these devices efficiently and in
the most cost-effective manner possible.
This presentation introduces F9 microkernel, new open source
implementation built from scratch, which deploys
modern kernel techniques dedicated to deeply
embedded devices.
Build a full-functioned virtual machine from scratch, when Brainfuck is used. Basic concepts about interpreter, optimizations techniques, language specialization, and platform specific tweaks.
This presentation covers the general concepts about real-time systems, how Linux kernel works for preemption, the latency in Linux, rt-preempt, and Xenomai, the real-time extension as the dual kernel approach.
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
Generating a custom Ruby SDK for your web service or Rails API using Smithyg2nightmarescribd
Have you ever wanted a Ruby client API to communicate with your web service? Smithy is a protocol-agnostic language for defining services and SDKs. Smithy Ruby is an implementation of Smithy that generates a Ruby SDK using a Smithy model. In this talk, we will explore Smithy and Smithy Ruby to learn how to generate custom feature-rich SDKs that can communicate with any web service, such as a Rails JSON API.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
4. Revolution
(1) an attempt, by a large number of people, to change the government of a country,
especially by violent action ( 革命 )
(2) a great change in conditions, ways of working, beliefs, etc. that affects large numbers
of people ( 巨變 )
Evolution
(1) the gradual development of plants, animals, etc. over many years, from simple to
more complicated forms ( 進化 )
(2) the gradual development of something ( 演變 ; 發展 ; 漸進 )
Quote from Google Translation
5. My interpret of Android:
Hardware is Revolution;
Sotware is basically Evolution;
Android is Hardware-driven Software Revolution
7. Take ARM for Example
• 32-bit instructions, with extension to support 16-bit
Thumb & Thumb-2 instructions.
• Single unified memory address space (i.e. all
peripherals and I/O are accessed like normal
memory, at certain specific memory locations).
• Relatively low power consumption.
• Run at wide range of clock cycle
– (June 1, 2011) Qualcomm announced qual-
core MSM8964/APQ8064
– 2.5 GHz / 2MB L2 cache Do you rember the specifications
of your old laptop computers?
– sample in early 2012
8. Classic ARM Processors (1)
• ARM7TDMI family
– Based on ARMv4T architecture with 3-stage pipeline
– supports the 16-bit Thumb instruction set
– supports the JTAG Debugger
– includes a fast Multiplier to support DSP algorithm
– supports the In-Circuit Emulation interface
• ARM9TDMI family
– Based on ARMv4T with Harvard cache architecture
– 5-stage pipeline
– ARM920T is based on ARM9TDMI with a memory
management unit (MMU)
9. Classic ARM Processors (2)
• ARM9E family / Intel’s Xscale
– Based on ARMv5E architecture
– Enhanced with DSP instructions
– Hardware support of Java bytecodes execution
• ARM10 family
– Based on ARMv5E with MMU
• ARM11 family
– Based on ARMv6 architecture The first shipped Android
phone belongs to ARM11 family.
– Supports SIMD instructions
– Reduce context switching cost
Android 1.5 (2009/04/27)
ARMv5te optimizations: libc (thumb, memcpy, memset, clz),
dalvik (fast interpreter), skia, surfaceflinger, pixelflinger, audioflinger
10. Classic ARM Processors (3)
Android 2.0 (2009q4)
ARMv7-a optimizations: libc (memcpy/neon), dalvik (JIT), skia
• Cortex families
– Based on ARMv7 architecture
– Supports the new Thumb-2 instruction set
The era of Android:
The era of Android:
– NEON SIMD engine
High quality
High quality
– Cortex-A: For complex OS based applications mobile computing
mobile computing
• Production: Cortex-A8 / Cortex-A9
– Cortex-R: For real-time embedded applications
– Cortex-M: For deeply embedded, microcontroller type cost
sensitive applications
• Cortex-A15
– Triple dispatch superscalar, out-of-order
– High performance prefetcher
– Up to 4M integrated L2 cache
– 1TB of physical address space
– Enterprise class performance, mobile power
11.
12. ARM Optimizations in Android
• Thumb2 optimizations in Dalvik VM
– On real memory systems with latency the
additional instructions in I-cache latency, it
makes Thumb2 higher performance than ARM
(logic: 1.23x)
• NEON/VFP optimization in skia & dalvik
– 1.45x in dalvik; 2-5x microbench in skia
• Thumb2 + VFP in V8 JavaScript engine
• ARMv6 atomic/rev in libc & dalvik
• NEON + VFP in StageFright
• SMP in libc, libcutils, dalvik
Again, we were informed of the improvements from
Again, we were informed of the improvements from
hardware and dedicated software.
hardware and dedicated software.
But, is it enough?
But, is it enough?
16. Key Concept: Strategy
Even runtime is (claimed as) fully
optimized, we still have to look into
details carefully.
17. Android Services in Action
Content Telephony Bluetooth Connectivity Location
Manager Service Service Service Manager
Window Activity Package Power
…
Manager Manager Manager Manager
Add Service
Service Audio Flinger
Add Service
Manager
daemons Surface
Surface
Service Flinger
Flinger
usbd Manager
adbd System
runtime Server
debuggerd
rild Init Zygote
Zygote Dalvik VM
Dalvik VM
Kernel Android Service
Linux Kernel
Dalvik Framework
18. Properties
Android SurfaceFlinger
Can combine 2D/3D surfaces and surfaces from multiple applications
Surfaces passed as buffers via Binder IPC calls
Can use OpenGL ES and 2D hardware accelerator for its compositions
Double-buffering using page-flip
19.
20.
21.
22.
23. Optimizing SurfaceFlinger Techniques
• Measure/Profile the execution flow
• Scenario-driven system analysis
– 2D/3D animation
– Video Playback
– Camera preview/recording
• Check list:
– Color space converting
– Eliminate the invalid cases (quality of HAL)
– Allow zero copy among framework/HAL/Driver
• Shared memory / IPC cost
– Any misconfiguration?
– Cache (write-through vs. write-back)
– The last: essential routines
24. Write bandwidth greatly
affected if caches are
configured as write-through
Configure caches as write-
back, with allocate-on -write
Memory bandwidth
Single Instance 2 Instances
25. Possibly Premature optimizations
• “Premature optimization is the root of all evil”
– Donald Knuth
• Bionic
– Glibc-incompatible, No SysV IPC, partial Pthread,
incomplete prelink
– inactive/incorrect kernel header inclusion
– May not re-use existing system utilities
• Assumed UI behaviors
– Input event dispatching and handler
– Strict / non-maintainable state machine (policy)
– Depending on a certain set of peripherals
• Unclear HAL design and interface
– Wifi, Bluetooth, GPS, ...
28. Android Software Evolution
• Excluding the trickery, Android is a huge software project
and publishes large parts of source repositories to
AOSP (Android Open Source Project).
• “Hardware-driven software revolution” is the trickery. To
fairly develop, it has to turn into "evolution".
– SoC vendors built up the community(-like) hosted
Android variants. → Qualcomm, TI, Samsung, ST-
Ericsson, ...
• Quality-control is another key factor
– 0xlab delivered 0xbench and related validation
infrastructure.
• Solution to Android ecosystem is to continue to grow the
AOSP community
– need to unify to move forward
– Reasons why Linaro exists
29. Functional View (1.5)
Applications
Applications
Gallery Phone Web Browser Google Maps ・・・・・
Android Framework
Android Framework
Activity Window Content Notification
View System
Manager Manager Manager Manager
Package Telephony Resource Location
Manager Manager Manager Manager
System Library
System Library Android Runtime
Android Runtime
SurfaceFlinger
SurfaceFlinger OpenCORE
OpenCORE SQLite Class Library
Dalvik Virtual Machine
Dalvik Virtual Machine
OpenGL|ES
OpenGL|ES AudioFlinger
AudioFlinger WebKit
SGL
SGL OpenSSL bionic libc
bionic libc Freetype
Linux Kernel
Linux Kernel
30. Functional View (2.3)
Applications
Applications
Gallery Phone Web Browser Google Maps ・・・・・
Android Framework
Android Framework
Activity Window Content Notification
View System
Manager Manager Manager Manager
Package Telephony Resource Location
Manager Manager Manager Manager RenderScript
OpenGL|ES 2.x accelerated. System Library
System Library Android Runtime
Android Runtime
Drop 2D accel
SurfaceFlinger
SurfaceFlinger StageFright SQLite Class Library
V8 bridge Dalvik Virtual Machine
Dalvik Virtual Machine
GLES 2.0 OpenGL|ES
OpenGL|ES AudioFlinger
AudioFlinger WebKit
SMP improvements
Skia
Skia OpenSSL bionic libc
bionic libc Freetype
JIT compiler
Skia supports GPU backend SMP fixes
In Android 3.x Linux Kernel
Linux Kernel
31. Frequently Asked Questions
• "What is the minimal hardware requirement for
running Android?"
→ UX is the key.
• "May I reduce BOM cost in my Android product?"
→ cost down is always possible, but it depends
on the overall performance.
• "How can I upgrade Android without pain?"
• "I need XXX feature from newer version of
Android. How can I get it into the current and old
codebase?"
→ Partially upgrading is feasible for system
libraries, but always difficult for Android
framework
33. Think Difficult
• The Effects of Convergence
– Mobile computing platform
– Ecosystem
• Content providers lead the development of
containers (devices)
• Innovation is integrated by open source software
model. The cost of proprietary software gets much
higher.
• To optimize or not to optimize, that is the question.
– Merge Local optimizations != Optimized globally
– Hardware revolution sharpens optimization
strategies and product directions.
– The role of your team