I like to write a Java application which I will give to my friends to collect some data. The data will be collected by me and I’m going to do some boring statistics. My friends are all over the place, the only link is the internet.
Now the question: How do I collect the data?
Simplest way I can think of is to generate an output file and let my friends send it back to me by e-mail. But it’s not nice and sophisticated in a technical sense.
I also considered just sending some serialized data via a raw socket, but that will require a server with a proper receiving application. And writing such a thing which is exposed to the internet is no fun.
So for answers please consider the whole architecture, the client side as well as the server side.
If you have a Google account I would offer the following two suggestions:
You could look into Google App Engine. It offers a nice application environment, at no cost for reasonable usage. You could even restrict access to the application by authenticating with a google account and filter on your friends.
An other option would be to create a questionnaire via Google docs. It will accumulate your friends answers into a spreadsheet which can be exported and processed offline via java.