BusWhere was built for parents, by parents; it’s a service to make it easier for them to plan their day according to their child’s school bus schedule. BusWhere lets parents see their child’s bus moving on a map in realtime. BusWhere includes a portal for schools – which are often on the receiving end of complaints from desperate, anxious, or angry parents – so they can blast notifications to parents and see where certain lag times may be popping up along a route.
The Realtime Challenge
The simplest approach for a developer to create a realtime network capable of location tracking is a “pull” solution where the client asks the server where the bus is. Pull solutions, while easy to implement, require a heavy server load, which is costly and architecturally cumbersome. The other approach is to start with a “push” solution using websockets. The challenge with a standard websockets solution is that the sockets tend to close or timeout, which can be difficult from a maintenance perspective. For BusWhere, the realtime component was a large area of functionality that, if someone else could solve it for them and provide it as a service, then they could focus on the core of their business.
Data Stream Network Solution
After a serendipitous meeting with PubNub’s co-founder Stephen Blum at a tech meet-up in Tel-Aviv, BusWhere knew that PubNub was the answer. BusWhere’s solution uses a GPS tracker on the school’s fleet of buses, which notifies users of the bus’s location in realtime via PubNub’s Data Stream Network. Through the BusWhere dedicated portal, schools can alert parents of changes or delays that may occur on a bus route and have visibility into the status of all buses at once. And because PubNub is global and highly scalable, BusWhere can grow its business and expand to other countries without worrying about adding points of presence elsewhere. BusWhere is available online, as well as on iOS and Android devices.
“Not to sound too much like a fanboy here, but I would tell anyone looking to add realtime to go to PubNub. Don’t try to ‘roll your own.’ Trying to roll your own would be the equivalent of, ‘Gosh, I want to build a website, so why don’t I go build Apache.’ Whatever monthly cost associated with PubNub will be far less than trying to build your own and maintain it. PubNub has already solved this for you.”
–Jack Kustanowitz, BusWhere founder and CEO
Thanks to PubNub, BusWhere was able to incorporate realtime capabilities in a couple of days, as opposed to the weeks or months it would have taken to build a sockets solution on its own. Early in the development stage when they were tweaking and debugging the app, BusWhere used the PubNub console to watch messages come through and figure out why their tracker would stop sending data at certain spots. They weren’t trying to debug PubNub, but rather understand from where problems in other parts of their technology were originating.
And those are just the upfront costs that PubNub helped to save. “I’m actually worried less about those upfront costs; the problem is maintaining the network and figuring out what to do when things go wrong. To be able to immediately rule out the realtime piece or bugs in your sockets code when something goes wrong is incredibly helpful,” said BusWhere Founder and CEO Jack Kustanowitz.