Android · Voice · GPS · Accelerometer · Geofence · Springer ICONCS 2020

Sightless Helper
Mobile Assistance for the Visually Impaired

An Android application designed as an all-in-one assistant for blind and visually impaired users — combining voice-driven interaction, accelerometer-based footstep counting for indoor navigation, GPS + Google Geofence for outdoor navigation and unsafe-area alerts, and a jolt module that detects unusual shaking and auto-sends a live location SMS to trusted contacts. Tested on 30 users with a System Usability Scale score of 72.27.

Android Voice Command Accelerometer GPS Google Geofence Pedometer SMS / Emergency Accessibility SUS 72.27 Springer · ICONCS 2020
Domain
Mobile accessibility · assistive technology
Platform
Android (Android Studio)
Sensors
Accelerometer · GPS · Microphone · Camera
Tested
Voice ≈ 6.34 ms · Location ≈ 7.63 ms · SUS 72.27 (30 users)
Publication
Springer · ICONCS 2020 · LNICST vol. 325 · pp. 581–592
01About

Around 285 million people live with visual impairment worldwide, and everyday tasks — orienting in a room, crossing a street, calling for help — can be cumbersome or unsafe. Smartphones already carry the sensors needed to help, but most existing apps focus on a single problem (turn-by-turn navigation, screen magnification, barcode reading, etc.) and assume the user can comfortably operate a touchscreen.

This work builds a single Android application that addresses navigation, safety, communication, and daily utilities together, with an interaction model designed for non-visual use: voice command first, with touch, hotkey buttons, and shake as alternatives, all paired with audio feedback.

Two cooperating sections share a central "Blind Channel" controller. The Blind Assistant Section (BAS) is configured by a trusted helper — emergency contacts, named locations, footstep counts to common destinations, and unsafe geofenced areas. The Blind People Section (BPS) is used by the VI person — voice recognition, touch, jolt-detection, daily-info, and unsafe-area indication modules.

The pedometer is built on the accelerometer (most phones lack a dedicated pedometer chip), and the jolt module turns unusual phone shaking into a one-shot emergency: it auto-calls a trusted number and SMSes a live Google Maps location link to all stored contacts.

02Architecture

The system is module-based around a central Blind Channel. The assistant-facing side (BAS) sets up emergency contacts, named footstep destinations, and unsafe geofenced areas; the user-facing side (BPS) handles voice, touch, jolt, daily info, and live unsafe-area alerts. Indoor navigation runs on the accelerometer pedometer; outdoor navigation uses GPS and Google Maps with online and offline modes.

01
Blind Channel — central controller
A single channel routes events between the two sections, handles permissions, and keeps the app running in the background so help is one voice command (or one shake) away.
BlindChannel.route(event) // BAS ⇄ BPS
02
BAS — Blind Assistant Section
Used by a trusted helper to configure the app: Contact (trusted phone numbers, offline DB), Permission (background, location, SMS, camera), Pedometer (record footstep counts for named places), and Area (mark unsafe zones).
Contact · Permission · Pedometer · Area
03
BPS — Blind People Section
Used by the VI user: Voice Recognition (dictionary-based command parsing), Touch (audio-feedback hotkeys), Jolt (shake-triggered emergency), Required (time / date / battery / news), and Indication (geofence unsafe-area alerts).
VoiceRec · Touch · Jolt · Required · Indication
04
Indoor navigation — accelerometer pedometer
The helper saves footstep counts for everyday destinations (washroom, kitchen, dining table, …). When the user says "Go to washroom", the app guides them by counting steps via the accelerometer — no dedicated pedometer hardware required.
steps = accel.integrate() // per named place
05
Outdoor navigation — GPS + Google Maps (online & offline)
For outdoor routes the app uses GPS and Google Maps. Pre-stored locations work offline; full route guidance uses an online connection. Voice prompts announce direction changes and arrival.
GPS + GoogleMaps // online + offline modes
06
Safety — Jolt & Geofence
The Jolt module watches the accelerometer for >3 rapid shakes (fall or distress) and auto-calls a trusted contact while sending a live Google Maps location SMS to all stored contacts. The Indication module uses Google Geofence to warn the user whenever they enter an area marked unsafe.
if shakes > 3: call() & SMS(maps_link)
03Interactive Charts
Interactive · Plotly.js

The two charts below reproduce the paper's performance experiments with Plotly.js. The first compares voice-recognition response time for ten male and ten female test cases — toggle between Best, Average, and Worst response — and shows the gender-independent ≈ 6.3 ms average. The second plots location-send time vs. distance across ten test cases ranging from 1.5 km to 244 km, demonstrating that delivery time stays near 7.6 ms regardless of geographic distance.

Voice Recognition Response Time — Male vs Female
Location-Send Time vs Distance 10 test cases · 1.5 km → 244 km · mean 7.629 ms (SD 1.98)

ⓘ All values are from the paper. Voice data — Table 2 (10 male + 10 female test cases, each averaged over 30 repetitions). Location data — Table 3 (10 sender/receiver pairs across distances from 1.5 km to 244.2 km, response time in milliseconds).

04Key Results
Voice Recognition
6.34 ms
Avg across male & female (gender-independent)
Location Send
7.63 ms
Mean over 1.5–244 km · SD 1.98
SUS Score
72.27%
"Good" — practical implementation suitable
Users Tested
30
SUS participants · 20 voice cases
  • 01 Near-instant, gender-independent voice recognition — averages were 6.303 ms (male) and 6.375 ms (female), with the same best time of 5.1 ms and standard deviations under 1.05%.
  • 02 Location delivery is near-constant in distance — across 10 sends from 1.5 km to 244 km the response time averaged 7.629 ms (SD 1.98), so emergency SMS arrives in milliseconds whether the recipient is across town or across the country.
  • 03 SUS 72.27 = "Good" across 30 participants, satisfying the Bangor et al. threshold for practical implementation of an accessibility application.
  • 04 Indoor + outdoor, online + offline — accelerometer-based footstep counting handles indoor navigation without extra hardware, while GPS plus Google Maps cover outdoor routes both online and offline.
  • 05 Safety-first design — the jolt module turns an accidental fall into an automatic call and live-location SMS to trusted contacts, and the Geofence-based indication module proactively warns the user near unsafe areas.
05Contributions
PlatformAndroid · Android Studio
SensorsAccelerometer (steps + jolt) · GPS · Microphone · Camera
Maps / GeoGoogle Maps API · Google Geofence
InteractionVoice command (dictionary) · touch + audio feedback · hotkey buttons · shake
ModulesBAS: Contact · Permission · Pedometer · Area  |  BPS: VoiceRec · Touch · Jolt · Required · Indication
TestingVoice 10×30 reps (male + female) · Location 10 distances (1.5–244 km) · SUS 30 users
PublishedSpringer · ICONCS 2020 · LNICST vol. 325 · pp. 581–592
DOI10.1007/978-3-030-52856-0_46

Read the full paper

Springer chapter (ICONCS 2020 · LNICST 325 · pp. 581–592) · source on GitHub.