Search

Taarifa started at the WaterHackathon in 2011 as a bunch of hackers trying to solve the problem around citizen led water delivery, after a pilot and development we ended up winning the global Sanitation Hackathon. But we were still missing something, our community had grown – as had our userbase – both in terms of organisations deploying Taarifa, but in terms of citizens using it to report. But we felt we could do more and be better.

Enter GWOB. GWOB provided us with structure and mentorship. This involved pulling the community together hanging out on a fortnightly basis, linking with up mentors helping us in design, engagement and governance. At times this provided great direction, at other it helped as a sounding board to either validate the community’s thoughts and/or provide a sounding board for discussion. Throughout this process GWOB didn’t charge a cent, they were focused on building a better world for post-hackathon applications, regardless of time and energy.

Then we changed. Taarifa was the subject of a Innovation Challenge of the World Bank. This called for a series of hackathons globally then focusing on Taarifa’s Tanzanian developer community, and expanding it post hackathon with dedicated support. GWOB took care of the hackathon planning and execution in Boston and London, here we rounded off the rough edges around Taarifa and got more developers involved. This is all documented here. Finally, we landed in Tanzania to support the Taarifa community in Dar, GWOB was with us from that hackathon, then supporting in the field from helping convene local community members to eliciting in-depth user feedback and future requirements – making Taarifa more relevant to its users from citizens to water engineers, ultimately improving the local rural water supply.

Please support them, if not for Taarifa, but for any of the other cool projects that they do, Taarifa is just one open source project in the commons. We can improve the world as we see it by supporting the global commons, supporting one project supports it all.

Many of us understand the joy and necessity of commonly-held services, tools, and beautiful places. Unfortunately, not everyone understands what it means to hold a communally built thing with open hands, free for anyone to make use of. Or that we have built the legal infrastructure to ensure those things we built together remain held in the open. Thus we have to fight for them at points.

Many Free and Open Source Software (F/OSS) communities exist. My favorite review of these is in Professor Coleman’s Coding Freedom. I cannot possibly go into the depths with the same eloquence she does in this short blog entry. But, suffice it to say that in F/OSS communities, you find awesome people through working on a shared project, which forms some pretty powerful ties. There is also the joy of seeing something you helped build be used in new and undreamed of (by you) ways.

But it’s not always so beautiful. Sometimes people don’t get it, and they want to act out what used to be called the “Tragedy of the Commons,” as in they want to make use of the hard work and good will of a community, but without giving back to that community. And that sucks, because you have to decide how to respond in a way that uplifts and empowers your community, preferably while maintaining open arms to those who might not yet understand. We had such a learning opportunity recently, and we’d like your help in figuring out where to go from here.

In 2012, one of our contributors had overlap with a contractor from the World Bank. They were looking for a tool to do basically what Taarifa does, and was recommended. Deployed to Uganda to fair success, we didn’t hear anything back after that. Unbeknownst to us, group called the TigerParty started using the Taarifa code base as hired by that contractor with the World Bank, and have deployed to multiple places with versions of a retired code base. We reached out to them in October 2013, a bit trepedatious as they hadn’t contacted us, but interested in what they were up to. It’s a celebrated part of the things you love growing beyond your original intentions for them to be used in new places by new people. But TigerParty didn’t talk to us, even when we reached out. So we waited to understand what they were going for in our shared language – the code base – when they folded their changes and ideas back into the repo or placed up their own code. Because that’s the practice of open source projects.

But then they didn’t. And now it’s just awkward. We reached out to them in May 2014, to ask them what they were up to, and how things were going. We pointed out they were using an abandoned and deprecated code base which we didn’t see fit for further deployments. Nevertheless we were curious to see what they had done with it and requested they open source the code they were using. Their response was a pull request with a dump of their code – a diff with 500,000 lines, no comments, littered with .svn directories (apparently they had abandoned the Git history and were using SVN). After review, the Taarifa community decided not to take the pull – the overhead of parsing through uncommented code was not worth it, given the defunct nature of the code (and that taking such an update would confuse others as to the status of retirement by appearing to have maintainence being done on it).

The branch of the code they’re using is the LGPL carried forward from Ushahidi, from which the first version of Taarifa was built from in October 2011, at the London Water Hackathon! Subsequent iterations of Taarifa, after the discontinuation of that code for security and usability issues, have been on the Apache license. So we’re worried about the safety of the users (many of their instances use the default admin credentials, which we’ve pointed out to the repeatedly to no change, as well as other general security flaws of that instance). We’re worried about their dedication to the users – each of these deployments have single or double-digit reports and have no recent activity. This shows people can report, but no one is listening nor responding (which is how it feels when trying to talk to TigerParty). It’s irresponsible and unethical to not tend to the full feedback and response mechanism, and something our deployments have spent a vast amount of time setting up and tending to.

We haven’t been perfect, but we document and continue learning and trying. As a community from the commons we commit to to doing this in future and ask for your help in making us create a better world.
We’ve asked TigerParty to stop using the code for usability, for safety, for ethics, and for legal reasons. They haven’t, and don’t show any signs of stopping. And that sucks, because if someone use the resources of the commons, whatever is made goes back to the commons. Someone benefitted, so everyone should benefit from what you did. You can get paid for your work, you can sell your expertise, but the object itself is communally held. But we are the shoulders others will stand on in the future, so let’s act accordingly.

I am utterly exhausted as I write this, but I wanted to get info out sooner rather than later. I’ll likely come back through in a few days for cleanup.

We picked back up with Taarifa in London in, amazingly, the building it was birthed out of. Note I didn’t say conceived in. It’s a project created from deep field experience, in talking to people who live in areas with lacking water infrastructure, and seeing a gap between knowledge held in a community, the knowledge those with lots of resources to wave around have, and fulfilling the need of access to water. It’s one of the few projects I’ve seen in years of hackathons that beyond building a project to feel good, and to learn more about what response is like [which I think are both worthwhile, it’s when conflated with “field-ready” that this becomes an issue]. This one has been carried forward for years, deployed in multiple countries to various success, and always at the request of (to start AND stop) of the local government[Of course my grassroots, activist self grumbles at this]. We were back at UCL, hosted by Muki’s ExCITeS group, and things just sort of worked. More reminiscent of a hackerspace or Libre hackathon than the recent industry ones[hackathonfaq.com]. Most of the team that would be in Dar es Salaam was with us for the hackathon, and we hunkered down and sussed through code – SMS, base code, email integration, and going over again (and again) the dev environment installation documentation. This wasn’t just about getting the barebones up and going, it was also about being sure we could easily onboard new people. Because next stop – back to Dar es Salaam.

In case I haven’t said it before, I’ll say it again here – the series of hackathons were to have base infrastructure in place, and to work with local software devs to maintain their own version of the code. Doesn’t make sense that it’s in the coding language it is? Let’s change it! The last thing we want to do is design, create, and implement a “solution”[man I hate that word] from far away. Because it’s not just about the tool being used well by a community – it’s also about the community fully understanding it, and having full control over the tools they use.

The hackathon in Dar ran Saturday Sunday and involved our team of 7 people – 2 grad students for general assist, 1 core code contributor, 1 cartographer, 1 person from World Bank, 1 hardware person, and myself – and another 12 local students, software developers, and entrepreneurs. [Again, one slightly angsty point for me was that we worked closely with innovation spaces, not hack spaces. Do you know about my NOLA experience? I’ll tell you about it some time. Hilarious. But I definitely try to get as close to the root as possible when working.] We worked on the SMS implementation (yay Telerivet!), backend integration, a smartphone application[many of the water engineers have smart phones – we checked. Thrice.], and the dashboards. From the funds available through the innovation grant, we hired 3 enthusiastic and competent locals to continue working not he project over the next 3 months (at least). They’ll be joining for the biweekly Taarifa call-ins[which you can also join – will be posted to the GWOB Google Plus page once I have my wits about me – but you can see all the past ones via the same place].

Unlike many hackathons, the time limit on this one wasn’t arbitrary. We (Mark from World Bank, Austin from MoMo, George and Gregor on Taarifa, an awesome local and hackathon attendee who was able to join us named Fufiji, our amazing driver Mr Wensei, and myself – sad to see Jeremy the cartographer and Andreas, our other grad student, go away) into the car at about 19:30 and headed to our stopover in Morogoro, to continue on to Irigina the next morning. 5 hours on the road, most in traffic of a supply chain made apparent, we took up half of the dark hotel we arrived at early early in the morning. Bed nets overhead, farm animal noises out the window, we slept the sleep of exhausted travel and intensive thinking. The day after, we continued at a leisurely pace to Iringa, stopping to eat fried chicken and check out hardware stores for Austin’s MoMo. We crept along mountain roads, behind cautious trucks, their brethren crashed along the roadside and pilfered for parts. I sang Flanders and Swann, Mark sang naval songs, but we generally shared silence and admired the vastness and beauty of this country. The buildings with Xs on them are within 30 meters of the road, and are slated for demolition if cities ever grow in these rural areas – a hedged bet against the traffic nightmare of Dar. Drivers signal to each other with blinkers and high beams and horns about upcoming speed traps, safety in passing, and general hello’s. And when we finally arrived, we ate chicken and fish by the light of cell phones, the power having gone out, and talked about the next couple days.

The first day we met with district officials to explain the purpose of the innovations, so we might move forward with their blessing. It’s an incredibly hierarchical society, and so authority buy-in is essential. The district water engineer, the head of health, and of education, and even the executive director of the region come by. We demoed Taarifa, and MoMo, and everyone was much impressed. But I was left feeling.. lacking. I wanted people to understand how it worked, and how it was important for their workflow (if it was). Patience, our community partner reminded me. Tomorrow we will do activities. We go back to the hotel, and Austin solders, and I draw, and we all type and talk. The gents head out to a local bar, stopping to take part in a dancing line for a music video on the way. I stay in the hotel, knowing I will only be angry about gender politics if I venture out into night life.

The second day, I lay out a game. We have 8 water points, and the room is divided up into community members, COWSOs (Community Owned Water Source Organizations), water engineers, and the district water offices. We set some constraints – the water engineers can only visit so many water points in a round, the district should know what’s going on at the end of the round so they can properly send funds. They have data in a database about what the water points were at when last surveyed, a couple years ago. Now, GO. 10 minutes to repair anything they can. Chaos. Some points get fixed, but the water engineers went to more villages than their limit allowed (we said they were flying! Not on buses. We laugh), often to places where the points were already fixed, and all in one group. Now, reconvene and talk through it. The COWSOs were completely left out (just as they are right now! Again, laughter, but there’s something deeper there, something we don’t have time for right now), and some villages were never visited. And the district gave money to places that they had listed as broken – some of which had been fixed, and didn’t give money to some places because they thought it had been fixed but it wasn’t. We talk through distribution of money – of course places with fixed points would make good use of extra funds, but they’d prefer those with less than they have get much needed funds instead.

We redefine the parameters. Anyone can send Taarifa a message (as represented by Fufuji with a spreadsheet) about their water points. The water engineers can pay as much or as little attention to it as they want, and the district can make their report off of the information, since the platform will have seen the updates to the water. We go through the exercise again, and this time there is clarity. We talk through it. Resources were better used. Time was better used. Everyone felt heard[It was, in all honesty, pretty awesome]. Then we take tea, demo the actual tools, and head out to the field.

Austin fit an exposed pipe with a MoMo, updating the firmware from the field. First time I’ve seen someone code from a pit, hands dirty, umbrella held overhead to shield the screen. We struggle with what SIM card to use in this spot, how to test given water hasn’t flown since morning, and that a 1” pipe was promised but a 3/4” pipe is what we’ve got. It finally works, tape and adapters and dirt-laden code, everyone sweaty but high on possibility. If it will send updates under the 2.5 feet of dirt which will also protect the device and the pipe from elements and scrappers, is another question. We send some messages via Taarifa, and thank everyone, and acknowledge George, Gregor, and Austin will be back within a week. Reiterate that it is the combination of the device and the people that ensure a robust system.

And then we have to get in the car and race the sun and the mountains and the supply chain on dangerous curves so I might catch my flight. An 11 hour care ride later, I’m sitting in an airport, queuing up my laptop to write this, exhausted but happy.

SMS integration with Telerivet. It works! Translated into Swahili. Down to 10 lines of code. If you send something in the wrong format, it requests it in the right format, with example. Next up is #16 – goes from API to do something.

Translation – if we build this out, it should be usable to the community.

Discussed the user interface, have a few ideas on how to make it as simple as possible and usable for people who don’t know about coding or what’s behind it. Start coding tomorrow!

Setting up a new API end point. Spent most of the day understanding how it works, and how to make it work the way I want it to.

Community partners talked about how to indicate where a water point is, outside of its super long ID number, which is usually missing. USSD interface possibilities.

Data for flow rates are going to the cloud, working on how it ties into Taarifa in the model, and where it should live.

Built a mobile app. Have a fronted with the Tanzanian flag! Will code it up tomorrow. Can also add in new water points.

Day 2 Gear Up and Data Flow

The internet is really bad here, so here’s a link to the video, as I can’t watch it.

We camped out for a few lovely days at the inspiring Little Devices out of N51 at MIT. Hugs and hearts to Anna and Jose who brought their brains and their space to our hackdays. And didn’t find our requests for things like buckets, tubing, and CNC strange. We were constantly surrounded by go carts and craziness. So happy.

Maps

Mark used the OSM-Bright style and started to add Tanzanian Open Data to create a basemap for Taarifa (and generally anyone interested in Tanzania). Have started to refocus the cartography on public services as opposed to navigation – roads are the design focus of OSM Bright – Mark is changing this!

Requests have been made to import this data into OSM, however, as yet have been unsuccessful – I am following up on this! So, seeing as I can replicate OSM’s stack insofar providing a map tile service is concerned, I’ve started to create a Tanzanian base map.
Before:

After:

Next Steps

Currently continuing to work on it. Will need to understand how the loading of OSM Stylesheets into TileMill can be re-consumed by others, currently the work is installed on a local TileMill and isn’t packagable for wider consumption. Changing this is a priority.

Lives at

On Mark’s computer – needs to be on a github repo. As a (rather large) side note. The finished product will need to be hosted on a server with at least 100gb of space, if not more. Consequently understanding where and who has this infrastructure will be important.

User Interface / Dashboard

Drew did a bunch of work on this. Here’s a drawing from brainstorming:

User Stories

It’s important to know who your users are, if you’re going to build any tool. By building out user stories based on experience and interaction, we can consider message format, connectivity, visual needs, and the like. Willow typed up a bunch of user stories based on her week in Tanzania.

Next Steps

There are some lingering questions that not enough experience was garnered in order to answer. Things like – if we want to show people that their reports are being acted on, but we can’t send them text messages back (if we’re protecting their identities), then having printouts at local municipal offices makes sense. What should those look like?

Code Base

Dirk and Florian led the charge on this.

Created initial installation and usage docs for the API and Waterpoints flavour of Taarifa.

Drew helped to guineapig this

range of bug fixes & doc fixes

Understand the sensor use case and how that relates to the Taarifa use case. Settle on the use of a separate, existing dedicated sensor api solution (potentially MITs chain-api).

Trying to complete the TaarifaWaterpoints application but ran into technical issues. Lots of debugging with Florian which lead to more a fundamental discussion as to what the scope of Taarifa should be.

Technical issues pretty much solved with a couple of things swept under the carpet for later. Scope discussion started on the mailinglist, community needs to comment (this is where a board could be useful)

Next Steps

In parallel continue work (who?) on a more flexible, generic API depending on outcome of scope discussion on mailing list

Don’t actively evangalize Taarifa codebase to outsiders and other applications without some caveats.

Videos

Introductions

Day 2 Updates

What Else?

There was also some killer work done on water sensors with Public Labs, and on telephony plugins with Tropo. Look for that followup here!

What’s Next?

Next, we’re taking this show on the road to University of Central London 5/24 and 25 (bit.ly/taarifalondon), and then to Dar es Salaam (bit.ly/taarifadar). We hope you’ll join us, in person or remotely, for one or both.

Thursday is a holiday, and so no meetings – we wake up early and head to Mkuranga District – a rural, rather than urban (like Tendale), slum. We run for the ferry, tho thankfully we don’t have to jump for it, new journalist friend Erin in tow. On the other side of the sea, we drive for hours, slipping between staring out the window and talking about interactions and plans. When we finally arrive, Msilikale talks with some women about if they’d be ok to be interviewed. We negotiate money amongst ourselves – in the US and Europe, you get paid for research subject time. Here, there’s an expectation that uzungu will provide money. I offer to buy a meal or drinks1, but it doesn’t go over. Even this is complicated, with potential larger ramifications. What expectations are we setting? Are those ok? Ethical? The lacking infrastructure and predictability isn’t just about drains and tap water, it’s also about social interaction and protocols2.

We talk about sewing, and water, and responsibility. There are only wells here, and those only produce salt water, with which they clean, wash, cook, and drink. There was once a community-held water point, but it broke at some point and it wasn’t fixed. The assumption is that the government will install the infrastructure, in the same breath as a complete lack of belief that it will ever happen3. Water can only be gotten when there’s electricity.4, when it can be gotten at all.

Again, there’s no central square, no place for known dissemination of information. Everything is done by word of mouth, neighbors talking to each other. Do they ever update each other with phones? No, there’s too much worry about the cost coming back to them (or to the person they contacted). But they’d be happy to do what’s needed to bring water to their place. If mgunzu like me try to figure out things, how can we avoid being jerks5? So long as the government brings it in, they’ll work with it. Again, this weird relationship to authority.

We hang out by one of the salt-water wells while Msilikale finds a taxi6, watching people bring carts and buckets to fill up. Children throw rocks at a lizard, chase each other, drink water from the bucket used to wash clothes now hung to dry. We stand under the gas station awning during a short but heavy rain, and then pile into a car for the long journey back to Dar es Salaam. Now it’s back to interaction at the scale of organizations, but now as informed as it can be on our short time scale by interactions with humans as humans, not in aggregate for logistics. The UNHCR refugee camp in Northwest Tanzania seems most appropriate for the water sensor innovation test deployment, as it’s a closed loop. Kibaha makes the most logistical sense for the test deployment of Taarifa, as a lot of cultural work around accountability has already been done there by a potential partner organization. Mkuranga doesn’t make sense because it’s too far out, there’s no existing social infrastructure for organizations, and there aren’t plans to put in water infrastructure for awhile yet, so people would quit reporting after awhile of no results. It’s all practical, but not cold. People here feel their responsibilities, just like anywhere else.

The next morning it’s raining as we gain a blessing from the Ministry of Water – we’ll work with their water engineers on updating reports of water points7. We sit in a taxi in traffic and talk, then meet with a potential local partner who will help with social interaction and embedding – managing expectations, closing feedback loops, continual interaction for a more successful launch – or for a better understanding of a failed launch. If it works in Kibaha, we’ll try it out in Mkuranga, with more focus on the sensors than on the reporting, to ease survey fatigue. We get back in the taxi and talk more while we head back to the Ministry of Water to talk to some engineers about what they would want out of a reporting system (yay more talking to people who use Taarifa, not just read the outputs!). As the depth of the water on the road increases, the speed of the traffic decreases. Finally, concerned about even making his flight, we send Mark off in the taxi with his luggage, and I pile into a bajaj with my own suitcase. A meeting to get to, and facilitate, on my own!

Everything goes beautifully. I’ve learned to hold firm when I’m told someone doesn’t have time, or tells me they only have a few minutes. “We’ll talk again on Monday, but right now I do want 15 minutes. That’s it.” Engineer B and I end up sharing frustrations, drawing on pieces of paper, and giving a firm handshake at the end. Msilikale and I meet up, and head to my new lodging – not the fancy hotel anymore, but a friend’s-of-a-friend house. From here, I can still see birds flocking, and the sun setting over the sea, but there are also bugs and the shower is weird and it feels so much more comfortable than the fanciness. We have dinner with one of her Dutch friends, and brave traffic, and bond over growing up in the Midwest. The ensuing days are similar, with one day blissfully off. Plans for Zanzabar are trumped by epic, amazing rains. I read frivolous articles on my iPad and watch the rain roll over the sea.

In all this, the World Bank8’s hammer is money, and so everything looks like a project to fund. What makes this a complicated mess to my anti-capitalistic heart is that, indeed, many projects do need funding in the current environment. I see the “we read as much about about a grassroots thing that works as we could, and this is how we think we should do it…” All the people I’ve met within the org want a way to make the world to suck less. But these are institutions whose tools are people, and funding, and other institutions. And while they try various tactics, and sometimes make headway, in making the world suck less… they’re also held accountable for their actionsIn theory.. The difference is, the people in grassroots initiatives have to live with the reality of the failings and successes of their (and institutional) endeavors. So of course they are who I think of first. And last. And always9.

And Msilikale and I go over the drawings I did, and listen to music, and talk about all sorts of things. The power goes out, and we keep talking, the windows closed against mosquitos and the oppressiveness of the growing heat inside overwhelming. We walk in the dark to a local Indian joint, eating overly peppered food and listening to the calls to prayer out the window. The lights go out there, too, and we eat by the light of cell phones until the generators kick in. “This,” say Msilikale, “is Dar es Salaam.”

1. Worked for Kibera.
2. Scott’s Seeing Like a State is ideologically interesting, but if there’s no way to get clean water but through organized distribution of resources, such ideology gets tempered at least a bit.
3. It’s like breaking up with someone before they break up with you.
4. Mind you, this is a project with the Ministry of Water. Not Ministry of Power. This is with water. So we can only focus on water. *shakes fist at silos*.
5. Again, Msilikale mitigating anything that seems like a promise. Or hope, really.
6. Easier to negotiate price if we’re not there.
7. The hand washing tap in the MoW does not in fact produce water. Oh, the irony.
8. A World Bank innovation fund is what is supporting this initiative.
9. Not saying others don’t, simply that there sure does seem to be a lot of reminding.