Google Season of Docs 2024 Application

Google Season of Docs logo

MDAnalysis is applying for Google Season of Docs (GSoD) 2024. In this program, Google is sponsoring technical writers to work with open source projects in the area of documentation. Below is the project proposal we have submitted for this year’s program.

Consolidation and universal design of MDAnalysis resources for user learning

About your organization

MDAnalysis (current version 2.7.0, first released in January 2008) is an object-oriented Python library for temporal and structural analysis of molecular dynamics (MD) simulation data. MD simulations of biological molecules are an important tool for elucidating the relationship between molecular structure and physiological function. With thousands of users world-wide, MDAnalysis is one of the most popular packages for analyzing computer simulations of many-body systems at the molecular scale, spanning use cases from interactions of drugs with proteins to novel materials. As MDAnalysis can read and write simulation data in 30 coordinate file formats, it enables users to write portable code that is usable in virtually all biomolecular simulation communities. MDAnalysis forms the foundation of many other packages and is currently used by more than 20 data visualization, analysis, and molecular modeling tools. All MDAnalysis code and teaching materials are available under open source licenses, and the library itself is published under the GNU General Public License, version 3 or any later version (GPLv3+).

About your project

Your project’s problem

MDAnalysis is currently the most-used Python library for the analysis of simulation data in the molecular sciences due to its high-quality code base, extensive learning materials, and thorough documentation, but there is a considerable amount of overlap between our existing learning resources that makes it difficult for self-learners to find the information they need. Further, we seek to develop installation and training materials guided by Universal Design for Learning (UDL) principles to ensure accessibility of our learning resources. We therefore propose a reorganization and consolidation of the main website and additional MDAnalysis learning resources to guide diverse users through a streamlined workflow.

Consolidating learning resources to remove duplication

MDAnalysis’s participation in Google Season of Docs (GSoD) 2019-2020 was a quantum leap for our project, as a technical writer created the User Guide with the Quick Start Guide, which have become the primary entry points for new users. The GSoD work also catalyzed development of tutorial and online workshop materials. Although these materials are publicly available under open source licenses and are valuable resources for users, there is substantial overlap between MDAnalysis’s learning resources (main website, User Guide, docs, GitHub wiki) (Figure 1). Specifically, MDAnalysis resources (1) are duplicated across multiple hubs of information, (2) are organized such that new users stumble across developer-focused content early on, and (3) contain outdated tutorials and examples corresponding to older versions of the library.

GSoD 2024 Figure 1
Figure 1: Map of current MDAnalysis learning resources and how they link to each other. Blue boxes indicate main hubs of material that also link to other resources, while green boxes correspond to simple resources. Resources inside gray boxes could be deprecated and their contents moved to other sites, if they are not already duplicated elsewhere.

Universal design of installation training materials

We also expect that improving user experience with MDAnalysis learning resources will lower the barriers to adoption of MDAnalysis. MDAnalysis has run a number of workshops and created tutorials aimed at different audiences to get to know the package better. Materials include lecture slides and Python notebooks that demonstrate working code (e.g., materials from an online introductory workshop held in October 2023). This content provides a valuable resource to users – and much of it can be executed through Google Colab – but is most valuable to workshop participants and self-learners when they are able to set up a Python environment to run training materials on their own machines. MDAnalysis provides text-based installation instructions, makes workshop materials publicly available, and encourages workshop participants to inform us of measures we can take to lower barriers to their participation. Implementing universal design of additional audiovisual resources about installing and using MDAnalysis could make MDanalysis training materials more accessible to all, enhancing workshop participation and maximizing the asynchronous value of MDAnalysis’s learning resources.

Your project’s scope

Through this project, we propose a cleanup of the main website and additional MDAnalysis learning resources to guide users through a streamlined workflow (Figure 2). The main body of each site (main website, User Guide, docs) would guide the user through the user process by limiting available choices and allowing quick jumping between the main hubs of information. In addition, this project will involve enhancing MDAnalysis learning resources following UDL guidelines.

GSoD 2024 Figure 2
Figure 2: Proposed flow of MDAnalysis learning resources to ease user navigation.

In particular, the MDAnalysis project will:

Measuring your project’s success

We will measure the success of our project according to the following metrics:

Timeline

We estimate that this work will take approximately 280 hours to complete. Once a technical writer is contracted, we will spend a month on tech writer orientation and identification of outdated material, then move onto the integration and updating of existing materials, as well as the enhancement of learning resources according to UDL guidelines. The contracted technical writer will have the flexibility to decide how to allocate the contract hours, either part-time or full-time, with the commitment to conclude the project within 6 months. The project timeline can be adapted to account for scheduling constraints of the hired writer.

Dates Action Items
June Orientation, identify outdated material, and define the primary roles of the main website, User Guide, docs, and GitHub wiki.
July Integrate existing documentation from API docs into User Guide and remove duplication between main website, User Guide, and docs.
August Merge installation instructions from main website, User Guide, docs, and GitHub wiki. Remove old tutorials, old examples, and deadlinks, and expand tests to identify outdated material.
September Add links to point workshop materials and tutorials to the User Guide where possible.
October Audit existing installation instructions/learning materials and revise and/or create new materials according to UDL guidelines
November Continuation of ongoing work and project completion

Project budget

The majority of the proposed budget is needed to support the substantial technical writer time required for this project. The project is set to affect multiple repositories and involves general restructuring of many resources, thus we anticipate a high level of involvement from the core developer team. Three MDAnalysis core developers – Dr. Micaela Matta (@micaela-matta), Prof. Oliver Beckstein (@orbeckst), and Dr. Lily Wang (@lilyminium) – and an emeritus core developer – Dr. Irfan Alibay (@IAlibay) – will be responsible for reviewing pull requests, assisting with site search and indexing tasks, mentoring the technical writer, and providing other necessary support to the GSoD program. The MDAnalysis program, community, and outreach manager, Dr. Jenna Swarthout Goddard (@jennaswa), will manage the logistics for recruiting the technical writer and will serve as the organization administrator for the GSoD program.

Budget Item Amount Running Total Notes/Justification
Technical writer time $9,800 $9,800 280 hours (at a rate of $35/hour)
Mentor stipends $2,000 $11,800 4 volunteer stipends at $500 each
Swag $200 $12,000 T-shirts, stickers, etc.
TOTAL   $12,000  

Additional information

Previous experience with technical writers or documentation

MDAnalysis previously worked with a technical writer through the GSoD 2019-2020 program. The technical writer, @lilyminium (MDAnalysis core developer since 2020), not only updated the User Guide, but also improved overall document appearance, fixed inconsistencies between materials, contributed code to the MDAnalysis library, and supported users. As @lilyminium was herself an MDAnalysis user, she was incredibly successful at independently generating new content and interacting with users to identify ongoing needs in the existing documentation. In addition, @pgbarletta has been working with the project since September 2022 on a NumFOCUS Small Development Grant aimed at improving and restructuring tutorial materials for future MDAnalysis workshops. As a newcomer to the project, he was quickly able to identify gaps and redundancies in the user guide and overall online documentation. His proposed improvements and modifications form the core of this GSoD proposal.

Previous participation in Google Season of Docs, Google Summer of Code or others

In addition to participation in GSoD 2019-2020 as described above, MDAnalysis has mentored 13 students through Google Summer of Code (GSoC) since 2016 (1-3 students annually) and 1 student through Outreachy 2022. Together, these initiatives have provided mentorship and support to early-stage open source developers, as well as encouraged progress on important issues and attracted long-term contributors. Several past GSoD, GSoC, and Outreachy participants are now core developers or ongoing contributors to the MDAnalysis library. In fact, 10 participants mentored through GSoD, GSoC, and Outreachy remain involved with the MDAnalysis project, with 4 of them serving as core developers and an additional 2 volunteering as mentors in this year’s GSoC program. Furthermore, MDAnalysis was awarded two Chan Zuckerberg Initiative (CZI) Essential Open Source Software for Science (EOSS) (rounds 4 and 5) grants. CZI EOSS4 has resulted in the establishment of the MDAKits, an ecosystem of downstream packages contributed by users of the main library. CZI EOSS5 enabled MDAnalysis to hire a dedicated project manager (Dr. Swarthout Goddard) to enhance the scope of MDAnalysis’s outreach, mentoring, and dissemination efforts. Dr. Swarthout Goddard will be providing administrative support throughout GSoD.