As a result of several barnstorming sessions, the following ideas were accepted:

  • An android game, client – server
  • Update status on twitter and/or facebook
  • Login using twitter/facebook user accounts (using OAuth protocol)
  • Respond the questions using speech recognition
  • Internationalization : the questions are proposed in user’s native language, and are more relevant to the user’s location


Components:
  • server (application logic)
  • twitter / facebook
  • Internationalization (linguistic preferences)
  • Localisation
  • Speech recognition
  • Text to speech (using android voice generator)
  • Android UI (on the client side)
  • Distributed system for managing requests (?)
  • The application updates (status update) user’s twitter profile (if user chooses so) with his lattes trivia game results
  • The application updates (status update or post on the wall) user’s facebook profile (if user choose so) with his lattes trivia game results
  • The CIATRI users (the opponents) can chat with each other during the game (via twitter/facebook profile , or via build in the application chat)

Social data (Twitter/FAcebook):
We need some POC for the following operations:
  • Autentification of the user on Facebook/Twitter social network
  • Posting/Updating user status/messages
  • Get the user information from the social network : get the profile picture, location and the list of friends/followers


THE CIATRI GAME:
  • Game session
  • The game can have an infinite number of game sessions

Game session:
A session has limitations over time and question number
- Maximum number of minutes is X
- Maximum number of questions is Y
- The player can choose the number of questions ex. 5, 10, 15, 20, and will be put in a session with other players, who chose the same number of questions for the game session.
- The player can choose the number of opponents (1,2,3,4 or default).
/*
A session can also have a limited number of players.
A player can join a session at any moment, keeping the possibility of wining the current game.
*/
- Preparation time – each session has a preparation period (during this laps of time the player enters the session)
- Notification of standby – each player must confirm a “ready” status before entering the game

Questions:
- Each question has a short description
- Each question has one or many correct answers (for example: the question “an atomic element from water” , has two correct answers : hydrogen , oxygen)
- The answer will be in text mode, lowercase (the application will convert to lowercase the user’s response to ease the implementation)
- Each question has an answer time out
  • If no one gives the correct answers in the given time, nobody receives the scores.
  • Between any two questions is a relaxation period, during which, the correct answer is displayed on the screen, even if at least one player already gave the correct answer. If there is a player who gave the correct answer, his name is displayed (and eventually his session receives the scores) along with the correct response.

Player’s score in a session:
  • the player receives the scores for each correct answer in the session;
  • the player looses points for each wrong answer

Winner of a session
  • the winner is the player with the highest score in the session
  • if two (3,4) players have equal score , nobody wins

The answer
  • a player can answer a question as many times as he wants (possibility of flood?)
  • the player receives the scores if his response is correct and if he is the first to answer correctly


MAIN MENU
  • Display the facebook / twitter, username or real name
  • Display the username (resized) picture

Options:
  • Show overall ranking
  • Join game
  • About/How to play

Join game
  • Display the current session (when it started, maximum duration of the session, the number of remaining questions until the end of the session, (or how many questions remained to answer), the current ranking of the players)
  • Join the current session



Session menu (the user’s current session menu):
During the waiting time the player can
- see the current state of the opponent (if he already responded to the question)
- chat with opponents
During the answering period the player cam see
- The question
- The field where to input the response
- Time left to respond to the question
- Time to the end of the session


ANSWER using SPEECH RECOGNITION

User can respond by typing the answer or by using the speech
? Answering using the speech input eliminates the disadvantage to other players who can write quickly?

In case the speech recognition engine meets an ambiguity problem, the application displays the possible variants, from which the user can choose the one he really meant, or to reenter / respell the response



DISTRIBUTED SYSTEM

Because of the large number of operations, it might be useful to implement a distributed system

- is it really necessary (useful)?
- Synchronization problems?


P.S.
The application treats the flowing topics of interest proposed by Mozilla
"If we see both mobile/tablets and desktop/laptop together as a whole for people to build their daily online activities, how does that ecosystem would look like?"