Framework for real-time exchange of geospatial data for mobile devices
Create a framework that would provide an easy method for associating data with GPS coordinates. This data would then be publicly accessible and modifiable in real time. Users of mobile devices are the target audience.
To paint a clear picture of the idea I think examples of how it will be used are helpful, so I have provided a few.
1) You are visiting a city for the first time, and you would like to explore it on your own. With this project you would be able to walk around the city and when in the proximity of objects of interest the device could alert you. You could decide to view the information for the point. This information might be in the form of a wiki article, audio, or even video.
I intend to make this program work both ways. I want the users to be able to pull information off of the net about the locations that they are at. I also want the user to be able to edit information about the location that they are at.
I envision having categories that people can subscribe to. For instance there might be a “trees of interest” category, or a “cheap burgers” category. These could vary based on your location. They would be live and change all the time.
2) Kids going to houses on Halloween. They designate what houses are providing the best and worst candy. They proceed to share this information with their friends using this project.
This is an example of how easy I want this project to be to use. I literally want children to be able to use it.
3) Image that it is around lunchtime, and you and several of your friends don’t have any clue where they would like to eat. Using this project someone could pull out their pda and find all restaurants within a specified range. The users could look at the reviews of each place, and perhaps any specials which they might have that day. It would be possible for that place to have their entire menu the wiki page associated with it.
4) Publish your physical position to the net in real time. Allow your friends to view this information, perhaps in the form of an RSS feed. You could also have your friends locations sent to your pda so that you would know when they are near, or make it easy to find them.
5) A botanist is walking around in a forest, finds some plant of interest. They take a photo of said plant, record the position, and write a short description of the plant. If out of the range of their cell tower then the data could be stored on the pda until it was united with the Internet. This would be the asynchronous mode. After the information is put on the database. The botanist and others can modify it. Perhaps adding useful info etc.
Later on another person could be walking around in the woods with and have that plant show up as a nav point.
This will be a web based project. Users would be allowed to submit information for GPS coordinates, and metadata about those points. This data would be unrestricted, allowing the users to upload photos, audio, video, or any other data they have.
The data could be stored in a MySQL database. Then it could be delivered in a form of XML. I would likely output the data as GeoRSS.
Because I intend to use open standards it should not be very difficult to port the client to many platforms. However, for the scope of this project I will focus the client development to one platform.
I intend to design this program for my Windows Mobile device, which is the HTC Wizard running Windows Mobile 2005. I have an external GPS device that interfaces with the device. I will code the client program with Visual Studio 2005 using C# as the programming language. This program will be designed with the assumption the PDA has a constant Internet connection. However, a cached offline mode would be possible as well.
More information about the details can be found at my wiki: http://josh.gourneau.com/wiki/doku.php?id=soc
The primary function of the client would be to get the GPS location of the user, and upload that location to the web. Then the server could provide useful information that is near the user.
The users identify categorize that they like, and only get the data which might be interesting to them.
The users would also be able to modify and create points with the client. This data would be uploaded to the server and added to the databases.
This idea will not escape me. The first record I have of it is a sound recording that I created on 09-17-2006. I felt as if the idea was going to make me explode if I did not let it free. I proceeded to tell anyone about it who would listen.
Audio recordings from the time are available at my blog: http://josh.gourneau.com
My method for determining if an idea is good is very simple. If you can think of situations when the idea would be useful, then it is a good idea. I can’t walk around outside without thinking about using this idea.
I think this is an exciting idea. Never before in history has this instant form of communication been possible. It is almost as if one can tap into the global mind. Having a device that is aware of its location and able to find a wealth of information about that point. This is what the web is about, sharing information. I am a holder of the view that we are humans at our greatest are informavores. That is that we exist to create and understand information.
I recently read an article on cognitive load and user interface (http://tantek.com/log/2007/02.html#d19t1813). The Basic idea is that the easier you make some technical process the more likely users are to use it, just because it is easy. I believe that making it easy to use is key for success. I want this project to be so simple and easy to use that feels like it is part of the user, a mind augmentation.
There are many fantastic open source tools that can be used to accomplish this objective. What is important is to enable a community of people to use it. When people are able to instantly access information about their surroundings, it will be tremendously empowering. I am in love with this idea and am convinced that it has the potential to change the way that people think about the world around them.
I acknowledge that the timing for this project might not be just perfect because of the high requirements for adoption, but that time is near. There are projects like http://placelab.org/ that are helping to create location aware devices that are not dependent on GPS. The foundation has been laid, it is now simply a matter of assembling the pieces and creating something that everyone can benefit from. People may not realize it now, but data like this will change the way that humans interact with our environment.
I believe that this is something to get excited about. The idea is not complex, and the technology exists to make this happen with relative ease. Indeed, there are many services to associate data with GPS. My objective is to make a standards compliant open source framework for everyone to use. I want to remove any software barriers that might exist.
I want to get this idea out of my head, and into the world. I want to share it, I want people to adopt it, I want it to grow and take on a life of its own.