Como
Como is a platform for playing, creating, and managing "Games with a Purpose" (GWAPs).
Como | |
A GWAP Platform | |
---|---|
Platforms | Web · Android · iOS (coming soon) |
Source Code | Frontend · Backend |
Track Edits | Wikidata · Commons |
Select a game and play it on the platform of your choice:
If you want to create your own game, Como does provide a simple, modular system to create quizzes with prompts and answer options, you only need to supply a CSV-Table with your suggestions. Additionally you can trigger actions on other platforms with multiple supported APIs.
Features
edit- Mobile apps (iOS coming soon) and adaptive design built with Flutter
- Code-free game creation using CSV files
- API calls with OAuth integration (Wikimedia and other platforms)
- Result downloads (as tables) and multilingual support
- Playable without an account (optional)
- Private games for better audience selection
- Hosted on Wikimedia Toolforge
How to Create New Games?
editHere are some examples. The game creation form includes the following elements:
Name
edit- The name's slug must be unique.
Short Description
edit- Displayed in multiple locations.
Long Description
edit- Displayed only on the details page.
- Contains clickable http/s links.
- Should include information about:
- The origin of the data.
- Actions executed on the data.
Question
edit- Displayed on each prompt.
- Can include placeholders.
- Can be formatted with "?" or "!".
- Can reference either custom prompt labels or the default labels ("A", "B", "C").
List Publicly
edit- If "no" is selected, games will not appear in the game list or on the main page.
- Games can still be shared using their URL.
Prompt Type
edit- Determines how prompts are composed, affecting which columns are read from the input data.
- Text prompts require columns named "text1", "text2", etc., with an optional link parameter ("link1", "link2") that turns the text blue.
- Image prompts need an "image" + number column with a direct URL to an image.
- Available prompt formats include:
- Two Texts
- Three Texts
- Four Texts
- One Text, One Image
Prompt Labels
edit- A JSON-formatted string array, for example:
["Item", "DE description"]
- Displayed next to items in the game interface to facilitate understanding of the question.
- If unspecified, default prompt labels "A", "B", "C", etc., are used.
Response Type
edit- Yes/No/Skip
- Three buttons; action executed with each green button press.
- Editable Text
- Adds an editable text box.
- Includes a "response_text" placeholder in the Request Body of Actions containing the user-approved text version.
- Executes an action every time text is submitted.
- Single Choice
- Adds a list of selectable choices (up to 4)
- The number of the selected option is saved in the resulting table
- The data table needs columns with the names "option1" up to "option4"
- The options can also be a clickable link by supplying a "option1link"
Confidence Type
edit- Single Confirmation
- Available to both anonymous and Wikimedia Account users.
- Marked as done after a single evaluation.
- Single Confirmation (requires account)
- Requires a Wikimedia Account; marked as done after a single evaluation.
- Double Confirmation
- Available to both anonymous and Wikimedia Account users.
- Settled as the answer after evaluation by two users.
- Double Confirmation (requires account)
- Requires a Wikimedia Account; settled as the answer after evaluation by two users.
Action Type
edit- Actions will be executed by logged-in accounts (Maybe anonymous accounts will edit as a bot in the future)
- It's possible to include multiple requests per prompt
- Each possible request consists of three parts
- HTTP Method: One of POST, PUT, PATCH
- Request URL: An URL to run the action on (supports placeholders for Wikibase REST API)
- Request Body: A JSON Formatted Object (supports placeholders)
- There a three possible choices:
- None -> No Action
- Wikibase REST API
- Action API
Data
edit- Contains the actual data used in the game.
- Should be formatted as CSV text or a CSV file (comma-separated) in UTF-8.
Submitting
edit- You can check most of the advanced game settings by clicking on "Show Advanced Information" in the menu on the top right of a game
- Games need to be activated by an Admin to be playable at the moment
API Support
editCall actions to edit projects directly (on Wikimedia the players Wikimedia account will be used.
Wikibase REST API
editThe full API documentation here. Some examples:
- Example of an URL that edits Wikidata descriptions: https://www.wikidata.org/w/rest.php/wikibase/v0/entities/items/%custom_id%/descriptions/en
- Example of a Request Body to update descriptions with the result of a Editable Text response type:
{ "description": "%response_text%", "bot": false }
Action API
editThe full API documentation here. Some examples:
- Example of a Request URL that uses the Action API: https://commons.wikimedia.org/w/api.php (Doesn't support placeholders)
- Example of a Request Body to add descriptions to Structured Data on Commons (This is a cheat, the format is converted to url-encoded on the backend):
{ "action": "wbsetlabel", "format": "json", "bot": 1, "id": "%custom_id%", "value": "%response_text%", "language": "en" }
Integration with OpenRefine
editTo export a game with reconciliation information from OpenRefine, use the following code snippet in the "Edit Cells" dialog:
import json
resultSet = []
for cand in cell.recon.candidates:
resultDet = {"suggest_id": cand.id, "suggest_name": cand.name, "suggest_score": cand.score}
resultSet.append(resultDet)
return json.dumps(resultSet)
Here is some more information on how to extract different variables from OpenRefine.
Placeholders
editUsed in various parts of Como, namely the Question and Actions, referencing a column in the uploaded data with the notation "%variable1%".
Custom ID
edit- A special field in the uploaded data used to reference it later.
- Named "custom_id".
- Also usable as a placeholder.
- Included in the exported table.
Export Data
edit- Games can be exported from the details screen.
- The export includes a zipped CSV table containing only the fields used by Como and special fields like "custom_id".
Planned Features
edit- Enhanced gamification features such as score visibility.
- Improved support for images.
- Introduction of fun default games like image description checking and translation tasks.
Get Involved
editSuggest features and report bugs here.