mobile phone pinger as bottom-up tracking system?

I wanted to split the 'pinger' idea off from last week's discussion on DIYcity Challenge #3, and focus on it by itself, outside of the context of the NYC MTA questions.

It seems to me that a simple pinging application built into users' phones could potentially be hugely valuable to cities for a variety of uses.

The app would take the GPS info from the user's phone, along with unique ID, and one or two other parameters, and send that at regular intervals to a centralized server.

That server would then receive that info and be able to plot the location, course and speed of the person hosting that app.

If the other parameters included in each ping included, for example, the ID of a particular bus, or a bus route, or a highway number, or any other data that gave that ping concrete meaning, the ping could then act as a very simple mechanism for tracking movement - either movement of traffic in general, or of transit systems, or whatever.

As others have pointed out, you wouldn't need that many devices participating to be able to draw general conclusions about traffic movement or transit locations.

What you've got then is a distributed, DIY tracking system that would be for all intents and purposes free to cities to implement (as opposed to the hundreds of millions in setup and however much in maintenance that a centralized system would cost).

For cities that already have tracking systems, this could be cheaper to maintain. For cities that don't yet have them this could be a way to get them without spending millions.

Big problems include:

- getting adoption by a critical mass of users (and what defines critical mass in this case?)

- finding an easy way to get those extra parameters into the ping (asking users to enter bus IDs into their phones each time they ride the bus isn't an acceptable route in my opinion).

What do others think about this? Is there anything here, or is this a pipe dream? Could this be of service to cities anywhere?

I'm especially curious to hear opinions from people with actual expertise in any of the areas this touches on.

11 Feb14:55

Questions on the pinging system

By sarstar

I think the pinging system is an interesting idea; a few questions though:

1. If the pinging occurs at all times, how you can differentiate between someone on the bus/walking/running/biking? They may have to enter the bus number/route, and then de-activate it when leaving the bus.

2. Also, how would the system tell the difference between a traffic jam and a long stop (e.g., boarding someone on through the wheelchair lift or someone getting on the bus to ask directions)? The former affects overall bus traffic patters, the latter does not. You'd have to ensure multiple riders on the same route most/all of the time (there are 208 routes), and probably combine the data with traffic info (start with 511 - http://511ny.org/traffic.aspx ).

This probably couldn't be an official MTA project, as the information privacy laws in this state are many, you can't assume everyone in the city can receive the bus info by cell phone (~80% mobile phone penetration rate in NYC, but many of those are pay-per-use and/or no data plans), and the system needs to work equally well at 3p.m. and 3a.m., and Manhattan as well as the Bronx.
That being said, it's worth a try, and I'd love to see the outcome.

11 Feb22:28

re: questions on pinging system

By John Geraci

Great feedback.

Anyone have an answer for these questions?

- How could the system tell the difference between a traffic jam and a long stop? (Or would you just be clear at the outset that you're not going to differentiate?)

- How could you activate/deactivate the app so that stray signals weren't sent to the server when a person wasn't actually in transit? Would there be some way to automate this, so people didn't have to remember to turn their app on and off each time?

- How many people would have to be using the system to derive meaningful results about any one route?

Something to consider: most people take the same route to and from work each day, so you wouldn't necessarily need to enter the route information for each trip, if you were just measuring commute trips. Maybe you could set that information once and forget about it.

Another consideration: this idea works a lot better if you're not trying to build an entire tracking system out of it, but simply trying to provide supplemental information to an existing, but incomplete one.

05 Mar21:58

answers on pinging system

By roygbiv

At least initially, I say don't worry about differentiation. Maybe just self-identify phones in buses (or other objects) to be tracked.

Then have a way to show interested folks the location of objects of interest. Like google Latitude, but with objects (buses) instead of your friends.

Over time figure out ways to improve the initial data, but do that based on what is and isn't working.

Roy

05 Mar22:37

re: answers on pinging system

By John Geraci

I love that approach, roy - just get all of the data flowing, plot it somewhere, then begin to make sense of it as more and more of it comes online. (right?)

that seems like a somehow organic approach to this, one that could actually work over time. might be the only real way to do it.

so what would this app look like, exactly? I would love to get some sort of prototype going on this.

10 Mar21:08

Automatically

By paulmwatson

Automatically activating/deactivating the app. could be done through an easing out algorithm. The app. just needs to remember what position it last pinged. If it is the same then it doesn't send out a ping and also extends the time to the next check.

Also it would be worth looking into motion/tilt sensors on phones, see if they can be used to "wake" the app. up or shut it down if no activity is detected over a certain time.

Traffic jam vs. long stop seems to me to be a question of having more than one pinger in the area. If one pinger goes quickly past another then likely it is a long stop for the first one. If all pings going in one direction in an area are slowed then probably a traffic jam.

08 Apr15:45

track using only "I got on the bus" info?

By noii

How about making a phone application or web site accessible via a phone that:
- you enter your local bus stop info (or enter a zip code and choose a stop);
- you pick which buses you are waiting for;
- the service tells you everything it knows about when buses are arriving;
- you push a button to say when you got on your bus.

This doesn't even attempt to answer the critical mass problem, but might be an interesting way to build a system that people will want to use. Every time someone pushes a button to say they got on to a bus, you have a record of any of the buses on that route being at a particular bus stop. Given enough of these, you could in theory guess the progress of each bus.

To begin with, the service could just offer you the published timetable info ("We have no live updates for your bus, but one should be due every 20 minutes. Please let us know when it arrives."), and then live updates could be added if enough people use the service ("A bus was spotted four blocks away - shouldn't be more than 5 minutes. Please let us know when it arrives."). Not sure if the reward is compelling enough for people to remember to update the fact they boarded the bus.

Perhaps the trick is to make a mobile phone game that people can *only* play at their bus stop (or alternatively on their bus). Then when they stop playing you can guess they've got on the bus they were waiting for (or off the bus they were on).

08 Apr15:55

prototype

By nickyg

TOPP Labs (http://topplabs.org) is considering building a prototype very much as described here.

To start, something very simple that would use existing mobile devices to ping a server and track locations. We will probably just do a very simple implementation as a proof of concept first.

Please email novalis [at] openplans [dot] org if you're interested -- we'll be sending more details soon.

08 Apr21:47

Pinger Prototype

By John Geraci

Interesting Nick - shall we make it a DIYcity/TOPP collaborative effort?

08 Apr22:03

Pinger prototype

By nickyg

Hey John,

Yes, certainly -- your post here got everyone talking about it and interested. We have to figure out how much time we might be able to commit; should know pretty soon.

09 Apr10:01

> Yes, certainly -- your

By John Geraci

> Yes, certainly -- your post here got everyone talking
> about it and interested. We have to figure out how
> much time we might be able to commit; should know
> pretty soon.

Great. I just created a new group on DIYcity for people interested in helping to create a mobile phone location pinger for bus tracking etc.

Anyone interested in talking about this subject, or assisting in development of it (including development of code, planning prototype, figuring out how a distributed tracker would work, etc) please join the group and we can have more detailed conversations there:

http://diycity.org/group/phone-tracker-development

20 May07:43

- finding an easy way to get

By danielsn116

- finding an easy way to get those extra parameters into the ping (asking users to enter bus IDs into their phones each time they ride the bus isn't an acceptable route in my opinion).

This problem could be solved using a "shotcode" like sollution. The buses could have shotcodes on the door that let you input that extra parameters with ease.

21 May13:34

RE: asking users to enter bus IDs into their phones each time

By ebrelsford

Maybe QR code stickers posted at bus stops?