Login Implementation, using CallXML and PHP:
- First implemented using termdigits (the number keys on the phone) instead of voice:
- SKYPE: +99000936 9996075774
- Download login_0.xml
- Then worked on connecting CallXML and PHP. PHP can be used to dynamically generate CallXML files with user information. (some of the interaction is for debugging, so some of what is said might be strange):
Database Schema: Download dbschema.pdf
User Scenarios, to help think about the user interface and how people might use the system:
Dinsdale was born in Belize and is 21 years old, but now lives in Queens, New York. He works several jobs to be able to support himself and to send money back to his daughter and girlfriend who still live in Belize. He calls his girlfriend about once a month and is able to talk for a few minutes on the phone to her and to his 1 year old daughter. Neither Dins nor his girlfriend owns a computer, but both own cell phone with respective local numbers. Dins' girlfriend very occasionally uses an internet cafe in her town, Dangriga. Dins has a friend in Queens who owns a computer and lets him occasionally check his email.
After joining the service, Dinsdale calls in and leaves a message about once a week. His girlfriend dials in about 3x per week. His girlfriend will occasionally dial in and play his messages to their daughter.
Hyacinth is a young girl who lives in Steadfast village in rural Belize. She lives with her aunt and attends a local Methodist primary school. Her father moved to L.A. to get work after losing his job when the southern port where he worked loading produce ships was privatized and closed. Before he left, he lived in Dangriga during the week and stayed in the village during the weekend. Hyacinth looks forward to the talk with her father on the phone for a few minutes the first Thursday of every month after school. Hyacinth uses the community phone, and her father uses an international phone card on his cell phone.
After joining the service, Hyacinth is able to hear from her father more often. She leaves him short messages about what she's been doing every Thursday except the first when they still talk directly. Her father leaves a message most Tuesdays and listens to her messages.
The Fairweather family consists of 4 grown children, Grace, Mary, Carol, and Michelle. Mary lives in L.A., Grace in New York, and Michelle in Ladyville, and Carol lives in Belize City. All three have the means to call each other regularly to keep up on their lives, perhaps twice a month.
The women join the service to connect even more with their sisters over the long distances between them. They join a group so that their messages are pooled together in a pot for everyone to listen to. The leave short messages about family and local news for everyone to hear. It's a fun way for them to have a communal gossip pool over long distances. They dial in several times a week to record and listen to messages.
Decisions, considerations, questions:
- Decided to make a 9 digit login number (gives around 400,000,000 potential numbers) and a 4 digit pin. A pin is needed because to become 'contacts' with another person, you need to know their user number.
- The problem here is that then you have to transmit that information about your user number via another communication method.
- Each member's self-identifying feature will be their recording of their name. Even when becoming contacts with a person the interaction can be like: "555-555-555 is 'Drew'. Would you like to become contacts with 'Drew'?" The id number will never be used again.
- Decided to add 'groups' where several members can pool their messages. Details of this need to fleshed out.
- I want to start thinking about the language used in the system. e.g. What should a "contact" be called?
- I'm not convinced about my db schema completely. Especially the setup of the contacts.
I have a script of all of the interactions that is still quite verbose and too technical. In some kind of rough form, here's a pdf: Download interaction_script_29_april_08.pdf