Aphasia

From Openmoko

(Difference between revisions)
Jump to: navigation, search
Line 1: Line 1:
 
Three years ago Jane had a [http://www.strokeforbundet.org/show.asp?hv=10&pl=U&si=520&la=10&un=520&tx=1&sp=147 stroke] which made her unable to [http://en.wikipedia.org/wiki/Aphasia speak]. Her intelligence is unaffected, but she cannot find the words.
 
Three years ago Jane had a [http://www.strokeforbundet.org/show.asp?hv=10&pl=U&si=520&la=10&un=520&tx=1&sp=147 stroke] which made her unable to [http://en.wikipedia.org/wiki/Aphasia speak]. Her intelligence is unaffected, but she cannot find the words.
 
   
 
   
How can she use a mobile phone to communicate with her husband when the words are gone? When her husband is on the phone, asking - What are you doing? Do you want to have lunch with me?
+
How can she use an OpenMoko mobile phone to communicate with her husband when the words are gone? When her husband is on the phone, asking - What are you doing? Do you want to have lunch with me?
 
   
 
   
To answer his first question about what she is doing, she’s sending him a small picture, showing a cup of tea. And then, a second picture with a heart, and he answers he loves her too. Then he asks if they can meet, he want to have a cup of tea as well, and she answers by sending him her GPS location and he can hear the street address of the small restaurant where she is right now. If there was a phone that made all this possible, I bet she would want one. You've read a short story, capturing what this project is all about -- to build a very special mobile phone.
+
To answer his first question about what she is doing, she’s using the OpenMoko phone to send him a small picture, showing a cup of tea. And then, a second picture with a heart, and he answers he loves her too. Then he asks if they can meet, he want to have a cup of tea as well, and she answers by sending him her GPS location (the OpenMoko phone is a GPS reciever) and he can hear the street address of the small restaurant where she is right now. If there was a phone that made all this possible, I bet she would want one. You've read a short story, capturing what this project is all about -- to build a very special mobile phone.
  
==Basics==
 
  
The goal of a clean and uncluttered finger friendly GUI without menus is not an easy task, but after some [http://www.youtube.com/watch?v=hOotkglKZ94 trial and error] (the 3d-flip source is [http://projects.openmoko.org/frs/?group_id=59 here]) I think I got the general idea. The metaphor of moving around in 2 dimensions by swiping a finger from one corner of the screen to another gave me the space I needed for the different applications such as Dialer, SMS, GPS, SketchApp and a Keyboard. I also made a DXF2ERL converter. With it I can draw GUI components in a CAD program and from the vector file automatically generate [[Erlang]] source code. DXF2ERL is [http://projects.openmoko.org/frs/?group_id=59 here].
 
  
==Why Erlang?==
+
===Q&A===
1. Concurrency programming is more fun than OOP. And apparently Kay himself early on described his early conception of objects as being "little computers" that would communicate with each other via messages.
+
- How did Jane find a picture of a cup of tea so quickly? From an almost unlimited amount of small pictures she could find the cup_of_tea picture in a matter of seconds.
 
+
2. Hot Code loading.
+
 
+
3. Supports multi core processors.
+
 
+
4. Ex11, the Erlang X11 client implementation makes the Aphasia GUI latency-free, and with an instant feedback you are not used to get on any phone.
+
 
+
==The first step, the dialer==
+
 
+
[[FSO]] takes care of most of the functionality when it comes to dial, answer, ring-tone etc. All I had to do was to create a clean dialer GUI. It sits in the space you are at when you start fresh. There is no presentation of the number you are dialing, just the buttons with figures and * and #. To place the call you dial the number and press_and_hold the green button. To hang up you press_and_hold the red button. When there is an incoming call the GUI will move to this space, and you press_and_hold the green button. Source code is [http://projects.openmoko.org/frs/?group_id=59 here].
+
 
+
[[Image:Dialer.jpeg]]
+
 
+
Swipe the screen to the right and you will go to the...
+
 
+
==Clock, Battery and GSM Signal==
+
[[Image:clock.jpeg]]
+
 
+
Some nice-to-have widgets. Push_and_hold the clock face and it adjusts to [[GPS]]-time. Touch the battery and it will force fast_charge, even from a dumb [[USB_charger]]. The green bar in the antenna shows 0-100% [[GSM]] signal strength. Source code is [http://projects.openmoko.org/frs/?group_id=59 here].
+
 
+
Swipe the screen to the right and you will go to the...
+
 
+
==GPS reticle==
+
[[Image:reticle.jpeg]]
+
 
+
Each button can hold a location (waypoint). It could be home, school, your hotel or your favourite Chanterelle (Cantharellus cibarius) spot. Push_and_hold a button to store your current location. The reticle goes red when you have satellites, and a target-point slides at the reticle horizontal line. Keep it in center and you are heading at the target. Close enough (within 100 square meters) your position will show on the reticle surface with the target locked in reticle center. Source code is [http://projects.openmoko.org/frs/?group_id=59 here].
+
 
+
Make sure you have [[Gllin]], else Install gllin_1.1+r931-r0_om-gta01.ipk and gpsd.
+
 
+
==E_call==
+
[[Image:e_call.jpeg]]
+
 
+
The simplest possible phone. Press the button and you are dialing 911, 112, your mother...
+
 
+
==Configurator==
+
In a previous incarnation of this page I thought about an application on the phone that could, in an intelligent way, choose among thousands of images when the user started to make a simple sketch.
+
 
+
Now I have another idea. You talk to different people about different things. You talk to you doctor about how you feel and getting better or worse, improvements and maybe you agree on a date to visit him or her.
+
 
+
You talk to your husband or wife about dinner, love, life and kids.
+
 
+
With your best friend it is mostly about baseball, shopping, motorcycles or computers.
+
 
+
So, create an application on a PC that can be used to configure the phone GUI to suit the one you are talking to. If you are about to talk to someone new, take the time to prepare the call by collecting the relevant images and lay them out on the phone.
+
 
+
==SMS==
+
Send and receive SMS. Address book included.
+
 
+
==Finger Keyboard==
+
During a phone call, type a word and press OK, and a database-application takes the word and returns the sound-clip that is sent to your partner.
+
 
+
This keyboard should also work as a normal keyboard when typing SMS.
+
 
+
==Reminder==
+
When the builtin GPS indicates you are at the bus stop, a quick look at your phone should remind you that it is bus 93 you are taking and nothing else.
+
 
+
Host-based application is used for composing events that could be geograpic and/or time triggered. Host application and phone reminder are synchronized with erlang hot code loading.
+
  
  
 
[[Category:System Applications]]
 
[[Category:System Applications]]

Revision as of 21:12, 27 June 2009

Three years ago Jane had a stroke which made her unable to speak. Her intelligence is unaffected, but she cannot find the words.

How can she use an OpenMoko mobile phone to communicate with her husband when the words are gone? When her husband is on the phone, asking - What are you doing? Do you want to have lunch with me?

To answer his first question about what she is doing, she’s using the OpenMoko phone to send him a small picture, showing a cup of tea. And then, a second picture with a heart, and he answers he loves her too. Then he asks if they can meet, he want to have a cup of tea as well, and she answers by sending him her GPS location (the OpenMoko phone is a GPS reciever) and he can hear the street address of the small restaurant where she is right now. If there was a phone that made all this possible, I bet she would want one. You've read a short story, capturing what this project is all about -- to build a very special mobile phone.


Q&A

- How did Jane find a picture of a cup of tea so quickly? From an almost unlimited amount of small pictures she could find the cup_of_tea picture in a matter of seconds.

Personal tools

Three years ago Jane had a stroke which made her unable to speak. Her intelligence is unaffected, but she cannot find the words.

How can she use a mobile phone to communicate with her husband when the words are gone? When her husband is on the phone, asking - What are you doing? Do you want to have lunch with me?

To answer his first question about what she is doing, she’s sending him a small picture, showing a cup of tea. And then, a second picture with a heart, and he answers he loves her too. Then he asks if they can meet, he want to have a cup of tea as well, and she answers by sending him her GPS location and he can hear the street address of the small restaurant where she is right now. If there was a phone that made all this possible, I bet she would want one. You've read a short story, capturing what this project is all about -- to build a very special mobile phone.

Basics

The goal of a clean and uncluttered finger friendly GUI without menus is not an easy task, but after some trial and error (the 3d-flip source is here) I think I got the general idea. The metaphor of moving around in 2 dimensions by swiping a finger from one corner of the screen to another gave me the space I needed for the different applications such as Dialer, SMS, GPS, SketchApp and a Keyboard. I also made a DXF2ERL converter. With it I can draw GUI components in a CAD program and from the vector file automatically generate Erlang source code. DXF2ERL is here.

Why Erlang?

1. Concurrency programming is more fun than OOP. And apparently Kay himself early on described his early conception of objects as being "little computers" that would communicate with each other via messages.

2. Hot Code loading.

3. Supports multi core processors.

4. Ex11, the Erlang X11 client implementation makes the Aphasia GUI latency-free, and with an instant feedback you are not used to get on any phone.

The first step, the dialer

FSO takes care of most of the functionality when it comes to dial, answer, ring-tone etc. All I had to do was to create a clean dialer GUI. It sits in the space you are at when you start fresh. There is no presentation of the number you are dialing, just the buttons with figures and * and #. To place the call you dial the number and press_and_hold the green button. To hang up you press_and_hold the red button. When there is an incoming call the GUI will move to this space, and you press_and_hold the green button. Source code is here.

Dialer.jpeg

Swipe the screen to the right and you will go to the...

Clock, Battery and GSM Signal

Clock.jpeg

Some nice-to-have widgets. Push_and_hold the clock face and it adjusts to GPS-time. Touch the battery and it will force fast_charge, even from a dumb USB_charger. The green bar in the antenna shows 0-100% GSM signal strength. Source code is here.

Swipe the screen to the right and you will go to the...

GPS reticle

Reticle.jpeg

Each button can hold a location (waypoint). It could be home, school, your hotel or your favourite Chanterelle (Cantharellus cibarius) spot. Push_and_hold a button to store your current location. The reticle goes red when you have satellites, and a target-point slides at the reticle horizontal line. Keep it in center and you are heading at the target. Close enough (within 100 square meters) your position will show on the reticle surface with the target locked in reticle center. Source code is here.

Make sure you have Gllin, else Install gllin_1.1+r931-r0_om-gta01.ipk and gpsd.

E_call

E call.jpeg

The simplest possible phone. Press the button and you are dialing 911, 112, your mother...

Configurator

In a previous incarnation of this page I thought about an application on the phone that could, in an intelligent way, choose among thousands of images when the user started to make a simple sketch.

Now I have another idea. You talk to different people about different things. You talk to you doctor about how you feel and getting better or worse, improvements and maybe you agree on a date to visit him or her.

You talk to your husband or wife about dinner, love, life and kids.

With your best friend it is mostly about baseball, shopping, motorcycles or computers.

So, create an application on a PC that can be used to configure the phone GUI to suit the one you are talking to. If you are about to talk to someone new, take the time to prepare the call by collecting the relevant images and lay them out on the phone.

SMS

Send and receive SMS. Address book included.

Finger Keyboard

During a phone call, type a word and press OK, and a database-application takes the word and returns the sound-clip that is sent to your partner.

This keyboard should also work as a normal keyboard when typing SMS.

Reminder

When the builtin GPS indicates you are at the bus stop, a quick look at your phone should remind you that it is bus 93 you are taking and nothing else.

Host-based application is used for composing events that could be geograpic and/or time triggered. Host application and phone reminder are synchronized with erlang hot code loading.