A very nice article on Autonet by Anna Lynn from Calit2 just got posted up today. I guess if we want to get more funding on this project, the time to strike is now.
Trevor’s Autonet paper finally got published, and we’ve gotten a small bit of press. Funny how that works. Do research and build a prototype. Write a paper or two or four, apparently get no interest. Project mostly trickles off. Then one paper finally gets published by a slower journal, and hey, everybody is interested.
While the ideas are good, and while Trevor and his team did a great job with the prototype and got a working system running, I think the real barrier to something like Autonet taking off is the difficulty in getting a local area wireless connection up and running. Not from a technical, bit/bytes/hand-off/Doppler-shift point of view. Rather from a non-technical user’s point of view. It is quite difficult to set up a device so that it both blabs and listens on some open wireless channel without requiring careful attention from the user. Most wifi links, in contrast, are pretty simple to use because there is a defined server and client. But even then most dialogs ask the user to select which host to access, and some require some sort of password or access code.
In the intervening years between working on that stuff and where we are now, we’ve sort of come to the conclusion that the data channel isn’t as important as just freeing the information from the automobile. From the person traveling, really.
The primary advantage of a local area wireless connection is that, well, those cars and devices you can talk probably have data that are relevant to you too, because you’re all sitting in the same spot. The local area wireless link acts like a spatial query on the huge mountain of traffic data that is available. The disadvantage is the need to configure your wireless device in a secure, user friendly way, and needing to develop some sort of protocol to query distant locations.
On the other hand, a cellular link does not have automatic spatial query on the data. Of course you can *do* a spatial query, but that costs some cpu cycles, whereas with the Autonet idea, you’re *only* querying geographically proximate neighbors. You’ve also got the problem that the wide area wireless links cost money to use. Cellphone companies are known to charge outrageous rates for data transfer, and in fact, AT&T specifically forbids using their data connection in the manner in which we would *like* to use it. To quote from their service agreement terms and conditions:
Prohibited and Permissible Uses: Except as may otherwise be specifically permitted or prohibited for select data plans, data sessions may be conducted only for the following purposes: (i) Internet browsing; (ii) email; and (iii) intranet access. …[T]here are certain uses that cause extreme network capacity issues and interference with the network and are therefore prohibited. Examples of prohibited uses include, without limitation, the following: (i) server devices or host computer applications, including, but not limited to, Web camera posts or broadcasts, automatic data feeds, automated machine-to-machine connections or peer-to-peer (P2P) file sharing; …
So, an app that automatically uploads location and speed and queries traffic conditions every few seconds is out, but an application that “browses the internet” is okay. So an application that responds to user input to “browse” the internet with a heartbeat ping is probably okay, but making it a daemon that bleeps every few minutes is not.
Gotta get us some iPhones so we can test this stuff out, I guess. Which means we have to get funding.
Update: I posted up a cleaner version of this to the CouchDB wiki at http://wiki.apache.org/couchdb/View_Snippets
So. I need to compute the standard deviation. I didn’t trust jchris’ couchdb reduce example, so I decided to dig through google and find (again) the accepted on-line way to compute standard deviation (and other moments).