PyBossa is an open source platform that allows you to create web microtasking projects where volunteers could participate using their own web browsers.
PyBossa has two main components:
Note
PyBossa provides a RESTful API that will give you access to some of the Domain Model objects.
The PyBossa server is a Python web application that manages tasks for web projects delivering them to users using a simple RESTful API.
The Citizen Cyberscience Centre and the Open Knowledge Foundation provide the server CrowdCrafting.org so if you want, you can start directly using this service without any cost, or if you prefer Install your own PyBossa server yourself.
The following diagram gives an overview of how a (Py)Bossa system functions:
PyBossa itself implements the section marked ‘Bossa Core’ and provides a platform on which Tasks can be created by Task Creators and from which Tasks can be accessed by Task Presenters (and on which certain types of Task Presenters can directly run). Full documentation of the API provided by PyBossa and which Task Creator and Task Presenters can use is to be found in RESTful API.
A PyBossa project is an HTML page with some JavaScript that will load a task from a PyBossa server and present it to the volunteer and ask the user to, for instance, classify an image, transcribe a hand written document, etc.
A PyBossa project has two main components:
Projects can be easily created using two approaches:
The Web Interface is a nice start point to learn a bit more about the PyBossa architecture and how you can develop a simple project in a really short time, while the RESTful API will give you more options in terms of flexibility at the cost of writing your own Task Creator.
Note
It is possible to create the project using the web interface, and then work locally in your computer developing the Task Presenter and Creator.
Task Creators are responsible for the creation of Tasks (and related entites – Apps, etc) in PyBossa. As such they will usually operate entirely outside of PyBossa itself interacting with PyBossa via the API.
The PyBossa project provides several PyBossa project templates that can be re-used for creating a new project really easily:
The template projects provide the:
We recommend you to read the Project Tutorial as it gives a step by step guide about how you can create a project, write the Task Creator and Presenter from scratch using the Flickr Person Finder template project.
Task presenters are responsible for presenting tasks to user in an appropriate user interface. For example, if a task involves classifying an image then a Task Presenter could be an html page into which the image has been inserted along with a form where the user can submit the response (the Task Presenter would also take care of submitting that response back to the PyBossa server via an API call).
Task Presenters can be written in any language and run anywhere as long as they can communicate with the PyBossa server via its API.
However, Task Presenters that wish to run as part of a PyBossa instance must be written in HTML and JavaScript. In addition, Task Presenters running on as part of a PyBossa instance will have available some additional information such as the id of the current logged in user performing the task.
The PyBossa framework provides several template projects that can be re-used to create your own project:
The template projects provide the:
We recommend you to read the Project Tutorial as it gives a step by step guide about how you can create a project, write the Task Creator and Presenter from scratch using the Flickr Person Finder template project.