Archive for the 'Coding' Category

OpenMRS hackathon: a community profile

I spent the latter portion of this past week at the 2010 OpenMRS hackathon in Indianapolis, Indiana at UIPUI university getting an inside look at an effective Open Source ICT4D project. As a result of the gathering, I hope to contribute back some improvements to the software over the coming weeks. For the moment, I want to share details of their compelling project:

OpenMRS Hackathon at Regenstrief Institute

OpenMRS is a powerful electronic medical records (EMR) package used at hundreds of clinics around the world in about 46 developing countries.

The Open Source project was founded in 2006. For US readers, the highest profile user is likely Partners in Health. They apply it very actively as their ICT4D/mHealth solution in most of the countries they serve including Haiti, Peru, Mexico and Rwanda.  They also employ several full time Open Source contributors to the project.

Vibrant Open Source projects often draw from an eclectic variety of contributors. Given this, it is somehow not surprising that this kind of scheme can blossom with good software so effectively. Talent attracts talent. It seemed that each of the participant categories at the hackathon was represented by rockstar programmers that also had their MD’s.

The two-day event kicked off with the weekly developers’ screencast conference call. We had contributors from at least 3 continents represented on the line and another 20 developers in the room. Some 6 major contributors worked at the main Regenstrief Institute office above our venue. Another 3 worked for Partners in Health. There was an assortment of graduate students from nearby universities. On the phone, participants from the just-completed Google Summer of Code joined in (OpenMRS is one of the program’s top largest and longest-running projects).

The conference call itself opened slowly but soon we had contributors demoing slick integrations of SMS + website patient profile up on the large screen. The developer was able load a patient’s full record, including details of their participation in various programs and send them a relevant SMS reminder from the same page seamlessly. Responses from the patient were saved back to the patients record as an instant message log.

I should have more to say about the coding event over the coming days, for now I simply leave these impressions.

Enhanced by Zemanta

Android proliferation (even if it fragments) good for African tech.

Ars Technica warned earlier this week that Android’s proliferation in China might not lift Google’s image there–many parties there are vivisecting it into a clone called OPhone. I want to take the other side on this development: As the freely available and high quality mobile operating system becomes workable on most phones, the Chinese knock-off phones are now much more likely to be using Android/OPhone. It is the low-hanging fruit option. We should celebrate that! Those knock off phones are the present reality of many target-able markets today, including East Africa’s. Android fragmentation is replacing complete fragmentation.

Right now, those same high-end knock-off N0kia/B1ackb3rry phones are making their way into the East African dukas. They are generally using obscure operating systems (OS) soldered together using half-hardcoded bitmaps and quirky keyboards made for Chinese. They are utterly “fragmented” and impossible to code for. As a programmer, sometimes I wonder at the question: who were the lucky anonymous code monkey team that was given such a job: make this phone work (mostly). You can just imagine the generation of Chinese OS programmers cutting their teeth, becoming experienced by solving the Operating System problems again and again for every new knock-off phone. But now, consider how easy Android is to use on arbitrary mobile hardware: one coder, in a month or so of bedroom hacking was able to bring it onto the iPhone. Just by that feat, it seems obvious that Android/OPhone is bound for the knock-offs in some substantial form.

The mobile computing revolution is happening already in rural Tanzania, in some sense. Every few days, a new teacher colleague of mine would come in with slick-looking phone with the requisite multiple SIM card support and big touch screen, but their phones didn’t enable anything. There were no apps, no stable browser. No way to make apps for that. I visited AppfricaLabs in late 2008 and talked with Ugandan @VicMiclovich about their work developing locally relevant apps for Nokia, Java midlets, and various other prevalent phone dev targets. Still, at the end of the discussion we had to admit that, for the moment, there was very limited impact opportunity in the market, outside of savvy tech users because of this unprogrammable Fake-OS problem. Maybe the OPhone can be a second chance?

Returning to one of the threads in the original article, though the Google Android App Store might not be relevant to the hundreds of millions of users in China, it may be more useful than the OPhone Store to the unmentioned millions of users of these phones as they trickle out into other Asian and African markets, if the store can be added by vendors without much trouble. The common foundation offers new possibilities.

While we are on the subject, the originally noted article was a follow up to a another Ars Technica report a month ago on Android Fragmentation. It wisely noted there that the catchy term should be used careful, it can refer to any of the panoply of versions, devices, OS repackagings, or device designers of Android.  It has been thrown around a lot and is pretty beat up:

“Because it means everything, it actually means nothing, so the term [fragmentation] is useless,” he wrote in a blog entry. “Stories on ‘fragmentation’ are dramatic and they drive traffic to pundits’ blogs, but they have little to do with reality. ‘Fragmentation’ is a bogeyman, a red herring, a story you tell to frighten junior developers. Yawn.”

There are even cleverly fake websites being created around its buzz (I won’t link to it directly but: android fragmentation dot com).

Anyway, I say bring on Android Fragmentation over the status quo, obscure, impossible to develop-for custom OSs in today’s knock-off phones. It is something to code for, a new audience to bring services to.

Enhanced by Zemanta