OneGraph / graphiql-explorer

Explorer plugin for GraphiQL
MIT License
904 stars 97 forks source link

Ideas for improving the Developer Experience and Feature Discoverability #10

Open FluorescentHallucinogen opened 5 years ago

FluorescentHallucinogen commented 5 years ago

This issue acts as the central place for all discussions of ideas around improving the Developer Experience (DX), Feature Discoverability, Usability and UI design.

  1. It would be great to be able to insert all fields of type (check all nested checkboxes at once and then uncheck only unnecessary instead of check them only one by one). This is very useful for types with a large number of fields.

  2. If a field is 1) non-null AND 2) leaf (terminal / uncollapsible / has no child fields), it should be 1) checked AND 2) disabled (so the user could not uncheck it).

I've visualized these two ideas. Here's my vision (a slightly modified version of Explorer tab from Playground v2 concept):

after

Compare it with the original:

before

FluorescentHallucinogen commented 2 years ago

Marking deprecated fields with an icon and strikethrough text:

graphiql-explorer-deprecated-indicator

FluorescentHallucinogen commented 2 years ago

As a follow-up of my idea of displaying field description popup on hover in https://github.com/OneGraph/graphiql-explorer/issues/10#issuecomment-488330855 and https://github.com/OneGraph/graphiql-explorer/issues/10#issuecomment-491357487, here's a visualization of opening docs for the field by clicking on the icon next to it:

graphiql-explorer-open-docs

BTW, docs for the field can also be opened right from the links in the field hover popup.

This requires the integration between GraphiQL Explorer and GraphiQL Docs.

mmailaender commented 1 year ago

@FluorescentHallucinogen are you programming that, or is that currently only design? And is there any timeline/priority on this? Because I see the issue started already three years ago :)

FluorescentHallucinogen commented 1 year ago

@mmailaender That's currently the only design. I've programmed some of my ideas, but my contribution (see #49 as an example) for some reason is just ignored by project authors without any feedback. :(

mmailaender commented 1 year ago

@FluorescentHallucinogen seems this project is not really active maintained anymore, based what I see from the commit history. Do you know if GraphiQL has any plans about including your suggestions directly into the main product?

FluorescentHallucinogen commented 1 year ago

@mmailaender

Do you know if GraphiQL has any plans about including your suggestions directly into the main product?

I hope so, but I don't know for sure.

See https://github.com/graphql/graphiql/discussions/2216. I'm not sure that all my proposals will be implemented, but some of them definitely will be.

GraphiQL has already taken a different path of combining operation building (GraphiQL Explorer) and docs viewing (GraphiQL Docs) into one tool. But my vision is that this is not a good idea, because they solve different problems and this creates visual noise.

FluorescentHallucinogen commented 2 months ago

I've visualized how adding directives and constructing their arguments might look like:

graphiql-explorer-add-directives-1

graphiql-explorer-add-directives-2

@Nishchit14 @jonathanawesome @thomasheyenbrock @acao @daniman @aexol @imolorhe @doc-jones PTAL.