Skip to content

Add Buffer case study#142

Open
hitherejoe wants to merge 1 commit into
graphql-hive:mainfrom
hitherejoe:buffer/case-study
Open

Add Buffer case study#142
hitherejoe wants to merge 1 commit into
graphql-hive:mainfrom
hitherejoe:buffer/case-study

Conversation

@hitherejoe

Copy link
Copy Markdown

Adds a case study for Buffers adoption of Hive. Please let me know if there is any feedback and I can push the changes as required 😊

@jdolle jdolle left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Thank you for this. You've provided a lot of useful details for what the requirements are for Buffer's API's, and a few ways in which Hive has helped.

We can publish this as-is and update it later, but I recommend a few adjustments to make it more impactful:

You've done a great job telling Buffer's story, but my personal preference is to structure case studies to highlight problems and solutions. This tends to be easier for interested parties to scan.

You can absolutely be open about areas where Hive has fallen short or why you opted to go a different route. I think these are the most useful cases.

For example, reading this it's clear you have a need to expose multiple subsets of schemas, and you opted to use custom directives rather than Hive's contracts. As a reader, who may want to do the same, why would I opt to go this route? Is this a legacy thing? Are there a details about Hive's implementation that weren't sufficient? Do you plan to migrate in the future?


Buffer wasn't building this from scratch, as there was already an established internal GraphQL API
powering its own apps, so the work wasn't about creating something new but about getting the
existing API ready to safely expose to the public. THis shaped a lot of the decisions that followed,

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Suggested change
existing API ready to safely expose to the public. THis shaped a lot of the decisions that followed,
existing API ready to safely expose to the public. This shaped a lot of the decisions that followed,

comes to making decisions that involve API clients. Some examples of these include:

- While the API was in Beta, the team needed to migrate the structure of some input types before the
stable release, and were able to do this without affecting clients. Using Hive, Buffer was able to

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This is very nice. I'd love to see mention of which features/where you got this info. E.g. Since we send usage data to Hive, we could easily view field insights to get a list of clients still using deprecated fields.

Buffer wasn't building this from scratch, as there was already an established internal GraphQL API
powering its own apps, so the work wasn't about creating something new but about getting the
existing API ready to safely expose to the public. THis shaped a lot of the decisions that followed,
because opening up something that had only ever been built with an internal audience in mind meant

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This is great context.

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.

2 participants