DEVELOPING MOBILE APPS FOR THE VISUALLY IMPAIRED HEARTLAND COMMUNITY COLLEGE Nicolaas tenBroek Todd Simeone.

Slides:



Advertisements
Similar presentations
COMPUTER INTERFACES.
Advertisements

Tips for New Mac Users 20 simple tips to make using a Mac quicker and easier.
Cosc 5/4730 Game Design. A short game design primer. A game or animation is built on an animation loop. – Instance variables of “objects” are updated.
2-May-15 GUI Design. 2 HMI design There are entire college courses taught on HMI (Human-Machine Interface) design This is just a very brief presentation.
Quick Reference for © 2012 Microsoft Corporation. All rights reserved. The Lync home screen The Lync home screen has four tiles in the hub on the left.
Assistive Technology Training Online (ATTO) University at Buffalo – The State University of New York USDE# H324M IntelliTalk.
XX/XX/XX Presenter names Position Title Accessibility “How to”
Graphic Design 1 The “look & feel”. Fall 2002CS/PSY Agenda Principles Examples SHW discuss.
Cosc 5/4730 Game Design. A short game design primer. A game or animation is built on an animation loop. – Instance variables of “objects” are updated.
Making The Web Usable By Everyone (Including people with disabilities, people with slow net connections, people with broken mice, etc.) Gregory C. Lowney,
User Interface Development Human Interface Devices User Technology User Groups Accessibility.
Section 508 and NASA Section 508 and NASA Session 4: Software Applications and Operating Systems Presentation to Ames Research Center November 2011 Antonio.
Exploring the Basics of Windows XP
Human Computer Interface. Human Computer Interface? HCI is not just about software design HCI applies to more than just desktop PCs!!! No such thing as.
Website Design. Designing and creating different elements involved in developing a website for e- commerce can help you identify and describe the components.
1 CGS1060 Mobile UIs Copyright 2012 by Janson Industries.
Multimedia Design. Table of Content 1.Navigational structures 2.Storyboard 3.Multimedia interface components 4.Tips for interface design.
Assistive Technology Tools Alisha Little EDN Dr. Ertzberger.
Allows you to lock a student into an app. Go to Settings  General  Accessibility  Guided Access Toggle the Guided Access button so it is green. Then.
Create Professional-looking Content Easy to Use Interface Share Documents.
Platforms for Learning in Computer Science July 28, 2005.
McGraw-Hill© 2007 The McGraw-Hill Companies, Inc. All rights reserved. 1-1.
GCSE ICT User Interfaces. Learning Intentions: To understand the concept of a Windows operating system and have a basic understanding of GUI. Success.
Ch 26 & 27 User Interfaces.
Advanced Forms Lesson 10.
Creating a Presentation
Web-designWeb-design. Web design What is it? Web-design features Before…
Technology for Students with Special Needs E.Brown Forward.
My First ACCESSIBLE Flash Movie. Course notes Detailed course notes, a printable copy of my slides, and all the samples shown today can be downloaded.
11.10 Human Computer Interface www. ICT-Teacher.com.
Creating a PowerPoint Presentation
Graphic Design The “look & feel” portion of an interface What someone initially encounters Conveys an impression, mood.
Halliday James Cognitive Support Technologies Task Prompting Audio/Visual Scheduling Travel Training Non text Simple desktops Emergency location.
CREATING A POWERPOINT PRESENTATION. Planning a presentation Create a presentation Rearrange and delete text and slides Add animations Add transitions.
An Introduction to Office  Office XP and Office 2007 look very different  This introduction should: ◦ Introduce you to some of the basic changes.
Instructional Scaffolding. What is a scaffold? What does a scaffold do? What are some characteristics of scaffolding?
IOS 8 Quick Start Guide Accessibility 101. General Accessibility Features Vision: VO, Zoom, Large Text Hearing: Mono, CC, Alerts Physical: Assistive Touch,
Design Principle Hierarchy. GUEPs  Generative User Engineering Principle  Defined by Thimbleby, Interact ’ 84,  Helps users deduce rules for.
G063 - Human Computer Interface Design Designing the User Interface.
Design Elements and Principles
To play, start slide show and click on circle PowerPoint
How to Design an Effective PowerPoint Presentation
Computer Graphics: Programming, Problem Solving, and Visual Communication Steve Cunningham California State University Stanislaus and Grinnell College.
Research Presentation For help with Oedipus Presentation for Shawn Chen English 9.
Different Types of HCI CLI Menu Driven GUI NLI
FatMax Licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 2.5 LicenseCreative Commons Attribution-NonCommercial-ShareAlike 2.5.
Word Create a basic TOC. Course contents Overview: table of contents basics Lesson 1: About tables of contents Lesson 2: Format your table of contents.
A Quick Review Of Unit 6 – Using Microsoft Office PowerPoint 2007 Key Applications © CCI Learning Solutions Inc.
Vision Accessibility Features ACCESSIBILITY IN IOS8 SARAH STARGARDTNOVEMBER 14, 2014.
Human Computer Interface INT211
CS378 - Mobile Computing More UI - Part 2. Special Menus Two special application menus – options menu – context menu Options menu replaced by action bar.
Creating SmartArt Graphics Lesson 7. Software Orientation PowerPoint 2010 offers eight different types of SmartArt diagrams, with many layouts for each.
Information Design Goal: identify methods for representing and arranging the objects and actions possible in a system in a way that facilitates perception.
VB.NET and Databases. ADO.NET VB.Net allows you many ways to connect to a database. The technology used to interact with a database or data source is.
Creating a Simple Game in Scratch Barb Ericson Georgia Tech May 2009.
Boxes. boxes- learning targets o I will be able to display buttons (boxes) o I will be able to organize boxes o I will be able to create an animation.
FOP: Multi-Screen Apps
Scratch for Interactivity
FLOWCHARTS Part 1.
Introduction to Event-Driven Programming
FOP: Buttons and Events
11.10 Human Computer Interface
Lesson 1: Buttons and Events – 12/18
User Interfaces The human computer interface is what allows the user to communicate/Interact with the computer and is often called simply the user interface.
Human Computer Interface
Human Computer Interface
Human Computer Interface
Human Computer Interface
Accessibility.
Presentation transcript:

DEVELOPING MOBILE APPS FOR THE VISUALLY IMPAIRED HEARTLAND COMMUNITY COLLEGE Nicolaas tenBroek Todd Simeone

WHO ARE YOU? And why are you here? And why are you here?

HCCS MOBILE CURRICULUM Computer Science I iOSiOSAndroidAndroid Windows Phone AppsAppsGamesGamesCommComm Apps for BLV

HOW WE BECAME INVOLVED IN DEVELOPING APPS FOR THE BLIND Independence Science Independence Science Independence Science Independence Science Desire for classroom apps on iOS Desire for classroom apps on iOS Chemistry Chemistry Basic Mathematics Basic Mathematics Graphing Graphing Advanced Mathematics Advanced Mathematics Other Educational Apps Other Educational Apps

ISSUES CONVERTING VISUAL INTERFACES TO SUPPORT VOICEOVER The amount of information conveyed by a visual interface is tremendous. Graphics and the relationship between controls instantly convey functional information that would take paragraphs of text to explain. The amount of information conveyed by a visual interface is tremendous. Graphics and the relationship between controls instantly convey functional information that would take paragraphs of text to explain. Animation and graphical gloss are often used to explain what is happening within an app. Animation and graphical gloss are often used to explain what is happening within an app. Many common idioms simply do not transfer. For instance: Many common idioms simply do not transfer. For instance: What does a Back button mean to someone who did not see the screen move forward? What does a Back button mean to someone who did not see the screen move forward? Pull down to refresh is only meaningful because you saw the hidden setting when the table bounced after scrolling to the top.Pull down to refresh is only meaningful because you saw the hidden setting when the table bounced after scrolling to the top. Items partially obscured by a translucent control instantly tell a sighted person that more things are available, but overlapping controls will confuse a screen reader Items partially obscured by a translucent control instantly tell a sighted person that more things are available, but overlapping controls will confuse a screen reader

ISSUES CONVERTING VISUAL INTERFACES TO SUPPORT VOICEOVER Most apps are designed to be used quickly and in non-ideal circumstances, but screen readers take a long time to read, and can interfere with a blind users interaction with the app, increasing frustration and confusion. Most apps are designed to be used quickly and in non-ideal circumstances, but screen readers take a long time to read, and can interfere with a blind users interaction with the app, increasing frustration and confusion. Gestures that make sense when tied to the visual display (i.e. those that mimic real world interactions) have to change when the screen reader is active, and often lose all real world meaning. For instance, if you used a swipe gesture to push a ball around a screen, that would mimic a real-world interaction. With the screen reader turned on, that same gesture will cycle between elements on the screen (from top to bottom and left to right). Gestures that make sense when tied to the visual display (i.e. those that mimic real world interactions) have to change when the screen reader is active, and often lose all real world meaning. For instance, if you used a swipe gesture to push a ball around a screen, that would mimic a real-world interaction. With the screen reader turned on, that same gesture will cycle between elements on the screen (from top to bottom and left to right).

HOW PEOPLE WITH BLV INTERACT WITH MOBILE DEVICES Often listen to screen reader Often listen to screen reader Explore app by moving finger around Explore app by moving finger around Use List Mode to cycle between items on screen Use List Mode to cycle between items on screen Tap off the selected control to use it Tap off the selected control to use it

COMMON DESIGN APPROACHES AND THE PROBLEMS WE FOUND Just add screen reader support to existing design Just add screen reader support to existing design Can make it very difficult to reliably hit controls Can make it very difficult to reliably hit controls Lack of spacing can cause incorrect controls to be selected Lack of spacing can cause incorrect controls to be selected List Mode often rearranges the controls which can quickly remove all meaning as positioning of labels and images are often used to inform the user of the meaning of other controls List Mode often rearranges the controls which can quickly remove all meaning as positioning of labels and images are often used to inform the user of the meaning of other controls Constant screen reading slows down the users interaction with the app, making it even more difficult to use Constant screen reading slows down the users interaction with the app, making it even more difficult to use

COMMON DESIGN APPROACHES AND THE PROBLEMS WE FOUND Add menus Add menus Complicates the interaction of the app Complicates the interaction of the app Tends to lead to desktop style designs which do not work in the mobile world Tends to lead to desktop style designs which do not work in the mobile world Nested menus can cause users to become lost in the structure, and makes finding features even more difficult Nested menus can cause users to become lost in the structure, and makes finding features even more difficult Contextual menus require users to see when and where they appear Contextual menus require users to see when and where they appear

COMMON DESIGN APPROACHES AND THE PROBLEMS WE FOUND Add vibration Add vibration Used too often it will lose its meaning Used too often it will lose its meaning Causes users fingers to go numb Causes users fingers to go numb Speak commands Speak commands Not an ideal computer interface in a classroom, nor frankly, any public location Not an ideal computer interface in a classroom, nor frankly, any public location Computer comprehension of speech is not good enough to work on its own. When it fails we fall back to on-screen controls, which a blind person might easily miss. Computer comprehension of speech is not good enough to work on its own. When it fails we fall back to on-screen controls, which a blind person might easily miss.

BETTER DESIGN CHOICES Create two completely separate interfaces, one for use with the screen reader, and another for use without. This can drastically reduce the need to compromise on the design. It also simplifies coding by reducing the need to constantly test the environment and select the appropriate display or action based on the state of the screen reader. Create two completely separate interfaces, one for use with the screen reader, and another for use without. This can drastically reduce the need to compromise on the design. It also simplifies coding by reducing the need to constantly test the environment and select the appropriate display or action based on the state of the screen reader. Always test with screen off! Always test with screen off! Larger controls and much more space between controls than used with designs for the sighted Larger controls and much more space between controls than used with designs for the sighted Reduce colour, increase contrast Reduce colour, increase contrast Reduce the amount of information read by the screen reader. If possible, add beginner and pro modes that change the amount of information read. Reduce the amount of information read by the screen reader. If possible, add beginner and pro modes that change the amount of information read.

BETTER DESIGN CHOICES Do everything you can to speed the users interaction with the app. Remove steps whenever possible. Do everything you can to speed the users interaction with the app. Remove steps whenever possible. Add sound, but carefully Add sound, but carefully Best used with headphones Best used with headphones Map sounds to 3D space (we use OpenAL) Map sounds to 3D space (we use OpenAL) Use sparingly Use sparingly Dont make user learn meanings of random sounds. Sounds should convey meaning and match the physical world as much as is practical. Dont make user learn meanings of random sounds. Sounds should convey meaning and match the physical world as much as is practical. Add vibration, but sparingly Add vibration, but sparingly

BETTER DESIGN CHOICES Invert the position of important items. Layouts for the sighted often place important items on the top of the view, but they should be at the bottom for the blind. Invert the position of important items. Layouts for the sighted often place important items on the top of the view, but they should be at the bottom for the blind. Contextual menu display must be optimised to reduce the distance from the control that initiated it. This can cause issues when scrolling leaves a control near the edge of the screen. Contextual menu display must be optimised to reduce the distance from the control that initiated it. This can cause issues when scrolling leaves a control near the edge of the screen. Consider adding unique actions to the interface for the blind user. For instance, you might relocate the currently selected item so that it is always where the user taps if they tap an empty part of the screen. Consider adding unique actions to the interface for the blind user. For instance, you might relocate the currently selected item so that it is always where the user taps if they tap an empty part of the screen. Sleeves which cover the bezel are very useful. Sleeves which cover the bezel are very useful.

INTERESTING APPROACHES THAT SURPRISED US BY WORKING Drawing - Used within a constrained environment,drawing elements onto the screen works well, but introduces issues if the drawn item does not exactly match the finger movements. Drawing - Used within a constrained environment,drawing elements onto the screen works well, but introduces issues if the drawn item does not exactly match the finger movements. Scrolling - When paired with other elements like sound, user-driven scrolling can be effective. However, you must ensure that scrolling ends with complete elements still on the screen. Scrolling - When paired with other elements like sound, user-driven scrolling can be effective. However, you must ensure that scrolling ends with complete elements still on the screen.

ISSUES WE ENCOUNTERED There are some serious issues with VoiceOver There are some serious issues with VoiceOver An item always selected, there is no ability to have nothing selected, which means that something will always respond. This is not the behaviour when VO is off An item always selected, there is no ability to have nothing selected, which means that something will always respond. This is not the behaviour when VO is off You cannot locally disable accessibility. Often things we needed to do within our apps would have been much easier to do ourselves rather than try to work within the constraints of VO You cannot locally disable accessibility. Often things we needed to do within our apps would have been much easier to do ourselves rather than try to work within the constraints of VO VO intercepts every user interaction before passing it to the app. This makes overriding default gestures impossible, even when they dont make sense. VO intercepts every user interaction before passing it to the app. This makes overriding default gestures impossible, even when they dont make sense.

BENEFITS OF THE COURSES Educational Community Educational Community Heartland Community College Heartland Community College Students Students Employers Employers