-
Notifications
You must be signed in to change notification settings - Fork 560
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
Europa documentation website #1327
Comments
@Camille-Elairin : Navigate the Universe. A crucial feature of Dagger is the Universe: a large and growing collection of reusable code. The experience of navigating Universe should be crucial to the design of our docs. |
@gerhard @talentedmrjones Please update as soon as you get a rough plan, we need to set a target date to synchronize with enabling europa by default on a dagger release. |
While my initial instinct was to start editing the first comment, I decided to start by sharing my context as a point-in-time reference, sleep on it, refine it and begin the PRs game that will start on "the delivery plan". What am I talking about?https://github.com/dagger/dagger.io/issues/38 tells a story & makes a promise. I think of it as the Why and the What. This issue delivers on that promise. I think of it as the How. In my mind, this issue will be resolved when a new Dagger user knows:
My focus is the new Dagger user - I think of her as Elise. She is an actual front-end developer that I worked with many years ago, and it helps me empathise with the end-user. My hope is that sometimes soon, she will be using Dagger to deploy her apps to Vercel (Netlify is ~10x slower, but that's a story for a different issue). Keep that new user in mind - whoever they may be - and focus on making their experience as simple and pleasant as possible. The higher order bit is a permanent awareness that we are helping our users achieve specific tasks. Keep it simple and focus on the task at hand. It really doesn't matter how much we know about this subject, how passionate we are about CUE or Buildkit, or how much there is to it. Help the user accomplish the reason that made them click on that docs link. What is the value for the user?With all the above in mind, this is the docs.dagger.io flow that I imagine taking Elise through:
When Elise is comfortable running Dagger locally & on GitHub, I would start introducing slightly more advanced topics, such as:
Lastly, I would give three real-world production use cases of Dagger which cover detailed and contextual specifics:
While there is a lot more that we could do, I feel that this is enough to help a new user experience the Dagger promise. What happens next?
Items out of scope for Europa /
|
References
Noteworthy examples
I think that we should do less of this:
|
This is the existing vs new docs structure that I have in mind:
These are the principles that I have based the new docs structure on:
For more context, please see References & Noteworthy examples above: #1327 (comment) While I wait for input on the new docs structure, I will start on the PR that captures the docs skeleton that we absolutely must have for Europa (I proposed 10 pages above). We can refine the structure there - the one above is a quick preview of what is coming. In my mind, that PR will be the first concrete step towards the Europa docs delivery plan. I expect things to change as we negotiate what must be there for launch. My perspective is: keep it simple, less is more & keep improving. |
Sebastien Lorber answer resume pretty much my thought: https://twitter.com/sebastienlorber/status/1460918381641621509 At start I chose Docusaurus as we needed a quick nice looking documentation and easy to maintain. The other idea was to get a versioning documentation but this has been abandoned. The cons about Docusaurus:
On the other hand we could get pretty much everything we want with a documentation from scratch with Next.js but like Sebastien Lorber said it will be time consuming. Just a thought about @gerhard Noteworthy examples and the one I particularly like (fly.io), it reminds me a conversation with @samalba about keeping a signup flow for people to get Dagger newsletter for instance but also for our future cloud service. Fly.io has a really inspire way of using terminal to make user signup during the "Get started" process (same for sign-In). I also love their Get started process with all the steps to follow (left sidebar). This could feat very well with Dagger
|
Laravel voyager has also a very inspired and friendly "Get started" section: https://voyager-docs.devdojo.com/ |
That is a great start. I think that we should keep it as is for now.
I don't think that we need this if every page gets a unique ID. Think This is how Tailscale does it for their docs, and it seems most sensible.
I see us doing that for A smaller and more valuable step would be to migrate from Netlify to Vercel (the Next.js company), since the speed improvement is 10x. I am mentioning this briefly, as an idea, this PR is the wrong context to go deeper on it.
This definitely resonates with me. What are your thoughts @slumbering on doing a simpler version first, and then iterate towards this:
|
I don't think that fragmenting information the way they do it is a good thing. I imagine stories that draw the user in and encourage them to try things out with the goal of having small wins that add up to something greater than the sum of their parts. A slideshow like experience might work, but Laravel Voyager - Get started doesn't seem to capture this well to me. This however does: https://growth.design/case-studies/amazon-purchase-ux |
It would be very helpful for the beta release if next week we made progress with the docs for the following use cases:
When I return, I will continue with the rest of the docs. @aluzzardi shares all the context for this comment. |
After backlog review yesterday with @samalba and @aluzzardi: we are stretched too thin to work on so many use cases concurrently, especially with remaining API changes that will require follow-up changes and tests. For the sake of beta.1 release, let's focus on:
We also need to review the website landing page, from the perspective of an engineer learning about Dagger for the first time, and make sure it is suitably detailed, technically accurate, and aligned with the "getting started" guide (which it links to). |
Sitrep for @aluzzardi: after talking to @shykes yesterday, we are thinking to push Use Cases after 0.2.0 ships and focus on the Getting Started and Core Concepts in the next 2 days, for 0.2.0. The goal is to get the first pass complete by Mar 3, and continue iterating on the rest at the same pace, without any change after 0.2.0 comes out. Who knows, maybe we get refined with our strategy and schedule 0.3.0 for end of March, and then 0.4.0 end of April. I love cadence, and I definitely think that we should do more in this are after the big Europa push, which is 0.2.0.
|
There is much work left to do on the Dagger 0.2 documentation, but it does exist and is in a launchable state. I hereby declare this issue closed :) |
Overview
The Europa release introduces major changes, which will require new documentation. This issue is a placeholder for tracking work on these new docs.
Topics to consider include:
Content map
Here is a map of the content to write, organized in a rough structure. Work in progress. This is a placeholder for discussion and planning.
Delivery plan
There are 3 parts to this. We will focus on 1 & 2 for 0.2.0, and continue with 3 without blocking the 0.2.0 release.
1/3. Getting Started
2/3. Core Concepts
3/3. Use Cases
There are a few other tasks which need to be done part of this & are not related to content:
The text was updated successfully, but these errors were encountered: