A couple of years ago we were developing an offline Learning Management System (LMS) for the The Dinaledi Maths and Science Initiative, the main problem was that of connectivity. In South Africa the telecom costs are were so high, that although we managed to get all of the computer equipment donated, a week online would cost the equivelant of a teacher’s monthly salary.

The solution we came up with was to develop a CD based LMS, the LMS stored all data locally in a flash shared object (.sol) which is a type of cookie with a lot of storage space. Everytime the LMS was launched it would check whether it was connected and if it was it would send its data to the central LMS located in Johannesburg. In this way we hoped to keep down the connectivity costs, all of the uploading would occur whenever the school went online to pick up its email, which would happen once a week and at the same time it would allow the test and usage results to be aggregated in a central place. In other words, we developed a sometimes connected LMS.

Not an easy task back in 2003. Yesteday however, Google announced the release of Google Gears “… an open source browser extension that lets developers create web applications that can run offline. Google Gears consists of three modules that address the core challenges in making web applications work offline. LocalServer: Cache and serve application resources (HTML, JavaScript, images, etc.) locally. Database: Store data locally in a fully-searchable relational database. WorkerPool: Make your web applications more responsive by performing resource-intensive operations asynchronously … ” Now that would have made our lives a lot easier.

My hope is that offline capabilities will be used to develop sometimes connected applications for those who do not have the kind of fulltime connectivity that most of us take for granted. I am looking forward to the first forum with offline connectivity. Something that would allow learners in schools without full-time connectivity to still participate in global discussions and debates.


How do you break through the information chaos that exists in the social media world? By releasing a social network press release. The idea behind this press release, is a naked form that is essentially a toolkit to allow others to create their own stories around it. A kind of list of facts and quotes unembellished by hype and opinion, that allows the end consumer to create their own message backed up by sanctioned facts and quotes. Different markets require information specifically tailored for them, the only way to create enough different stories is to allow the users and participants to create their own stories for their own blogs and to give them the tools to do that. Adoption through innovation for the marketing world, we supply the tools you create your own story. Or if you’re more of a Kathy Sierra person, giving your users the tools to kick ass.

The Geocommons Social Media Release case study
Social Media Newsroom Template
The GC release on Fortiusone


May 20, 2007

We have recently been tasked with the development of a streaming media server to stream videos YouTube style. The concept of a streaming server YouTube style is a bit of a misnomer though. You see, streaming servers are based on streaming server protocols. You can’t “stream” over HTTP protocol, if you’re going to actually stream video you need to stream it over RTMP. There is a small problem with streaming over RTMP, the default port is port 1935. This port is pretty much blocked by all major service providers, which would leave us with either requesting that all users, who wanted to stream video, open that port on their firewall or going the HTTP route.

If you have ever tried to get a network administrator to open a port you would know that it is easier to debug windows. In the wild, our service wouldn’t stand a chance. Even the much touted YouTube does not stream video, it buffers it on the viewers machine and then plays it back.

So we went the HTTP route which left us with another problem. Our users wanted to be able to stream very long documentaries, unlike the YouTube market which rests at around 10 minutes per upload, we were looking at around an hour or so of footage at a time. Not many people would sit for 35 minutes waiting to get 35 minutes into the documentary. They must be able to go back and forth. In a streaming scenario, this isn’t a problem, the server downloads whatever footage is being played back, in our buffering scenario you had to wait until everything before the section you wanted to watch had already been downloaded.

After a bit of searching around and reading many forums, we came to our pseudo streaming solution. Using a Lighty Server optimized for static content and installing a module called ‘mod_flv_streaming’, we were able to create a pseudo streaming solution that allowed users to only download the section that they wanted to watch while at the same time getting the widest possible accessibility by ‘streaming’ the videos over HTTP (port 80). The solution is a bit more optimized than YouTube in terms of efficiency and capability.

UPDATE: I’m going to link to this comparison of ten video sharing services even though he has missed out on a couple of top notch services. Could be time for someone to do another comparison [linkbait alert].

The results of the TechImpact technology service provider survey are in! In late 2006 TechImpact surveyed technology providers across the country in order to understand what technology assistance means for nonprofit capacity.

They set out to answer the following questions:

  • Who is providing technology assistance to nonprofit organizations? Who do they serve?
  • What services do providers offer? What approaches do they use to deliver technology assistance?
  • Where are technology providers located? Where are they delivering services?
  • When do providers employ evaluation strategies to understand the effect of their work?
  • How do providers implement strategies to foster key outcomes for organizations, and how do they successfully achieve those outcomes (e.g., improved efficiency and effectiveness)?
  • How do providers measure the success of their projects?

Its an interesting read. The feeling that I got from it is that what is missing in the field is a way for providers to evaluate their projects and a standard set of steps to evaluate readiness. This is something that we need to be working on.

Check out the complete report here.