SlideShare une entreprise Scribd logo
1  sur  20
Télécharger pour lire hors ligne
Mobile
Solutions
Android goes reading
Mobile
Solutions
Mobile
Solutions
History
From first contact to Go Live
2Bernhard Hochstätter, Dominik Helleberg, Michael Krümmling
First contact
12/2011
Contract
12/2012
Go Live
03/2013
Start pitch
06/2012
Mobile
Solutions
Mobile Solutions
3Bernhard Hochstätter, Dominik Helleberg, Michael Krümmling
§  We offer solutions for
application and software
development
§  We support all the way – from
the first idea until go-live and
even afterwards
§  We assemble the best team
according to your specific needs
„Software development
of mobile applications
(Apps)
on all current platforms
(iOS, Android, WP7) and
platform independent
with HTML5.“
„Deployment of mobile
applications for the
platforms iOS,
Android,
WindowsPhone and
BlackBerry.“
What we do… Our Products
App Deployment
App Development
We are hiring!
Mobile
Solutions
Android goes reading
Reader Application Development
Mobile
Solutions
Mobile
Solutions
Agenda
1.  Android with changed conditions
2.  Android with new challenges
3.  Clean drawing
4.  Android without animations
5.  Android without Settings App
6.  New challenges for testing
5Bernhard Hochstätter, Dominik Helleberg, Michael Krümmling
Mobile
Solutions
Android with changed conditions
§  PagePlace Reader App as foundation
§  Supports all Android Smartphones and Tablets but no eInk Device
§  Reader Application supports only one device à no device
diversity
§  One resolution
§  One display size
§  One aOS version (Android 2.3.3)
§  No device specialities
§  Unlimited rights and possibilities
§  Using any permission
§  Less restricted Android SDK
§  System Application
6Bernhard Hochstätter, Dominik Helleberg, Michael Krümmling
Mobile
Solutions
Android with new challenges
§  challenges due to hardware
§  eInk display with only 16 grey shades, 4 fps and ghosting susceptibility
§  Specific performance characteristics
§  Limited key availability
§  Optimise battery lifetime up to 7 weeks
§  challenges due to system environment
§  Being the only application on the device
§  Being Homescreen
§  Being Settings App
§  Handle all important system events
7Bernhard Hochstätter, Dominik Helleberg, Michael Krümmling
Mobile
Solutions
Clean drawing
§  Drawing problems with eInk:
§  Switching between screens
§  Ghosting of dialogs
§  Page turning
§  Time delays between view and display
§  System was enhanced with new functionality for
screen refresh (Java and native)
§  “The triangle of clean drawing”
§  Final solution for the switch between the screens:
§  Custom view that handles drawing in every screen
§  Reduce ghosting through multistep process and screen
interaction
8Bernhard Hochstätter, Dominik Helleberg, Michael Krümmling
Speed Ghosting
Flickering
“The triangle of clean drawing”
Mobile
Solutions
Android without animations
§  Custom view for lists and grids
§  No scrolling
§  Navigation through paging
§  Web Shop
§  No scrolling
§  Enhanced interfaces (e.g. control the
display from Website)
§  Replace 2D and 3D animations
from application
9Bernhard Hochstätter, Dominik Helleberg, Michael Krümmling
Mobile
Solutions
Android without Settings App
§  Settings App not visible on the device
§  Reader has to offer important settings
§  Handle WiFi
§  Adoption and customization of native
implementation from Android 2.3.3
§  Setting system time
§  Setting brightness of frontlight
§  Setting timeout delays
§  Factory reset
§  Managing battery
§  Managing system updates
§  Handling internal and external storage
10Bernhard Hochstätter, Dominik Helleberg, Michael Krümmling
Mobile
Solutions
New challenges for testing
§  New test requirements coming up besides
application- and integration tests
§  Complex investigations and benchmarks
were made
§  Current measurements on the device
§  Performance benchmarks and comparisons to
competitors' products
§  Current measurements during over 10.000 page
turns in the reader
§  We had to find new testing procedures
11Bernhard Hochstätter, Dominik Helleberg, Michael Krümmling
“Manekineko”
Mobile
Solutions
Android goes reading
System Development
Mobile
Solutions
Mobile
Solutions
System development
How to work inside the Droid
§  7 GB Source
§  Compile Time ~ 45 minutes
§  „Deployment Time“ ~ 5-10 minutes
§  Dependencies ususally fail at runtime
§  You can change everything... Maybe
you shouldn‘t ;)
13Bernhard Hochstätter, Dominik Helleberg, Michael Krümmling
Mobile
Solutions
Downsizing/Boot-time tuning
How a droid comes to life....
bootloader
kernel
init
service
manager
zygote
daemons
boot
animiation
System
Server
Package
Manager
Activity
Manager
Power
Manager
...
launcher
14Bernhard Hochstätter, Dominik Helleberg, Michael Krümmling
Mobile
Solutions
Downsizing/Boot-time tuning
How a droid comes to life....
15Bernhard Hochstätter, Dominik Helleberg, Michael Krümmling
Mobile
Solutions
Downsizing/Boot-time tuning
How a droid comes to life....
bootloader
kernel
init
service
manager
zygote
daemons
boot
animiation
System
Server
Package
Manager
Activity
Manager
Power
Manager
...
launcher
16Bernhard Hochstätter, Dominik Helleberg, Michael Krümmling
Mobile
Solutions
Power Management
Let the droid sleep...
17Bernhard Hochstätter, Dominik Helleberg, Michael Krümmling
Mobile
Solutions
Power Management
Let the droid sleep...
/sys/devices/system/cpu/cpuX/cpufreq/stats/time_in_state	
  
	
  
350000	
  174343	
  
700000	
  248177	
  
920000	
  47966	
  
1200000	
  57356	
  
	
  
	
  
deepSleepTime	
  =	
  SystemClock.elapsedRealtime()	
  -­‐	
  (Σ	
  (all	
  cpu_states));	
  
deepSleepTime	
  =	
  SystemClock.elapsedRealtime()	
  -­‐	
  SystemClock.uptimeMillis();	
  
18Bernhard Hochstätter, Dominik Helleberg, Michael Krümmling
Mobile
Solutions
Power Management
Let the droid sleep...
$	
  adb	
  shell	
  dumpsys	
  batteryinfo	
  
	
  
....	
  
Statistics	
  since	
  last	
  charge:	
  
	
  	
  System	
  starts:	
  0,	
  currently	
  on	
  battery:	
  false	
  
	
  	
  Time	
  on	
  battery:	
  3h	
  13m	
  20s	
  916ms	
  (0,2%)	
  realtime,	
  1h	
  23m	
  39s	
  681ms	
  (0,1%)	
  uptime	
  
	
  	
  Total	
  run	
  time:	
  81d	
  20h	
  13m	
  10s	
  836ms	
  realtime,	
  33d	
  20h	
  15m	
  30s	
  182ms	
  uptime,	
  	
  
	
  	
  Screen	
  on:	
  21m	
  34s	
  334ms	
  (11,2%),	
  Input	
  events:	
  0,	
  Active	
  phone	
  call:	
  0ms	
  (0,0%)	
  
	
  	
  Screen	
  brightnesses:	
  dark	
  2m	
  46s	
  112ms	
  (12,8%),	
  dim	
  9m	
  53s	
  192ms	
  (45,8%),	
  	
  
	
   	
   	
   	
   	
  medium	
  8m	
  32s	
  673ms	
  (39,6%),	
  light	
  22s	
  356ms	
  (1,7%)	
  
	
  	
  Kernel	
  Wake	
  lock	
  "PowerManagerService":	
  1h	
  4m	
  50s	
  972ms	
  (1180	
  times)	
  realtime	
  
	
  	
  Kernel	
  Wake	
  lock	
  "main":	
  36m	
  28s	
  908ms	
  (14	
  times)	
  realtime	
  
	
  	
  Kernel	
  Wake	
  lock	
  "mipi_link":	
  33m	
  4s	
  670ms	
  (2137	
  times)	
  realtime	
  
	
  	
  Kernel	
  Wake	
  lock	
  "radio-­‐interface":	
  16m	
  30s	
  724ms	
  (808	
  times)	
  realtime	
  
	
  	
  Kernel	
  Wake	
  lock	
  "gps-­‐lock":	
  11m	
  1s	
  604ms	
  (5	
  times)	
  realtime	
  
	
  	
  Kernel	
  Wake	
  lock	
  "wlan_rx_wake":	
  9m	
  3s	
  70ms	
  (186	
  times)	
  realtime	
  
	
  	
  Kernel	
  Wake	
  lock	
  "alarm_rtc":	
  4m	
  30s	
  287ms	
  (448	
  times)	
  realtime	
  
	
  	
  Kernel	
  Wake	
  lock	
  "BTLowPower":	
  3m	
  13s	
  600ms	
  (221	
  times)	
  realtime	
  
	
  	
  Kernel	
  Wake	
  lock	
  "musb_autosuspend_wake_lock":	
  31s	
  998ms	
  (594	
  times)	
  realtime	
  
	
  	
  Kernel	
  Wake	
  lock	
  "wlan_wake":	
  31s	
  786ms	
  (17901	
  times)	
  realtime	
  
...	
  
19Bernhard Hochstätter, Dominik Helleberg, Michael Krümmling
Mobile
Solutions
Thanks for Attention!
Mobile
Solutions

Contenu connexe

En vedette

Hema rapidskillz certificate
Hema rapidskillz certificateHema rapidskillz certificate
Hema rapidskillz certificate
Hema Shekar
 
веселая математика
веселая математикавеселая математика
веселая математика
alexredhill
 
Evaluation part four
Evaluation part fourEvaluation part four
Evaluation part four
mabelpearce
 

En vedette (9)

Hema rapidskillz certificate
Hema rapidskillz certificateHema rapidskillz certificate
Hema rapidskillz certificate
 
веселая математика
веселая математикавеселая математика
веселая математика
 
E marketer marketing_automation_roundup
E marketer marketing_automation_roundupE marketer marketing_automation_roundup
E marketer marketing_automation_roundup
 
Mass communication thoery
Mass communication thoeryMass communication thoery
Mass communication thoery
 
Evaluation part four
Evaluation part fourEvaluation part four
Evaluation part four
 
Feedback about your feedback
Feedback about your feedbackFeedback about your feedback
Feedback about your feedback
 
интенсив 2
интенсив 2интенсив 2
интенсив 2
 
Managed care for Homeless Services Providers
Managed care for Homeless Services ProvidersManaged care for Homeless Services Providers
Managed care for Homeless Services Providers
 
Base Building for Direct Action Organizing Groups
Base Building for Direct Action Organizing GroupsBase Building for Direct Action Organizing Groups
Base Building for Direct Action Organizing Groups
 

Similaire à Android goes reading

Droidcon2013 helleberg kruemmling_androidgoesreading_inovex_telekom
Droidcon2013 helleberg kruemmling_androidgoesreading_inovex_telekomDroidcon2013 helleberg kruemmling_androidgoesreading_inovex_telekom
Droidcon2013 helleberg kruemmling_androidgoesreading_inovex_telekom
Droidcon Berlin
 
Build Mobile Application In Android
Build Mobile Application In AndroidBuild Mobile Application In Android
Build Mobile Application In Android
dnnddane
 
Android introduction and rooting technology
Android introduction and rooting technologyAndroid introduction and rooting technology
Android introduction and rooting technology
Gagandeep Nanda
 

Similaire à Android goes reading (20)

Droidcon2013 helleberg kruemmling_androidgoesreading_inovex_telekom
Droidcon2013 helleberg kruemmling_androidgoesreading_inovex_telekomDroidcon2013 helleberg kruemmling_androidgoesreading_inovex_telekom
Droidcon2013 helleberg kruemmling_androidgoesreading_inovex_telekom
 
Developing Mobile Apps for Performance - Swapnil Patel, Verizon Media
Developing Mobile Apps for Performance - Swapnil Patel, Verizon MediaDeveloping Mobile Apps for Performance - Swapnil Patel, Verizon Media
Developing Mobile Apps for Performance - Swapnil Patel, Verizon Media
 
Chrome Dev Summit Summary 2013 part 1 - what’s hot ?
Chrome Dev Summit Summary 2013 part 1 - what’s hot ?Chrome Dev Summit Summary 2013 part 1 - what’s hot ?
Chrome Dev Summit Summary 2013 part 1 - what’s hot ?
 
Profiling Android Applications
Profiling Android ApplicationsProfiling Android Applications
Profiling Android Applications
 
Introduction to mobile programming with Androids.
Introduction to mobile programming with Androids. Introduction to mobile programming with Androids.
Introduction to mobile programming with Androids.
 
Getting Started with Android - OSSPAC 2009
Getting Started with Android - OSSPAC 2009Getting Started with Android - OSSPAC 2009
Getting Started with Android - OSSPAC 2009
 
Performance Optimization for Mobile Web | Fresh Tilled Soil
Performance Optimization for Mobile Web | Fresh Tilled SoilPerformance Optimization for Mobile Web | Fresh Tilled Soil
Performance Optimization for Mobile Web | Fresh Tilled Soil
 
Introduction to Android
Introduction to AndroidIntroduction to Android
Introduction to Android
 
Lesson learned from 3 years with hybrid apps
Lesson learned from 3 years with hybrid appsLesson learned from 3 years with hybrid apps
Lesson learned from 3 years with hybrid apps
 
An Introduction To Android
An Introduction To AndroidAn Introduction To Android
An Introduction To Android
 
Phonegap - An Introduction
Phonegap - An IntroductionPhonegap - An Introduction
Phonegap - An Introduction
 
Introduction to Android - Mobile Portland
Introduction to Android - Mobile PortlandIntroduction to Android - Mobile Portland
Introduction to Android - Mobile Portland
 
Optimizing Apps for Better Performance
Optimizing Apps for Better PerformanceOptimizing Apps for Better Performance
Optimizing Apps for Better Performance
 
Sugsa mobile ux_april 2013
Sugsa mobile ux_april 2013Sugsa mobile ux_april 2013
Sugsa mobile ux_april 2013
 
Smartphone Behavior On A Featurephone Budget
Smartphone Behavior On A Featurephone BudgetSmartphone Behavior On A Featurephone Budget
Smartphone Behavior On A Featurephone Budget
 
Android architecture
Android architectureAndroid architecture
Android architecture
 
PRESENTATION ON ANDROID
PRESENTATION ON ANDROIDPRESENTATION ON ANDROID
PRESENTATION ON ANDROID
 
Build Mobile Application In Android
Build Mobile Application In AndroidBuild Mobile Application In Android
Build Mobile Application In Android
 
Android introduction and rooting technology
Android introduction and rooting technologyAndroid introduction and rooting technology
Android introduction and rooting technology
 
Modern Webapps
Modern WebappsModern Webapps
Modern Webapps
 

Plus de inovex GmbH

Interpretable Machine Learning
Interpretable Machine LearningInterpretable Machine Learning
Interpretable Machine Learning
inovex GmbH
 
Deep Learning for Recommender Systems
Deep Learning for Recommender SystemsDeep Learning for Recommender Systems
Deep Learning for Recommender Systems
inovex GmbH
 
Representation Learning von Zeitreihen
Representation Learning von ZeitreihenRepresentation Learning von Zeitreihen
Representation Learning von Zeitreihen
inovex GmbH
 
Performance evaluation of GANs in a semisupervised OCR use case
Performance evaluation of GANs in a semisupervised OCR use casePerformance evaluation of GANs in a semisupervised OCR use case
Performance evaluation of GANs in a semisupervised OCR use case
inovex GmbH
 

Plus de inovex GmbH (20)

lldb – Debugger auf Abwegen
lldb – Debugger auf Abwegenlldb – Debugger auf Abwegen
lldb – Debugger auf Abwegen
 
Are you sure about that?! Uncertainty Quantification in AI
Are you sure about that?! Uncertainty Quantification in AIAre you sure about that?! Uncertainty Quantification in AI
Are you sure about that?! Uncertainty Quantification in AI
 
Why natural language is next step in the AI evolution
Why natural language is next step in the AI evolutionWhy natural language is next step in the AI evolution
Why natural language is next step in the AI evolution
 
WWDC 2019 Recap
WWDC 2019 RecapWWDC 2019 Recap
WWDC 2019 Recap
 
Network Policies
Network PoliciesNetwork Policies
Network Policies
 
Interpretable Machine Learning
Interpretable Machine LearningInterpretable Machine Learning
Interpretable Machine Learning
 
Jenkins X – CI/CD in wolkigen Umgebungen
Jenkins X – CI/CD in wolkigen UmgebungenJenkins X – CI/CD in wolkigen Umgebungen
Jenkins X – CI/CD in wolkigen Umgebungen
 
AI auf Edge-Geraeten
AI auf Edge-GeraetenAI auf Edge-Geraeten
AI auf Edge-Geraeten
 
Prometheus on Kubernetes
Prometheus on KubernetesPrometheus on Kubernetes
Prometheus on Kubernetes
 
Deep Learning for Recommender Systems
Deep Learning for Recommender SystemsDeep Learning for Recommender Systems
Deep Learning for Recommender Systems
 
Azure IoT Edge
Azure IoT EdgeAzure IoT Edge
Azure IoT Edge
 
Representation Learning von Zeitreihen
Representation Learning von ZeitreihenRepresentation Learning von Zeitreihen
Representation Learning von Zeitreihen
 
Talk to me – Chatbots und digitale Assistenten
Talk to me – Chatbots und digitale AssistentenTalk to me – Chatbots und digitale Assistenten
Talk to me – Chatbots und digitale Assistenten
 
Künstlich intelligent?
Künstlich intelligent?Künstlich intelligent?
Künstlich intelligent?
 
Dev + Ops = Go
Dev + Ops = GoDev + Ops = Go
Dev + Ops = Go
 
Das Android Open Source Project
Das Android Open Source ProjectDas Android Open Source Project
Das Android Open Source Project
 
Machine Learning Interpretability
Machine Learning InterpretabilityMachine Learning Interpretability
Machine Learning Interpretability
 
Performance evaluation of GANs in a semisupervised OCR use case
Performance evaluation of GANs in a semisupervised OCR use casePerformance evaluation of GANs in a semisupervised OCR use case
Performance evaluation of GANs in a semisupervised OCR use case
 
People & Products – Lessons learned from the daily IT madness
People & Products – Lessons learned from the daily IT madnessPeople & Products – Lessons learned from the daily IT madness
People & Products – Lessons learned from the daily IT madness
 
Infrastructure as (real) Code – Manage your K8s resources with Pulumi
Infrastructure as (real) Code – Manage your K8s resources with PulumiInfrastructure as (real) Code – Manage your K8s resources with Pulumi
Infrastructure as (real) Code – Manage your K8s resources with Pulumi
 

Dernier

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Dernier (20)

Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 

Android goes reading

  • 2. Mobile Solutions History From first contact to Go Live 2Bernhard Hochstätter, Dominik Helleberg, Michael Krümmling First contact 12/2011 Contract 12/2012 Go Live 03/2013 Start pitch 06/2012
  • 3. Mobile Solutions Mobile Solutions 3Bernhard Hochstätter, Dominik Helleberg, Michael Krümmling §  We offer solutions for application and software development §  We support all the way – from the first idea until go-live and even afterwards §  We assemble the best team according to your specific needs „Software development of mobile applications (Apps) on all current platforms (iOS, Android, WP7) and platform independent with HTML5.“ „Deployment of mobile applications for the platforms iOS, Android, WindowsPhone and BlackBerry.“ What we do… Our Products App Deployment App Development We are hiring!
  • 4. Mobile Solutions Android goes reading Reader Application Development Mobile Solutions
  • 5. Mobile Solutions Agenda 1.  Android with changed conditions 2.  Android with new challenges 3.  Clean drawing 4.  Android without animations 5.  Android without Settings App 6.  New challenges for testing 5Bernhard Hochstätter, Dominik Helleberg, Michael Krümmling
  • 6. Mobile Solutions Android with changed conditions §  PagePlace Reader App as foundation §  Supports all Android Smartphones and Tablets but no eInk Device §  Reader Application supports only one device à no device diversity §  One resolution §  One display size §  One aOS version (Android 2.3.3) §  No device specialities §  Unlimited rights and possibilities §  Using any permission §  Less restricted Android SDK §  System Application 6Bernhard Hochstätter, Dominik Helleberg, Michael Krümmling
  • 7. Mobile Solutions Android with new challenges §  challenges due to hardware §  eInk display with only 16 grey shades, 4 fps and ghosting susceptibility §  Specific performance characteristics §  Limited key availability §  Optimise battery lifetime up to 7 weeks §  challenges due to system environment §  Being the only application on the device §  Being Homescreen §  Being Settings App §  Handle all important system events 7Bernhard Hochstätter, Dominik Helleberg, Michael Krümmling
  • 8. Mobile Solutions Clean drawing §  Drawing problems with eInk: §  Switching between screens §  Ghosting of dialogs §  Page turning §  Time delays between view and display §  System was enhanced with new functionality for screen refresh (Java and native) §  “The triangle of clean drawing” §  Final solution for the switch between the screens: §  Custom view that handles drawing in every screen §  Reduce ghosting through multistep process and screen interaction 8Bernhard Hochstätter, Dominik Helleberg, Michael Krümmling Speed Ghosting Flickering “The triangle of clean drawing”
  • 9. Mobile Solutions Android without animations §  Custom view for lists and grids §  No scrolling §  Navigation through paging §  Web Shop §  No scrolling §  Enhanced interfaces (e.g. control the display from Website) §  Replace 2D and 3D animations from application 9Bernhard Hochstätter, Dominik Helleberg, Michael Krümmling
  • 10. Mobile Solutions Android without Settings App §  Settings App not visible on the device §  Reader has to offer important settings §  Handle WiFi §  Adoption and customization of native implementation from Android 2.3.3 §  Setting system time §  Setting brightness of frontlight §  Setting timeout delays §  Factory reset §  Managing battery §  Managing system updates §  Handling internal and external storage 10Bernhard Hochstätter, Dominik Helleberg, Michael Krümmling
  • 11. Mobile Solutions New challenges for testing §  New test requirements coming up besides application- and integration tests §  Complex investigations and benchmarks were made §  Current measurements on the device §  Performance benchmarks and comparisons to competitors' products §  Current measurements during over 10.000 page turns in the reader §  We had to find new testing procedures 11Bernhard Hochstätter, Dominik Helleberg, Michael Krümmling “Manekineko”
  • 12. Mobile Solutions Android goes reading System Development Mobile Solutions
  • 13. Mobile Solutions System development How to work inside the Droid §  7 GB Source §  Compile Time ~ 45 minutes §  „Deployment Time“ ~ 5-10 minutes §  Dependencies ususally fail at runtime §  You can change everything... Maybe you shouldn‘t ;) 13Bernhard Hochstätter, Dominik Helleberg, Michael Krümmling
  • 14. Mobile Solutions Downsizing/Boot-time tuning How a droid comes to life.... bootloader kernel init service manager zygote daemons boot animiation System Server Package Manager Activity Manager Power Manager ... launcher 14Bernhard Hochstätter, Dominik Helleberg, Michael Krümmling
  • 15. Mobile Solutions Downsizing/Boot-time tuning How a droid comes to life.... 15Bernhard Hochstätter, Dominik Helleberg, Michael Krümmling
  • 16. Mobile Solutions Downsizing/Boot-time tuning How a droid comes to life.... bootloader kernel init service manager zygote daemons boot animiation System Server Package Manager Activity Manager Power Manager ... launcher 16Bernhard Hochstätter, Dominik Helleberg, Michael Krümmling
  • 17. Mobile Solutions Power Management Let the droid sleep... 17Bernhard Hochstätter, Dominik Helleberg, Michael Krümmling
  • 18. Mobile Solutions Power Management Let the droid sleep... /sys/devices/system/cpu/cpuX/cpufreq/stats/time_in_state     350000  174343   700000  248177   920000  47966   1200000  57356       deepSleepTime  =  SystemClock.elapsedRealtime()  -­‐  (Σ  (all  cpu_states));   deepSleepTime  =  SystemClock.elapsedRealtime()  -­‐  SystemClock.uptimeMillis();   18Bernhard Hochstätter, Dominik Helleberg, Michael Krümmling
  • 19. Mobile Solutions Power Management Let the droid sleep... $  adb  shell  dumpsys  batteryinfo     ....   Statistics  since  last  charge:      System  starts:  0,  currently  on  battery:  false      Time  on  battery:  3h  13m  20s  916ms  (0,2%)  realtime,  1h  23m  39s  681ms  (0,1%)  uptime      Total  run  time:  81d  20h  13m  10s  836ms  realtime,  33d  20h  15m  30s  182ms  uptime,        Screen  on:  21m  34s  334ms  (11,2%),  Input  events:  0,  Active  phone  call:  0ms  (0,0%)      Screen  brightnesses:  dark  2m  46s  112ms  (12,8%),  dim  9m  53s  192ms  (45,8%),              medium  8m  32s  673ms  (39,6%),  light  22s  356ms  (1,7%)      Kernel  Wake  lock  "PowerManagerService":  1h  4m  50s  972ms  (1180  times)  realtime      Kernel  Wake  lock  "main":  36m  28s  908ms  (14  times)  realtime      Kernel  Wake  lock  "mipi_link":  33m  4s  670ms  (2137  times)  realtime      Kernel  Wake  lock  "radio-­‐interface":  16m  30s  724ms  (808  times)  realtime      Kernel  Wake  lock  "gps-­‐lock":  11m  1s  604ms  (5  times)  realtime      Kernel  Wake  lock  "wlan_rx_wake":  9m  3s  70ms  (186  times)  realtime      Kernel  Wake  lock  "alarm_rtc":  4m  30s  287ms  (448  times)  realtime      Kernel  Wake  lock  "BTLowPower":  3m  13s  600ms  (221  times)  realtime      Kernel  Wake  lock  "musb_autosuspend_wake_lock":  31s  998ms  (594  times)  realtime      Kernel  Wake  lock  "wlan_wake":  31s  786ms  (17901  times)  realtime   ...   19Bernhard Hochstätter, Dominik Helleberg, Michael Krümmling