I’ve always been a loyal fan of standards and openness, but there is one particular reason HTML5 matters to me: it promises to be extremely valuable for the development of powerful ICT4Dev tools.
It is true in general that HTML5 is there to move forward the extent and widespread of web (someone would say “cloud”), but why such a technical thing as web standard is meaningful for software aimed to serve international development and human rights?
The Web have already begun to have a mayor impact on development and crisis response, I will not dare trying to discuss that in a blog post, but for those not familiar with these issues, here are three projects you absolutely have to look at:
Ushahidi – a platform that allows collecting incidents reports by everyone in an emergency or crisis, and mapping the reports visually on maps to allow quick analysis and faster response. It has been successfully used in very large scale emergencies including Haiti. (http://www.ushahidi.com)
Kiva – a website that “connects people, through lending”; a wonderful story on how the web can be used to develop microcredit, and at the same time connect people from different countries or conditions. With minimal investments in technology or marketing, Kiva has facilitated so far more than 150 millions in loans (http://www.kiva.org).
Refugees United -a website and mobile application aimed to directly help refugees reconnect with missing loved ones. A rather simple idea, not easy to implement, but with the potential of having a mayor role in rebuilding refugees families worldwide (http://www.refunite.org)
Those are only some of the most visible initiatives and organizations that are bringing an incredible change in this world, not to speak of the impact that the “social web” is bringing to international development (and btw: I love Twitter).
Indeed the developing world has some extra needs in terms of technology: here is three elements that we should always consider. Reuse: the developing world benefits a lot from open source and technologies that can be freely reused. Mobile: mobile technology is key in the innovation in many countries. Connectivity: internet access, through a PC or mobile phone can be limited, in bandwidth, depending on the location, and variable in time.
Reminder: what is HTML5 about?
HTML5 is the umbrella name for the “Next Open Web Platform“. The HTML5 brand includes the new upcoming standard for HTML itself, but also CSS3, Web Storage, SVG1.1, Geolocation, Web Sockets, Web Workers and many more standards; the aim of these new standards altogether is to enhance the web language (HTML), integrate second generation languages (SVG, Video, etc.) and making the web a lot more “reactive” (more about HTML5: http://www.w3.org/html/)
HTML5 promises to allow simple development of rich web applications: dynamic forms, video embedding, geolocation, offline, and much more; even video games can be developed in HTML5. Some of the most astounding HTML5 apps so far have been collected in the HTML5ADVENT URE CALENDAR2010 (check it out, if you haven’t already!).
Why HTML5 matters for ICT4Dev?
While working with HTML5 and studying it, it became more and more evident to me how the characteristics of the new platform are very relevant for the context of the developing countries. The new standards:
Allow the development of new generation cross-platform applications
A new generation of applications can flourish and they can be cross-platform, thus running freely on the most different devices, independently from the manufacturer and on low-cost hardware. Adaptation and maintenance costs reduced.
Allow the development of mobile applications
While projects show how, in both rural areas and in emergency relief that texting/SMS can be very powerful (see FrontlineSMS for example), the battle for mobile applications started. On one side the native applications for iPhone, iPad, Android, RIM, etc. on the other side the efforts of W3C and others to bring web development to mobile devices (see Mobile Web For Social Development (MW4D) and Open Mobile Consortuim). HTML5 has the most challenging role: the faster and better it develops on mobile browsers the highest the possibilities for developers to adopt it.
Allows reusing the incredible number of open source products, libraries and web frameworks
HTML5 could be used to enhance and reuse the incredible variety and abundance of good open source products and libraries; there is an incredible potential in the combination of web, open source, and mobile in ICT4Dev. Again, the most successful HTML5 and web-based development the more the possibilities of this ecosystem.
Allows to deal with the conditions of limited or unstable connectivity
The single feature of HTML5 I’m more enthusiastic about is the offine and storage or, as the W3C puts it: “HTML5 apps can start faster, and work even if there is no internet connection (thanks to the App Cache, Local Storage, Indexed DB, and the File APIs.)“. Offline and storage will allow the deployment a new breed of web applications, that simply could not exist, because of the need of an active internet connection. We can think of countless great web applications that would be improved to be used in places where connectivity is limited, bandwidth an issue and hardware resources scarce. We can think also of collaborative tools can run also offline, on any device and without any installation, and repositories of knowledge that can be easily carried in a USB key or external hard-disk, or almost-real-time (TM) gathering of information from different devices, geotagged, and still working when connectivity is not stable.
And it’s an open standard!
That too counts: open and not controlled by any single organization means a lot more freedom of action, competition, and better allows the development of solutions outside the interests of big market players. HTML5 is a vital part of that trend for openness: open source, open standards, open data and open protocols, that is acclaimed by all and threatened by many, at the same time.
The project I’m working on
More than a year ago I started working on an apparently very complex project whose user requirements were: we need a tool that is easily managed by non technical staff, works online and offline, is cross-platform, optimized for different devices, including mobile, is lightweight in data storage and in data replication, and open source, or at lest no licence-based. So far so good… but it also should run from a USB key or other portable device and no installation should be required. Commenting and feedback would be a nice to have (I’m glad there was at least a nice-to-have ).
“hey, wait, this is either impossible or insane!“
After long mumbling and head-scratching it is my colleague Riccardo that came out with a possible solution based on a web application using some open source libraries already available! That would meet all the requirements above in the simplest possible way, but for the online-offline, not mobile support. HTML5 was not at all ready at that time, but we aimed to invest in a solution that would be viable in the long run, so we developed the first version using Gears (was Google Gears), with the idea of bringing the project on HTML5 later.
The project, which is called OOPS: Online Offline Publication System, is just getting its HTML5 upgrade, and will run without any installation on several platforms, including some mobile devices, online and offline. The OOPS is itself a collection of libraries put together and it is released as open source (http://code.google.com/p/online-offline-ps).
I feel as with OOPS we had only scratched the surface of the many possibilities that this new standards are giving us to develop better web applications aiming to address, by completely new means, very old, dramatic problems.