timhutton / geofun

Exploring location-based fun
2 stars 0 forks source link

Change landing page #23

Closed timhutton closed 7 years ago

timhutton commented 7 years ago

Root URL should be warnings, username choice and a list of games.

rawles commented 7 years ago

Agreed. I think each game should have its own webservice endpoint named after the game to be played, like findtheothers/ or pacman/ or whatever. This might require refactoring of the client code so that each game is in its own little file, but we can get around that in the short term by telling the server to rewrite the URL to convey to the index.html file that some particular game is being played.

rawles commented 7 years ago

By the way, our current mechanism of using the query string to specify the username (?fred) can be used by an HTML static form in the root URL, though it would appear as (for example) ?username=fred if we did it this way.

timhutton commented 7 years ago

From a discussion with @rawles just now we thought of dividing the landing page into different levels of potential data risk. Just as a sketch:

Level 0 - White: Games where you don't send anything to the server. Example: Maybe you just want to see where people are. (The other people would have to be playing games that are Level 3 or over.) No risk to you.

Level 1 - Green: Games where you send your location to the server without a username, and the server gives a response that doesn't include anyone's location and can't be used to locate you. Example: Tile Painting (#2).

Level 2 - Yellow: Games where you send your location to the server without a username, and the server gives a response that doesn't include anyone's location but could be used to cause humans to meet in the real world if the players act in the expected ways. Example: Hunt the Centroid (#25), where the server only returns an approximate centroid of the recent locations of the players.

Level 3 - Yellow-Orange: Games where you send your location to the server without a username, and the server sends a stream of locations back to you. So you could see people-dots on the map but the server doesn't know who they are. Expiry time on user location would have to be small else there would be too much data. Example: Manual Hunt the Centroid where you try to meet up, and its nice to see where the others are.

Level 4 - Orange: Games where you send your location with a username, but the server only sends you locations of people without their usernames. Now the server can delete the old entries for each player, and the expiry time can be greater. Only games in this category and higher even ask for a username. Example: Snake (#27) where the username is required in order to connect the right dots.

Level 5 - Red: Games where you send your location with a username, and the server sends you locations and usernames of the other players. (Red is probably too strong a color, since even here there is almost no data risk - we still won't connect IP addresses to usernames.)

timhutton commented 7 years ago

There's another set of possibilities where we require authentication (e.g. OAuth?) and only share location with known friends. That removes the risk of meeting strangers so would make the platform useful for kids.

timhutton commented 7 years ago

I'm not even sure of the ordering here - it might be considered more risky to play Hunt the Centroid without knowing who the other players are. Like, they could be anyone.

timhutton commented 7 years ago

Have updated the landing page with some discussion of what is sent to the server and what is logged.