The technical background
How this application works:
There is a server and a client component that you need to get this application running for a conference or a BarCamp.
Server:
As server we are currently using an Apache Tomcat 6 that is equipped with a servlet to receive the data from the client. For the data storage we use a MySQL-linked database, which stores the conference rooms and access points. The server has a web interface to enter these conferences, rooms, the access points and to manage and/or register and users/visitors (in case that the conference is not open to everyone).
The server component also knows which access points belong to which rooms. The client always sends the ID of the strongest access point to the server. Thus we can be 90% sure in which room is the client is located.
Client:
The client is currently a Java application on the Android operating system. Over the Wi-Fi signal strength and access point IDs the client can be detected. The user then receives a list of users located in the same room, provided that
- they also have this application installed and in use and
- they have registered themself as visible.
Of course each user can decide at any time to set his/herself to invisible and therefore not to show up in the lists of the other users.
For fast data transfer, we use JSON, since this format has less overhead. This is always important on mobile devices.
Other Platforms:
Porting the client to other platforms like iPhone and Windows Mobile for example is imaginable at a later date.
Also, the server component and the database can be exchanged later.
Do you have more or better ideas that this application could bear? Then leave us a comment on our comment-page. We consider every tip to improve our app for you!
