Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update docs with guides and tutorials for blueprint #5641

Merged
merged 16 commits into from
Apr 2, 2024
Merged

Conversation

jleibs
Copy link
Member

@jleibs jleibs commented Mar 22, 2024

What

Checklist

  • I have read and agree to Contributor Guide and the Code of Conduct
  • I've included a screenshot or gif (if applicable)
  • I have tested the web demo (if applicable):
  • The PR title and labels are set such as to maximize their usefulness for the next release's CHANGELOG
  • If applicable, add a new check to the release checklist!

@jleibs jleibs added 📖 documentation Improvements or additions to documentation 🟦 blueprint The data that defines our UI labels Mar 22, 2024
@jleibs jleibs added this to the 0.15 milestone Mar 22, 2024
Copy link

Size changes

Name main 5641/merge Change
rrt-star.rrd 29.44 MiB 3.52 MiB -88.04%

@jleibs jleibs force-pushed the jleibs/blueprint_docs branch from 6cfe1e8 to dba9802 Compare March 28, 2024 20:03
@jleibs jleibs force-pushed the jleibs/blueprint_docs branch from dba9802 to 315a488 Compare March 29, 2024 21:08
@jleibs jleibs changed the title Very WIP blueprint docs Update docs with guides and tutorials for blueprint Mar 29, 2024
@jleibs jleibs marked this pull request as ready for review April 1, 2024 16:22
Copy link
Member

@nikolausWest nikolausWest left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are some things I suggest fixing before merging but in general I think the content itself looks good. There are some bigger things I think we should address before the release but I'd be for a liberal approach to merging and then iterating rather than letting PRs linger too long.

There bigger things for me are:

High level organization

I'm not sure about the high level organization, i.e. what goes where. We originally set out to use the approach from https://documentation.divio.com/ with four types of documentation (tutorials, how-to guides, explanation, reference) but may have lost our way a bit over time.

Some pages feel quite long, which tends to make them harder to maintain. I wonder if that is because they are serving multiple purposes (e.g. both reference and how-to guide).

Missing pages

Reading through these pages it becomes clear we also a couple more pages such as:

  • A reference page on available space views and visualizers
  • A page about the conceptual model of "space views are deterministic views on data" -> "blueprint sets layout & local data transform". Should be placed under concepts and might be called something like "Blueprint and visualizers".
  • A page about the heuristics
  • A page about the execution model of the viewer (on each frame, query the blueprint database for what to draw, start drawing, where needed query the recording, etc)
  • Probably most important, an overview page that orients the reader about how the pieces fit together (diagrams galore)

Related: we also need a blueprint section as part of the quick start guides.

Lacking context

These pages still mostly open assuming that the reader has the correct big picture concepts about what Rerun is in their mind, which is unlikely to be true for newcomers. There might be some reusable diagrams + orienting text snippet that we could sprinkle around to help new readers orient themselves.

Comment on lines +6 to +7
Although the Rerun Viewer tries to do a reasonable job of using heuristics to automatically determine
an appropriate layout given the data that you provide, there will always be situations where the heuristic
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Have we established anywhere that heuristics run to automatically to determine an appropriate layout? This feels like a non obvious concept to start with and if we don't cover it elsewhere, perhaps it should be introduced here and even needs a page under "Configure the viewer"?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What would go on that page other than the same statement made here: "the Rerun Viewer tries to do a reasonable job of using heuristics to automatically determine an appropriate layout given the data that you provide "

docs/content/howto/configure-the-viewer/blueprint-apis.md Outdated Show resolved Hide resolved
docs/content/howto/configure-the-viewer/blueprint-apis.md Outdated Show resolved Hide resolved
docs/content/howto/configure-the-viewer/blueprint-apis.md Outdated Show resolved Hide resolved
docs/content/howto/configure-the-viewer/blueprint-apis.md Outdated Show resolved Hide resolved
docs/content/howto/configure-the-viewer/blueprint-apis.md Outdated Show resolved Hide resolved
docs/content/howto/configure-the-viewer/rbl-files.md Outdated Show resolved Hide resolved
@@ -0,0 +1,389 @@
---
title: Blueprint API Tutorial
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure about this title and if it goes in the "How to Guide" section. We currently have the other tutorials under getting started so that might be a better place for this (closest analogy seems like the Logging data in Python/Rust/C++). Given that, the title should probably be something in the style of:

Suggested change
title: Blueprint API Tutorial
title: Controlling the viewer from code (Blueprint API)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

that's a mouthful for the nav-bar

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should be careful about overly conflating the nav-bar organization and the names for the types of pages we create. The divio model doesn't dictate that we must organize the nav-bar exclusively by type of document.

This seems like too much to be a part of getting-started. And likewise, getting started is more than just tutorials.

docs/content/reference/entity-queries.md Outdated Show resolved Hide resolved

After editing the viewer you may want to [save or share the blueprint](./rbl-files.md).

## Configuring Layout and Contents
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This section starts to feel a bit like a reference which makes me wonder if the "How to Guides" section is the right place for this page at all. Also slightly worried this will be hard to keep up to date but perhaps it's hard to get around.

One suggestion would be to do something like list the things you can do and have a video showing a couple examples. Alternatively we could add a PR checkbox to update these videos on major UI updates or something like that.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, I'm generally against videos for that reason... they are going to rot. Those of us on linux aren't even positioned to produce the content or keep it up-to-date since we can't do video screencaps in the same style as the mac software. I don't have a great solution.

@jleibs jleibs merged commit af7283e into main Apr 2, 2024
31 checks passed
@jleibs jleibs deleted the jleibs/blueprint_docs branch April 2, 2024 19:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🟦 blueprint The data that defines our UI 📖 documentation Improvements or additions to documentation include in changelog
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants