Tag Archives: technology

Beating a Dead Horse: NYT Article on Collecting Phone Data to Track Public Services is a Press Release

A June 6, 2011, article by Joshua Brustein in The New York Times read as a press release for the private corporations wanting to use cell phone data to monitor and track public services. The article outlines companies that want to collect and data mine behavioral information from cell phones that have those companies’ apps. For example, you have the FPrivacy app by LastLaugh, Inc., and LastLaugh collects your cell phone location and activity, and then uses that data to monitor travel times between different points (e.g., traffic reports, determining when a given subway train will reach its destination). While the idea is interesting, the article essentially regurgitates company press releases and fails to look critically at the idea in at least three simple areas: the role of the public sector, alternative ideas, and privacy. In the eyes of the Facebook generation, an even graver mistake is that it is old news!

Missing Item 1: Where is Local Government?
The article did not even tease the reader with the notion that the local government, through the various agencies that manage public transportation, ought to be providing services that increase our understanding of public transportation, including when to expect the next train. The combination of the right’s dismissal of government having a legitimate place in our lives and the left’s inability to firmly push government agencies to smartly and quickly adopt useful technologies means that we do not think of the government as being an appropriate actor for these types of initiatives.

Missing Item 2: Alternative Ideas
Somewhat related to Missing Item 1 is the fact that the article fails to suggest alternative ideas, whether those ideas are real or on e-ink. Furthermore, we have an incredibly inelegant solution (for these types of problems) in the use of tens of thousands of cell phones as data collectors. For example, there is a significant imputation problem in that for many commutes, “the system” has to make a(n educated) guess about which train or mode of transportation the phone took. Even the article mentions this:

If a phone located near Times Square suddenly loses service and reconnects at Prince Street and Broadway 15 minutes later, then it has almost certainly traveled there using the N or R trains.

A specific cut at this imputation issue is the fact that the approach aggregates very general/inexact data when what is desired is very precise data. This is because what matters is not the activity of an individual psuedo-anonymous cell phone, but the activity of an individual known public transportation vehicle. As a result, the data demands a host of assumptions that fight against the wall of ecological fallacies and other methodological issues.

An alternative idea is to simply equip public transportation vehicles with tracking equipment. At that point, the most precise data possible is collected and aggregating up to more general levels becomes easier. Furthermore, there are no privacy concerns. Even better, many public transportation systems already have this capability!

Missing Item 3: Privacy
Okay, privacy is mentioned, but only in the final sentence of the article:

This could be a challenge, as it is clear that many people are uncomfortable with technology companies or government agencies tracking their every move.

Perhaps I should be thankful, since Brustein finally brings the public sector into the discussion. Instead, though, I ask myself, “That’s it?” The article talks about (admittedly, opt-in) methods for tracking every location and travel route a person’s cell phone takes, as well as every conversation one has*, but the only love privacy is shown is a single sentence that reads as if it was written by a junior-high student.

* One company wants to use phones’ microphones to identify locational atmospherics, a method that is smeared with a smile by phrasing it as a way to determine whether you are on a bus.

Futzing and Displaying Unruly RSS Feeds

I am currently working on a Web site for my latest and absolutely greatest adventure of competing in the 2010 Montgomery Country Agricultural Fair‘s demolition derby. I want this Web site to provide multimedia content, descriptions and plans, as well as nicely displayed RSS feeds of my blog and SMS systems relevant to my demolition derby effort. Probably because of my own ignorance and lack of knowledge (remember, I’m a political/economic analyst, not a developer) but possibly because of a(nother) bug with StatusNet, I had difficulty using PHP to repost posts that contain a certain hashtag. After trying to do it the “correct” way for an hour or two, I decided to do it the easy hacky way and did so in five minutes. Here’s the deal in case you come across a similar problem:

For my homepage, I swiped Matt Thommes’ PHP to display RSS/ATOM feeds in another page. It took some tweaking (and learning), but I used his structure/framework to get my blog and sms sites to load. This works well, is clear, and allows for a good degree of flexibility.

For the demolition derby Web site, I want to post notices from my sms site that contain the #demoderby hashtag. That way, I can continue to use whatever information delivery methods I prefer (e.g., blog or sms) with it all being delivered to one place for people who want to follow the destruction. At first, I played with the various badges (for StatusNet systems) that exist out there, but I could not get the first two I tried to work and none of them seemed well configured for limiting posts to certain hashtags. The next step was to use Thommes’ PHP structure to use the RSS feed a StatusNet install provides for a given hashtag. This, however, wouldn’t work because–I think–of the URL StatusNet uses for hashtags’ RSS feeds.

After about two hours of total hunting and searching (starting from the badge search), I gave up and decided to add a tweak to Thommes’ code. I essentially include a line that checks to see if a given notice contains the hashtag. If it doesn’t, do nothing and move on to the next notice. If it does, then display the tag. It took me five minutes to do, and should have been how I started. Oh well.

Here’s the tweaked code:

# INSTANTIATE CURL.
$curl = curl_init();

# CURL SETTINGS.
curl_setopt($curl, CURLOPT_URL, "http://sms.jasonkoepke.com/api/statuses/user_timeline/1.atom");
Curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 0);

# GRAB THE XML FILE.
$xmlSMSFeed = curl_exec($curl);

curl_close($curl);

# SET UP XML OBJECT.
$xmlObjSMSFeed = simplexml_load_string($xmlSMSFeed);

$tempCounter = 0;

#Specify the hash you care about
$hashofconcern = "#demoderby";

foreach ($xmlObjSMSFeed->entry as $smsitem)
{
# DISPLAY ONLY 3 ITEMS.
if ( $tempCounter < 3 )
{
$pos = strpos($smsitem->title, $hashofconcern);
if ($pos === false)
{
#We don't want to display non-hashtagged posts, so this if statment has nothing.
}
else
{
echo " id."">".$smsitem -> published.": ".$smsitem -> title."

";
}
}

$tempCounter += 1;
}

Hope that helps someone, or someone comments the obvious and easier way of doing all this.