34
Making enabling apps for disabled people APPS WITH DATA FOR PEOPLE WITH A DISABILITY WITH XAMARIN FORMS

Making enabling apps for disabled people

  • Upload
    visug

  • View
    418

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Making enabling apps for disabled people

Making enabling apps for disabled peopleAPPS WITH DATA FOR PEOPLE WITH A DISABILITY

WITH XAMARIN FORMS

Page 2: Making enabling apps for disabled people

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!

Page 3: Making enabling apps for disabled people

Technology we useTo show all the things, we create a simple Xamarin Forms project.

For practical reasons, we build only for Android at this time!

Page 4: Making enabling apps for disabled people

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.

Page 5: Making enabling apps for disabled people

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.

Page 6: Making enabling apps for disabled people

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

Page 7: Making enabling apps for disabled people

There are about 5% People with disability in Belgium

What means about 560.000 people cannot do everything the way “we” do.

Page 8: Making enabling apps for disabled people

Two kinds of disabilitiesPhysical • Can’t move the ‘normal way’

Intellectual• Can’t think / speak / read / behave

(communicate) in the ‘normal way’

Page 9: Making enabling apps for disabled people

The little that existsThere are (very little) tech organisations that focus on people with physical disabilitiesAnd 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!

Page 10: Making enabling apps for disabled people

What’s this?

An eating schedule

Page 11: Making enabling apps for disabled people

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?

Page 12: Making enabling apps for disabled people

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!

Page 13: Making enabling apps for disabled people

Let’s learn to make apps for people with a disability

Page 14: Making enabling apps for disabled people

Three basic rules1. Simplify the layout

2. Use pictographs or pictures

3. Use Text-To-Speech

Page 15: Making enabling apps for disabled people

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.

Page 16: Making enabling apps for disabled people

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)

Page 17: Making enabling apps for disabled people

Simplify the layout1. Use a simple white

background color (nothing is easier to read than white)

2. Use a few accent colors3. Color by function4. Be consistent!

I can speak !

I can navigate !

I open an other page!

Color by functionI’ve created three button styles

Page 18: Making enabling apps for disabled people

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 };

Page 19: Making enabling apps for disabled people

DemoDemo Time

Making an accessible user interface for EmoBoard.

Page 20: Making enabling apps for disabled people

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.

Page 21: Making enabling apps for disabled people

Use pictographs or pictures (in code)

Image imgSmile = new Image

{

Source = "smile.jpg"

};

btnHappy = new Button

{ Image = “Happy.png",

};

Page 22: Making enabling apps for disabled people

Sclera A Good way to find pictographs in Belgium is from

www.sclera.be

It’s free but there’s a use policy

Page 23: Making enabling apps for disabled people

Demo Demo Time!

Adding some pictographs and pictures.

Page 24: Making enabling apps for disabled people

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

Page 25: Making enabling apps for disabled people

TTS – Add the Text To Speech Component

In the Android Project, Right-Click on Components

Page 26: Making enabling apps for disabled people

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); }

Page 27: Making enabling apps for disabled people

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);

} } }

Page 28: Making enabling apps for disabled people

TTS – Call the speak function void DayButton_Clicked(object sender, EventArgs e) { DependencyService.Get<ITextToSpeech>().Speak(“string to be spoken”);

}

Page 29: Making enabling apps for disabled people

Demo Demo time Text-To-Speech

Page 30: Making enabling apps for disabled people

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!

Page 31: Making enabling apps for disabled people

RecapToday 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

Page 32: Making enabling apps for disabled people

Now it’s up to youThe 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.

Page 33: Making enabling apps for disabled people

Q&A

Page 34: Making enabling apps for disabled people

Thanks! Contact me:

[email protected]

Facebook.com/ddsoftvzw

www.ddsoft.be