SlideShare a Scribd company logo
Adaptive No-Shake Screen Reader
Allen Xu, Marc Garneau Collegiate Institute
April 7, 2018 York Region Science Fair
2
• Stabilizing shaking mobile screens
• Makes reading on mobile screen less stressful
• Especially useful in unstable reading environments
Objective
3
Accelerometer
• Measuring forces applied to the device
• Measuring acceleration applied to the device
• Includes gravity
• Ad = -g - ∑F / mass
• SI unit is m/s^2
• Supported by all devices
4
Linear Acceleration
• Measuring forces applied to the device
• Measuring acceleration applied to the device
• Not including gravity
• Ad = - ∑F / mass
• SI unit is m/s^2
• Not supported by all mobile devices
5
Basic Algorithm
• Velocity = Velocity0 + Acceleration x ∆Time
• Displacement = Velocity x ∆Time
• Adjust screen content on x and y axis to counter sensor-
reported acceleration (opposite direction)
6
Deficiencies
• Noises in sensor-reported acceleration values
• Content moving out of screen boundary
• Human perception/tolerance of content displacement ≠
physical screen displacement
• Deceleration may cause unwanted position adjustment
• Different shaking scenarios requires different adjustment
parameters
7
Techniques
• Acceleration filtering
– Utilized in this and previous projects
– Parameters adjustable in this project; fixed in previous projects
• Boundary adjustment range
– Utilized in this and previous projects
• Displacement value tuning
– Utilized in this and previous projects
– Parameters adjustable in this project; fixed in previous projects
• Adjustment freezing period
– Utilized only in this project
• Different parameters for different shaking scenarios
– Utilized only in this project
8
Implementation
• Android OS version ?
• Samsung Galaxy 7 ?
• Java 1.8
• Android webview as embedded browser
• Adjust webview’s left and top positions
9
Further Improvement
• Optimize algorithm parameters for more shaking scenarios
• Automatically recognize different device shaking scenarios
to use different algorithm parameters
• Improve device CPU processing speed to minimize reaction
delays
• Embed screen stabilization code at OS layer
10
Scenario Recognition
• Simple linear regression
• Least squares estimates for best fitting function
• Experimental phase: collect data to set up model
• Runtime phase: compare runtime data with model
• Pick scenario whose model has smallest ∆ with runtime data
11
References
• Ruslan Yanchyshyn No Shake: Screen Stabilization in Android
https://blog.lemberg.co.uk/no-shake-screen-stabilization-android
(2016)
• Kevin Jeisy Walking with your Smartphone: Stabilizing Screen
Content ftp://ftp.tik.ee.ethz.ch/pub/students/2014-FS/SA-2014-
22.pdf (2014)
• Ahmad Rahmati, Clayton Shepard, Lin Zhong NoShake: Content
Stabilization for Shaking Screens of Mobile Devices
http://www.ahmad.rahmati.com/papers/09.PerCom.NoShake.pdf
(2009)
• PennState Eberly College of Science, STAT 501 Regression
Methods
https://onlinecourses.science.psu.edu/stat501/node/250 (2018)
Questions

More Related Content

PPTX
devjam2018 - angular 5 performance
PPT
How to Make a Motion Tracking Device
PPT
TINYOS Oscilloscope Application
PPTX
Riverside Public Utilities MKVIe Core Upgrade S6.5
PDF
Android gps, location services, camera and sensors - Paramvir Singh
PDF
Processing 2.0 + Open Data
PDF
Measuring Change with Radar Imagery_Richard Goodman - Intergraph Geospatial W...
PDF
Advancing Earth Science with Elasticsearch at Terradue
devjam2018 - angular 5 performance
How to Make a Motion Tracking Device
TINYOS Oscilloscope Application
Riverside Public Utilities MKVIe Core Upgrade S6.5
Android gps, location services, camera and sensors - Paramvir Singh
Processing 2.0 + Open Data
Measuring Change with Radar Imagery_Richard Goodman - Intergraph Geospatial W...
Advancing Earth Science with Elasticsearch at Terradue

Recently uploaded (20)

PDF
project resource management chapter-09.pdf
PPT
What is a Computer? Input Devices /output devices
PDF
Univ-Connecticut-ChatGPT-Presentaion.pdf
PDF
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PPTX
Programs and apps: productivity, graphics, security and other tools
PPTX
OMC Textile Division Presentation 2021.pptx
PDF
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
PDF
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
PPTX
O2C Customer Invoices to Receipt V15A.pptx
PPTX
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
PDF
Architecture types and enterprise applications.pdf
PDF
Hybrid model detection and classification of lung cancer
PDF
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
PPTX
Modernising the Digital Integration Hub
PDF
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
PDF
WOOl fibre morphology and structure.pdf for textiles
PPTX
Tartificialntelligence_presentation.pptx
PDF
1 - Historical Antecedents, Social Consideration.pdf
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
project resource management chapter-09.pdf
What is a Computer? Input Devices /output devices
Univ-Connecticut-ChatGPT-Presentaion.pdf
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
Assigned Numbers - 2025 - Bluetooth® Document
Programs and apps: productivity, graphics, security and other tools
OMC Textile Division Presentation 2021.pptx
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
O2C Customer Invoices to Receipt V15A.pptx
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
Architecture types and enterprise applications.pdf
Hybrid model detection and classification of lung cancer
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
Modernising the Digital Integration Hub
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
WOOl fibre morphology and structure.pdf for textiles
Tartificialntelligence_presentation.pptx
1 - Historical Antecedents, Social Consideration.pdf
gpt5_lecture_notes_comprehensive_20250812015547.pdf
Ad
Ad

Adaptive Screen Stabilization

  • 1. Adaptive No-Shake Screen Reader Allen Xu, Marc Garneau Collegiate Institute April 7, 2018 York Region Science Fair
  • 2. 2 • Stabilizing shaking mobile screens • Makes reading on mobile screen less stressful • Especially useful in unstable reading environments Objective
  • 3. 3 Accelerometer • Measuring forces applied to the device • Measuring acceleration applied to the device • Includes gravity • Ad = -g - ∑F / mass • SI unit is m/s^2 • Supported by all devices
  • 4. 4 Linear Acceleration • Measuring forces applied to the device • Measuring acceleration applied to the device • Not including gravity • Ad = - ∑F / mass • SI unit is m/s^2 • Not supported by all mobile devices
  • 5. 5 Basic Algorithm • Velocity = Velocity0 + Acceleration x ∆Time • Displacement = Velocity x ∆Time • Adjust screen content on x and y axis to counter sensor- reported acceleration (opposite direction)
  • 6. 6 Deficiencies • Noises in sensor-reported acceleration values • Content moving out of screen boundary • Human perception/tolerance of content displacement ≠ physical screen displacement • Deceleration may cause unwanted position adjustment • Different shaking scenarios requires different adjustment parameters
  • 7. 7 Techniques • Acceleration filtering – Utilized in this and previous projects – Parameters adjustable in this project; fixed in previous projects • Boundary adjustment range – Utilized in this and previous projects • Displacement value tuning – Utilized in this and previous projects – Parameters adjustable in this project; fixed in previous projects • Adjustment freezing period – Utilized only in this project • Different parameters for different shaking scenarios – Utilized only in this project
  • 8. 8 Implementation • Android OS version ? • Samsung Galaxy 7 ? • Java 1.8 • Android webview as embedded browser • Adjust webview’s left and top positions
  • 9. 9 Further Improvement • Optimize algorithm parameters for more shaking scenarios • Automatically recognize different device shaking scenarios to use different algorithm parameters • Improve device CPU processing speed to minimize reaction delays • Embed screen stabilization code at OS layer
  • 10. 10 Scenario Recognition • Simple linear regression • Least squares estimates for best fitting function • Experimental phase: collect data to set up model • Runtime phase: compare runtime data with model • Pick scenario whose model has smallest ∆ with runtime data
  • 11. 11 References • Ruslan Yanchyshyn No Shake: Screen Stabilization in Android https://blog.lemberg.co.uk/no-shake-screen-stabilization-android (2016) • Kevin Jeisy Walking with your Smartphone: Stabilizing Screen Content ftp://ftp.tik.ee.ethz.ch/pub/students/2014-FS/SA-2014- 22.pdf (2014) • Ahmad Rahmati, Clayton Shepard, Lin Zhong NoShake: Content Stabilization for Shaking Screens of Mobile Devices http://www.ahmad.rahmati.com/papers/09.PerCom.NoShake.pdf (2009) • PennState Eberly College of Science, STAT 501 Regression Methods https://onlinecourses.science.psu.edu/stat501/node/250 (2018)