SlideShare a Scribd company logo
1 of 34
Making enabling apps
for disabled people
APPS WITH DATA FOR PEOPLE WITH A DISABILITY
WITH XAMARIN FORMS
Who am I?
Dennie Declercq.
Founder of DDSoft vzw (nonprofit).
Volunteer developer in vzw Ithaka.
Obsessed about using technologies to make people with a disability their life better.
Maybe because I have my own disability (Autism).
Honored to speak here!
Technology we use
To show all the things, we create a simple Xamarin Forms project.
For practical reasons, we build only for Android at this time!
What this session is not about
This session is not a deep dive into building apps in Xamarin.
I assume at least that you are common with creating basic apps in Xamarin.
What this session is about
This session is to let you know, how you can wite apps for a new user-base with
programming techniques we all know.
Can you realize ?
That the things that we all do…
.. Are not common “life” for many people?
Reading a paper Watching a subtitled movie Ordering a pizza
There are about 5% People with disability
in Belgium
What means about 560.000 people cannot do everything the way
“we” do.
Two kinds of disabilities
Physical
•Can’t move the ‘normal way’
Intellectual
•Can’t think / speak / read / behave
(communicate) in the ‘normal way’
The little that exists
There are (very little) tech organisations that focus on people with
physical disabilities
And that’s good!
But there are even less tech organisations that focus
on people with intellectual disabilities.
That’s our (DDSoft nonprofit) goal.
But I hope…
To inspire many more!
What’s this?
An eating
schedule
What’s the purpose?
To let somebody know what’s to eat this week.
But what does that paper mean,
if you can’t read?
What’s a developer‘s purpose?
To make others’ life easier.
To automate things that humans cannot do,
or cannot do fast enough.
I hope you are all here for this reason!
Let’s learn to make apps for people with
a disability
Three basic rules
1. Simplify the layout
2. Use pictographs or pictures
3. Use Text-To-Speech
Demo Time ‘Emoboard’!
Use case:
Let’s assume you want to build an app to help them communicate about their mood.
Many people with a disability have difficulties to talk about their mood.
Demo Time – Starting point.
We start this demo with a solution, with the Xamarin Forms Template.
We have the file EmoBoard.cs
We create a MainPage (StartPage.cs)
Simplify the layout
1. Use a simple white
background color
(nothing is easier to read
than white)
2. Use a few accent colors
3. Color by function
4. Be consistent!
I can speak !
I can navigate !
I open an other page!
Color by function
I’ve created three button styles
Color by funtion (in code)
public Button DayButton; // I CAN SPEAK
public Button MealButton; // I CAN SPEAK
public Button PrevButton; // I CAN NAVIGATE
public Button NextButton; // I CAN NAVIGATE
public Button SettingsButton; // I OPEN AN OTHER PAGE
DayButton = new Button {
BackgroundColor = Color.Yellow,
TextColor = Color.Red
};
SettingsButton = new Button {
BackgroundColor = Color.Blue,
TextColor = Color.Yellow
};
PrevButton = new Button{
BackgroundColor = Color.Gray,
TextColor = Color.White
};
Demo
Demo Time
Making an accessible user interface for EmoBoard.
Use pictographs or pictures
What does the following mean?
酢飯
The answer is:
For some people with a disability,
who cannot read,
Lettres and words mean nothing.
Just like Chinese of Japanese
tokens for us.
Everybody (except people with
visual impairments) can see a
picture.
Use pictographs or pictures (in code)
Image imgSmile = new Image
{
Source = "smile.jpg"
};
btnHappy = new Button
{
Image = “Happy.png",
};
Sclera
A Good way to find pictographs in Belgium is from
www.sclera.be
It’s free but there’s a use policy
Demo
Demo Time!
Adding some pictographs and pictures.
Use Text-To-Speech (TTS)
For some people, pictures aren’t enough.
To reach them also, you can use TTS, Text-To-Speech
You have to do four steps:
1 Make a TextToSpeech Dependency Interface
2 Add the TextToSpeech Component
3 Make implementation of that interface for each OS you want to implement (in this
case only Android)
4 Call the implementation where needed
TTS – Add the Text To Speech
Component
In the Android Project, Right-Click on Components
TTS – Making a dependency interface
In the shared PCL add a new c# interface
 Add the speak function
** It’s a best practice to make a folder specific for dependency interfaces **
public interface ITextToSpeech
{
void Speak(string text);
}
TTS – Making the Android
implementation
[assembly: Xamarin.Forms.Dependency(typeof(TextToSpeechImplementation))]
namespace EmoBoard.Droid.DependencyImplementations
{
public class TextToSpeechImplementation : ITextToSpeech
public TextToSpeechImplementation() { }
public void Speak(string tekst) {
CrossTextToSpeech.Current.Speak(tekst);
}
}
}
TTS – Call the speak function
void DayButton_Clicked(object sender, EventArgs e)
{
DependencyService.Get<ITextToSpeech>().Speak(“string to be spoken”);
}
Demo
Demo time Text-To-Speech
A Note on Accessible apps in Dutch
People with an intellectual disability can’t learn other languages.
So if you want to reach people in Flanders, you have to make apps in Dutch.
Android an iOS supports TTS in Dutch
Windows (for pc’s and phones) doesn’t support TTS in Dutch, Only in a few
languages. Of course English is supported!
Recap
Today you have seen how you can make an app accessible for people who cannot read
or write due to intellectual disabilities.
You have learned to:
1. Simplify the layout with color by function
2. Use images and pictographs
3. Use TTS
Now it’s up to you
The journey of apps for people with a disability just starts here.
The next big thing is using data (like my own open data platform)
http://socialedata.ddsoft.be/
So you cannot only let them explain their feelings, but also let them inform about their
own life.
Q&A
Thanks!
Contact me:
dennie@ddsoft.be
Facebook.com/ddsoftvzw
www.ddsoft.be

More Related Content

Similar to Making enabling apps for disabled people

Mobile Warsaw - Efficient Localization for iOS Apps
Mobile Warsaw - Efficient Localization for iOS AppsMobile Warsaw - Efficient Localization for iOS Apps
Mobile Warsaw - Efficient Localization for iOS AppsEdgar Figueiredo
 
Windows 11 voice input
Windows 11 voice inputWindows 11 voice input
Windows 11 voice inputssuser1eca7d
 
Designing iOS apps that rock!
Designing iOS apps that rock!Designing iOS apps that rock!
Designing iOS apps that rock!Joey Rigor
 
Evaluation Question 6
Evaluation Question 6Evaluation Question 6
Evaluation Question 6Sam Merricks
 
The Good, The Bad, The Voiceover - ios Accessibility
The Good, The Bad, The Voiceover - ios AccessibilityThe Good, The Bad, The Voiceover - ios Accessibility
The Good, The Bad, The Voiceover - ios AccessibilityAimee Maree Forsstrom
 
INSTRUCTIONS SET - WORD IT OUT
INSTRUCTIONS SET - WORD IT OUTINSTRUCTIONS SET - WORD IT OUT
INSTRUCTIONS SET - WORD IT OUTCarlos
 
Tablet apps for accessibility and inclusion
Tablet apps for accessibility and inclusionTablet apps for accessibility and inclusion
Tablet apps for accessibility and inclusionKev Hickey
 
"Can You Do It In The Dark?" 2: Electric Boogaloo
"Can You Do It In The Dark?" 2: Electric Boogaloo"Can You Do It In The Dark?" 2: Electric Boogaloo
"Can You Do It In The Dark?" 2: Electric BoogalooChris D'Orso
 
Overcoming design challenges in HAT-based multichannel publishing
Overcoming design challenges in HAT-based multichannel publishingOvercoming design challenges in HAT-based multichannel publishing
Overcoming design challenges in HAT-based multichannel publishingJack Molisani
 
Common Missteps in Cross-Platform Development.pdf
Common Missteps in Cross-Platform Development.pdfCommon Missteps in Cross-Platform Development.pdf
Common Missteps in Cross-Platform Development.pdfPridesys IT Ltd.
 
iOS design: a case study
iOS design: a case studyiOS design: a case study
iOS design: a case studyJohan Ronsse
 
FME UC 2014: Keynote from Boundless
FME UC 2014: Keynote from BoundlessFME UC 2014: Keynote from Boundless
FME UC 2014: Keynote from BoundlessSafe Software
 
Introducing small basic
Introducing small basicIntroducing small basic
Introducing small basicSara Samol
 
Ubercool, pixel perfct & slick design… that just doesn't work
Ubercool, pixel perfct & slick design… that just doesn't workUbercool, pixel perfct & slick design… that just doesn't work
Ubercool, pixel perfct & slick design… that just doesn't workSamuel Bednar
 
Module 5 task 1 laura vilar
Module 5 task 1 laura vilarModule 5 task 1 laura vilar
Module 5 task 1 laura vilarLaura Vilar
 
Introducing small basic
Introducing small basicIntroducing small basic
Introducing small basicAn I
 
Pixlr and small apps in the classroom
Pixlr and small apps in the classroomPixlr and small apps in the classroom
Pixlr and small apps in the classroomArtfulArtsyAmy
 

Similar to Making enabling apps for disabled people (20)

Mobile Warsaw - Efficient Localization for iOS Apps
Mobile Warsaw - Efficient Localization for iOS AppsMobile Warsaw - Efficient Localization for iOS Apps
Mobile Warsaw - Efficient Localization for iOS Apps
 
Windows 11 voice input
Windows 11 voice inputWindows 11 voice input
Windows 11 voice input
 
Designing iOS apps that rock!
Designing iOS apps that rock!Designing iOS apps that rock!
Designing iOS apps that rock!
 
Evaluation Question 6
Evaluation Question 6Evaluation Question 6
Evaluation Question 6
 
The Good, The Bad, The Voiceover - ios Accessibility
The Good, The Bad, The Voiceover - ios AccessibilityThe Good, The Bad, The Voiceover - ios Accessibility
The Good, The Bad, The Voiceover - ios Accessibility
 
INSTRUCTIONS SET - WORD IT OUT
INSTRUCTIONS SET - WORD IT OUTINSTRUCTIONS SET - WORD IT OUT
INSTRUCTIONS SET - WORD IT OUT
 
Media quuuuu 6
Media quuuuu 6Media quuuuu 6
Media quuuuu 6
 
Tablet apps for accessibility and inclusion
Tablet apps for accessibility and inclusionTablet apps for accessibility and inclusion
Tablet apps for accessibility and inclusion
 
"Can You Do It In The Dark?" 2: Electric Boogaloo
"Can You Do It In The Dark?" 2: Electric Boogaloo"Can You Do It In The Dark?" 2: Electric Boogaloo
"Can You Do It In The Dark?" 2: Electric Boogaloo
 
Casestudy
CasestudyCasestudy
Casestudy
 
Overcoming design challenges in HAT-based multichannel publishing
Overcoming design challenges in HAT-based multichannel publishingOvercoming design challenges in HAT-based multichannel publishing
Overcoming design challenges in HAT-based multichannel publishing
 
Common Missteps in Cross-Platform Development.pdf
Common Missteps in Cross-Platform Development.pdfCommon Missteps in Cross-Platform Development.pdf
Common Missteps in Cross-Platform Development.pdf
 
iOS design: a case study
iOS design: a case studyiOS design: a case study
iOS design: a case study
 
FME UC 2014: Keynote from Boundless
FME UC 2014: Keynote from BoundlessFME UC 2014: Keynote from Boundless
FME UC 2014: Keynote from Boundless
 
Introducing small basic
Introducing small basicIntroducing small basic
Introducing small basic
 
Ubercool, pixel perfct & slick design… that just doesn't work
Ubercool, pixel perfct & slick design… that just doesn't workUbercool, pixel perfct & slick design… that just doesn't work
Ubercool, pixel perfct & slick design… that just doesn't work
 
Module 5 task 1 laura vilar
Module 5 task 1 laura vilarModule 5 task 1 laura vilar
Module 5 task 1 laura vilar
 
Google App Inventor
Google App InventorGoogle App Inventor
Google App Inventor
 
Introducing small basic
Introducing small basicIntroducing small basic
Introducing small basic
 
Pixlr and small apps in the classroom
Pixlr and small apps in the classroomPixlr and small apps in the classroom
Pixlr and small apps in the classroom
 

More from Visug

Gdbc keynote-visug
Gdbc keynote-visugGdbc keynote-visug
Gdbc keynote-visugVisug
 
How many iot technologies do you need to turn on a lightbulb (Kurt Claeys)
How many iot technologies do you need to turn on a lightbulb (Kurt Claeys)How many iot technologies do you need to turn on a lightbulb (Kurt Claeys)
How many iot technologies do you need to turn on a lightbulb (Kurt Claeys)Visug
 
Tfs Build vNext (Jelle Druyts)
Tfs Build vNext (Jelle Druyts)Tfs Build vNext (Jelle Druyts)
Tfs Build vNext (Jelle Druyts)Visug
 
Sherlock Homepage (Maarten Balliauw)
Sherlock Homepage (Maarten Balliauw)Sherlock Homepage (Maarten Balliauw)
Sherlock Homepage (Maarten Balliauw)Visug
 
Service Fabric Overview (Yves Goeleven)
Service Fabric Overview (Yves Goeleven)Service Fabric Overview (Yves Goeleven)
Service Fabric Overview (Yves Goeleven)Visug
 
DDD, CQRS & ES lessons learned (Gitte Vermeiren)
DDD, CQRS & ES lessons learned (Gitte Vermeiren)DDD, CQRS & ES lessons learned (Gitte Vermeiren)
DDD, CQRS & ES lessons learned (Gitte Vermeiren)Visug
 
Building your first android app using xamarin (Gill Cleeren)
Building your first android app using xamarin (Gill Cleeren)Building your first android app using xamarin (Gill Cleeren)
Building your first android app using xamarin (Gill Cleeren)Visug
 
DevOps with Visual studio Release Management (Pieter Gheysens)
DevOps with Visual studio Release Management (Pieter Gheysens)DevOps with Visual studio Release Management (Pieter Gheysens)
DevOps with Visual studio Release Management (Pieter Gheysens)Visug
 
Asp.net core 1.0 (Peter Himschoot)
Asp.net core 1.0 (Peter Himschoot)Asp.net core 1.0 (Peter Himschoot)
Asp.net core 1.0 (Peter Himschoot)Visug
 
Exploring XLabs
Exploring XLabsExploring XLabs
Exploring XLabsVisug
 
Hello windows 10: An overview of the new features for developers in WIndows 10
Hello windows 10: An overview of the new features for developers in WIndows 10Hello windows 10: An overview of the new features for developers in WIndows 10
Hello windows 10: An overview of the new features for developers in WIndows 10Visug
 
Embracing HTTP in the era of API’s
Embracing HTTP in the era of API’sEmbracing HTTP in the era of API’s
Embracing HTTP in the era of API’sVisug
 
So you write JavaScript? Keep the crap out of there then!
So you write JavaScript? Keep the crap out of there then!So you write JavaScript? Keep the crap out of there then!
So you write JavaScript? Keep the crap out of there then!Visug
 
Visug: Say Hello to my little friend: a session on Kinect
Visug: Say Hello to my little friend: a session on KinectVisug: Say Hello to my little friend: a session on Kinect
Visug: Say Hello to my little friend: a session on KinectVisug
 

More from Visug (14)

Gdbc keynote-visug
Gdbc keynote-visugGdbc keynote-visug
Gdbc keynote-visug
 
How many iot technologies do you need to turn on a lightbulb (Kurt Claeys)
How many iot technologies do you need to turn on a lightbulb (Kurt Claeys)How many iot technologies do you need to turn on a lightbulb (Kurt Claeys)
How many iot technologies do you need to turn on a lightbulb (Kurt Claeys)
 
Tfs Build vNext (Jelle Druyts)
Tfs Build vNext (Jelle Druyts)Tfs Build vNext (Jelle Druyts)
Tfs Build vNext (Jelle Druyts)
 
Sherlock Homepage (Maarten Balliauw)
Sherlock Homepage (Maarten Balliauw)Sherlock Homepage (Maarten Balliauw)
Sherlock Homepage (Maarten Balliauw)
 
Service Fabric Overview (Yves Goeleven)
Service Fabric Overview (Yves Goeleven)Service Fabric Overview (Yves Goeleven)
Service Fabric Overview (Yves Goeleven)
 
DDD, CQRS & ES lessons learned (Gitte Vermeiren)
DDD, CQRS & ES lessons learned (Gitte Vermeiren)DDD, CQRS & ES lessons learned (Gitte Vermeiren)
DDD, CQRS & ES lessons learned (Gitte Vermeiren)
 
Building your first android app using xamarin (Gill Cleeren)
Building your first android app using xamarin (Gill Cleeren)Building your first android app using xamarin (Gill Cleeren)
Building your first android app using xamarin (Gill Cleeren)
 
DevOps with Visual studio Release Management (Pieter Gheysens)
DevOps with Visual studio Release Management (Pieter Gheysens)DevOps with Visual studio Release Management (Pieter Gheysens)
DevOps with Visual studio Release Management (Pieter Gheysens)
 
Asp.net core 1.0 (Peter Himschoot)
Asp.net core 1.0 (Peter Himschoot)Asp.net core 1.0 (Peter Himschoot)
Asp.net core 1.0 (Peter Himschoot)
 
Exploring XLabs
Exploring XLabsExploring XLabs
Exploring XLabs
 
Hello windows 10: An overview of the new features for developers in WIndows 10
Hello windows 10: An overview of the new features for developers in WIndows 10Hello windows 10: An overview of the new features for developers in WIndows 10
Hello windows 10: An overview of the new features for developers in WIndows 10
 
Embracing HTTP in the era of API’s
Embracing HTTP in the era of API’sEmbracing HTTP in the era of API’s
Embracing HTTP in the era of API’s
 
So you write JavaScript? Keep the crap out of there then!
So you write JavaScript? Keep the crap out of there then!So you write JavaScript? Keep the crap out of there then!
So you write JavaScript? Keep the crap out of there then!
 
Visug: Say Hello to my little friend: a session on Kinect
Visug: Say Hello to my little friend: a session on KinectVisug: Say Hello to my little friend: a session on Kinect
Visug: Say Hello to my little friend: a session on Kinect
 

Recently uploaded

Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsPrecisely
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfjimielynbastida
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 

Recently uploaded (20)

Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power Systems
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdf
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 

Making enabling apps for disabled people

  • 1. Making enabling apps for disabled people APPS WITH DATA FOR PEOPLE WITH A DISABILITY WITH XAMARIN FORMS
  • 2. Who am I? Dennie Declercq. Founder of DDSoft vzw (nonprofit). Volunteer developer in vzw Ithaka. Obsessed about using technologies to make people with a disability their life better. Maybe because I have my own disability (Autism). Honored to speak here!
  • 3. Technology we use To show all the things, we create a simple Xamarin Forms project. For practical reasons, we build only for Android at this time!
  • 4. What this session is not about This session is not a deep dive into building apps in Xamarin. I assume at least that you are common with creating basic apps in Xamarin.
  • 5. What this session is about This session is to let you know, how you can wite apps for a new user-base with programming techniques we all know.
  • 6. Can you realize ? That the things that we all do… .. Are not common “life” for many people? Reading a paper Watching a subtitled movie Ordering a pizza
  • 7. There are about 5% People with disability in Belgium What means about 560.000 people cannot do everything the way “we” do.
  • 8. Two kinds of disabilities Physical •Can’t move the ‘normal way’ Intellectual •Can’t think / speak / read / behave (communicate) in the ‘normal way’
  • 9. The little that exists There are (very little) tech organisations that focus on people with physical disabilities And that’s good! But there are even less tech organisations that focus on people with intellectual disabilities. That’s our (DDSoft nonprofit) goal. But I hope… To inspire many more!
  • 11. What’s the purpose? To let somebody know what’s to eat this week. But what does that paper mean, if you can’t read?
  • 12. What’s a developer‘s purpose? To make others’ life easier. To automate things that humans cannot do, or cannot do fast enough. I hope you are all here for this reason!
  • 13. Let’s learn to make apps for people with a disability
  • 14. Three basic rules 1. Simplify the layout 2. Use pictographs or pictures 3. Use Text-To-Speech
  • 15. Demo Time ‘Emoboard’! Use case: Let’s assume you want to build an app to help them communicate about their mood. Many people with a disability have difficulties to talk about their mood.
  • 16. Demo Time – Starting point. We start this demo with a solution, with the Xamarin Forms Template. We have the file EmoBoard.cs We create a MainPage (StartPage.cs)
  • 17. Simplify the layout 1. Use a simple white background color (nothing is easier to read than white) 2. Use a few accent colors 3. Color by function 4. Be consistent! I can speak ! I can navigate ! I open an other page! Color by function I’ve created three button styles
  • 18. Color by funtion (in code) public Button DayButton; // I CAN SPEAK public Button MealButton; // I CAN SPEAK public Button PrevButton; // I CAN NAVIGATE public Button NextButton; // I CAN NAVIGATE public Button SettingsButton; // I OPEN AN OTHER PAGE DayButton = new Button { BackgroundColor = Color.Yellow, TextColor = Color.Red }; SettingsButton = new Button { BackgroundColor = Color.Blue, TextColor = Color.Yellow }; PrevButton = new Button{ BackgroundColor = Color.Gray, TextColor = Color.White };
  • 19. Demo Demo Time Making an accessible user interface for EmoBoard.
  • 20. Use pictographs or pictures What does the following mean? 酢飯 The answer is: For some people with a disability, who cannot read, Lettres and words mean nothing. Just like Chinese of Japanese tokens for us. Everybody (except people with visual impairments) can see a picture.
  • 21. Use pictographs or pictures (in code) Image imgSmile = new Image { Source = "smile.jpg" }; btnHappy = new Button { Image = “Happy.png", };
  • 22. Sclera A Good way to find pictographs in Belgium is from www.sclera.be It’s free but there’s a use policy
  • 23. Demo Demo Time! Adding some pictographs and pictures.
  • 24. Use Text-To-Speech (TTS) For some people, pictures aren’t enough. To reach them also, you can use TTS, Text-To-Speech You have to do four steps: 1 Make a TextToSpeech Dependency Interface 2 Add the TextToSpeech Component 3 Make implementation of that interface for each OS you want to implement (in this case only Android) 4 Call the implementation where needed
  • 25. TTS – Add the Text To Speech Component In the Android Project, Right-Click on Components
  • 26. TTS – Making a dependency interface In the shared PCL add a new c# interface  Add the speak function ** It’s a best practice to make a folder specific for dependency interfaces ** public interface ITextToSpeech { void Speak(string text); }
  • 27. TTS – Making the Android implementation [assembly: Xamarin.Forms.Dependency(typeof(TextToSpeechImplementation))] namespace EmoBoard.Droid.DependencyImplementations { public class TextToSpeechImplementation : ITextToSpeech public TextToSpeechImplementation() { } public void Speak(string tekst) { CrossTextToSpeech.Current.Speak(tekst); } } }
  • 28. TTS – Call the speak function void DayButton_Clicked(object sender, EventArgs e) { DependencyService.Get<ITextToSpeech>().Speak(“string to be spoken”); }
  • 30. A Note on Accessible apps in Dutch People with an intellectual disability can’t learn other languages. So if you want to reach people in Flanders, you have to make apps in Dutch. Android an iOS supports TTS in Dutch Windows (for pc’s and phones) doesn’t support TTS in Dutch, Only in a few languages. Of course English is supported!
  • 31. Recap Today you have seen how you can make an app accessible for people who cannot read or write due to intellectual disabilities. You have learned to: 1. Simplify the layout with color by function 2. Use images and pictographs 3. Use TTS
  • 32. Now it’s up to you The journey of apps for people with a disability just starts here. The next big thing is using data (like my own open data platform) http://socialedata.ddsoft.be/ So you cannot only let them explain their feelings, but also let them inform about their own life.
  • 33. Q&A