Tuesday, October 12, 2010

SG Buses and SG NextBus may become ad-supported to pay for bandwidth

SG NextBus and SG Buses, two crucial apps for people who rely on public transport in Singapore, may become ad-supported in the near future.

The developer, Muh Hon Cheng, is contemplating the change because he now has to pay for bandwidth costs thanks to the growing popularity of these apps.


SG Buses is a bus guide while SG NextBus delivers bus arrival times. As both apps are free and do not carry advertising, Hon Cheng has no revenue stream to support the growing bandwidth costs.

The problem first occurred the day after he introduced a new version of SG Buses a few weeks ago. At the time, both SG Buses and SG NextBus were running entirely off Google's App Engine which is free if the bandwidth used does not exceed 1GB of outgoing data a day.

"I exceeded quota in just a few hours because in the latest version of SG Buses, I started giving out updates to the bus database from the server without submitting a new version," he said.

At the time, Hon Cheng did not have a process in place to pay for the additional bandwidth needed and as a result, both apps lost some functionality. During the downtime, users of SG Buses were not able to get the latest routes while SG NextBus users were not able to submit new bus stop locations.

In response, Hon Cheng quickly paid up to allow the data flow to start again. He also re-engineered both apps to take advantage of free hosting on Dropbox which is free if you store less than 2GB a month.

"All the functions required by SG Buses and SG NextBus are handled by App Engine, but the database is downloaded from DropBox directly, so I directed most of the traffic to another free service."

While this worked for a while, Hon Cheng found out last week that this was only a temporary solution. Despite moving the database to Dropbox, the apps are so popular that downloads on the Google App Engine have exceeded the daily limit.


Follow @imerlion on Twitter or like us on Facebook!
.

No comments: