I’ve been thinking hard on how to best implement the technology for community radio stations that Gram-Vaani will be supporting, and I had a eureka moment just two days back. Let me first give a background of the kind of use-cases we want to enable, and then describe the idea of how to do this.
- An expat from a village and now living in the US, logs on to Skype in her home, and connects to the radio station in her village. Her voice is broadcast in the entire village, and a group of young school children in the village are even able to communicate with her, ask questions, and learn from her experiences.
- Each Monday at 4pm, an agricultural research institute in New Delhi telecasts a live radio program on agricultural best practices related to irrigation, land tilling, fertilizer usage, etc. Panel experts sit in the studio to talk about various issues, and farmers dial into the station to ask questions, the entire conversation being broadcast live. The voice stream is also captured digitally, transmitted as VoIP to all other radio stations in villages even far away from Delhi, and broadcasted live in these stations. The farmers in these villages simply place calls to their local radio stations, and are able to interact with the agricultural experts in Delhi using VoIP.
- A radio station in a slum in Mumbai decides to do a survey on the sanitation facilities in the area. The radio station operators put a survey together after consultation with NGOs working in the area. The survey is read out on the radio, and people key in their responses in an SMS message on their cellphones. After the survey is completed, the SMS messages are sent to a cellphone connected to the computer in the radio station. The SMSes are automatically processed and the results instantly made available over radio, and on the information portal.
Fundamental to these use-cases is Internet connectivity of the CR stations that may be located in remote rural areas, and I will talk about it in another post. What I want to focus in this post is the notion that in each of these use-cases, the radio station computer acts as a gateway to interface between some or all of the Internet, telephony, cellular, and radio-broadcast mediums. The computer essentially routes audio coming in from one medium on to another medium. Therefore, the use-cases (or rather, applications running on the CR station computers) can be referred to as multimedium applications. The word multimedium is very clunky though, and my thesis supervisor actually came up with a better term 10 years ago! We call these use-cases multiplanar applications. It’s a very cool geometric metaphor that works as follows. Two devices connected to each other can be represented as a 1D line; applications running on this would essentially be linear applications such as standard client-server applications. Next, a network of devices speaking the same communication protocol can be be considered as a graph on a 2D plane; applications running on this would be planar applications, such as when a webpage is downloaded that brings in text from one server and images from another. Taking this further, computers on the Internet speaking IP can be thought of as lying on one plane, the telephony network can be considered as another plane, radio and television broadcast networks as a third plane, and so on. What we are seeing today is a 3D convergence across different planes — a single device may be able to speak different protocols and connect across multiple planes. This therefore enables multiplanar applications that utilize elements from different planes. The use-cases outlined above are in fact all multiplanar applications.
Economic benefits of multiplanar applications
Even though it may be argued that the Internet is likely to subsume all planes in the future, in the contemporary context there are still significant economical and practical benefits to having a multiplanar design. For example, Internet penetration is extremely sparse in rural areas, but cellular connectivity is growing rapidly and being made available at affordable prices; therefore, cellular voice calls can be used for live transmission of audio programs between radio stations. Similarly, the rural populations may not be able to afford a wireless device with IP connectivity, but low cost radio sets can still serve to supply useful information to the people, and cheap cellphones can be used to respond through SMSes. We therefore feel that given the diverse availability of access to different communication planes in different geographical and economic contexts, the design of platforms for multiplanar applications can be a cost effective mechanism to establish channels for communication of useful information between people.
The need for application management
Each of the use-cases given above will require different configuration settings at the CR computers. This presents a natural trade-off between flexible design but complicated configuration Vs non-flexible design but easy configuration. This design decision can impact two activities:
- From our experiences with working in rural areas of India, we expect most radio station operators to not be highly technically skilled. Complicated configuration management may result in errors which can bring the radio station off the air, and possibly prevent the operators from making use of the rich features provided by multiplanar applications. We therefore want to keep configuration management as simple as possible.
- With the aim of being able to develop new multiplanar applications that we may not even have conceived at this point, we would like to keep the design as flexible as possible. This would typically involve configuring various interfaces on the CR terminals to work in a manner specific to each application. The challenge will therefore lie in simplifying the configuration management, yet keeping it flexible.
We plan to handle this trade-off by defining XML-based templates for each application, such that the template can be downloaded on the CR computers participating in the application, and executed on each computer synchronously in a UI console provided by Gram-Vaani. The application template will be responsible for configuration management and specification of various operations that need to be performed to run the application. Our vision is that skilled Gram-Vaani developers will write templates for the kind of multiplanar applications mentioned in this post. A UI console on the CR computers will then present a very simple interface to the CR operators to interact and execute these template-driven applications. Thus, write-once-use-anywhere applications can be developed. For example, survey applications can be written that can be downloaded and executed on any CR station. Similarly, CR stations can be allowed to form different groups for different activities, and download a group-broadcast application that can enable them to conduct simultaneous broadcasts such as the agricultural broadcast application described earlier. Applications can also be written that can intelligently interleave both local and national advertisements in radio programs, integrated with a centralized billing infrastructure. Even control of archival locations for various broadcast components can be exercised through the templates.
Multiplanar Application Management Protocol (MAMP)
We have spec-ed out a first draft of the template definition which we call the Multiplanar Application Management Protocol (MAMP). It introduces very simple constructs of states, events, and operations for writing templates. The idea is that most applications can be represented through state diagrams. Each state specifies a list of operations to be executed on different CR computers. The CR computers transition from one state to another based on events, such as arrival of a call on some CR station or a particular IVR code dialed by a caller, etc. Therefore, the templates essentially specify a program that executes the operations given in different states, and transitions between states upon receiving events. The task therefore is to use this abstraction of states, events, and operations to define a protocol for writing templates, and design a platform for executing them that handles all the nitty-gritty of the implementations of the operations. We’ve been experimenting with a bunch of different open-source tools to help us implement the platform, and will release more details as we go along.
The figure below shows a sample schematic configuration for the group-broadcast application that can be easily enabled through downloadable templates. The requirement is for a source CR station to be able to simultaneously broadcast in two neighboring CR stations, and to also stream its broadcast to a data center in the Internet that archives the content. Each CR computer is shown as having five I/O connections: Mic input through a sound card , FM broadcast output through a second sound card, SIP duplex connections through a SIP server running on the computer, duplex cellphone connected through a USB cable, and an archival application that writes streaming audio to disk. Connections shown in red and blue are configured by the template. The red connections indicate the pathways for audio being recorded in the source CR station to be broadcast on air, and played back in the neighboring stations. The blue connections indicate the pathways for content received through cellphone or telephone calls in one of the neighboring radio stations, and relayed to the source CR station. The archived content can finally be made available on the Internet, appropriately tagged with the application context and locations where it was recorded. A different application can configure the connections differently through its template, according to its specific requirements.

The design we’ve worked out so far is restricted to audio, and only one programmable construct of state transitions is provided. However, this can be generalized in the future to much richer programmable templates with additional constructs of loops, if-then-else statements, etc. The same principles can even be applied for other content such as video, text, and images, to pave the way for a richer media delivery model going beyond radio for rural and other communities.
The Gramin Radio Inter Networking System (GRINS) v0.2 is
I am interested to use your system in just offing comunity radio in Bangladesh. So need your co-operation and guidance.
Regards.
Mowla.
I came across your site while I did a search on Google for free internet radio station and your article on planar application design for community radio stations : Gram-Vaani was informative.
your article on converging the radio with internet applications is great and i have used your article in one of my thesis papers on community radio with proper attribution ,thank Q so much
Ours is an NGO based at Karnataka, working since 1996 in rural areas of Koppal, Bellary and Bagalkot Districts.
We would like to associate with GRAM VAANI for radio station net works and Rural Banking Net works .
Pl. guide us to move further
Thanks and Regards,
M J Devoor
Secretary,
PARIHAR Rural and Urban Development Society
D-21, official colony, T.B.Dam-583225
Hospet -tq, Bellary - Dist
Karnataka,
09480046342