Skip to content

Clarify more concisely how concepts relate to each other #64

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

Merged
merged 6 commits into from
May 21, 2025

Conversation

itowlson
Copy link
Collaborator

@itowlson itowlson commented Sep 8, 2023

Fixes #59.

Copy link
Collaborator

@kate-goldenring kate-goldenring left a comment

Choose a reason for hiding this comment

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

At first glance, i thought this acted almost as a table of contents; however, as it references non-design pages, this should maybe live elsewhere

@rylev
Copy link
Collaborator

rylev commented Mar 18, 2024

@itowlson @kate-goldenring should this be rebased/merged or closed?

@kate-goldenring
Copy link
Collaborator

I think we should still add this in as a TOC for the design section. This needs to be rebased, filenames updated, and this added to summary.md such that it is the top level for the "Understanding the Component Model" section

@kate-goldenring
Copy link
Collaborator

@itowlson can we revisit this and see if we can fit in this glossary? It is a great overview for someone who is learning what WASI, WIT and the component model are. I think the package, world, and interface definitions are already covered in the WIT explainer but having a TLDR of them somewhere (maybe the top of the WIT document) could be helpful.

@kate-goldenring
Copy link
Collaborator

@itowlson what are your thoughts on moving this to the Introduction page (almost as a preface to help readers know where to go with these new terms in their lexicon)?

@itowlson
Copy link
Collaborator Author

itowlson commented Apr 9, 2025

@kate-goldenring I feel like it might be overwhelming in the intro - create the feeling of "you have to know these before you can read the book" possibly. I am no longer quite sure where it would go though. It could possibly be kludged in on the "why the component model" page, even though it's more "what" than why, perhaps?

@kate-goldenring
Copy link
Collaborator

Maybe this should go under the Reference section under a new definitions page?

@ericgregory
Copy link

This is a great addition--I think the introduction is the right place for this, since these terms are ultimately critical vocabulary for understanding what follows.

@vados-cosmonic vados-cosmonic self-requested a review as a code owner May 20, 2025 02:45
@vados-cosmonic vados-cosmonic force-pushed the compare-concepts branch 3 times, most recently from 00770e6 to c770005 Compare May 20, 2025 02:52
Signed-off-by: Victor Adossi <vadossi@cosmonic.com>
Co-authored-by: itowlson <ivan.towlson@fermyon.com>
@vados-cosmonic
Copy link
Collaborator

Hey @kate-goldenring @itowlson I've taken a stab at updating this PR and also adding the new information to the Introduction -- thoughts?

@itowlson
Copy link
Collaborator Author

@vados-cosmonic Thanks for picking up this languishing PR! However, my objection to putting it in the introduction remains the one I mentioned in #64 (comment) - I feel like this is simply too much to absorb on a page that may be readers' first encounter with the book.

The paradox of it is like if you know what these things are and how they fit together, you don't need it; and if you don't know, then it scares you with half a dozen things explained in terms of each other. And so I am not sure if it is a set of signposts (at the beginning of the concepts section, giving you context for the things you're about to run into) or a recap (at the end of the concepts section, drawing it all together).

Or super-vague brainstorm alert maybe it's not (only) a recap. Maybe the pages of the concepts section include the relevant pointers. Like end the "components" page with a boxout along the lines of:


Want to know...

  • ...how components expose and consume functionality? Check out the Interfaces page.
  • ...how components specify the environment they need in order to run? Check out the Worlds page.
  • ...how components are published and distributed? Check out the Packaging page.

(sorry I know these are bad)

and that way the reader can maybe form a sense of the relationships as they navigate around rather than having to take them in all at once. (And maybe we keep a document like this as a recap so that readers can review and confirm their understanding, and can revisit to refresh their understanding in one place.)

Sorry I know I am being vague and indecisive on this. The above is very much thinking out loud and I realise it wombles off in a different direction. Maybe we are indeed better off just getting it in and iterating.

@vados-cosmonic
Copy link
Collaborator

Thanks for the thoughts here! At the very least we've got an updated section and a rebased PR, so hopefully we're one step closer to merging!

or a recap (at the end of the concepts section, drawing it all together).

Or super-vague brainstorm alert maybe it's not (only) a recap. Maybe the pages of the concepts section include the relevant pointers. Like end the "components" page with a boxout along the lines of:

This gives me a thought -- what about actually this information part of a new section header? Something like "How the component model works" or "Concepts", and having the current sections ("components", "WIT", etc) be subsections under that?

This information would be a good start/overview to a "concepts" section. That's kind of like a recap (a precap?)

@itowlson
Copy link
Collaborator Author

@vados-cosmonic That seems well worth exploring! When you say "a new section header," are you thinking e.g. a new page after "Why the Component Model", and then the bullets from the current PR absorbed into a more prosey, explanatory style kind of thing?

@vados-cosmonic
Copy link
Collaborator

vados-cosmonic commented May 20, 2025

Yup! Something like:

1. Introduction
2. Why the Component Model?
3. Component model concepts <-- new content goes here
  3.1. Components
  3.2. Interfaces
  3.3. Worlds
  3.4. WIT
  3.5. Packages

We do our section headers a bit inconsistently right now but this is the rough idea of what the left hand side menu would look like.

Copy link
Collaborator

@kate-goldenring kate-goldenring left a comment

Choose a reason for hiding this comment

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

Content LGTM. I defer to @itowlson as to whether the placement is appropriate

Co-authored-by: Kate Goldenring <kate.goldenring@gmail.com>
@itowlson
Copy link
Collaborator Author

@vados-cosmonic Your proposed structure looks promising to me. My bullets will certainly need expanding to make it work but I feel much more comfortable with that than with having them in the intro. @kate-goldenring if you're not sick to death of this issue what do you reckon?

@kate-goldenring
Copy link
Collaborator

I feel like the WIT reference it different from the other sections in that it is quite stand alone and not a conceptual explainer rather a reference.
What about the following:

1. Introduction
2. Why the Component Model?
3. Component model concepts <-- new content goes here
  3.1. Components
  3.2. Interfaces
  3.3. Worlds
  3.4. Packages
4. WIT Reference

@vados-cosmonic
Copy link
Collaborator

Hey @kate-goldenring that certainly looks good to me! Will rework this PR to match that layout.

IMO we do have a References section where the WIT reference should probably go, but IMO we should also have a separate introduction to WIT (more "why" and "what" than "how"), but that's for another day :)

Signed-off-by: Victor Adossi <vadossi@cosmonic.com>
@vados-cosmonic
Copy link
Collaborator

I've made the changes! Hopefully we can take a quick look at it in the meeting soon and merge this :)

vados-cosmonic and others added 3 commits May 22, 2025 00:20
Co-authored-by: Kate Goldenring <kate.goldenring@gmail.com>
Co-authored-by: Kate Goldenring <kate.goldenring@gmail.com>
Signed-off-by: Victor Adossi <vadossi@cosmonic.com>
@vados-cosmonic vados-cosmonic merged commit da0727c into bytecodealliance:main May 21, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Differences and relation between component, WASI and WIT
5 participants