Como is a platform for playing, creating, and managing "Games with a Purpose" (GWAPs).

Como
A GWAP Platform
PlatformsWeb · Android · iOS (coming soon)
Source CodeFrontend · Backend
Track EditsWikidata · 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?

edit

Here 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:

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

edit

Call actions to edit projects directly (on Wikimedia the players Wikimedia account will be used.

Wikibase REST API

edit

The full API documentation here. Some examples:

Action API

edit

The 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

edit
 
Logo of OpenRefine

To 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

edit

Used 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

edit

Suggest features and report bugs here.

edit

See Also

edit