compressed-Beacon.pdf
Transcript of compressed-Beacon.pdf
BeaconAccessible Navigation for Android
Sajjad K.M, Nijad Ashraf, Shehzad Abdulla, Saalim Jabir
Outline
The Beacon
2/24
Outline
The Beacon
Accessibility
2/24
Outline
The Beacon
Accessibility
DesignComponents
Beacon Engine
Map Database
Text-To-Speech
User Interface
Data Flow
2/24
Outline
The Beacon
Accessibility
DesignComponents
Beacon Engine
Map Database
Text-To-Speech
User Interface
Data Flow
ToolsAndroidOpenStreetMapPython
2/24
Outline
The Beacon
Accessibility
DesignComponents
Beacon Engine
Map Database
Text-To-Speech
User Interface
Data Flow
ToolsAndroidOpenStreetMapPython
3/24
Beacon is a guiding or warning signal, as a light.
Outline
The Beacon
Accessibility
DesignComponents
Beacon Engine
Map Database
Text-To-Speech
User Interface
Data Flow
ToolsAndroidOpenStreetMapPython
4/24
Accessibility
◮ Degree of coverage of targetusers of a product.
◮ Inclusive Planet!
◮ Ability to access.
◮ Assistive Technologies.
4/24
a11y
Accessibility means helping people with disabilities to participate insubstantial life activities.
5/24
Disabilities
6/24
Why Assistive Technologies?
Outline
The Beacon
Accessibility
DesignComponents
Beacon Engine
Map Database
Text-To-Speech
User Interface
Data Flow
ToolsAndroidOpenStreetMapPython
11/24
Components
11/24
Beacon Engine
◮ Blood and Body of the system.
12/24
Beacon Engine
◮ Blood and Body of the system.
◮ Coordinates other components.
12/24
Beacon Engine
◮ Blood and Body of the system.
◮ Coordinates other components.
◮ Creates map database from the local file.
12/24
Beacon Engine
◮ Blood and Body of the system.
◮ Coordinates other components.
◮ Creates map database from the local file.
◮ Activates Pyroute for routing.
12/24
Beacon Engine
◮ Blood and Body of the system.
◮ Coordinates other components.
◮ Creates map database from the local file.
◮ Activates Pyroute for routing.
◮ Delivers text input for TTS.
12/24
Beacon Engine
◮ Blood and Body of the system.
◮ Coordinates other components.
◮ Creates map database from the local file.
◮ Activates Pyroute for routing.
◮ Delivers text input for TTS.
◮ Fetch map data from online server.
12/24
Beacon Engine
◮ Blood and Body of the system.
◮ Coordinates other components.
◮ Creates map database from the local file.
◮ Activates Pyroute for routing.
◮ Delivers text input for TTS.
◮ Fetch map data from online server.
◮ Manage application crashes and recovery.
12/24
Map Database
◮ Flesh of the system.
13/24
Map Database
◮ Flesh of the system.
◮ Map data from OpenStreetMap project.
13/24
Map Database
◮ Flesh of the system.
◮ Map data from OpenStreetMap project.
◮ Contains road networks, POIs etc.
13/24
Text-To-Speech
◮ Voice of the system.
14/24
Text-To-Speech
◮ Voice of the system.
◮ Shipped with Android.
14/24
Text-To-Speech
◮ Voice of the system.
◮ Shipped with Android.
◮ Supports a number of languages: English, French, German,Italian and Spanish.
14/24
Text-To-Speech
◮ Voice of the system.
◮ Shipped with Android.
◮ Supports a number of languages: English, French, German,Italian and Spanish.
◮ Different voice files available.
14/24
User Interface
◮ Usability is crucial. Research is happening.
15/24
User Interface
◮ Usability is crucial. Research is happening.
◮ Interacts with the user.
15/24
User Interface
◮ Usability is crucial. Research is happening.
◮ Interacts with the user.
◮ Voice Commands, Text inputs through physical keyboard.
15/24
Data Flow
16/24
Outline
The Beacon
Accessibility
DesignComponents
Beacon Engine
Map Database
Text-To-Speech
User Interface
Data Flow
ToolsAndroidOpenStreetMapPython
17/24
Tools
17/24
Android
◮ Mobile operating system from Google Inc.
19/24
Android
◮ Mobile operating system from Google Inc.
◮ Would-be market killer.
19/24
Android
◮ Mobile operating system from Google Inc.
◮ Would-be market killer.
◮ Modified version of Linux kernel.
19/24
Android
◮ Mobile operating system from Google Inc.
◮ Would-be market killer.
◮ Modified version of Linux kernel.
◮ Programmed in C, C++ and Java.
19/24
Android
◮ Mobile operating system from Google Inc.
◮ Would-be market killer.
◮ Modified version of Linux kernel.
◮ Programmed in C, C++ and Java.
◮ Open Source. Apache License.
19/24
Android
◮ Mobile operating system from Google Inc.
◮ Would-be market killer.
◮ Modified version of Linux kernel.
◮ Programmed in C, C++ and Java.
◮ Open Source. Apache License.
◮ Current version 2.3. Gingerbread.
19/24
Android
◮ Mobile operating system from Google Inc.
◮ Would-be market killer.
◮ Modified version of Linux kernel.
◮ Programmed in C, C++ and Java.
◮ Open Source. Apache License.
◮ Current version 2.3. Gingerbread.
◮ Pretty UI.
19/24
Android
◮ Mobile operating system from Google Inc.
◮ Would-be market killer.
◮ Modified version of Linux kernel.
◮ Programmed in C, C++ and Java.
◮ Open Source. Apache License.
◮ Current version 2.3. Gingerbread.
◮ Pretty UI.
◮ Community Driven.
19/24
OpenStreetMap
“OpenStreetMap is a project aimed squarely at creating and
providing free geographic data such as street maps to anyone who
wants them.” - www.openstreetmap.org
21/24
OpenStreetMap
“OpenStreetMap is a project aimed squarely at creating and
providing free geographic data such as street maps to anyone who
wants them.” - www.openstreetmap.org
◮ Collaborative project to create a free editable map of the world.
21/24
OpenStreetMap
“OpenStreetMap is a project aimed squarely at creating and
providing free geographic data such as street maps to anyone who
wants them.” - www.openstreetmap.org
◮ Collaborative project to create a free editable map of the world.
◮ Created using data from portable GPS devices, aerialphotography, other free sources.
21/24
OpenStreetMap
“OpenStreetMap is a project aimed squarely at creating and
providing free geographic data such as street maps to anyone who
wants them.” - www.openstreetmap.org
◮ Collaborative project to create a free editable map of the world.
◮ Created using data from portable GPS devices, aerialphotography, other free sources.
◮ Inspired by Wikipedia.
21/24
OpenStreetMap
“OpenStreetMap is a project aimed squarely at creating and
providing free geographic data such as street maps to anyone who
wants them.” - www.openstreetmap.org
◮ Collaborative project to create a free editable map of the world.
◮ Created using data from portable GPS devices, aerialphotography, other free sources.
◮ Inspired by Wikipedia.
◮ Founded in July 2004 by Steve Coast
21/24
OpenStreetMap
“OpenStreetMap is a project aimed squarely at creating and
providing free geographic data such as street maps to anyone who
wants them.” - www.openstreetmap.org
◮ Collaborative project to create a free editable map of the world.
◮ Created using data from portable GPS devices, aerialphotography, other free sources.
◮ Inspired by Wikipedia.
◮ Founded in July 2004 by Steve Coast
◮ Open Database License.
21/24
OpenStreetMap
“OpenStreetMap is a project aimed squarely at creating and
providing free geographic data such as street maps to anyone who
wants them.” - www.openstreetmap.org
◮ Collaborative project to create a free editable map of the world.
◮ Created using data from portable GPS devices, aerialphotography, other free sources.
◮ Inspired by Wikipedia.
◮ Founded in July 2004 by Steve Coast
◮ Open Database License.
◮ Core programming is in Ruby on Rails.
21/24
OpenStreetMap
“OpenStreetMap is a project aimed squarely at creating and
providing free geographic data such as street maps to anyone who
wants them.” - www.openstreetmap.org
◮ Collaborative project to create a free editable map of the world.
◮ Created using data from portable GPS devices, aerialphotography, other free sources.
◮ Inspired by Wikipedia.
◮ Founded in July 2004 by Steve Coast
◮ Open Database License.
◮ Core programming is in Ruby on Rails.
◮ Efficient APIs.21/24
Python
◮ Designed by Guido van Rossum in 1991.
22/24
Python
◮ Designed by Guido van Rossum in 1991.
◮ General-purpose high-level programming language.
22/24
Python
◮ Designed by Guido van Rossum in 1991.
◮ General-purpose high-level programming language.
◮ Emphasizes code readability.
22/24
Python
◮ Designed by Guido van Rossum in 1991.
◮ General-purpose high-level programming language.
◮ Emphasizes code readability.
◮ Large and comprehensive library.
22/24
Python
◮ Designed by Guido van Rossum in 1991.
◮ General-purpose high-level programming language.
◮ Emphasizes code readability.
◮ Large and comprehensive library.
◮ Supports OOP, Imperative and Functional programming styles.
22/24
Python
◮ Designed by Guido van Rossum in 1991.
◮ General-purpose high-level programming language.
◮ Emphasizes code readability.
◮ Large and comprehensive library.
◮ Supports OOP, Imperative and Functional programming styles.
◮ Dynamic and Interpreted.22/24
Scripting Layer for Android
SL4A brings scripting languages to Android.
◮ Access to APIs andfull-fledged Androidapplications.
◮ Python, Perl, JRuby.
◮ Lua, BeanShell,JavaScript, Tcl.
◮ Run scripts inbackground or compileon the fly.
23/24
A bunch of thanks to..
◮ Braille Without Borders, Center for Social Innovation.http://bwb-iise.org/
◮ Rahul Gonsalves. @gonsalves r
◮ Sajith N.
◮ Dr. Sambhavi Chandrasekhar.
◮ Flickr.
24/24