1. Do either of you speak French or other languages common to Senegal and the Ivory Coast? If not, is the language barrier significant?
2. My understanding is that internet speeds and packet drops in some parts of Africa can be quite bad, in fact so much so that tech blogger Dan Luu used Ben’s internet speeds in Ethiopia as a baseline for horrible internet on his web bloat article. How do you guys work around this (eg is there good internet in national capitals)? Is this a serious bottleneck to either programming or online engagement (eg reading EA or startup blogs)? Why or why not?
3. Relatedly, what are some important bottlenecks and challenges in programming/designing for an audience that has slower internet, worse hardware, and is presumably less literate and tech savvy?
2. For personal work, it’s annoying, but not a huge bottleneck—my internet in Jijiga (used in Dan’s article) was much worse than anywhere else I’ve been in Africa. (Ethiopia has a monopoly, state-run telecom that provides among the worst service in the world.) You do have to put in some effort to managing usage (e.g. tracking things that burn network via Little Snitch, caching docs offline, minimizing Docker image size), but it’s not terrible.
It is a sufficient bottleneck to reading some blogs that I wrote a simple proxy to strip bloat from web pages while I was in Senegal. But, those are mostly pathologically un-optimized blogs—e.g., their page weight was larger than the page-weight of the web-based IDE (Glitch) that I used to write the proxy.
3. Network latency has been a major bottleneck for our programming; for instance, we wrote a custom UDP-based transport layer protocol to speed up our app because TCP handshakes were too slow (I gave a talk on this if you’re curious). We also adopted GraphQL relatively early in part because it helped us reduce request/response sizes and number of roundtrips.
On the UX design side, a major obstacle is that many of our users aren’t particularly literate (let alone tech-literate). For instance, we often communicate with users via (in-app) voice recordings instead of the more traditional text announcements. More generally, it’s is a strong forcing function to keep our app simple so that the UI can be easily memorized and reading is as optional as possible. It also pushes us towards having more in-person touch points with our users—for instance, agents often help new users download the app and learn how to use it, and pre-COVID we had large teams of distributors who would go to busy markets and sign people up for the app in-person.
Yes, I speak French, although not quite fluently. It’s enough to interact with customers and agents in a pinch, but when I go out to do serious user research, I bring someone from our team who has better language skills. The language barrier is significant, and I would say somewhat hurts our ability to design the best possible products—we’ve done a lot to overcome it though, and it’s not one of our biggest bottlenecks at this point. Now our team is big enough that I don’t even do that much user research on my own, and all the product managers I manage speak fluent or native French, so it’s easier for them :)
Before Senegal, we did a lot of our initial user research in Ethiopia, which had a greater proportion of English-speakers, and it was easier to get started there.
Some logistical questions:
1. Do either of you speak French or other languages common to Senegal and the Ivory Coast? If not, is the language barrier significant?
2. My understanding is that internet speeds and packet drops in some parts of Africa can be quite bad, in fact so much so that tech blogger Dan Luu used Ben’s internet speeds in Ethiopia as a baseline for horrible internet on his web bloat article. How do you guys work around this (eg is there good internet in national capitals)? Is this a serious bottleneck to either programming or online engagement (eg reading EA or startup blogs)? Why or why not?
3. Relatedly, what are some important bottlenecks and challenges in programming/designing for an audience that has slower internet, worse hardware, and is presumably less literate and tech savvy?
2. For personal work, it’s annoying, but not a huge bottleneck—my internet in Jijiga (used in Dan’s article) was much worse than anywhere else I’ve been in Africa. (Ethiopia has a monopoly, state-run telecom that provides among the worst service in the world.) You do have to put in some effort to managing usage (e.g. tracking things that burn network via Little Snitch, caching docs offline, minimizing Docker image size), but it’s not terrible.
It is a sufficient bottleneck to reading some blogs that I wrote a simple proxy to strip bloat from web pages while I was in Senegal. But, those are mostly pathologically un-optimized blogs—e.g., their page weight was larger than the page-weight of the web-based IDE (Glitch) that I used to write the proxy.
3. Network latency has been a major bottleneck for our programming; for instance, we wrote a custom UDP-based transport layer protocol to speed up our app because TCP handshakes were too slow (I gave a talk on this if you’re curious). We also adopted GraphQL relatively early in part because it helped us reduce request/response sizes and number of roundtrips.
On the UX design side, a major obstacle is that many of our users aren’t particularly literate (let alone tech-literate). For instance, we often communicate with users via (in-app) voice recordings instead of the more traditional text announcements. More generally, it’s is a strong forcing function to keep our app simple so that the UI can be easily memorized and reading is as optional as possible. It also pushes us towards having more in-person touch points with our users—for instance, agents often help new users download the app and learn how to use it, and pre-COVID we had large teams of distributors who would go to busy markets and sign people up for the app in-person.
Yes, I speak French, although not quite fluently. It’s enough to interact with customers and agents in a pinch, but when I go out to do serious user research, I bring someone from our team who has better language skills. The language barrier is significant, and I would say somewhat hurts our ability to design the best possible products—we’ve done a lot to overcome it though, and it’s not one of our biggest bottlenecks at this point. Now our team is big enough that I don’t even do that much user research on my own, and all the product managers I manage speak fluent or native French, so it’s easier for them :)
Before Senegal, we did a lot of our initial user research in Ethiopia, which had a greater proportion of English-speakers, and it was easier to get started there.
(I’ll let Ben answer the internet-related ones)