SlideShare a Scribd company logo
1 of 13
Download to read offline
KasaDaka: a sustainable
voice-service platform
Developing a Voice Service
Development Kit
André Baart, Dec. 2017
Connecting the unconnected
How to provide the ‘unconnected’ with the
benefits of ICTs?
ICT for Development (ICT4D)
Sub-Saharan Africa, Sahel: (Mali, Burkina Faso,
Ghana)
● Low income (2EUR/day)
● Low literacy
● No internet, intermittent electricity
● Under-resourced languages (Bambara,
Mooré, etc)
Internet adoption very low, however mobile
phones have a high adoption rate, and GSM
coverage is good!
KasaDaka – ‘Talking Box’
Raspberry Pi
GSM
connection
KasaDaka platform
● Low-resource, low-cost (60 EUR)
● Almost completely open-source (and thus
free)
● Uses the existing infrastructure: GSM
network, simple mobile phones
● Telco-independent
Components and technologies:
● Asterisk
● VoiceXML
● VXI (proprietary VoiceXML browser)
● Apache
● MySQL
● Django (Python)
Some use-cases of voice-services:
● Citizen Journalism
● Market information
● Weather Information
● Animal health
● Diary value chain
Key to sustainable voice-services:
Local development
● Low cost is essential (2EUR/day avg. income)
● Foreign developers are expensive!
● A lack of local knowledge causes dependence
on foreign labor
● Development is the biggest expense
In order to allow local communities to afford
voice-services, local development is necessary.
● Greatly reduces development costs
● Reduces distance between developer and
user
● Local businesses, economic growth
However, local developers are hard to find!
Only 12K African GitHub accounts in 2015
Number of voice-service developers in Mali and
Burkina Faso: extremely low (thus not cheap!)
Solution: make it easier to develop voice-services
See: https://blog.ona.io/general/2015/01/01/github-africa-2015.html
Simplifying voice-service development
Hypothesis:
● Voice-services are comprised of a combination of interactions.
● These interactions can be generalized into a small set, e.g.
○ Menu with choices
○ Message/information playback
○ User voice input
○ User digit input
○ Language selection
● By providing building-blocks for these interactions, inexperienced users can build simple
voice-applications by deploying and customizing these building-blocks.
Goal: voice-service development in a graphical (web-)interface, no programming skills required.
Voice Service Development Kit
Development of voice-services from a locally hosted web-interface
● Based on the Django framework (MVC)
● Development through admin interface (screenshot)
● Voice-service structure stored in database
● VoiceXML generation including dynamic data from database
● Slot-and-filler TTS, support for all languages
Evaluation: ICT4D course @ VU
2017 ICT4D course:
● 31 students from varying backgrounds, most
no or little programming experience
● 10 applications developed
● 9/10 used VSDK to develop application
● 80% of applications functioned correctly
● 78% extended the VSDK with custom data
models
● 67% extended the VSDK with custom types of
interactions
Note: the set of provided interactions was minimal:
only menu/choice structures and playback of
messages
Survey key findings:
● Interaction building-blocks work well for
voice-service development, but included set
limited for complex use-cases
● Simple voice-services can be developed
quickly and easily, compared to writing VXML
● Expanding the functionalities of the VSDK has
a high learning curve (requires VXML, Django,
Python)
● Debugging voice-services is difficult, testing
takes up a long time
● Setting up a local development environment
is difficult (students did not have access their
own RPi)
Related work
Same principle, but:
● Not open-source, thus foreign dependency
● Expensive
● Require internet connectivity
● Require enterprise telephone connectivity (not available, expensive)
● Rely on the use of TTS/ASR, no support for under-resourced languages
● Do not support voice, only SMS
Conclusions
Building-block approach to voice-service development:
● Works for development of simple voice-services
● Does not require programming skills
● Less work than writing static VoiceXML
● Even less compared to writing VoiceXML generators for specific applications
So, the VSDK enables fast development of voice-service prototypes for users without programming skills.
<?xml version="1.0" encoding="UTF-8"?>
<!--- <vxml version = "2.1" > -->
<!DOCTYPE vxml SYSTEM
"http://www.w3.org/TR/voicexml21/vxml.dtd">
<vxml xmlns="http://www.w3.org/2001/vxml"
version="2.1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.w3.org/2001/vxml
http://www.w3.org/TR/2007/REC-voicexml21-20070619/vxml.xsd">
<property name="inputmodes" value="dtmf" />
<!-- Kasadaka VoiceXML File -->
<form id="language_form">
<field name="language_field">
<prompt>
<audio src="/uploads/pre_choice_option_nl.wav"/>
<audio src="/uploads/dutch_nl.wav"/>
<audio src="/uploads/post_choice_option_nl.wav"/>
<audio src="/uploads/1_nl.wav"/>
<audio src="/uploads/pre_choice_option_en.wav"/>
<audio src="/uploads/english_en.wav"/>
<audio src="/uploads/post_choice_option_en.wav"/>
<audio src="/uploads/2_en.wav"/>
<audio src="/uploads/pre_choice_option_fr.wav"/>
<audio src="/uploads/french_fr.wav"/>
<audio src="/uploads/post_choice_option_fr.wav"/>
<audio src="/uploads/3_fr.wav"/>
</prompt>
<grammar xml:lang="en-US" root = "MYRULE" mode="dtmf">
<rule id="MYRULE" scope = "public">
<one-of>
<item>1</item>
<item>2</item>
<item>3</item>
</one-of>
</rule>
</grammar>
<filled>
<if cond="language_field == '1'">
<assign name="language_id" expr="'1'"/>
<elseif cond="language_field == '2'" />
<assign name="language_id" expr="'2'"/>
<elseif cond="language_field == '3'" />
<assign name="language_id" expr="'3'"/>
<else/>
</if>
<goto next="#submit_form"/>
</filled>
</field>
</form>
<form id="submit_form">
<block>
<assign name="session_id" expr="'7'"/>
<assign name="caller_id" expr="'123'"/>
<submit next="/vxml/user/register/" method="post"
namelist="language_id session_id caller_id "/>
</block>
</form>
</vxml>
Limitations & future work
VSDK works well for simple prototypes, but not
(yet) for more complex applications
● Provide more types of interactions
● Solve problem of dynamic data model
generation
○ Linked data?
○ Data2Documents for VXML? (Ockeloen et al,
2016)
● Implement more sophisticated TTS (Justyna
Kleczar MSc thesis, 2017)
● Develop a better testing/debugging workflow
Are the conclusions also valid in the true ICT4D
context?
● Pilot Burkina Faso (Rainfall use-case)
● Train the first local voice-service developer
Other improvements:
● KasaDaka stack in Docker
● Alternative for proprietary VXML browser
● Fix limitations of Raspberry Pi in ICT4D
context
○ Power issues
○ Availability GSM dongles
Later, maybe:
● Do micropayments with mobile money (large
in Africa)
● Create a ‘bip’ voting system
● Data exchange between offline KasaDakas
● Connect sensors to RPi
???

More Related Content

Similar to KasaDaka: a sustainable voice-service platform - Master thesis presentation André Baart

Sadiq_Syed-Shakeeb_CV_Cubane
Sadiq_Syed-Shakeeb_CV_CubaneSadiq_Syed-Shakeeb_CV_Cubane
Sadiq_Syed-Shakeeb_CV_CubaneSyed Sadiq
 
SignalR + Mobile Possibilities
SignalR + Mobile PossibilitiesSignalR + Mobile Possibilities
SignalR + Mobile PossibilitiesSam Basu
 
Crossware-Introduction_AmitDhagat-reduced.pdf
Crossware-Introduction_AmitDhagat-reduced.pdfCrossware-Introduction_AmitDhagat-reduced.pdf
Crossware-Introduction_AmitDhagat-reduced.pdfv89wytwpyn
 
Ls catalog thiet bi dien xgt info u_e_110512_dienhathe.vn
Ls catalog thiet bi dien xgt info u_e_110512_dienhathe.vnLs catalog thiet bi dien xgt info u_e_110512_dienhathe.vn
Ls catalog thiet bi dien xgt info u_e_110512_dienhathe.vnDien Ha The
 
Nassim_TLILI_resume
Nassim_TLILI_resumeNassim_TLILI_resume
Nassim_TLILI_resumeNassim TLILI
 
Digital noticeboard using vb
Digital noticeboard using vbDigital noticeboard using vb
Digital noticeboard using vbsayalipatil528
 
Amruth_Kumar_Juturu_Resume
Amruth_Kumar_Juturu_ResumeAmruth_Kumar_Juturu_Resume
Amruth_Kumar_Juturu_ResumeAmruth Kumar
 
Sreda Software Solutions company information
Sreda Software Solutions company information Sreda Software Solutions company information
Sreda Software Solutions company information Yaroslav Domaratsky
 
Anti key logging and real-time encrypting software | keystrokes encrypting so...
Anti key logging and real-time encrypting software | keystrokes encrypting so...Anti key logging and real-time encrypting software | keystrokes encrypting so...
Anti key logging and real-time encrypting software | keystrokes encrypting so...Mike Taylor
 

Similar to KasaDaka: a sustainable voice-service platform - Master thesis presentation André Baart (20)

Facebook and Telecom
Facebook and TelecomFacebook and Telecom
Facebook and Telecom
 
Sadiq_Syed-Shakeeb_CV_Cubane
Sadiq_Syed-Shakeeb_CV_CubaneSadiq_Syed-Shakeeb_CV_Cubane
Sadiq_Syed-Shakeeb_CV_Cubane
 
SignalR + Mobile Possibilities
SignalR + Mobile PossibilitiesSignalR + Mobile Possibilities
SignalR + Mobile Possibilities
 
CV_en
CV_enCV_en
CV_en
 
Crossware-Introduction_AmitDhagat-reduced.pdf
Crossware-Introduction_AmitDhagat-reduced.pdfCrossware-Introduction_AmitDhagat-reduced.pdf
Crossware-Introduction_AmitDhagat-reduced.pdf
 
Ls catalog thiet bi dien xgt info u_e_110512_dienhathe.vn
Ls catalog thiet bi dien xgt info u_e_110512_dienhathe.vnLs catalog thiet bi dien xgt info u_e_110512_dienhathe.vn
Ls catalog thiet bi dien xgt info u_e_110512_dienhathe.vn
 
Nassim_TLILI_resume
Nassim_TLILI_resumeNassim_TLILI_resume
Nassim_TLILI_resume
 
Digital noticeboard using vb
Digital noticeboard using vbDigital noticeboard using vb
Digital noticeboard using vb
 
Visual Basic User Interface-III
Visual Basic User Interface-IIIVisual Basic User Interface-III
Visual Basic User Interface-III
 
All in one
All in oneAll in one
All in one
 
Detailed-Resume-Rebai-Hamida
Detailed-Resume-Rebai-HamidaDetailed-Resume-Rebai-Hamida
Detailed-Resume-Rebai-Hamida
 
Sudha Madhuri Yagnamurthy Resume 2 (5)
Sudha Madhuri Yagnamurthy Resume 2 (5)Sudha Madhuri Yagnamurthy Resume 2 (5)
Sudha Madhuri Yagnamurthy Resume 2 (5)
 
Amruth_Kumar_Juturu_Resume
Amruth_Kumar_Juturu_ResumeAmruth_Kumar_Juturu_Resume
Amruth_Kumar_Juturu_Resume
 
Sreda Software Solutions company information
Sreda Software Solutions company information Sreda Software Solutions company information
Sreda Software Solutions company information
 
WebRTC for Mobile
WebRTC for MobileWebRTC for Mobile
WebRTC for Mobile
 
Andrew Resume
Andrew ResumeAndrew Resume
Andrew Resume
 
NagarajaRao
NagarajaRaoNagarajaRao
NagarajaRao
 
Anti key logging and real-time encrypting software | keystrokes encrypting so...
Anti key logging and real-time encrypting software | keystrokes encrypting so...Anti key logging and real-time encrypting software | keystrokes encrypting so...
Anti key logging and real-time encrypting software | keystrokes encrypting so...
 
Widgets Final
Widgets FinalWidgets Final
Widgets Final
 
Bkl_12_9_T_0515
Bkl_12_9_T_0515Bkl_12_9_T_0515
Bkl_12_9_T_0515
 

Recently uploaded

Nightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43b
Nightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43bNightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43b
Nightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43bSérgio Sacani
 
Physiochemical properties of nanomaterials and its nanotoxicity.pptx
Physiochemical properties of nanomaterials and its nanotoxicity.pptxPhysiochemical properties of nanomaterials and its nanotoxicity.pptx
Physiochemical properties of nanomaterials and its nanotoxicity.pptxAArockiyaNisha
 
Chemistry 4th semester series (krishna).pdf
Chemistry 4th semester series (krishna).pdfChemistry 4th semester series (krishna).pdf
Chemistry 4th semester series (krishna).pdfSumit Kumar yadav
 
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdfPests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdfPirithiRaju
 
Biological Classification BioHack (3).pdf
Biological Classification BioHack (3).pdfBiological Classification BioHack (3).pdf
Biological Classification BioHack (3).pdfmuntazimhurra
 
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...Sérgio Sacani
 
Botany krishna series 2nd semester Only Mcq type questions
Botany krishna series 2nd semester Only Mcq type questionsBotany krishna series 2nd semester Only Mcq type questions
Botany krishna series 2nd semester Only Mcq type questionsSumit Kumar yadav
 
TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...
TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...
TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...ssifa0344
 
Unlocking the Potential: Deep dive into ocean of Ceramic Magnets.pptx
Unlocking  the Potential: Deep dive into ocean of Ceramic Magnets.pptxUnlocking  the Potential: Deep dive into ocean of Ceramic Magnets.pptx
Unlocking the Potential: Deep dive into ocean of Ceramic Magnets.pptxanandsmhk
 
GBSN - Biochemistry (Unit 1)
GBSN - Biochemistry (Unit 1)GBSN - Biochemistry (Unit 1)
GBSN - Biochemistry (Unit 1)Areesha Ahmad
 
Formation of low mass protostars and their circumstellar disks
Formation of low mass protostars and their circumstellar disksFormation of low mass protostars and their circumstellar disks
Formation of low mass protostars and their circumstellar disksSérgio Sacani
 
Pulmonary drug delivery system M.pharm -2nd sem P'ceutics
Pulmonary drug delivery system M.pharm -2nd sem P'ceuticsPulmonary drug delivery system M.pharm -2nd sem P'ceutics
Pulmonary drug delivery system M.pharm -2nd sem P'ceuticssakshisoni2385
 
Forensic Biology & Its biological significance.pdf
Forensic Biology & Its biological significance.pdfForensic Biology & Its biological significance.pdf
Forensic Biology & Its biological significance.pdfrohankumarsinghrore1
 
Pests of mustard_Identification_Management_Dr.UPR.pdf
Pests of mustard_Identification_Management_Dr.UPR.pdfPests of mustard_Identification_Management_Dr.UPR.pdf
Pests of mustard_Identification_Management_Dr.UPR.pdfPirithiRaju
 
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...Sérgio Sacani
 
Botany 4th semester file By Sumit Kumar yadav.pdf
Botany 4th semester file By Sumit Kumar yadav.pdfBotany 4th semester file By Sumit Kumar yadav.pdf
Botany 4th semester file By Sumit Kumar yadav.pdfSumit Kumar yadav
 
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...Sérgio Sacani
 
Isotopic evidence of long-lived volcanism on Io
Isotopic evidence of long-lived volcanism on IoIsotopic evidence of long-lived volcanism on Io
Isotopic evidence of long-lived volcanism on IoSérgio Sacani
 
Recombination DNA Technology (Nucleic Acid Hybridization )
Recombination DNA Technology (Nucleic Acid Hybridization )Recombination DNA Technology (Nucleic Acid Hybridization )
Recombination DNA Technology (Nucleic Acid Hybridization )aarthirajkumar25
 
Zoology 4th semester series (krishna).pdf
Zoology 4th semester series (krishna).pdfZoology 4th semester series (krishna).pdf
Zoology 4th semester series (krishna).pdfSumit Kumar yadav
 

Recently uploaded (20)

Nightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43b
Nightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43bNightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43b
Nightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43b
 
Physiochemical properties of nanomaterials and its nanotoxicity.pptx
Physiochemical properties of nanomaterials and its nanotoxicity.pptxPhysiochemical properties of nanomaterials and its nanotoxicity.pptx
Physiochemical properties of nanomaterials and its nanotoxicity.pptx
 
Chemistry 4th semester series (krishna).pdf
Chemistry 4th semester series (krishna).pdfChemistry 4th semester series (krishna).pdf
Chemistry 4th semester series (krishna).pdf
 
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdfPests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
Pests of cotton_Borer_Pests_Binomics_Dr.UPR.pdf
 
Biological Classification BioHack (3).pdf
Biological Classification BioHack (3).pdfBiological Classification BioHack (3).pdf
Biological Classification BioHack (3).pdf
 
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
 
Botany krishna series 2nd semester Only Mcq type questions
Botany krishna series 2nd semester Only Mcq type questionsBotany krishna series 2nd semester Only Mcq type questions
Botany krishna series 2nd semester Only Mcq type questions
 
TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...
TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...
TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...
 
Unlocking the Potential: Deep dive into ocean of Ceramic Magnets.pptx
Unlocking  the Potential: Deep dive into ocean of Ceramic Magnets.pptxUnlocking  the Potential: Deep dive into ocean of Ceramic Magnets.pptx
Unlocking the Potential: Deep dive into ocean of Ceramic Magnets.pptx
 
GBSN - Biochemistry (Unit 1)
GBSN - Biochemistry (Unit 1)GBSN - Biochemistry (Unit 1)
GBSN - Biochemistry (Unit 1)
 
Formation of low mass protostars and their circumstellar disks
Formation of low mass protostars and their circumstellar disksFormation of low mass protostars and their circumstellar disks
Formation of low mass protostars and their circumstellar disks
 
Pulmonary drug delivery system M.pharm -2nd sem P'ceutics
Pulmonary drug delivery system M.pharm -2nd sem P'ceuticsPulmonary drug delivery system M.pharm -2nd sem P'ceutics
Pulmonary drug delivery system M.pharm -2nd sem P'ceutics
 
Forensic Biology & Its biological significance.pdf
Forensic Biology & Its biological significance.pdfForensic Biology & Its biological significance.pdf
Forensic Biology & Its biological significance.pdf
 
Pests of mustard_Identification_Management_Dr.UPR.pdf
Pests of mustard_Identification_Management_Dr.UPR.pdfPests of mustard_Identification_Management_Dr.UPR.pdf
Pests of mustard_Identification_Management_Dr.UPR.pdf
 
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
 
Botany 4th semester file By Sumit Kumar yadav.pdf
Botany 4th semester file By Sumit Kumar yadav.pdfBotany 4th semester file By Sumit Kumar yadav.pdf
Botany 4th semester file By Sumit Kumar yadav.pdf
 
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...
 
Isotopic evidence of long-lived volcanism on Io
Isotopic evidence of long-lived volcanism on IoIsotopic evidence of long-lived volcanism on Io
Isotopic evidence of long-lived volcanism on Io
 
Recombination DNA Technology (Nucleic Acid Hybridization )
Recombination DNA Technology (Nucleic Acid Hybridization )Recombination DNA Technology (Nucleic Acid Hybridization )
Recombination DNA Technology (Nucleic Acid Hybridization )
 
Zoology 4th semester series (krishna).pdf
Zoology 4th semester series (krishna).pdfZoology 4th semester series (krishna).pdf
Zoology 4th semester series (krishna).pdf
 

KasaDaka: a sustainable voice-service platform - Master thesis presentation André Baart

  • 1. KasaDaka: a sustainable voice-service platform Developing a Voice Service Development Kit André Baart, Dec. 2017
  • 2. Connecting the unconnected How to provide the ‘unconnected’ with the benefits of ICTs? ICT for Development (ICT4D) Sub-Saharan Africa, Sahel: (Mali, Burkina Faso, Ghana) ● Low income (2EUR/day) ● Low literacy ● No internet, intermittent electricity ● Under-resourced languages (Bambara, Mooré, etc) Internet adoption very low, however mobile phones have a high adoption rate, and GSM coverage is good!
  • 3. KasaDaka – ‘Talking Box’ Raspberry Pi GSM connection
  • 4. KasaDaka platform ● Low-resource, low-cost (60 EUR) ● Almost completely open-source (and thus free) ● Uses the existing infrastructure: GSM network, simple mobile phones ● Telco-independent Components and technologies: ● Asterisk ● VoiceXML ● VXI (proprietary VoiceXML browser) ● Apache ● MySQL ● Django (Python) Some use-cases of voice-services: ● Citizen Journalism ● Market information ● Weather Information ● Animal health ● Diary value chain
  • 5.
  • 6. Key to sustainable voice-services: Local development ● Low cost is essential (2EUR/day avg. income) ● Foreign developers are expensive! ● A lack of local knowledge causes dependence on foreign labor ● Development is the biggest expense In order to allow local communities to afford voice-services, local development is necessary. ● Greatly reduces development costs ● Reduces distance between developer and user ● Local businesses, economic growth However, local developers are hard to find! Only 12K African GitHub accounts in 2015 Number of voice-service developers in Mali and Burkina Faso: extremely low (thus not cheap!) Solution: make it easier to develop voice-services See: https://blog.ona.io/general/2015/01/01/github-africa-2015.html
  • 7. Simplifying voice-service development Hypothesis: ● Voice-services are comprised of a combination of interactions. ● These interactions can be generalized into a small set, e.g. ○ Menu with choices ○ Message/information playback ○ User voice input ○ User digit input ○ Language selection ● By providing building-blocks for these interactions, inexperienced users can build simple voice-applications by deploying and customizing these building-blocks. Goal: voice-service development in a graphical (web-)interface, no programming skills required.
  • 8. Voice Service Development Kit Development of voice-services from a locally hosted web-interface ● Based on the Django framework (MVC) ● Development through admin interface (screenshot) ● Voice-service structure stored in database ● VoiceXML generation including dynamic data from database ● Slot-and-filler TTS, support for all languages
  • 9. Evaluation: ICT4D course @ VU 2017 ICT4D course: ● 31 students from varying backgrounds, most no or little programming experience ● 10 applications developed ● 9/10 used VSDK to develop application ● 80% of applications functioned correctly ● 78% extended the VSDK with custom data models ● 67% extended the VSDK with custom types of interactions Note: the set of provided interactions was minimal: only menu/choice structures and playback of messages Survey key findings: ● Interaction building-blocks work well for voice-service development, but included set limited for complex use-cases ● Simple voice-services can be developed quickly and easily, compared to writing VXML ● Expanding the functionalities of the VSDK has a high learning curve (requires VXML, Django, Python) ● Debugging voice-services is difficult, testing takes up a long time ● Setting up a local development environment is difficult (students did not have access their own RPi)
  • 10. Related work Same principle, but: ● Not open-source, thus foreign dependency ● Expensive ● Require internet connectivity ● Require enterprise telephone connectivity (not available, expensive) ● Rely on the use of TTS/ASR, no support for under-resourced languages ● Do not support voice, only SMS
  • 11. Conclusions Building-block approach to voice-service development: ● Works for development of simple voice-services ● Does not require programming skills ● Less work than writing static VoiceXML ● Even less compared to writing VoiceXML generators for specific applications So, the VSDK enables fast development of voice-service prototypes for users without programming skills. <?xml version="1.0" encoding="UTF-8"?> <!--- <vxml version = "2.1" > --> <!DOCTYPE vxml SYSTEM "http://www.w3.org/TR/voicexml21/vxml.dtd"> <vxml xmlns="http://www.w3.org/2001/vxml" version="2.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2001/vxml http://www.w3.org/TR/2007/REC-voicexml21-20070619/vxml.xsd"> <property name="inputmodes" value="dtmf" /> <!-- Kasadaka VoiceXML File --> <form id="language_form"> <field name="language_field"> <prompt> <audio src="/uploads/pre_choice_option_nl.wav"/> <audio src="/uploads/dutch_nl.wav"/> <audio src="/uploads/post_choice_option_nl.wav"/> <audio src="/uploads/1_nl.wav"/> <audio src="/uploads/pre_choice_option_en.wav"/> <audio src="/uploads/english_en.wav"/> <audio src="/uploads/post_choice_option_en.wav"/> <audio src="/uploads/2_en.wav"/> <audio src="/uploads/pre_choice_option_fr.wav"/> <audio src="/uploads/french_fr.wav"/> <audio src="/uploads/post_choice_option_fr.wav"/> <audio src="/uploads/3_fr.wav"/> </prompt> <grammar xml:lang="en-US" root = "MYRULE" mode="dtmf"> <rule id="MYRULE" scope = "public"> <one-of> <item>1</item> <item>2</item> <item>3</item> </one-of> </rule> </grammar> <filled> <if cond="language_field == '1'"> <assign name="language_id" expr="'1'"/> <elseif cond="language_field == '2'" /> <assign name="language_id" expr="'2'"/> <elseif cond="language_field == '3'" /> <assign name="language_id" expr="'3'"/> <else/> </if> <goto next="#submit_form"/> </filled> </field> </form> <form id="submit_form"> <block> <assign name="session_id" expr="'7'"/> <assign name="caller_id" expr="'123'"/> <submit next="/vxml/user/register/" method="post" namelist="language_id session_id caller_id "/> </block> </form> </vxml>
  • 12. Limitations & future work VSDK works well for simple prototypes, but not (yet) for more complex applications ● Provide more types of interactions ● Solve problem of dynamic data model generation ○ Linked data? ○ Data2Documents for VXML? (Ockeloen et al, 2016) ● Implement more sophisticated TTS (Justyna Kleczar MSc thesis, 2017) ● Develop a better testing/debugging workflow Are the conclusions also valid in the true ICT4D context? ● Pilot Burkina Faso (Rainfall use-case) ● Train the first local voice-service developer Other improvements: ● KasaDaka stack in Docker ● Alternative for proprietary VXML browser ● Fix limitations of Raspberry Pi in ICT4D context ○ Power issues ○ Availability GSM dongles Later, maybe: ● Do micropayments with mobile money (large in Africa) ● Create a ‘bip’ voting system ● Data exchange between offline KasaDakas ● Connect sensors to RPi
  • 13. ???