Login Form

Lost Password?
BANG Honours projects

1.     Rich media data collection on Android (Mothlabi/Tucker)


2.     Phone number lookup for mesh potato users (Nel/Tucker)


3.     Android bandwidth stopwatch (see below, Norman interested to supervise team)


4.     Android video support for sign language communication (continues on YY's MSc prototype, see thesis)


5.     SignSupport for pharmacy or other application, port to Android? (continues on Muyowa's MSc prototype, see thesis)


6.     Sign language tooltips (see below)


7.     Push-to-talk/video on mobile mesh potatoes (see below, team?)


8.     m-banking with paypal (see below)



Rich media data collection

Use OpenDataKit (ODK) to collect rich media in addition to text and tick boxes, applicable for Deaf project data collection/interviews concerning HIV. Talk to Mr Mothlabi for more detail.


Phone number lookup for mesh potato users

As mesh potato (MP) networks grow in size, users find it difficult to remember neighbour's MP phone numbers. This project provides 2 ways to help users lookup a phone number. The first is on the telephone handset itself, with an Interactive Voice Response (IVR) approach. The second is to use an Android handset that is connected either to the MP network or to the Internet, with a front-end of Afrimesh back to the same phone number database that method 1 uses.


Android bandwidth stopwatch

This project designs and implements a tool that one runs on an Android cell phone to show how much bandwidth is being used for a given task, and how much it costs. Let's say, for example, a user wants to know how much bandwidth, up and down, a Skype or Gtalk video session with family takes. A button press before the start of the video call, and then another press after the call yields a quick overview of how much bandwidth the session took and how much it costs. The tool could also tell how much bandwidth used up, down, total and things like average per minute (or 15 minutes, even) and the cost. Then one could gauge how much it costs to do things like Skype or watch a YouTube video.


This tool would be especially useful for PC and mobile-illiterate users, like Deaf and rural users because they have no way to gauge how much bandwidth they are using and how much it actually costs, especially considering they have different networks available to them, e.g. GPRS/3G and WiFi/mesh.


There are related tools that run on Linux, like bwm-ng, bwm, iptraf, cacti, etc. These tools are meant for the network administrator, to run on a router or cache server.


PC-based alternative:

Many, if not most, people do not understand the pricing of ADSL and 3G packages other than what the monthly cost is. They don't really understand how application usage relates to bandwidth consumption. They just have this vague idea of what a 'download' is, but don't understand that downloads require 'uploads' of control packets, e.g. asymmetrical traffic, and that two-way voice and video consumes quite a bit of bandwidth because the traffic is symmetrical. For PCs, people many not realise how much bandwidth is consumed by operating system updates, particularly when more than one PC is on a network. So the idea is to try and make this easy for the casual end-user, to help that type of user become more informed about network usage and how much the things they do actually cost.  There are usage overview tools available online, e.g. This alternative can be done on a PC and would be nice to have a tool that runs on multiple operating systems, and is therefore a candidate for a two student team to perform overall design together, and implement and test on various platforms independently (including both mobile and PC), with varying levels of information according to available interface, e.g. small screen on a phone vs. full screen on a PC.


Sign language tooltips

This project follows on the work of past and current BANG prototypes for standalone and browser-based video tools to support sign language communication for Deaf users, e.g. asynchronous and synchronous video on both PCs and cell phones, and can also be used to help give Computer Literacy courses, such as ICDL (in progress already at DCCT). Combine the ideas of one or more of these projects to improve the user interface and then add sign language tooltips to help Deaf people use a system. Tooltips are traditionally short phrases that pop up as a user mouses over a button or active part of an application. Instead of providing a user with text, rather provide the user with short sign language clips because Deaf users understand sign language much better than English or other written languages. Thus, the help will be in their native language. This project can also include an online help system in sign language that could be based on an open source text help system, for example. The project entails providing help and tooltips, respectively for both standalone (an API for a sign language help system) and web-based (an API to provide mouse-over tooltips probably with XML) along with accompanying authoring systems to enable Deaf users to author the help themselves for a given application/webpage.


Push-to-talk on mesh potatoes

We have had two recent push-to-talk (PTT) projects that did not quite reach the level of an application that could be deployed. This project attempts to provide a PTT system on a mesh potato network. Mesh potatoes are devices designed and built by the www.villagetelco.orgproject sponsored by the Shuttleworth Foundation, amongst others. A mesh potato network is a community-operated and constructed voice over Internet Protocol (VoIP) ground-up alternative to the incumbent landline and cellular providers. In fact, a village telco represents an community-led initiative to undermine the corporate manipulation of communication services, as was done by Onno Purbo in Indonesia (who used H.323 networks, wired and wireless, to get more than 7 million Indonesians online in a parallel telecommunications network that essentially ran for free, back in 2003-2005, that forced the Indonesian government to legalise VoIP). VoIP was only legalised in South Africa in 2005, yet Telkom and the cellular operators still charge some the highest prices in the world for standard voice communications. Hence the need for projects like the village telco.


While PTT is very common overseas, South African cellular providers only provide a the service to restricted corporate accounts. PTT can operate like a CB radio, where subscribers subscribed to a citizen's band (CB), or group, communicate with each other in half-duplex fashion from one to many. PTT can also work like 1:1 walkie-talkie radios. PTT can also be configured to work like a voice-based instant messaging system, also in 1:1,1:many and many:many configurations. For example, when a user pushes a button, the system records a voice message and sends it to a recipient when the user releases the button. The interface could look like an Instant Messaging buddy list. There are two prior PTT projects, one done with JXTA and one with SIP, that can be modified or at least be used as examples to start from.


This project implements PTT on a mesh potato network with standard Internet Protocols such as UDP, TCP, HTTP, XMPP, RTP, RTCP and SIP. Protocol choice is up to the student. We would like PTT clients on both PCs and cell phones. Since mesh potatoes accept a standard landline phone with an RJ-11 jack, it would be useful to figure out a way to implement PTT with a standard handset connected to a mesh potato node, e.g. by initiating the service with a specific key sequence. Such calling patterns can be implemented within Asterisk, the VoIP PABX software for a mesh potato network, or even with the latest Asterisk alternative, Freeswitch. This project should also be run on a mobile phone running BATMAN.


Push-to-video on mesh potatoes

(this project can be combined with the previous project with a 2-person team)

Push-to-video could be useful for Deaf users. Unlike Push-to-talk, this system records and sends a video clip instead of a voice clip. Getting the prototype to work between two cell phones (and between a PC and a cell phone) is a challenging Honours project. For ease of access to video functionality on the phone, you may consider using Windows Mobile or Android.



Mobile banking with Paypal

This project explores the design and implementation of mobile banking for people that do not have a bank account. Consider the case where A sends money to B:


1. A sends an SMS (about money) to an SMS-PayPal-gateway

2. the SMS-PayPal-gateway communicates with's API and PayPal does the actual transfer from A to B's account, then the SMS-PayPal-gateway sends confirmation feedback back to A.

3.  Once B's PayPal account gets the money, the PayPal-gateway gets notification from and sends an SMS notification to B

4. B now has the money and B gets an SMS notification that the transfer is done.

5. B can now use PayPal to buy something.


The crux is the SMS-to-Paypal gateway that enables any cell phone with SMS capability (and all have it) to send money from one PayPal account to another, and notify another user via SMS on their cell phone.


The question remains of how to go about securing such an SMS system because someone can steal a phone and send an SMS. There must be some form of authorization. Here are 2 possible approaches:

1. use a 3rd authorization server like Kerberos to check the SMS users' login and password details

2. use local authorization, like finger print, we can use camera on the cell phone to capture a finger print, compare it to the local finger print database stored in the cell phone and send a m-banking SMS.


Of course there are other alternatives worth exploring. This project could also be a team project, splitting up the m-banking functionality via the SMS gateway to PayPal and the authentication service.


Next >