WhiteAfrican

Where Africa and Technology Collide!

Tag: dev

Never Good Enough: Speed (pt 1/3)

We’re never good enough when it comes to speed, stability or simplicity of our mobile and web applications. This is a three-part series where I unpack my experience building apps on each of these subjects. It’s not just for those of us working on Ushahidi, these are the three most crucial abilities of any web or mobile application.

Me in a cyber cafe in Monrovia

Let me tell you a personal story:

Libera, March 2009

I’m sitting, sweating in the sweltering heat of a Monrovia cyber cafe, I have my notebook out and my am watching the clock. My goal is to see how fast I can load up the Ushahidi home page for the Democratic Republic of the Congo, it has a map, timeline and list of recent events tracking the current level of unrest in the country.

It’s not looking good. As I look around, waiting for the page to load, I count 8 others in the room – 6 of which have fired up stuttering and unusable Yahoo and Skype video chat windows. Why this is the channel and usage of choice, when it so obviously doesn’t work, I cannot answer. But this is reality, and if we expect ordinary Africans to use our application, we had better make sure that it loads up relatively fast on the low-bandwidth, shared internet connections that proliferate across the continent.

Utter failure. After 20 minutes painfully watching the page load byte by byte, I give up. I quickly type out a message to our team, imploring everyone to streamline this “fat, squeeling pig of a page”. Peppering them with questions… Can I buy some caching please? What can we do with this map to make it not kill the load? Can we get rid of 75% of the images on the page? Do we need to redesign this from the ground up?

Granted, Liberia’s internet situation is worse than almost any other on the continent. Especially when it comes to the grinding halt you see in the cyber cafes during the daylight hours as the local population piles on at the same time, completely overwhelming the limited satellite connection. That’s no excuse though. Ushahidi is built on the idea that the lowest common denominator, whether it’s PC or mobile-phone based access, will work. The PC-side is clearly failing.

Worst of all, my patience is short, Liberia is pissing me off with the heat, humidity, lack of bandwidth and no electricity grid. Objectively, this is the perfect state to be in, I am now able to come up with a solution for normal users in Africa.

What other’s know

Speed… if there’s only one thing that you do with your application, make it faster. No, it’s not fast enough.

This isn’t news to anyone, or it shouldn’t be. For years the major web sites around the world have known this and have been building for it. Mozilla, Amazon, Google and Facebook are all aware of just how critical speed is to their success. It boils down to attention threshold and what we, as users ourselves, are willing to put up with.

There is no area in which our team has felt more pain than in trying to speed up the page loads of our apps. Maps tend to be page killers by themselves. Once we add multiple calls to the database we start to get some truly agonizing speeds. It’s a constant pressure that sits on every one of our development cycles, and for which we dedicate a great deal of energy.

User experience research needed in Africa

One area that hasn’t seen enough true user experience testing is Africa. We know that internet speeds are slower, sometimes by orders of magnitude. I’ve got a lot of questions, more than answers at this point. Should we cut out the maps and all images? What’s the true cost of a page load +/- 7 seconds? What is the real value of maps in Africa compared to the West – do they matter?

Jessica Colaco is a top-notch programmer who has shifted to doing research in Kenya. I hope that she, and others like Eric Osiakwan and his team from Internet Research in Ghana, will help us dig out these answers. More than that, I hope they will help us ask the right questions.

Hanging out with Ghanaian Devs

Though I’ve been busy running around getting ready for this Maker Faire Africa event, I’ve also had some nice chats with the a few of the programmers and designers in Accra. I know there are still a lot that I haven’t met, but this has been a good start.

I’ll start out by saying this: one of the most disappointing things that I’ve come across here is the lack of community within the tech scene. There is no mailing list, forum, or other digital touch-point for the devs to keep in touch with each other and discuss pertinent local issues. I know just how valuable this is due to my involvement with the Skunkworks tech community in Nairobi.

Offsetting that is the fact that they do have places like Busy Internet and AITI, two facilities that are well-known for supporting the tech community, that act as nexus points for tech meetups and user groups. There are also a number of good tech outfits with quality programmers.

First impressions leave me excited about the talent, but surprised at the lack of connectivity within the community.

Ushahidi meetup

Tonight we had an Ushahidi meetup night in Accra over at the Suuch Solutions office. It’s a great location, butting up to a hotel with nice seating for a get together like ours. We had a couple devs from BusyLab (which I’ll write a full post on soon), a couple from Succh, as well as Henry Addo from our team.

Ushahidi Ghana Meetup

It looks like we have a couple new guys to help out on some interesting parts of the platform. George is an HTML markup guy who is itching to get his hands into some design work, and Chinedu is going to dig into the API with Henry.

The BugLabs Device

We also had a chance to break out the Bug kit from BugLabs, a completely modular hardware device that can be programmed using Java. I’m not sure who will be having the first crack at it, but everyone was amazed with it. What geek doesn’t like this type of stuff? I mean, accelerometer, GPS, camera, LCD, WiFi and control unit. It’s just such a crazy-cool device.

Buglabs kit in Ghana

A Whirl Through the Liberian Tech Community

Yesterday had good meetings, but today was amazing.

Cellcom in Liberia

I had a chance to sit down with the CEO of Cellcom today, Avishai Marziano. Cellcom is the second largest mobile phone operator in Liberia by subscription, right behind Lonestar. They have very good coverage of the country (all the main roads and towns), and they do a great job of marketing their services. We got into a nice heated debate over the value of Ushahidi, and if there is any business model to use it for carriers like him (turns out there isn’t, except that the long-term health of the country is in his best interest).

We then got into some great discussions about mobile phone payments and banking. Specifically, the pros and cons of an MPESA approach (carrier monopoly, bank agnostic) compared to a Wizzit (carrier agnostic, bank monopoly). How everyone is jumping at using these services to gain more subscribers, and not to really add another value added revenue stream into their company.

The final part was when he showed me their newest prototype of an iPhone-like touchscreen mobile phone that runs with dual SIM cards, has radio and all the other goodies you would expect. Right now, it needs a little more polish, though the form feel is good and if they drop the price point down it will find buyers. Selling a dual SIM phone is a tricky business though. It’s definitely what African users want, but it’s also a tricky thing to market, when you’re basically giving a free slot away to a competitor. (no pictures, sorry)

John Etherton

john-etherton

Lunch was at a local dive, over a bowl of rice and spicy fish gravy/soup. It had no airflow, and was really much like eating in a sauna. However, it was worth it because I think I might have found one of the only true hardcore hacker types that is in Monrovia today. John Etherton has been here for a year, working on the Truth and Reconciliation Commission from Georgia Tech. He’s done some really cool stuff with GPS-enabled PDAs in rural Liberia, and is the only guy I’ve met who could give me true rundown of all things mobile and internet in the area.

It turns out that there is decent mobile coverage of the populated areas of the country. The best any operator can do is Edge/GPRS, so no 3G anywhere, but that’s better than nothing. It also means that almost everywhere that you get network access, you can also send data. Cellcom and Lonestar have the best rural coverage, and Comium is the easiest ISP to start using, but for dedicated access most go through Cellcom or one of the smaller ISPs.

Alie and the Youth Crime Watch team

Alie is the newest Ushahidi dev, originally an ASP and .NET guy, he’s now starting to get involved with the program. You can read the full story of how I got to meet him and how this transpired on the Ushahidi blog.

Alie, a developer in Monrovia, Liberia

© 2020 WhiteAfrican

Theme by Anders NorenUp ↑