-
Notifications
You must be signed in to change notification settings - Fork 517
Application progress reviewΒ #3152
Description
I wanted to try out Apicurio to see if it can meet my requirements. There are a few things that make it a deal breaker for me, but I wanted to add my notes here in case it's helpful. I went through the OpenAPI, protobuf, and JSON Schema feature sets - in that order - and this is what I found.
General UI
The UI seems very small. I'm testing on 1.5x UI zoom at 1920x1080 resolution.
- This wouldn't be as much of an issue if the add/remove controls weren't so small and close together. As it is, this exacerbates that issue.
Decent performance with no glaring UI bugs encountered.
I didn't expect UI links to be hard set to ":8888". This caused some initial confusion when running in Docker. I'm not sure why this is a necessary default.
OpenAPI
The delete and add operations are too close to each other with no delete confirmation. It's way too easy to accidentally delete something that was just created when what was intended was creating another entry. This is likely even more perilous for those with certain disabilities using the UI.
Paths don't seem to be aware of servers that have already been defined.
When defining a query parameter and a query parameter is not set as "Required," it looks like the type specification is disabled when it actually isn't.
Expected to see Object or a previously defined type as an option when specifying "application/json" response body type.
- It doesn't look like I'm able to select a previously defined response body for a path response.
I'm not very familiar with JsonSchema, so it would be great to be able to build a schema with a UI builder rather than a text editor.
- I tried just pasting in a JSON schema that I defined separately, but I got an error that "required" was not expected here. I think this is just me not knowing what I'm doing here.
- A nice change would be a UI builder that allows me to build up a response body without knowing a lot about OpenAPI or JSON Schema.
- If I were an OpenAPI expert, I'd probably skip the UI and just write the YAML/JSON to define the spec. So it's probably worth thinking through what value the UI is expected to provide to what kinds of users. Understanding who this application is for would help a lot.
I would prefer that completing high-level operations saved the model. As it is, I often forget to hit the save button, which creates some UX friction.
Protobuf
Started with OpenAPI, so I expected protobuf to support multiple files for related types in a singular "model"
- This isn't really useful for me without this feature.
- It seems like this would be a less-than-ideal UX to try to look through many protobuf elements in the UI to try to find multiple, related types at scale.
The protobuf editor should support Ctrl/Cmd+S for saving. This is an intuitive and fairly ubiquitous pattern for code editor experiences.