We have anywhere from 1 to 25 people on a city bus at any time. Every one of these folks have a cell phone in their pocket. I think we can assume at least a handful of them possess smart phones.
With this technology, why don't we know where each bus is in real-time? We know that each bus has a tracking device on it, so knowing the location isn't the problem, it is getting the data. Even with the technology, getting municipalities to open up and share the data is proving to be a challenge.
Why can't we create a crowd-sourced, incentive based network of bus riders who are open to having their position tracked while on the city bus? Of course we could compensate them for this data, and not just exploit their involvement.
Having city bus riders voluntarily sharing their data, establishing trusted relationships and profiles, and cross referencing across multiple users would provide a real-time base of data we could use to identify where any bus is at any time--without complex technology or systems.
In some cities this isn't a problem that needs solving. In Los Angeles, the bus is NEVER on time and never predictable. There is no way of knowing what time you should walk up to the bus stop. There should be push notifications that let me know the bus is at a specific stop, that is nearby, and I should consider heading to my own bus stop.