Wikimedia Mobile engineering/Voice SMS and IVR

From mediawiki.org

Wikipedia SMS + IVR on Twilio[edit]

Summary: An SMS Application in which the user texts a wikipedia entry to a phone number, then is called up by the service and read the Wikipedia entry.

Product[edit]

Status: Works in Twilio sandbox with preapproved numbers.
  1. User texts a Wikipedia entry request to a phone number.
    1. Here we used Judy's pin + the Twilio sandbox phone number: MO: Text 39406402 to +1415-599-2671
      1. Note: this is a test Twilio number so only select phones can call at the moment.
    2. Example: Ballet to a phone number such as 415-599-2671
  2. Our service calls back the user
  3. Our service reads the user the requested Wikipedia entry
    1. Example: Our service reads the end user the wikipedia entry for ballet

Try it out![edit]

(415) 599-2671 Pin: 1514-2249
* this is only a simulation using OpenVBX, not a working model.
* Prototype assumes that user has called in and vocally requested: "Ballet" entry
Flow for SMS App

Notes[edit]

COSTS[edit]

This is a non-profit activity and fully open source. There are minimal costs that we must pay the Twilio service, listed below. I see this any charges or costs used in a way that encourages donations to the Wikimedia Foundation.

US pricing for Twilio[edit]

Here is a table of rates applicable to us, January 22, 2012 12:53 PM PST

Service Cost Comments
Phone Number $1/month US Phone Number, note we can't use the toll-free option since we are receiving text messages
Inbound SMS 1 cent/text message received user texts us a request.
Outbound Call 2 cents USD/minute ex. when we call the user

Comments from Romy:

  • This is extremely cheap IMO compared to commercial options. It's also very fast to change.
  • You could set a limit on how long the call is--a 20 minute call would be 40 cents cost to us


Business Development[edit]

Wikimedia Foundation donations[edit]
    • Romy: This product could be used for wikipedia foundation donations if there were a way to do seamless voice-activated carrier billing or paypal flows purely by voice. Users would hear a short message before they hear their entry read to them. Users could also alternately offer to pay an additional fee above the baes 2 cents/minute outbound call and 1 cent sms received (minimum of 3 cents plus minimal fee) as donations to Wikipedia's foundation.
    • Romy: This is an economical version of a fundrasing drive phone call, telephone number or SEO/google banner advertisement.
    • Romy: This has a higher user engagement as the service is user-initiated and specialized to each user. If you are going to make a request on a particular topic, you are going to be much more receptive to donating to Wikipedia Foundation than if someone cold called you from a phone bank or emailed you a donation request.
    • Romy: The wikimedia foundation requests could be shorter, more concise and sprinkled inbetween delivery of content read by our service. This would be less annoying than an ad opening up or hitting the user with a long wikipedia speech.
Mobile Donation tools[edit]

There are a number of commercial mobile payment products that offer non-profit virtually free services or at greatly discounted prices.

When making the final decision, Wikimedia must balance various factors:

  1. Staying true to the mission - this would favor non-commercial applications that are open-sourced. Overly proprietary products would not be in alignment with the Wikimedia mission.
  2. Choosing a payment product that would be built to last. Commercialized, non open sourced products have a tendency to go under or change their payment plan policies.
  3. Choose a tool that is easy to use and easy to train new engineers and technical support staff.
  4. Select in favor of extensibility so that the community could experiment with various forms of donation mechanisms.
  5. Align with any tools that are already in use to reduce administrative complexity--not only development but also in terms of internal accounting practices etc.

Open Source Tools

  • SMS Coin Project - an open source Android in-app payment system (released Q4 2011)

Commercial Tools for Non-profits

  • Paypal Donations Button
    • Datasheet PDF - eBay's Paypal service offers discounted rates for 501(c) non-profits.
    • Rates are as follows:
      • > $100,000 in monthly volume, call Paypal for rates, not specified, 866-365-6319
      • < $100,000 in monthly volume, 2.2% + $0.30 / transaction (not including any costs incurred by any messaging or voice service API such as Twilio)

Product Next Steps[edit]

  1. Optimizing content read back to user
    1. remove the infobox during the "readback time" - user avoids having to listen to a long list of Content topics in a longer article
  2. Push Twilio phone number to production so that end users can access the service outside of the sandbox without having to enter the pin and without having to be verified through Julie's sandbox
  3. Integrate into OpenVBX -> this will create a drag and drop interface simple to use on any computer by nontechnical people. Interns would be able to change the Wikimedia foundation recordings, shut down and start up numbers with virtually no training.
  4. Additional Functionality
    1. Add seamless payment technology - voice only - or set up over a website at a PC - so that donations to the Wikimedia Foundation can be activated through voice using carrier billing or Paypal
    2. Add additional, easy IVR menu options - such as the user saying "Stop" to stop the recitation, "Contents" to list contents
    3. Add voice activated email function so that user can email entry by voice to specified email address
    4. Add accounts so that the service recognizes the user
    5. Turn the entry reading into a fun trivia game; listeners would have more incentive to pay donations to play and give donations to the Wikimedia foundation.

'Car Voice Application'[edit]

Problem: Too many people text while driving
Summary: This is a hands-free voice version. A user would be able to access it while driving their car, for example when they are stuck in traffic.


There's uncertainty over how much "heavy lifting" is required to implement the voice-activated Wikipedia entry request using the Basic Twilio App and a featurephone or smartphone.

  1. Easy lifting - if the end user spoke in a structured way to the service. For example limiting the input to one word, or having the end user spell out the entry using the basic english alphabet and confirming the choice with the computer.
    1. Example: End user would say "Dog" and not an entire English sentence. If there were uncertainty, then the application would respond "Did you just say Dog?"
  2. Possibility of heavy lifting - requiring Artificial Intelligence (AI) similar to the Apple iPhone SIRI application - this is the kind of stuff that would be required if the end user would speak to Wikipedia using plain English.
    1. example: "Wikipedia, could you please tell me what the capital of Denmark is?"

Brainstorming Prototypes[edit]

Car voice Application flow[edit]

Flow:
  1. User calls our phone number while they are in the car.
  2. Our service greets the end user.
    1. Example copy: Wikipedia Service. What should we read to you?
  3. Pause
  4. Our end user speaks into the phone with a request.
    1. Example: "End user says: Ballet"
    2. Our service interprets user-spoken term "Ballet" using the twilio voice mail transcribe piece
  5. Our system returns a reading of the request to the user on their phone.
    1. End user can listen to the wikipedia entry without having to type to text

Use Case[edit]

Sales Engineer reviewing technology and cultural hobbies of their prospective client

In this use case, a sales engineer is on the road 70% of their working day. He must visit new clients constantly and pore over detailed technical data. He doesn't have time to review while stuck in traffic.

  1. Sales Engineer is trapped in traffic for 3 hours. He has only had about 30 minutes to review new emails on technical data and brush up on an obscure technology.
  2. Sales Engineer is about to have coffee and build a personal relationship with a Latin American manufacturer who is a ballet fanatic and former star male ballet dancer in a Brazilian dance company.
  3. Sales Engineer calls '(415) 599-2671 Pin: 1514-2249'
    1. Romy: This phone number and pin work, try it out! It's just a simulation.
  4. Sales Engineer requests information about ballet
  5. sales engineer requests microchip entry.
  6. Sales engineer requests table of contents.
  7. Our service reads sales engineer the table of contents, each entry followed by a number. "Introduction, 1, History, 2.."
  8. Sales engineer requests section number for "Silicon Graffiti" within microchip entry. He is able to skip to the relevant section heading after being read the table of contents of the article.
  9. Sales engineer requests that the microchip technology
  10. Sales Engineer avoids texting while driving, avoids being late, avoids entering the meeting unprepared. Sales Engineer is able to get into a great discussion about the finer points of classical ballet despite being stuck in traffic for most of the morning and having had little time to prepare to meet the manufacturer.

Next Steps[edit]

  1. January 22, 2012 11:42 AM Build an application with basic request functionality- could someone please help me? Romy romy.ilano@gmail.com
  2. Q3 2012 - Make a kind of voice-activated game. This could be a quiz game etc that the sales engineer (user) could play while stuck in traffic. With regards to Wikipedia one could do an easy trivia from Wikipedia exercise or draw from Wikitranslate for a quiz game on a foreign language.
  3. Q4 2012 - make an easy language learning program that is voice-activated that the engineer can use while stuck in traffic on the freeway. This engineer for example wants to learn French. Let the program teach them French using Wikibooks.


People[edit]

Tools[edit]

Hack to connect voice app to Neuroksy Brain control Headset[edit]

Summary[edit]

I would like to extend the Car Application, voice activated Wikipedia prototype further by connecting the Neurosky neural headset to an iPhone (if Possible) or laptop computer.

Prototypes[edit]

Flow # 1[edit]

  1. User verbally submits the request after calling a phone number.
  2. User puts on the Neurosky headset, connected to a laptop.
  3. User is called back on phone and read the Wikipedia entry.
  4. Instead of using prompts, the user uses the special Neurosky brainwave device to control the readings.
    1. YES NO INTERFACE -This could be a very binary "yes or no" interface as Neurosky isn't sensitive enough to capture words or sounds in a person's brain waves.

Flow #2[edit]

  1. User sends an SMS to a phone number.
  2. User puts on the Neurosky headset, connected to a laptop.
  3. User is called back on phone and read the Wikipedia entry.
  4. Instead of using prompts, the user uses the special Neurosky brainwave device to control the readings.
    1. YES NO INTERFACE -This could be a very binary "yes or no" interface as Neurosky isn't sensitive enough to capture words or sounds in a person's brain waves.

Use Cases[edit]

  1. People driving cars who are not wishing to text and drive.
  2. Disabled people who cannot speak verbally but can hear (see flow #2 in which a user initiates the request with an SMS instead of using their voice)