You are on page 1of 7

Farmers’ Exchange – Functional Design Document

Purpose of this Document


The purpose of this document is to provide the full functional specification of Farmers’ Exchange (FE). It
will start with a high-level motivation and description of system components and includes call flows and
prompts as appendices. The information should be exhaustive enough to implement the system, but will
only give implementation details where necessary to explain functionality.

Motivation
California farmers with limited English proficiency (LEP) face challenges to information access. Although
many reliable sources for technical agricultural advice, market information, and rules and regulations
exist in California and on the Internet, LEP farmers are often unable to communicate directly with these
sources due to language and trust barriers. Instead, farmers rely on bilingual family, friends, and
community leaders to serve as an intermediary. However, these people often lack the time and
expertise to serve the full demand for information.

To meet the information needs of LEP farmers in California, we propose a voice-based system for asking
questions and getting answers over the phone, in farmers’ native language. The phone is a ubiquitous
and familiar technology, and voice content overcomes literacy and language constraints. The phone-
based system would be connected to a network of farmer knowledge support organizations, with staff
members qualified to answer the questions. In between the advisors and farmers are bilingual
interpreters, which translate the questions and answers back and forth. In this way, the goal of the
system is to align the informational resources available to farmers in CA with the demand for those
resources. No longer do farmers rely on bilingual individuals who serve as agriculture advisors by
default; now, those individuals serve as interpreters/facilitators between farmers and actual advisors.

System Overview
Below is a diagram which illustrates the main components of Farmers’ Exchange and how they fit
together.
Functionality Overview
The main functionality of the system is to provide an interface for farmers to record questions, receive
answers, and search for questions and answers of interest, all over the phone. The content is purely
audio, and all in the farmers’ native language. In this way, the system does not require farmers to have
Internet access or English proficiency.

How it works
1. A farmer dials the number for Farmers’ Exchange. With a few navigational steps, she is able to
record a question and is told to check back for the answer in a specified time frame.
2. The question is registered as pending in the FE database. Billingual translators are alerted that
there is a question that needs attention.
3. The translator listens to the question and translates it to English in either audio (phone) or text
(web) format. Depending on the expertise of the translator, the question may be categorized by
topic or a request for additional information be sent back to the farmer.
4. The system has access to the question queues of all advisors, and assigns the question based on
pending load, question topic, geography, or both.
5. An alert is sent to the assigned advisor (email, phone, and/or SMS). A response to the question
is posted back to the FE database in English (audio or text). The response may either mark the
question as resolved or be a request for additional information. The advisor may also categorize
the question (and answer).
6. The translator who assigned the question is alerted that a new response has been posted. The
response is then recorded back to the phone system in the native language; the categories
tagged given the question and answer are recorded in audio form (in the native language) and
associated with the Q&A in the FE database.
7. The farmer calls back to hear that a new response has been recorded for their review. Upon
listening, the farmer may record clarification information or mark the issue as resolved. The
farmer is given options to rate the quality of the response, and mark the correspondence as
private.
8. Later on, the farmer wishes to get information on a particular topic. Dialing FE, she chooses the
option to search the database for previously recorded questions and answers. After giving a
small number of short search terms, the user is returned a list of questions and answers that
match the search terms against the question and answer categories.

System Components
There are two main system components to Farmers’ Exchange: the phone interface and the FE
database. The phone interface is the language-specific aspect of Farmers’ Exchange. It is a pure voice
interface that is accessible through a dialed number, and navigated through touchtone. There are three
main features of the phone interface (which are discussed in more detail below): record a question,
listen to responses to your question, and search for old questions and answers by category. The search
feature is based on matching short audio keywords provided by the user to the set of audio tags
associated with the Q&As in the database.

The other major component of FE is the Q&A database. This is an interactive database which exposes a
web-based interface for search and editing. All content is in English, though it may be in text, audio, or
any combination of those formats. Any translations of the content are linked. Questions and answers
can be categorized, sorted, and searched by tag. There are personalized views of the database which
provide individual translators and advisors a view of their assigned translation/answering tasks. There
are both public and private views of the database; the public view is a Stack Overflow1-like interface to
browse and search the database content. The private view consists of the personalized mailboxes and a
version of the public view which also allows content to be edited.

FE can be scaled to any number of languages by connecting language-specific phone interfaces to the
single English FE database. To add a new language, the phone interface’s prompts are translated and a
set of translators for the language are given a personalized view to the database. Translators can
contribute translations to existing content in the FE database (record translations for questions and
answers, submit audio tags), or start translating newly incoming questions and answers to the new
language-specific phone interface.

1
www.stackoverflow.com
Stakeholders
There are three main types of participants in Farmers’ Exchange:

Farmers are the end-users. They interact with FE through the phone and optionally through public view
FE database. Farmers ask questions, review answers, and search for questions and answers based on
topics they are interested in. Farmers do not necessarily speak English or have Internet access.

Translators are bilingual speakers of English and a target language spoken by farmers. Their job is to
translate incoming questions and publish them to the FE database, assign and tag content, and translate
responses back for the phone system. Depending on the background of the translator, they may
function as both a translator and advisor, who are described below.

Advisors are the agricultural resources who respond to questions posted to FE. They are individuals
working at university labs, extension offices, or other farmer outreach organizations. They may also be
farmers themselves. They are qualified as agricultural advisors. They speak and write in English, and
have access to the Internet.

Functionality – detailed description


In this section we provide in-depth functional description (i.e. what does it do?) of all application
features.

Phone Interface
A key design goal of the phone interface is simplicity. The number of navigational steps to get to
functionality should be no more than three, and the number of options at each navigational step should
be kept to 2 or 3. Given these constraints, we have defined three features of the phone interface,
described below.

1. Ask a question – This option should be available from the top-level menu of the application. The
user has the ability to record a free-form question. There is also playback and prompting to re-
record. This is an essential feature for new users who will need practice composing a succinct
question. If the tagging scheme employs users, the final prompt asks the user to give any
number of short free-form utterances to tag the question. Each question in the system is given a
unique identifier to track it after it has been entered. This number is given to the user upon
successful recording.

2. Receive answers to a question – When a response to a previously recorded question has been
posted to the system, the user is alerted through a phone call to the source number. Questions
are associated to particular phone numbers, so each ‘mailbox’ of questions is mapped to a
source phone number. The mailbox contains a mix of previously heard responses and unheard
responses. This is kept track of automatically as the user listens to responses. The alert phone
call gives the user the option to connect directly to her mailbox to listen to newly recorded
response(s). Alternatively, the user may also call FE back at a later time and enter her mailbox
through a top-level option. In the mailbox, responses are ordered by most recent, and a prompt
designates new responses from old (no threading, etc. for sake of simplicity). After listening to a
new response, the user is given the option to either mark the question as resolved or can record
a clarification question.

3. Search for old questions and answers – One of the unique features of FE is the ability for users
to search a dynamic database of previously recorded questions and answers. At the first level,
the user may either search by keyword or by typing in a specific question ID. The latter is simply
a way to quickly get to particular content in the system. After keying in the ID, the user is
presented the question along with the responses(s) in the order they were recorded (from least
recent).

In the search option, users are presented the audio equivalent of the Google home page. They
are simply prompted to give a small number of single-word (or two-word) utterances specifying
the type of information they are looking for. The search does a logical AND on the keywords to
match against all previously recorded audio tags for all content (questions and answer
recordings) in the system. The system returns either a set of questions and answers that match
the query, or a response that nothing matching any of the keywords was found. A prompt is
offered to search again, to listen to an n-best list of similar tags (acoustically, but if possible also
semantically), or to listen instead to the n most popular questions and answers by tag. In the
normal case that some matches were found, they are delivered in order of most keyword-tag
matches, then by most recent. The results themselves are only the question portion of the Q&A
(only questions with answers are searchable), but after each question is played there is a
reading of the keywords that matched the question. There are also options for next and back to
quickly browse through the result list. If a question of interest is found, the user chooses the
option to listen to the response (possibly a thread of clarifications). Afterwards, the user is given
the option to either go back to the original search results, or go to FE top-level menu.

FE Database
The FE database refers to the repository of questions and answers that are posted to the system, as well
as the collection of associated views and alerts. It is essentially the backend of the system, to the phone
interface’s frontend. Its role is to serve requests for information retrieval as well as facilitate the process
of receiving, translating, and answering a farmer’s question. We describe the FE database’s functionality
by breaking it down into its core components.

Content
The FE database consists of questions and answers collected through the overall FE system (phone
interface and content submitted directly to the database). Each question and answer pair is represented
with a Q&A content bundle consisting of some combination of audio and text versions of the question
and answer. Each complete (i.e. the question has been marked ‘resolved’) Q&A content bundle have the
question and final answer in an audio form in the native language of the farmer. However, the
associated English forms will be in a combination of audio and text which depends on how they were
handled by the translator and advisor. For example, once a question is submitted to FE by a farmer, a
translator may access the translation task via phone and perform the translation verbally. The assigned
advisor may receive the pending question alert by email, and write back a response. That written
response may then be translated directly back to the native language. In this case, there is an audio form
of the English question, and a written form of the English answer as part of the Q&A bundle. Also part of
the bundle is any intermediate clarification correspondence, and tags to categorize the question and
answer. Like the question and answer, tags must be in audio in the native language, but are in mixed
form in English.

Tags are associated with questions and answers individually. This is to allow each to be tagged
separately by different stakeholders (including farmers). When performing a search on tags (via phone
or web), the matching occurs against Q&A bundles, which is tagged with the union of its question and
answer tags.

Views
How are Q&A bundles built? They require the participation of all three stakeholders: farmers,
translators, and advisors. The farmer and translator produce the native language audio question,
answer, and tags. The other content comes through the various views that the FE database exposes.

When a question has been recorded to FE, it is assigned to a translator based on workload. The question
then goes to the translator’s assigned queue. This is simply an abstraction for a filtered view of the FE
database, and more specifically an exposure to a newly created Q&A bundle. Translators can access
their assigned queue through either the phone or the web, and both are synced. Over the phone, the
translator navigates a voicemail-like list of pending translation tasks (only) in a simple linear list ordered
by most recent. For pending questions, the interface simply prompts to record an English translation.
For pending answers, the translator records the translation and also the audio tags for the answer. If
there are existing English tags, they are played as either audio clips or with speech-to-text, for
translation.

The web view is an inbox-like visual interface. Each item in the box is a Q&A bundle. Audio clips are
linked and can be listened to. Each Q&A bundle exposes fields for English transcription of question and
answer (audio and text), English and native language tags (audio and text), and details about the caller.
There is a status associated with each bundle (new, question-translated, question-assigned, answered,
answer-translated, resolved), which is also provided in both translator views for each Q&A bundle.
While the phone-based translator view only provides ‘new’ status bundles, the web view can show any
bundle the translator has been involved with. Search, sorting, and filtering features are also possible.

For simplicity, the phone and web views for advisors are analogous to the translator views.

Finally, there is a public view of the FE database on the web. Q&A bundles are displayed as units, and
are sortable and searchable (by tag and text). This view will be in English, so the anchoring content for
the bundles in this view is English. However, translated versions of all content is linked from their
associated bundles.
One challenge to searchability of the FE database is indexing audio content. Although the translator and
advisor web views give those stakeholders editable fields to fill in English transcriptions of all audio data,
we may also make those fields editable for visitors of the FE database public view (i.e. a wiki-style
interface).

Alerts
Alerts are critical to facilitate the movement of questions and answers through the FE pipeline, and to
synchronize efforts between stakeholders. As part of the FE database system, alerts are sent out to the
appropriate individuals during status changes of Q&A bundles. Translators and advisors may opt into
receiving alerts by phone call, SMS, and email regarding changes to their pending queues. These options
can be set in the FE database web view for translators and advisors

Translators receive an alert when a new question or answer requires translation. Advisors receive alerts
when an assigned question requires an answer. Farmers receive one type of alert: a phone call with
invitation to access their FE voice mailbox when a new response has been posted.

Appendices
The following documents supplement this one with more details about FE’s functional design:

- Call flows for all FE voice interfaces

- List of prompts for all FE voice interfaces

- Mockups and screenshots for FE database translator/advisor, and public views

You might also like