Skip to content

Google Season of Docs 2022 Case Study

Yixing Lao edited this page Nov 29, 2022 · 12 revisions

Open3D Google Season of Docs (GSoD) 2022 Case Study (Final Reports)

(We have submitted this page's URL to Google. Do not change the tile of this page. Otherwise, the URL will be changed.)

Organization or Project

Update Open3D API Docs and Examples - Open3D

Organization Description

Open3D is an open-source library that supports rapid software developments with 3D data. Core features of Open3D include 3D data structures, 3D data processing algorithms, scene reconstruction, surface alignment, 3D visualization, physically based rendering (PBR), 3D machine learning support with PyTorch and TensorFlow, GPU acceleration for core 3D operations, and more.

The Open3D frontend exposes a set of carefully selected data structures and algorithms in both C++ and Python. The backend is highly optimized and is set up for parallelization. Open3D is developed from a clean slate with a small and carefully considered set of dependencies. It can be set up on different platforms and compiled from source with minimal effort. The code is clean, consistently styled, and maintained via a clear code review mechanism.

With 2.5M+ Python downloads in 2021, Open3D is vastly popular among engineers and researchers worldwide working on 3D computer vision, computer graphics, 3D visualization, and more. We welcome contributions from the open-source community. By contributing to Open3D's Google Season of Docs 2022 projects, you will make an impact on one of the most vibrant 3D computer vision communities. Problem Statement/Proposal Abstract Open3D's functionalities are growing rapidly. Recently we have added tensor-based geometry classes and algorithms, CUDA acceleration, new visualizer capabilities, and more. However, some of the documentation is missing or is not up-to-date. Based on the GitHub issues that we received, users find it confusing to switch between the new and old APIs, and users asked "how to do X with Open3D" questions.

Project Description

Creating the proposal

The Open3D team came up with the project proposal based on the project's needs and community feedbacks. Open3D is undergoing a rapid development phase towards the 1.0 release, where it will feature brand new tensor-based geometry classes and algorithms, CUDA acceleration, new visualizer capabilities, and more. The documentation of these tensor-based APIs is largely missing from the current documentation page. In addition, the community has also raised multiple requests on GitHub and Discord for adding these documents for Open3D 1.0. In addition, documentation for "how-to-do X with Open3D" has also been a popular request for the community.

Budget

All our budgets go to the technical writers. We estimate our budgets based on the stipends for the technical writers. In particular, each technical writer will receive 6,000 USD. We originally also planned to give thank-you gifts to the technical writers for 100 USD. The total budget is 6,000 x 2 + 100 = 12,100 USD. Due to shipping limitations, we later decided to convert the thank-you gifts directly to cash and send them to the technical writer.

Participants

Technical writers: We are glad to have Yueci Deng and Asapanna Rakesh joining us as technical writers.

Mentors: On the Open3D team side, Yixing Lao and Sameer Sheorey serve as the mentors for the project.

Communication: The technical writers and the mentors communicated closely via weekly meetings, Discord, and GitHub comments/reviews. In particular, we integrated the technical writers in the full Open3D team meetings to give everyone more context about the future directions of the project.

Contributions:

  • Yueci did an excellent job, submitted multiple pull requests, and made significant contributions to the Open3D project.
  • Unofortunately, Asapanna was not able to continue and dropped out of the project due to personal reasons.

Timeline

Give a short overview of the timeline of your project (indicate estimated end date or intermediate milestones if project is ongoing).

Results

What was created, updated, or otherwise changed? Include links to published documentation if available. Were there any deliverables in the proposal that did not get created? List those as well.

Metrics

What metrics did you choose to measure the success of the project? Were you able to collect those metrics? Did the metrics correlate well or poorly with the outcomes you wanted for the project? Did your metrics change since your proposal?

Analysis

What went well? What was unexpected? What hurdles or setbacks did you face? Do you consider your project successful? Why or why not? (If it's too early to tell, explain when you expect to be able to judge the success of your project.)

Summary

In 2-4 paragraphs, summarize your project experience. Highlight what you learned, and what you would choose to do differently in the future. What advice would you give to other projects trying to solve a similar problem with the documentation?

Appendix

If you have other materials you'd like to link to (for example, if you created a contract for working with your technical writer that you'd like to share, templates for your documentation project, or other open documentation resources, you can list and link them here). The Appendix is also a good place to list links to any documentation tools or resources you used or a place to add thanks or acknowledgments that might not fit into the sections above.

Acknowledgments