|
| 1 | +--- |
| 2 | +title: Documentation Update |
| 3 | +description: |
| 4 | + Documentation is hard. You have to strike a balance between what's useful and what's excessive; |
| 5 | + and organize it in a way that is equally clear and easy to search. |
| 6 | +date: 2025-10-01 |
| 7 | +authors: [jdolle] |
| 8 | +--- |
| 9 | + |
| 10 | +In this update, rather than focus on new features of Hive, we'll be highlighting some of our |
| 11 | +thoughts and reasoning for as well as strategies applied in the recent changes to the |
| 12 | +[Hive documentation](/docs). |
| 13 | + |
| 14 | +It feels a bit silly to be posting an update about documentation, but it's important as open source |
| 15 | +developers to treat documentation as an extension of our code. Documentation gives a place to |
| 16 | +explain things in far more detail or to a specific audience. It would be impossible to convey such |
| 17 | +detail through the user interface or API alone. |
| 18 | + |
| 19 | +So what motivated us to take a closer look at our documentation? |
| 20 | + |
| 21 | +### A fundamental shift in how we think about Hive |
| 22 | + |
| 23 | +Hive started as "only" a schema registry. We weren't sure what direction this would go in the |
| 24 | +future, but thought features would keep being added to the core product. We also knew people needed |
| 25 | +to be able to self-host Hive. So this lead to a common industry distinction of "cloud" vs |
| 26 | +"self-hosting" offerings. |
| 27 | + |
| 28 | +At the time, this made sense. GraphQL Federation was still young and GraphQL routers in their |
| 29 | +infancy. But Federation was growing and the need for a powerful and customizable router was clear. |
| 30 | +We knew it needed to work well with our schema registry also, and to make that point clear to |
| 31 | +others, this router was called Hive Gateway. More recently, our offerings have expanded to include a |
| 32 | +Hive Logger, built with our logging needs and best practices in mind, and soon a new Hive Router, |
| 33 | +written in Rust. |
| 34 | + |
| 35 | +**Hive is growing...** |
| 36 | + |
| 37 | +Our suite is growing and it's become confusing to talk about "Hive" as a cloud service, since these |
| 38 | +products span different spaces. What was once called "Hive" is now a part of the whole. The schema |
| 39 | +registry has expanded as expected, but so has the brand. And so we needed to adapt. |
| 40 | + |
| 41 | +This has been a very organic process for us. Which honestly is great because we can find gaps in the |
| 42 | +GraphQL ecosystem, work on solutions, and let our work inform our brand. We can be sure that we're |
| 43 | +building solutions to real problems because of this, but our documentation had some growing pains as |
| 44 | +a result. |
| 45 | + |
| 46 | +### Input from the community |
| 47 | + |
| 48 | +Feedback and questions from the community have made the shortcomings of our documentation even more |
| 49 | +clear. There was often confusion around cloud hosting our Gateway (which we don't offer, at least at |
| 50 | +this time). Additionally, our API Reference documentation was scattered and we'd often get questions |
| 51 | +about how to do certain custom tasks. |
| 52 | + |
| 53 | +Rather than get annoyed any time a question is asked more than once, it's best to take a look at the |
| 54 | +cause. 99% of the time it's because the documentation is missing, hard to find, or generally |
| 55 | +unclear. |
| 56 | + |
| 57 | +### Industry changes |
| 58 | + |
| 59 | +GraphQL has been changing this whole time as well. As mentioned before, Federation was new when Hive |
| 60 | +was first built. People are much more familiar with the concepts of Federation now and it's been |
| 61 | +gradually shifting from a single company's offering (Apollo Federation) to an |
| 62 | +[open spec](https://open-federation.org/) (GraphQL Federation). So terminology needs updated. |
| 63 | + |
| 64 | +## What we did |
| 65 | + |
| 66 | +### Let the products speak |
| 67 | + |
| 68 | +We updated the [introduction/landing page](https://the-guild.dev/graphql/hive/docs) to instantly |
| 69 | +showcase our product offerings. This makes it clear that these are modular, pieces of the whole, and |
| 70 | +gives us a fantastic place to briefly introduce each. Additionally, since Hive Console was the only |
| 71 | +product in the past, there were a lot of documents that were specific to Hive Console that were |
| 72 | +still at the root of the Hive documentation. This was solved by creating separate pages for each |
| 73 | +product and moving these pages inside. |
| 74 | + |
| 75 | +### Collapse when possible |
| 76 | + |
| 77 | +Previously there were separate root level pages for CLI/API References, Specifications, and our |
| 78 | +public GraphQL API. This was because we thought each had a separate audience and were conceptually |
| 79 | +different, but what we've discovered is that if people are looking at reference documentation, then |
| 80 | +they likely care about all of this. The audience for all of these sections included "power users", |
| 81 | +who wanted to write custom tools or interfaces for Hive. So we collapsed all of this to a single |
| 82 | +location, making it easier for power users to browse for what they need. -- And this is just one |
| 83 | +instance. There were (and probably still are) numerous parts of our documentation that were |
| 84 | +redundant. |
| 85 | + |
| 86 | +## Conclusion |
| 87 | + |
| 88 | +Much like our code bases, documentation ages. Not only because of UI or API changes, but because the |
| 89 | +entire product or the world around it might change. Staying organized helps since pages are more |
| 90 | +searchable, but documentation is often too easy to forget to update. |
| 91 | + |
| 92 | +Hopefully you've found this post interesting and learned a little more about Hive in the process. I |
| 93 | +have no doubt that our documentation will continue to evolve alongside Hive moving forward. And if |
| 94 | +you see something that doesn't make sense, don't hesitate to ask. There's no such thing as a stupid |
| 95 | +question -- there's only neglected documentation. |
| 96 | + |
| 97 | +--- |
| 98 | + |
| 99 | +[Check out the latest Hive documentation](/docs) |
0 commit comments