OCaml.org Newsletter: May 2023

Welcome to the May 2023 edition of the OCaml.org newsletter! As with the previous update, this has been compiled by @sabine and @tmattio.

The OCaml.org newsletter provides an overview of changes on the OCaml.org website and gives you a glimpse into what has been going on behind the scenes. You can find a list of previous issues here.

Our goal is to make OCaml.org the best resource for anyone who wants to get started and be productive in OCaml. We couldn’t do it without all the amazing OCaml community members who help us review, revise, and create better OCaml documentation. Your feedback enables us to better prioritise our work and make progress towards our goal. Thank you!

We present the work we’ve been doing this month in three sections:

  • Learn area: We’re working towards making OCaml.org a great resource to learn OCaml and discover its ecosystem. This month, we worked on the first wireframes of the new Learn section, and we published a couple of new documentation pages.
  • Package documentation search: In-package search is now available for every package on OCaml.org! We released the first, minimal version of the feature and will continue to improve it in the coming months.
  • General Improvements: We also worked on general maintenance and improvements. We’ll highlight some of them in this newsletter.

Learn Area

1. Redesign of the Learn Area

As part of our effort to make OCaml.org a great resource to learn OCaml, we published a survey to conduct user research in April. We received tons of insightful feedback. This month, we analysed all the results we got (57 answers!) and we conducted user interviews with those who volunteered to be interviewed.

As a follow-up to the user survey conducted last month, we posted a summary for the Learn area survey.

After we analysed the interview data, created user insight cards, and went through all the resources recommended by the survey responses, we prioritised tasks and began creating wireframes for the Learn section. The work-in-progress wireframes are accessible on Figma.

In June, we’ll start gathering user feedback on the wireframes and eventually start creating designs for the new Learn pages.

2. OCaml Documentation

We completed the Sequences and Error Handling tutorials. The Install page went live, and improvements were made to the First Day tutorial.

Asking the community to help review the initial versions of the new documentation page has been successful, so we’re planning on opening more Discuss posts for pages that are ready to review in the coming months.

We’re deeply grateful to all the contributors who helped review the documentation, either by sharing insights on Discuss or participating in the PR review on GitHub. This is exactly how we envisioned the effort on creating the new OCaml.org Documentation, so we’re appreciative of everyone who engaged to make this a community initiative!

Relevant PRs and Activities:

In-Package Documentation Search

In April, we started working on building an in-package search feature for OCaml packages on OCaml.org. We continued this effort through May, and we released the feature at the end of the month. In-package search is now accessible for every package on OCaml.org! :tada:

Note that this is the first, minimal version of the feature. We’re planning many improvements in the coming months, especially as the odoc team is currently working on adding search capabilities to odoc.

Relevant PRs and Activities:

General Improvements

We approved and merged numerous changes, including serving OCaml.org’s static assets under cache-busting URLs, refactorings for better code health, and scraping OCaml Planet feeds individually. A big thank you to the contributors!

We initiated work on a design system for OCaml.org, emphasising buttons, dropdowns, and typography. As part of this work, we invested time researching potential improvements to our CSS, including a potential migration from Tailwind to UnoCSS for better custom rules support. We opened an issue with UnoCSS to explore options for a standalone CLI and have begun to create Dream components for UI elements that occur repeatedly.

We began working on adding tags to facilitate blog search and added several RSS feeds from the old OCaml Planet to the OCaml blog. As a consequence, we had to address issues relating to these new RSS sources.

Relevant PRs and Activities:

12 Likes