Tag Archives: project building

Zooniverse New Functionality: Organizations

We recently deployed new functionality on the Zooniverse platform supporting ‘Organizations’; the ability to have a single landing page for multiple projects.

Screen Shot 2019-06-13 at 3.56.42 PM

The above screenshot of the Snapshot Safari Organization illustrates the look and feel of an Organization landing page. The page provides a brief overview, information about the team leading the effort, and quick access to the 8+ related projects (e.g., Snapshot Serengeti, Snapshot De Hoop, etc.). The page also displays a few aggregated statistics across the projects: total number of projects within the Organization, total number of subjects, total number of classifications, and the total number of completed subjects. In 2020 we’ll provide a page linked to each Organization with more complete listing of its projects’ statistics, mirroring the information available through each individual project’s statistics page (e.g., https://www.zooniverse.org/projects/shuebner729/snapshot-de-hoop/stats).

Screen Shot 2019-06-13 at 3.59.42 PM

The above screenshot of the Notes from Nature Organization landing page illustrates an additional ‘filter’ functionality that some Organizations will find useful. By clicking on the ‘Plants’, ‘Bug’, etc. buttons, you can filter down to just projects tagged with those keywords.

Screen Shot 2019-06-13 at 4.03.01 PM

https://lab.zooniverse.org provides access to the editor interface for building Projects and building Organizations.

Screen Shot 2019-06-13 at 4.06.21 PM

Within the Organization Editor Interface, the Organization owner and their collaborators can upload text and image content and link Projects to their Organization.

Which projects can be linked into an Organization?

  • You can only link projects for which you’re an owner or collaborator.
  • Only ‘launch approved’ projects will appear in the public view of your Organization landing page.
  • When linking a project to your Organization, the interface indicates whether that project is ‘launch approved’ or not.
  • As an Organization owner or collaborator, you can link a project to your Organization that isn’t yet launch approved and you can see how that project will look in your Organization landing page. By clicking on ‘volunteer’ view, you will then see only the ‘launch approved’ projects (i.e., the public view). This was put in place as a way for owners and collaborators to ‘preview’ a new project under development within a live Organizing landing page.

Once you are ready for your Organization landing page to be a publicly accessible URL, send an email to contact@zooniverse.org for the Zooniverse team to review and list it as public. We have slated development time in 2020 to add a new component within https://www.zooniverse.org/projects/ listing all live Organizations.

If you have questions about setting up an Organization, please post within the ‘Building an Organization’ thread within the ‘Project Building’ Discussion Forum (https://www.zooniverse.org/talk/18).

Top ten tips – writing a great Zooniverse tutorial

How to build a Zooniverse Project

Top ten tips for writing a great Zooniverse tutorial

 

  1. Don’t reinvent the wheel

Before you get started, take some inspiration from the excellent tutorials of these Zooniverse projects:

https://www.zooniverse.org/projects/lawildlife/wildlife-of-los-angeles/classify

https://www.zooniverse.org/projects/zhcreech/castaway/classify

https://www.zooniverse.org/projects/yli/humbug/classify

 

  1. Introduce your project

On the first step of your tutorial include a sentence or two to welcome volunteers, describe the broad context of your project and its research goals, and give a brief overview of the task.

 

  1. Describe the task

On the following steps, explain how the task should be completed. If there are particularly common challenges associated with task completion, include a step to describe these. Add less common issues to the Field Guide, FAQs and Talk, but make sure to mention any additional resources in the tutorial (note, the last step of your tutorial is a good place to put this information!). If your project has multiple workflows with different tasks, create a different tutorial for each.

 

  1. Include descriptive titles

Add a brief title as a header to each step to succinctly summarize what part of the task is being described. Check out HumBug (https://www.zooniverse.org/projects/yli/humbug/classify) and Wildlife of Los Angeles (https://www.zooniverse.org/projects/lawildlife/wildlife-of-los-angeles) for good examples of how to use descriptive titles.

 

  1. Short is sweet

A very long and wordy tutorial can make simple tasks appear more complicated than they actually are, which can discourage further participation in your project. Keep both the number of steps and the word count for each step as low as you can, while sufficiently describing the task. Reducing the number of instructions per step can make your tutorial more readable.

 

  1. The power of pictures

Use clear and high quality images to communicate the task (but try to avoid file sizes over 256 kb). Ideally, have one image per step (to avoid the need for lots of scrolling) and keep the formatting of these as consistent as you can (size, resolution etc.).

Clear and simple annotation of tutorial images (inclusion of text, arrows, circles etc.) is a powerful way to communicate complicated tasks, but please ensure your tutorial remains understandable with a screen reader so that your project is accessible to our visually impaired community.

Finally, don’t forget that it’s possible to use videos in tutorials.Take a look at the tutorials of Solar Stormwatch II (https://www.zooniverse.org/projects/shannon-/solar-stormwatch-ii/classify) or Milky Way Project (https://www.zooniverse.org/projects/povich/milky-way-project/classify) for examples of how videos can be used.

 

  1. Sparingly embolden

Use bold to draw attention to the key terms or requirements on each step.

 

  1. Assess readability

Your tutorial should be as accessible and understandable as possible. Avoid jargon and use common language conventions. You can assess the readability of your tutorial here https://datayze.com/readability-analyzer.php. We recommend aiming for an 8th grade reading level or below.

 

  1. Proof-read

No one licks a typo.

 

  1. Finally, mind your Ps and Qs

Most importantly, in your final step make sure you thank volunteers for their effort on your project!

 


 

You can read more about Zooniverse tutorial design in this publication from Holly Rosser and Andrea Wiggins.

 

Panoptes Client for Python 1.1

I’ve just released version 1.1 of the Panoptes Client for Python. The changelog has a full list of what’s new, but there are a few things I wanted to highlight, the first two of which will make it substantially faster to create new subjects:

  • Multithreaded media uploads – the client will automatically use several threads to upload media when you first save a new subject. So, for example, if you create a subject which has three images they will all upload simultaneously (up to five simultaneous uploads, then it will queue them).
  • Multithreaded subject creation – you can also simultaneously create the subjects themselves. That means if you’re creating, say, a thousand subjects, the client can queue them all and create up to five of them simultaneously. This works in conjunction with the media uploads, using one combined queue for the subject creation and the media uploads, to avoid overloading the network and to make sure the subject creation doesn’t get too far ahead of the uploads. This one isn’t automatic – you’ll need to create your subjects with the new SubjectSet.async_saves() context manager to take advantage of it.
  • Retries for all GET requests – we’re quite proud of how reliable the Zooniverse platform is, but sometimes server-side errors do happen. The client will now automatically retry all GET requests (i.e. the ones that don’t modify any data) if an error occurs, improving reliability.
  • Retries for batch linking operations – similar to above, the client will retry any add/remove operations via the new LinkCollection class, which handles linking groups of objects (i.e. subjects to a subject set, subjects to a collection, etc.). This means you should see far fewer failures when linking thousands of subjects to a subject set, for example.
  • Context manager for multiple connections – the Panoptes class can now act as a context manager, providing a safe way to perform operations as multiple users (for example, in a web app).

You can install the update by running pip install -U panoptes-client. Any bugs or issues should be raised via GitHub.

Panoptes Client for Python 1.0.3

Hot on the heels of last week’s update, I’ve just released version 1.0.3 of the Python Panoptes Client, which fixes a bug introduced in the previous release. If you encounter a TypeError when you try to create subjects, please update to this new version and that should fix it.

This release also updates the default client ID that is used to identify the client to the Panoptes API. This is to ensure that each of our API clients is using a unique ID.

As before, you can install the update by running pip install -U panoptes-client.

Panoptes CLI 1.0.1 and Panoptes Client for Python 1.0.1

We’ve recently released updates for the Panoptes command-line interface and the Panoptes Client module for Python containing a few bug fixes.

From the changelog for Panoptes Client:

  • Fix: Exports are not automatically decompressed on download
  • Fix: Unable to save a Workflow
  • Fix: Fix typo in documentation for Classification
  • Fix: Fix saving objects initialised from object links

And from the CLI:

  • Fix: Modifying projects makes them private

You can install the updates by running pip install -U panoptescli and pip install -U panoptes-client.

Panoptes CLI 1.0, a command-line interface for managing projects

Following on from the release of Panoptes Client 1.0 for Python, we’ve just released version 1.0 of the Panoptes CLI. This is a command-line client for managing your projects, because some things are just easier in a terminal! The CLI lets you do common project management tasks, such as activating workflows, linking subject sets, downloading data exports, and uploading subjects. Let’s jump in with a few examples.

First, downloading a classification export (obviously you’d insert your own project ID and a filename of your choice):

panoptes project download 764 Downloads/pulsar-hunters-classifications.csv

cli-classification-download.gif

This command will optionally generate a new export and wait for it to be ready before downloading. No more waiting for the notification email!

New subjects can be uploaded to a new subject set like so (again, inserting your own IDs):

panoptes subject-set create 7 "November 2017 subjects"
panoptes subject-set upload-subjects 16401 manifest.csv

cli-subject-upload.gif

You can also pipe the output from the CLI into other standard commands to do more powerful things, such as linking every subject set in your project to a workflow using the xargs command (where 1234 and 5678 are your project ID and workflow ID respectively):

panoptes subject-set ls -q -p 1234 | xargs panoptes workflow add-suject-sets 5678

Visit GitHub to get started with the CLI today!