[ODK Implementers] Re: Adding further constraints to text outside of xforms

Thanks!!

I've just typed in Kannada (first line) and Hindi (second) from gmail's
font selector into this email - could you see if Android can display the
font? If not, can it be installed separately (
http://www.wazu.jp/gallery/Fonts_Kannada.html)
Kannada: ಕನ್ನಡ ನಾನು ಹೆಸರು ಅನ್ದ್ರೊಇದ್
Hindi: हिंदी मेरा नाम अन्द्रोइड है

good set of questions, emily.

language support.

there are three levels of language support -- in the android operating
system itself, in the odk collect application, and in the form you are
using.

for android, you only have the popular languages available -- chinese,
dutch, english, french, japanese, etc (see
http://developer.android.com/sdk/android-2.2.html#locs for the full
list). pretty hard to add to that list and this is what controls the
language of the phone itself with no applications.

for odk collect, we currently have english, swahili, french, spanish,
and chinese translations. if you want to translate into more
languages, it's very easy to add more and this is what controls what
the buttons and dialog messages in odk collect say.

for the form, you can support any language that can be encoded as
unicode. you can translate individual questions or the entire form.
you toggle languages at any point in the survey. see
http://www.youtube.com/watch?v=lo8LaFFSkV8 (at 1:34). there is a catch
in that android has to have the font to display the script. i'm pretty
sure you should be fine, but if you have some sample text, i can try
it out for you.

timeline

neil and sam can speak on this a bit more, but with the community's
help and an understanding of xml, it shouldn't take you more than a
few hours to get a grasp of how to work with odk -- particularly the
format of the forms and workflow. if you have a more complex form with
logic, then it depends on how clever you are :). folks who have been
exposed to programming tend to grasp these things (loops, variable
assignment, etc.) much faster than civilians. we have sample forms at
http://code.google.com/p/opendatakit/source/browse?repo=forms.

privacy

you can have two forms per household. form 1 would have the gps
coordinates, photo and the household key, form 2 would have the
household key and the other data. results from both forms would have
to be stored on the sdcard of the phone, but in separate plaintext
files. once you send the files to the server or local machine, you can
delete them off the phone. there are countless ways to you can make
this process more secure (separate servers per form, encryption of the
sd card, etc) -- just depends what you consider secure and are willing
to build...

qa/qc

you can add time stamps at any point of the survey. you can even put
hidden location coordinates on each question if you so choose. neil
and sam can talk about quality control, but a lot of this is in how
you design the survey. limiting free text and using the logic to check
for ranges, etc.

hope that helps. keep the questions coming!

Hi ODK implementers,
I am from a team of a graduate students who are planning a large survey
(over 10,000 surveys in the course of a year) in southern India. We're
still
deciding whether to use ODK and I have a few questions that hopefully
those
with experience implementing this can help us out with.

  • Language support. We'll have the survey prepared in 4 languages
    (Kannada
    mainly, but also Hindi, Urdu, and English). I'm assuming script-based
    fonts, including Kannada (since it's supported by google) should be easy.
    Has anyone had experience using script-based languages on ODK, and also
    with switching through multiple languages when going from survey household
    to survey household? Is this easy to do or were there any challenges with
    it?
  • Timeline. We're 3 PhD students on a very limited budget who are pretty
    solid at overall surveying process (piloting, training, etc), but only one
    of has some programming experience (with all 3 willing to learn). How
    long,
    realistically, would it take us to do just the ODK part of the survey
    setup
    (assuming our survey itself is finished/piloted/field issues worked
    out/etc), including learning the systems, learning XForms/JavaRosa,
    learning
    how to making changes, inputting our survey, etc?
  • Privacy. How can we use ODKCollect in a manner that ensures privacy of
    the data? In a paper-based system we'd be using a numeric key to identify
    households and not have any identifying information attached to the data
    itself, and the surveys would be kept in a locked cabine, etc.. What
    would
    be the equivalent procedure for using ODK collect? Also, we'd like to be
    able to mark houses with GPS information and photos for easy recognition
    since we'll have a survey team re-visiting the same households; however,
    to
    protect privacy of households we'll need to keep GPS coordinates separate
    from the data itself (ie marked by a key kept securely elsewhere). Has
    anyone had experience with this and recommendations for ensuring security
    of
    the data?
  • QA/QC. Is there the ability to time how long it takes for an enumerator
    to get through certain questions or parts of the survey as a means of
    quality control on the data collection/entry process? Or what other
    methods
··· On Wed, May 26, 2010 at 8:58 AM, Yaw Anokwa wrote: On Tue, May 25, 2010 at 15:13, Emily Kumpel wrote: > have implementers used to ensure quality of data collection? > Thanks! > Emily > > > > > > >

On my Nexus One both fonts come across as empty boxes. I'll look into what
it takes to install fonts on Android.

Using Gmail in Chrome on my Mac the Kannada is also boxes, but the Hindi is
script.
-Carl

··· On Wed, May 26, 2010 at 9:40 AM, Emily Kumpel wrote:

Thanks!!

I've just typed in Kannada (first line) and Hindi (second) from gmail's
font selector into this email - could you see if Android can display the
font? If not, can it be installed separately (
http://www.wazu.jp/gallery/Fonts_Kannada.html)
Kannada: ಕನ್ನಡ ನಾನು ಹೆಸರು ಅನ್ದ್ರೊಇದ್
Hindi: हिंदी मेरा नाम अन्द्रोइड है

On Wed, May 26, 2010 at 8:58 AM, Yaw Anokwa yanokwa@gmail.com wrote:
good set of questions, emily.

language support.

there are three levels of language support -- in the android operating
system itself, in the odk collect application, and in the form you are
using.

for android, you only have the popular languages available -- chinese,
dutch, english, french, japanese, etc (see
http://developer.android.com/sdk/android-2.2.html#locs for the full
list). pretty hard to add to that list and this is what controls the
language of the phone itself with no applications.

for odk collect, we currently have english, swahili, french, spanish,
and chinese translations. if you want to translate into more
languages, it's very easy to add more and this is what controls what
the buttons and dialog messages in odk collect say.

for the form, you can support any language that can be encoded as
unicode. you can translate individual questions or the entire form.
you toggle languages at any point in the survey. see
http://www.youtube.com/watch?v=lo8LaFFSkV8 (at 1:34). there is a catch
in that android has to have the font to display the script. i'm pretty
sure you should be fine, but if you have some sample text, i can try
it out for you.

timeline

neil and sam can speak on this a bit more, but with the community's
help and an understanding of xml, it shouldn't take you more than a
few hours to get a grasp of how to work with odk -- particularly the
format of the forms and workflow. if you have a more complex form with
logic, then it depends on how clever you are :). folks who have been
exposed to programming tend to grasp these things (loops, variable
assignment, etc.) much faster than civilians. we have sample forms at
http://code.google.com/p/opendatakit/source/browse?repo=forms.

privacy

you can have two forms per household. form 1 would have the gps
coordinates, photo and the household key, form 2 would have the
household key and the other data. results from both forms would have
to be stored on the sdcard of the phone, but in separate plaintext
files. once you send the files to the server or local machine, you can
delete them off the phone. there are countless ways to you can make
this process more secure (separate servers per form, encryption of the
sd card, etc) -- just depends what you consider secure and are willing
to build...

qa/qc

you can add time stamps at any point of the survey. you can even put
hidden location coordinates on each question if you so choose. neil
and sam can talk about quality control, but a lot of this is in how
you design the survey. limiting free text and using the logic to check
for ranges, etc.

hope that helps. keep the questions coming!

On Tue, May 25, 2010 at 15:13, Emily Kumpel emily.kumpel@gmail.com wrote:

Hi ODK implementers,
I am from a team of a graduate students who are planning a large survey
(over 10,000 surveys in the course of a year) in southern India. We're
still
deciding whether to use ODK and I have a few questions that hopefully
those
with experience implementing this can help us out with.

  • Language support. We'll have the survey prepared in 4 languages
    (Kannada
    mainly, but also Hindi, Urdu, and English). I'm assuming script-based
    fonts, including Kannada (since it's supported by google) should be easy.
    Has anyone had experience using script-based languages on ODK, and also
    with switching through multiple languages when going from survey
    household
    to survey household? Is this easy to do or were there any challenges
    with
    it?
  • Timeline. We're 3 PhD students on a very limited budget who are pretty
    solid at overall surveying process (piloting, training, etc), but only
    one
    of has some programming experience (with all 3 willing to learn). How
    long,
    realistically, would it take us to do just the ODK part of the survey
    setup
    (assuming our survey itself is finished/piloted/field issues worked
    out/etc), including learning the systems, learning XForms/JavaRosa,
    learning
    how to making changes, inputting our survey, etc?
  • Privacy. How can we use ODKCollect in a manner that ensures privacy of
    the data? In a paper-based system we'd be using a numeric key to
    identify
    households and not have any identifying information attached to the data
    itself, and the surveys would be kept in a locked cabine, etc.. What
    would
    be the equivalent procedure for using ODK collect? Also, we'd like to be
    able to mark houses with GPS information and photos for easy recognition
    since we'll have a survey team re-visiting the same households; however,
    to
    protect privacy of households we'll need to keep GPS coordinates separate
    from the data itself (ie marked by a key kept securely elsewhere). Has
    anyone had experience with this and recommendations for ensuring security
    of
    the data?
  • QA/QC. Is there the ability to time how long it takes for an
    enumerator
    to get through certain questions or parts of the survey as a means of
    quality control on the data collection/entry process? Or what other
    methods
    have implementers used to ensure quality of data collection?
    Thanks!
    Emily

you can try, but i don't think it will be as simple as adding a
fallback font. kannada
is pretty complex so you'd also have to change the rendering on
android so it stacks the scripts properly. see
http://code.google.com/p/android/issues/detail?id=5925#c15 for a good
description of what has to be done.

http://tom.to/blog/archives/76
http://understandinglimited.com/2009/03/07/android-complex-script
http://nokorsoft.com/2010/03/07/khmer-unicode-and-android-os are also
good resources.

i'll ping the android team but i'm assuming they have higher
priorities. this is the kind of thing that a group of hackers who need
this support could patch into the open source android project...

··· On Wed, May 26, 2010 at 10:55, Carl Hartung wrote: > On my Nexus One both fonts come across as empty boxes. I'll look into what > it takes to install fonts on Android. > Using Gmail in Chrome on my Mac the Kannada is also boxes, but the Hindi is > script. > -Carl > > On Wed, May 26, 2010 at 9:40 AM, Emily Kumpel wrote: >> >> Thanks!! >> I've just typed in Kannada (first line) and Hindi (second) from gmail's >> font selector into this email - could you see if Android can display the >> font? If not, can it be installed separately >> (http://www.wazu.jp/gallery/Fonts_Kannada.html) >> Kannada: ಕನ್ನಡ ನಾನು ಹೆಸರು ಅನ್ದ್ರೊಇದ್ >> Hindi: हिंदी मेरा नाम अन्द्रोइड है >> >> >> >> On Wed, May 26, 2010 at 8:58 AM, Yaw Anokwa wrote: >> good set of questions, emily. >> > language support. >> there are three levels of language support -- in the android operating >> system itself, in the odk collect application, and in the form you are >> using. >> for android, you only have the popular languages available -- chinese, >> dutch, english, french, japanese, etc (see >> http://developer.android.com/sdk/android-2.2.html#locs for the full >> list). pretty hard to add to that list and this is what controls the >> language of the phone itself with no applications. >> for odk collect, we currently have english, swahili, french, spanish, >> and chinese translations. if you want to translate into more >> languages, it's very easy to add more and this is what controls what >> the buttons and dialog messages in odk collect say. >> for the form, you can support any language that can be encoded as >> unicode. you can translate individual questions or the entire form. >> you toggle languages at any point in the survey. see >> http://www.youtube.com/watch?v=lo8LaFFSkV8 (at 1:34). there is a catch >> in that android has to have the font to display the script. i'm pretty >> sure you should be fine, but if you have some sample text, i can try >> it out for you. >> >> > timeline >> neil and sam can speak on this a bit more, but with the community's >> help and an understanding of xml, it shouldn't take you more than a >> few hours to get a grasp of how to work with odk -- particularly the >> format of the forms and workflow. if you have a more complex form with >> logic, then it depends on how clever you are :). folks who have been >> exposed to programming tend to grasp these things (loops, variable >> assignment, etc.) much faster than civilians. we have sample forms at >> http://code.google.com/p/opendatakit/source/browse?repo=forms. >> >> >> > privacy >> you can have two forms per household. form 1 would have the gps >> coordinates, photo and the household key, form 2 would have the >> household key and the other data. results from both forms would have >> to be stored on the sdcard of the phone, but in separate plaintext >> files. once you send the files to the server or local machine, you can >> delete them off the phone. there are countless ways to you can make >> this process more secure (separate servers per form, encryption of the >> sd card, etc) -- just depends what you consider secure and are willing >> to build... >> >> > qa/qc >> you can add time stamps at any point of the survey. you can even put >> hidden location coordinates on each question if you so choose. neil >> and sam can talk about quality control, but a lot of this is in how >> you design the survey. limiting free text and using the logic to check >> for ranges, etc. >> >> hope that helps. keep the questions coming! >> On Tue, May 25, 2010 at 15:13, Emily Kumpel wrote: >> > Hi ODK implementers, >> > I am from a team of a graduate students who are planning a large survey >> > (over 10,000 surveys in the course of a year) in southern India. We're >> > still >> > deciding whether to use ODK and I have a few questions that hopefully >> > those >> > with experience implementing this can help us out with. >> > - Language support. We'll have the survey prepared in 4 languages >> > (Kannada >> > mainly, but also Hindi, Urdu, and English). I'm assuming script-based >> > fonts, including Kannada (since it's supported by google) should be >> > easy. >> > Has anyone had experience using script-based languages on ODK, and also >> > with switching through multiple languages when going from survey >> > household >> > to survey household? Is this easy to do or were there any challenges >> > with >> > it? >> > - Timeline. We're 3 PhD students on a very limited budget who are >> > pretty >> > solid at overall surveying process (piloting, training, etc), but only >> > one >> > of has some programming experience (with all 3 willing to learn). How >> > long, >> > realistically, would it take us to do just the ODK part of the survey >> > setup >> > (assuming our survey itself is finished/piloted/field issues worked >> > out/etc), including learning the systems, learning XForms/JavaRosa, >> > learning >> > how to making changes, inputting our survey, etc? >> > - Privacy. How can we use ODKCollect in a manner that ensures privacy >> > of >> > the data? In a paper-based system we'd be using a numeric key to >> > identify >> > households and not have any identifying information attached to the data >> > itself, and the surveys would be kept in a locked cabine, etc.. What >> > would >> > be the equivalent procedure for using ODK collect? Also, we'd like to >> > be >> > able to mark houses with GPS information and photos for easy recognition >> > since we'll have a survey team re-visiting the same households; however, >> > to >> > protect privacy of households we'll need to keep GPS coordinates >> > separate >> > from the data itself (ie marked by a key kept securely elsewhere). Has >> > anyone had experience with this and recommendations for ensuring >> > security of >> > the data? >> > - QA/QC. Is there the ability to time how long it takes for an >> > enumerator >> > to get through certain questions or parts of the survey as a means of >> > quality control on the data collection/entry process? Or what other >> > methods >> > have implementers used to ensure quality of data collection? >> > Thanks! >> > Emily >> > >> > >> > >> > >> > >> > >> > > >

I'll keep searching to see if anyone's working on it. Unfortunately,
being able to use Kannada is a dealbreaker for us in terms of using ODK.

Do you have suggestions on where I might make this suggestion to someone
who'd be interested in working on this? especially with Kannada being
the language of Bangalore, I'm sure there's hackers out there with the
skills and desire...

··· On 5/26/2010 11:24 AM, Yaw Anokwa wrote: > you can try, but i don't think it will be as simple as adding a > fallback font. kannada > is pretty complex so you'd also have to change the rendering on > android so it stacks the scripts properly. see > http://code.google.com/p/android/issues/detail?id=5925#c15 for a good > description of what has to be done. > > http://tom.to/blog/archives/76 > http://understandinglimited.com/2009/03/07/android-complex-script > http://nokorsoft.com/2010/03/07/khmer-unicode-and-android-os are also > good resources. > > i'll ping the android team but i'm assuming they have higher > priorities. this is the kind of thing that a group of hackers who need > this support could patch into the open source android project... > > On Wed, May 26, 2010 at 10:55, Carl Hartung wrote: > >> On my Nexus One both fonts come across as empty boxes. I'll look into what >> it takes to install fonts on Android. >> Using Gmail in Chrome on my Mac the Kannada is also boxes, but the Hindi is >> script. >> -Carl >> >> On Wed, May 26, 2010 at 9:40 AM, Emily Kumpel wrote: >> >>> Thanks!! >>> I've just typed in Kannada (first line) and Hindi (second) from gmail's >>> font selector into this email - could you see if Android can display the >>> font? If not, can it be installed separately >>> (http://www.wazu.jp/gallery/Fonts_Kannada.html) >>> Kannada: ಕನ್ನಡ ನಾನು ಹೆಸರು ಅನ್ದ್ರೊಇದ್ >>> Hindi: हिंदी मेरा नाम अन्द्रोइड है >>> >>> >>> >>> On Wed, May 26, 2010 at 8:58 AM, Yaw Anokwa wrote: >>> good set of questions, emily. >>> >>>> language support. >>>> >>> there are three levels of language support -- in the android operating >>> system itself, in the odk collect application, and in the form you are >>> using. >>> for android, you only have the popular languages available -- chinese, >>> dutch, english, french, japanese, etc (see >>> http://developer.android.com/sdk/android-2.2.html#locs for the full >>> list). pretty hard to add to that list and this is what controls the >>> language of the phone itself with no applications. >>> for odk collect, we currently have english, swahili, french, spanish, >>> and chinese translations. if you want to translate into more >>> languages, it's very easy to add more and this is what controls what >>> the buttons and dialog messages in odk collect say. >>> for the form, you can support any language that can be encoded as >>> unicode. you can translate individual questions or the entire form. >>> you toggle languages at any point in the survey. see >>> http://www.youtube.com/watch?v=lo8LaFFSkV8 (at 1:34). there is a catch >>> in that android has to have the font to display the script. i'm pretty >>> sure you should be fine, but if you have some sample text, i can try >>> it out for you. >>> >>> >>>> timeline >>>> >>> neil and sam can speak on this a bit more, but with the community's >>> help and an understanding of xml, it shouldn't take you more than a >>> few hours to get a grasp of how to work with odk -- particularly the >>> format of the forms and workflow. if you have a more complex form with >>> logic, then it depends on how clever you are :). folks who have been >>> exposed to programming tend to grasp these things (loops, variable >>> assignment, etc.) much faster than civilians. we have sample forms at >>> http://code.google.com/p/opendatakit/source/browse?repo=forms. >>> >>> >>> >>>> privacy >>>> >>> you can have two forms per household. form 1 would have the gps >>> coordinates, photo and the household key, form 2 would have the >>> household key and the other data. results from both forms would have >>> to be stored on the sdcard of the phone, but in separate plaintext >>> files. once you send the files to the server or local machine, you can >>> delete them off the phone. there are countless ways to you can make >>> this process more secure (separate servers per form, encryption of the >>> sd card, etc) -- just depends what you consider secure and are willing >>> to build... >>> >>> >>>> qa/qc >>>> >>> you can add time stamps at any point of the survey. you can even put >>> hidden location coordinates on each question if you so choose. neil >>> and sam can talk about quality control, but a lot of this is in how >>> you design the survey. limiting free text and using the logic to check >>> for ranges, etc. >>> >>> hope that helps. keep the questions coming! >>> On Tue, May 25, 2010 at 15:13, Emily Kumpel wrote: >>> >>>> Hi ODK implementers, >>>> I am from a team of a graduate students who are planning a large survey >>>> (over 10,000 surveys in the course of a year) in southern India. We're >>>> still >>>> deciding whether to use ODK and I have a few questions that hopefully >>>> those >>>> with experience implementing this can help us out with. >>>> - Language support. We'll have the survey prepared in 4 languages >>>> (Kannada >>>> mainly, but also Hindi, Urdu, and English). I'm assuming script-based >>>> fonts, including Kannada (since it's supported by google) should be >>>> easy. >>>> Has anyone had experience using script-based languages on ODK, and also >>>> with switching through multiple languages when going from survey >>>> household >>>> to survey household? Is this easy to do or were there any challenges >>>> with >>>> it? >>>> - Timeline. We're 3 PhD students on a very limited budget who are >>>> pretty >>>> solid at overall surveying process (piloting, training, etc), but only >>>> one >>>> of has some programming experience (with all 3 willing to learn). How >>>> long, >>>> realistically, would it take us to do just the ODK part of the survey >>>> setup >>>> (assuming our survey itself is finished/piloted/field issues worked >>>> out/etc), including learning the systems, learning XForms/JavaRosa, >>>> learning >>>> how to making changes, inputting our survey, etc? >>>> - Privacy. How can we use ODKCollect in a manner that ensures privacy >>>> of >>>> the data? In a paper-based system we'd be using a numeric key to >>>> identify >>>> households and not have any identifying information attached to the data >>>> itself, and the surveys would be kept in a locked cabine, etc.. What >>>> would >>>> be the equivalent procedure for using ODK collect? Also, we'd like to >>>> be >>>> able to mark houses with GPS information and photos for easy recognition >>>> since we'll have a survey team re-visiting the same households; however, >>>> to >>>> protect privacy of households we'll need to keep GPS coordinates >>>> separate >>>> from the data itself (ie marked by a key kept securely elsewhere). Has >>>> anyone had experience with this and recommendations for ensuring >>>> security of >>>> the data? >>>> - QA/QC. Is there the ability to time how long it takes for an >>>> enumerator >>>> to get through certain questions or parts of the survey as a means of >>>> quality control on the data collection/entry process? Or what other >>>> methods >>>> have implementers used to ensure quality of data collection? >>>> Thanks! >>>> Emily >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >> >> >

emily,

there are a bunch of those kind of hackers at http://www.xda-developers.com.
you might want to see if you can convince 'em. or if you know any googlers,
script support sounds like a nice 20% project.

finally, if you do find a mobile data collection system that supports
complex scripts, could you let the community know? i think that'd be useful
information for other implementers...

··· On Wed, May 26, 2010 at 11:55, Emily Kumpel wrote:

I'll keep searching to see if anyone's working on it. Unfortunately, being
able to use Kannada is a dealbreaker for us in terms of using ODK.

Do you have suggestions on where I might make this suggestion to someone
who'd be interested in working on this? especially with Kannada being the
language of Bangalore, I'm sure there's hackers out there with the skills
and desire...

On 5/26/2010 11:24 AM, Yaw Anokwa wrote:

you can try, but i don't think it will be as simple as adding a
fallback font. kannada
is pretty complex so you'd also have to change the rendering on
android so it stacks the scripts properly. see
http://code.google.com/p/android/issues/detail?id=5925#c15 for a good
description of what has to be done.

http://tom.to/blog/archives/76
http://understandinglimited.com/2009/03/07/android-complex-script
http://nokorsoft.com/2010/03/07/khmer-unicode-and-android-os are also
good resources.

i'll ping the android team but i'm assuming they have higher
priorities. this is the kind of thing that a group of hackers who need
this support could patch into the open source android project...

On Wed, May 26, 2010 at 10:55, Carl Hartungcarlhartung@gmail.com wrote:

On my Nexus One both fonts come across as empty boxes. I'll look into
what
it takes to install fonts on Android.
Using Gmail in Chrome on my Mac the Kannada is also boxes, but the Hindi
is
script.
-Carl

On Wed, May 26, 2010 at 9:40 AM, Emily Kumpelemily.kumpel@gmail.com wrote:

Thanks!!
I've just typed in Kannada (first line) and Hindi (second) from gmail's
font selector into this email - could you see if Android can display the
font? If not, can it be installed separately
(http://www.wazu.jp/gallery/Fonts_Kannada.html)
Kannada: ಕನ್ನಡ ನಾನು ಹೆಸರು ಅನ್ದ್ರೊಇದ್
Hindi: हिंदी मेरा नाम अन्द्रोइड है

On Wed, May 26, 2010 at 8:58 AM, Yaw Anokwayanokwa@gmail.com wrote:
good set of questions, emily.

language support.

there are three levels of language support -- in the android operating
system itself, in the odk collect application, and in the form you are
using.
for android, you only have the popular languages available -- chinese,
dutch, english, french, japanese, etc (see
http://developer.android.com/sdk/android-2.2.html#locs for the full
list). pretty hard to add to that list and this is what controls the
language of the phone itself with no applications.
for odk collect, we currently have english, swahili, french, spanish,
and chinese translations. if you want to translate into more
languages, it's very easy to add more and this is what controls what
the buttons and dialog messages in odk collect say.
for the form, you can support any language that can be encoded as
unicode. you can translate individual questions or the entire form.
you toggle languages at any point in the survey. see
http://www.youtube.com/watch?v=lo8LaFFSkV8 (at 1:34). there is a catch
in that android has to have the font to display the script. i'm pretty
sure you should be fine, but if you have some sample text, i can try
it out for you.

timeline

neil and sam can speak on this a bit more, but with the community's
help and an understanding of xml, it shouldn't take you more than a
few hours to get a grasp of how to work with odk -- particularly the
format of the forms and workflow. if you have a more complex form with
logic, then it depends on how clever you are :). folks who have been
exposed to programming tend to grasp these things (loops, variable
assignment, etc.) much faster than civilians. we have sample forms at
http://code.google.com/p/opendatakit/source/browse?repo=forms.

privacy

you can have two forms per household. form 1 would have the gps
coordinates, photo and the household key, form 2 would have the
household key and the other data. results from both forms would have
to be stored on the sdcard of the phone, but in separate plaintext
files. once you send the files to the server or local machine, you can
delete them off the phone. there are countless ways to you can make
this process more secure (separate servers per form, encryption of the
sd card, etc) -- just depends what you consider secure and are willing
to build...

qa/qc

you can add time stamps at any point of the survey. you can even put
hidden location coordinates on each question if you so choose. neil
and sam can talk about quality control, but a lot of this is in how
you design the survey. limiting free text and using the logic to check
for ranges, etc.

hope that helps. keep the questions coming!
On Tue, May 25, 2010 at 15:13, Emily Kumpelemily.kumpel@gmail.com wrote:

Hi ODK implementers,
I am from a team of a graduate students who are planning a large survey
(over 10,000 surveys in the course of a year) in southern India. We're
still
deciding whether to use ODK and I have a few questions that hopefully
those
with experience implementing this can help us out with.

  • Language support. We'll have the survey prepared in 4 languages
    (Kannada
    mainly, but also Hindi, Urdu, and English). I'm assuming script-based
    fonts, including Kannada (since it's supported by google) should be
    easy.
    Has anyone had experience using script-based languages on ODK, and
    also
    with switching through multiple languages when going from survey
    household
    to survey household? Is this easy to do or were there any challenges
    with
    it?
  • Timeline. We're 3 PhD students on a very limited budget who are
    pretty
    solid at overall surveying process (piloting, training, etc), but only
    one
    of has some programming experience (with all 3 willing to learn). How
    long,
    realistically, would it take us to do just the ODK part of the survey
    setup
    (assuming our survey itself is finished/piloted/field issues worked
    out/etc), including learning the systems, learning XForms/JavaRosa,
    learning
    how to making changes, inputting our survey, etc?
  • Privacy. How can we use ODKCollect in a manner that ensures privacy
    of
    the data? In a paper-based system we'd be using a numeric key to
    identify
    households and not have any identifying information attached to the
    data
    itself, and the surveys would be kept in a locked cabine, etc.. What
    would
    be the equivalent procedure for using ODK collect? Also, we'd like to
    be
    able to mark houses with GPS information and photos for easy
    recognition
    since we'll have a survey team re-visiting the same households;
    however,
    to
    protect privacy of households we'll need to keep GPS coordinates
    separate
    from the data itself (ie marked by a key kept securely elsewhere). Has
    anyone had experience with this and recommendations for ensuring
    security of
    the data?
  • QA/QC. Is there the ability to time how long it takes for an
    enumerator
    to get through certain questions or parts of the survey as a means of
    quality control on the data collection/entry process? Or what other
    methods
    have implementers used to ensure quality of data collection?
    Thanks!
    Emily

Hi Implementers,

Here's an updated on what we've figured out from support of complex
scripts for ODK in case it's useful to others with the same problem.

We looked into supporting Kannada and other Indic languages
(Hindi/Devanagari script, other Dravidian languages) in ODK, but since
Android does not yet support script-based languages besides Chinese and
Japanese, it seems adding existing Unicode to the Android font to will
work but that it will not render correctly for these complex scripts
(see http://forum.xda-developers.com/archive/index.php/t-666973.html for
instructions and example - it ends up being close and readable but not
accurate; it ends up appearing in the script with essentially a lot of
spelling mistakes).

However, after talking with partners where we work in urban northern
Karnataka, where Kannada is the main language, we discovered that
transliteration of Kannada into the English alphabet will be fine for
our survey team. Many in urban India - especially of the age our survey
team will likely be - are very used to transliteration for text
messages, facebook, emails, etc. and considering many of our surveyors
may be able to speak Hindi but not be able to read the script, it is
actually more useful to have the transliteration instead of the script.
Therefore, we've decided to go with ODK for our survey with
transliterated languages, but we will still look for someone who can add
the functionality of complex scripts in Android such that we may be able
to add it in the future. This likely will not work for everyone using
complex scripts, but for our needs (and, I imagine, many cities in
India), transliteration is widely accepted and understood. We will have
to deal with how to appropriately transliterate Kannada during our
survey translation process and also deal extensively in training with
the meanings of the questions - I'll send updates to the list with tips
on this as we go through it.

One option would be, if we absolutely needed the script for some reason,
to have a photo show up (of the script) in place of text. Is it
possible to do this with ODK?

In case it's useful to others, we did consider several other data
collection systems that did support Kannada and complex scripts:

  • Windows Mobile supports most complex scripts, as far as I know
    (definitely all Indic languages), so most survey systems based on
    Windows Mobile will work with this. We only found paid services and
    tried out surveysystem.com on an HP iPaq, which showed Kannada
    correctly. You can also type using Kannada keyboards.
  • iPhone OS does a pretty good job rendering Indic languages. Hindi
    appears perfectly, Kannada is pretty good except for but a few mistakes
    with rendering. So we tried Hindi and Kannada in several paid survey
    systems using the iPhone OS it they showed up fine; but most of these
    survey systems were out of our price range and didn't support some of
    the features we wanted.
  • We looked briefly into JavaRosa using Nokias. This would have worked
    as many Nokias does a great job of displaying - and allowing you to type
    in - Indic languages. It seemed many Nokia models (especially the
    simple candy-bar ones) support it but to get the font on there you need
    to go to a Nokia customer care center and have it added or to purchase
    the phone in India in the state whose language you want.

Emily

··· On 5/28/2010 5:59 AM, Yaw Anokwa wrote: > emily, > > there are a bunch of those kind of hackers at > http://www.xda-developers.com. you might want to see if you can > convince 'em. or if you know any googlers, script support sounds like > a nice 20% project. > > finally, if you do find a mobile data collection system that supports > complex scripts, could you let the community know? i think that'd be > useful information for other implementers... > > On Wed, May 26, 2010 at 11:55, Emily Kumpel <emily.kumpel@gmail.com > wrote: > > I'll keep searching to see if anyone's working on it. > Unfortunately, being able to use Kannada is a dealbreaker for us > in terms of using ODK. > > Do you have suggestions on where I might make this suggestion to > someone who'd be interested in working on this? especially with > Kannada being the language of Bangalore, I'm sure there's hackers > out there with the skills and desire... > > > > On 5/26/2010 11:24 AM, Yaw Anokwa wrote: > > you can try, but i don't think it will be as simple as adding a > fallback font. kannada > is pretty complex so you'd also have to change the rendering on > android so it stacks the scripts properly. see > http://code.google.com/p/android/issues/detail?id=5925#c15 for > a good > description of what has to be done. > > http://tom.to/blog/archives/76 > http://understandinglimited.com/2009/03/07/android-complex-script > http://nokorsoft.com/2010/03/07/khmer-unicode-and-android-os > are also > good resources. > > i'll ping the android team but i'm assuming they have higher > priorities. this is the kind of thing that a group of hackers > who need > this support could patch into the open source android project... > > On Wed, May 26, 2010 at 10:55, Carl Hartung<carlhartung@gmail.com > wrote: > > On my Nexus One both fonts come across as empty boxes. > I'll look into what > it takes to install fonts on Android. > Using Gmail in Chrome on my Mac the Kannada is also boxes, > but the Hindi is > script. > -Carl > > On Wed, May 26, 2010 at 9:40 AM, Emily Kumpel<emily.kumpel@gmail.com > wrote: > > Thanks!! > I've just typed in Kannada (first line) and Hindi > (second) from gmail's > font selector into this email - could you see if > Android can display the > font? If not, can it be installed separately > (http://www.wazu.jp/gallery/Fonts_Kannada.html) > Kannada: ಕನ್ನಡ ನಾನು ಹೆಸರು ಅನ್ದ್ರೊಇದ್ > Hindi: हिंदी मेरा नाम अन्द्रोइड है > > > > On Wed, May 26, 2010 at 8:58 AM, Yaw Anokwa<yanokwa@gmail.com > wrote: > good set of questions, emily. > > language support. > > there are three levels of language support -- in the > android operating > system itself, in the odk collect application, and in > the form you are > using. > for android, you only have the popular languages > available -- chinese, > dutch, english, french, japanese, etc (see > http://developer.android.com/sdk/android-2.2.html#locs > for the full > list). pretty hard to add to that list and this is > what controls the > language of the phone itself with no applications. > for odk collect, we currently have english, swahili, > french, spanish, > and chinese translations. if you want to translate > into more > languages, it's very easy to add more and this is what > controls what > the buttons and dialog messages in odk collect say. > for the form, you can support any language that can be > encoded as > unicode. you can translate individual questions or the > entire form. > you toggle languages at any point in the survey. see > http://www.youtube.com/watch?v=lo8LaFFSkV8 (at 1:34). > there is a catch > in that android has to have the font to display the > script. i'm pretty > sure you should be fine, but if you have some sample > text, i can try > it out for you. > > > timeline > > neil and sam can speak on this a bit more, but with > the community's > help and an understanding of xml, it shouldn't take > you more than a > few hours to get a grasp of how to work with odk -- > particularly the > format of the forms and workflow. if you have a more > complex form with > logic, then it depends on how clever you are :). folks > who have been > exposed to programming tend to grasp these things > (loops, variable > assignment, etc.) much faster than civilians. we have > sample forms at > http://code.google.com/p/opendatakit/source/browse?repo=forms. > > > > privacy > > you can have two forms per household. form 1 would > have the gps > coordinates, photo and the household key, form 2 would > have the > household key and the other data. results from both > forms would have > to be stored on the sdcard of the phone, but in > separate plaintext > files. once you send the files to the server or local > machine, you can > delete them off the phone. there are countless ways to > you can make > this process more secure (separate servers per form, > encryption of the > sd card, etc) -- just depends what you consider secure > and are willing > to build... > > > qa/qc > > you can add time stamps at any point of the survey. > you can even put > hidden location coordinates on each question if you so > choose. neil > and sam can talk about quality control, but a lot of > this is in how > you design the survey. limiting free text and using > the logic to check > for ranges, etc. > > hope that helps. keep the questions coming! > On Tue, May 25, 2010 at 15:13, Emily Kumpel<emily.kumpel@gmail.com > wrote: > > Hi ODK implementers, > I am from a team of a graduate students who are > planning a large survey > (over 10,000 surveys in the course of a year) in > southern India. We're > still > deciding whether to use ODK and I have a few > questions that hopefully > those > with experience implementing this can help us out > with. > - Language support. We'll have the survey > prepared in 4 languages > (Kannada > mainly, but also Hindi, Urdu, and English). I'm > assuming script-based > fonts, including Kannada (since it's supported by > google) should be > easy. > Has anyone had experience using script-based > languages on ODK, and also > with switching through multiple languages when > going from survey > household > to survey household? Is this easy to do or were > there any challenges > with > it? > - Timeline. We're 3 PhD students on a very > limited budget who are > pretty > solid at overall surveying process (piloting, > training, etc), but only > one > of has some programming experience (with all 3 > willing to learn). How > long, > realistically, would it take us to do just the ODK > part of the survey > setup > (assuming our survey itself is > finished/piloted/field issues worked > out/etc), including learning the systems, learning > XForms/JavaRosa, > learning > how to making changes, inputting our survey, etc? > - Privacy. How can we use ODKCollect in a manner > that ensures privacy > of > the data? In a paper-based system we'd be using a > numeric key to > identify > households and not have any identifying > information attached to the data > itself, and the surveys would be kept in a locked > cabine, etc.. What > would > be the equivalent procedure for using ODK collect? > Also, we'd like to > be > able to mark houses with GPS information and > photos for easy recognition > since we'll have a survey team re-visiting the > same households; however, > to > protect privacy of households we'll need to keep > GPS coordinates > separate > from the data itself (ie marked by a key kept > securely elsewhere). Has > anyone had experience with this and > recommendations for ensuring > security of > the data? > - QA/QC. Is there the ability to time how long it > takes for an > enumerator > to get through certain questions or parts of the > survey as a means of > quality control on the data collection/entry > process? Or what other > methods > have implementers used to ensure quality of data > collection? > Thanks! > Emily > > > > > > > > > > > >

wow. thanks for this thorough update!

thanks to top notch work from our friends at dimagi, we now support
inline images and sounds as question text. you can leverage that
functionality to build script support into your forms -- the catch is
you can only put one image/sound per question text. that code is
currently in trunk and we are preparing an official release that will
include this functionality.

keep us posted of your work,

yaw

··· On Wed, Jun 9, 2010 at 00:25, Emily Kumpel wrote: > Hi Implementers, > > Here's an updated on what we've figured out from support of complex scripts > for ODK in case it's useful to others with the same problem. > > We looked into supporting Kannada and other Indic languages > (Hindi/Devanagari script, other Dravidian languages) in ODK, but since > Android does not yet support script-based languages besides Chinese and > Japanese, it seems adding existing Unicode to the Android font to will work > but that it will not render correctly for these complex scripts (see > http://forum.xda-developers.com/archive/index.php/t-666973.html for > instructions and example - it ends up being close and readable but not > accurate; it ends up appearing in the script with essentially a lot of > spelling mistakes). > > However, after talking with partners where we work in urban northern > Karnataka, where Kannada is the main language, we discovered that > transliteration of Kannada into the English alphabet will be fine for our > survey team. Many in urban India - especially of the age our survey team > will likely be - are very used to transliteration for text messages, > facebook, emails, etc. and considering many of our surveyors may be able to > speak Hindi but not be able to read the script, it is actually more useful > to have the transliteration instead of the script. Therefore, we've decided > to go with ODK for our survey with transliterated languages, but we will > still look for someone who can add the functionality of complex scripts in > Android such that we may be able to add it in the future. This likely will > not work for everyone using complex scripts, but for our needs (and, I > imagine, many cities in India), transliteration is widely accepted and > understood. We will have to deal with how to appropriately transliterate > Kannada during our survey translation process and also deal extensively in > training with the meanings of the questions - I'll send updates to the list > with tips on this as we go through it. > > One option would be, if we absolutely needed the script for some reason, to > have a photo show up (of the script) in place of text. Is it possible to do > this with ODK? > > In case it's useful to others, we did consider several other data collection > systems that did support Kannada and complex scripts: > - Windows Mobile supports most complex scripts, as far as I know (definitely > all Indic languages), so most survey systems based on Windows Mobile will > work with this. We only found paid services and tried out surveysystem.com > on an HP iPaq, which showed Kannada correctly. You can also type using > Kannada keyboards. > - iPhone OS does a pretty good job rendering Indic languages. Hindi appears > perfectly, Kannada is pretty good except for but a few mistakes with > rendering. So we tried Hindi and Kannada in several paid survey systems > using the iPhone OS it they showed up fine; but most of these survey systems > were out of our price range and didn't support some of the features we > wanted. > - We looked briefly into JavaRosa using Nokias. This would have worked as > many Nokias does a great job of displaying - and allowing you to type in - > Indic languages. It seemed many Nokia models (especially the simple > candy-bar ones) support it but to get the font on there you need to go to a > Nokia customer care center and have it added or to purchase the phone in > India in the state whose language you want. > > Emily > > > On 5/28/2010 5:59 AM, Yaw Anokwa wrote: > > emily, > there are a bunch of those kind of hackers at http://www.xda-developers.com. > you might want to see if you can convince 'em. or if you know any googlers, > script support sounds like a nice 20% project. > finally, if you do find a mobile data collection system that supports > complex scripts, could you let the community know? i think that'd be useful > information for other implementers... > > On Wed, May 26, 2010 at 11:55, Emily Kumpel wrote: >> >> I'll keep searching to see if anyone's working on it. Unfortunately, >> being able to use Kannada is a dealbreaker for us in terms of using ODK. >> >> Do you have suggestions on where I might make this suggestion to someone >> who'd be interested in working on this? especially with Kannada being the >> language of Bangalore, I'm sure there's hackers out there with the skills >> and desire... >> >> >> On 5/26/2010 11:24 AM, Yaw Anokwa wrote: >>> >>> you can try, but i don't think it will be as simple as adding a >>> fallback font. kannada >>> is pretty complex so you'd also have to change the rendering on >>> android so it stacks the scripts properly. see >>> http://code.google.com/p/android/issues/detail?id=5925#c15 for a good >>> description of what has to be done. >>> >>> http://tom.to/blog/archives/76 >>> http://understandinglimited.com/2009/03/07/android-complex-script >>> http://nokorsoft.com/2010/03/07/khmer-unicode-and-android-os are also >>> good resources. >>> >>> i'll ping the android team but i'm assuming they have higher >>> priorities. this is the kind of thing that a group of hackers who need >>> this support could patch into the open source android project... >>> >>> On Wed, May 26, 2010 at 10:55, Carl Hartung wrote: >>> >>>> >>>> On my Nexus One both fonts come across as empty boxes. I'll look into >>>> what >>>> it takes to install fonts on Android. >>>> Using Gmail in Chrome on my Mac the Kannada is also boxes, but the Hindi >>>> is >>>> script. >>>> -Carl >>>> >>>> On Wed, May 26, 2010 at 9:40 AM, Emily Kumpel wrote: >>>> >>>>> >>>>> Thanks!! >>>>> I've just typed in Kannada (first line) and Hindi (second) from >>>>> gmail's >>>>> font selector into this email - could you see if Android can display >>>>> the >>>>> font? If not, can it be installed separately >>>>> (http://www.wazu.jp/gallery/Fonts_Kannada.html) >>>>> Kannada: ಕನ್ನಡ ನಾನು ಹೆಸರು ಅನ್ದ್ರೊಇದ್ >>>>> Hindi: हिंदी मेरा नाम अन्द्रोइड है >>>>> >>>>> >>>>> >>>>> On Wed, May 26, 2010 at 8:58 AM, Yaw Anokwa wrote: >>>>> good set of questions, emily. >>>>> >>>>>> >>>>>> language support. >>>>>> >>>>> >>>>> there are three levels of language support -- in the android operating >>>>> system itself, in the odk collect application, and in the form you are >>>>> using. >>>>> for android, you only have the popular languages available -- chinese, >>>>> dutch, english, french, japanese, etc (see >>>>> http://developer.android.com/sdk/android-2.2.html#locs for the full >>>>> list). pretty hard to add to that list and this is what controls the >>>>> language of the phone itself with no applications. >>>>> for odk collect, we currently have english, swahili, french, spanish, >>>>> and chinese translations. if you want to translate into more >>>>> languages, it's very easy to add more and this is what controls what >>>>> the buttons and dialog messages in odk collect say. >>>>> for the form, you can support any language that can be encoded as >>>>> unicode. you can translate individual questions or the entire form. >>>>> you toggle languages at any point in the survey. see >>>>> http://www.youtube.com/watch?v=lo8LaFFSkV8 (at 1:34). there is a catch >>>>> in that android has to have the font to display the script. i'm pretty >>>>> sure you should be fine, but if you have some sample text, i can try >>>>> it out for you. >>>>> >>>>> >>>>>> >>>>>> timeline >>>>>> >>>>> >>>>> neil and sam can speak on this a bit more, but with the community's >>>>> help and an understanding of xml, it shouldn't take you more than a >>>>> few hours to get a grasp of how to work with odk -- particularly the >>>>> format of the forms and workflow. if you have a more complex form with >>>>> logic, then it depends on how clever you are :). folks who have been >>>>> exposed to programming tend to grasp these things (loops, variable >>>>> assignment, etc.) much faster than civilians. we have sample forms at >>>>> http://code.google.com/p/opendatakit/source/browse?repo=forms. >>>>> >>>>> >>>>> >>>>>> >>>>>> privacy >>>>>> >>>>> >>>>> you can have two forms per household. form 1 would have the gps >>>>> coordinates, photo and the household key, form 2 would have the >>>>> household key and the other data. results from both forms would have >>>>> to be stored on the sdcard of the phone, but in separate plaintext >>>>> files. once you send the files to the server or local machine, you can >>>>> delete them off the phone. there are countless ways to you can make >>>>> this process more secure (separate servers per form, encryption of the >>>>> sd card, etc) -- just depends what you consider secure and are willing >>>>> to build... >>>>> >>>>> >>>>>> >>>>>> qa/qc >>>>>> >>>>> >>>>> you can add time stamps at any point of the survey. you can even put >>>>> hidden location coordinates on each question if you so choose. neil >>>>> and sam can talk about quality control, but a lot of this is in how >>>>> you design the survey. limiting free text and using the logic to check >>>>> for ranges, etc. >>>>> >>>>> hope that helps. keep the questions coming! >>>>> On Tue, May 25, 2010 at 15:13, Emily Kumpel wrote: >>>>> >>>>>> >>>>>> Hi ODK implementers, >>>>>> I am from a team of a graduate students who are planning a large >>>>>> survey >>>>>> (over 10,000 surveys in the course of a year) in southern India. We're >>>>>> still >>>>>> deciding whether to use ODK and I have a few questions that hopefully >>>>>> those >>>>>> with experience implementing this can help us out with. >>>>>> - Language support. We'll have the survey prepared in 4 languages >>>>>> (Kannada >>>>>> mainly, but also Hindi, Urdu, and English). I'm assuming script-based >>>>>> fonts, including Kannada (since it's supported by google) should be >>>>>> easy. >>>>>> Has anyone had experience using script-based languages on ODK, and >>>>>> also >>>>>> with switching through multiple languages when going from survey >>>>>> household >>>>>> to survey household? Is this easy to do or were there any challenges >>>>>> with >>>>>> it? >>>>>> - Timeline. We're 3 PhD students on a very limited budget who are >>>>>> pretty >>>>>> solid at overall surveying process (piloting, training, etc), but only >>>>>> one >>>>>> of has some programming experience (with all 3 willing to learn). How >>>>>> long, >>>>>> realistically, would it take us to do just the ODK part of the survey >>>>>> setup >>>>>> (assuming our survey itself is finished/piloted/field issues worked >>>>>> out/etc), including learning the systems, learning XForms/JavaRosa, >>>>>> learning >>>>>> how to making changes, inputting our survey, etc? >>>>>> - Privacy. How can we use ODKCollect in a manner that ensures privacy >>>>>> of >>>>>> the data? In a paper-based system we'd be using a numeric key to >>>>>> identify >>>>>> households and not have any identifying information attached to the >>>>>> data >>>>>> itself, and the surveys would be kept in a locked cabine, etc.. What >>>>>> would >>>>>> be the equivalent procedure for using ODK collect? Also, we'd like to >>>>>> be >>>>>> able to mark houses with GPS information and photos for easy >>>>>> recognition >>>>>> since we'll have a survey team re-visiting the same households; >>>>>> however, >>>>>> to >>>>>> protect privacy of households we'll need to keep GPS coordinates >>>>>> separate >>>>>> from the data itself (ie marked by a key kept securely elsewhere). >>>>>> Has >>>>>> anyone had experience with this and recommendations for ensuring >>>>>> security of >>>>>> the data? >>>>>> - QA/QC. Is there the ability to time how long it takes for an >>>>>> enumerator >>>>>> to get through certain questions or parts of the survey as a means of >>>>>> quality control on the data collection/entry process? Or what other >>>>>> methods >>>>>> have implementers used to ensure quality of data collection? >>>>>> Thanks! >>>>>> Emily >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>> >>>> >>> >>> > >