vc-api
vc-api copied to clipboard
"App" terminology creating confusion
Initially, the word "App" was used to identify the fact that there is business logic and "services" that perform actions on VCs and VPs. This has caused confusion because some people think "App" means "website or server", while others think it means "mobile phone app".
This was discussed on the 2022-07-12 call. It was generally agreed that "App" was not good. Other suggestions discussed included: server, application, program, tool, engine, controller, director, orchestrator, integrator, manager, handler, integrator, integration.
+1 to program, manager, or integrator/integration
My votes from the proposed options: program, manager, integration, and controller (despite overload)
I would also like to throw agent into the ring, if we don't think that it would also shore up the same misconception about which role it serves
I think I like manager most because it expresses that the component is managing / directing / orchestrating the issuance process.
In the Hyperledger Aries framework there is the concept of the agent application and the controller application. The agent is the static entity that will issue/verify/hold/present credentials (and other actions).
The controller is what drives the agent to take the appropriate action by interacting with its endpoints and feeding it input data.
Given this context, would it make sense to use the term controller?
Given this context, would it make sense to use the term
controller?
We should certainly throw the term into the mix.
One possible issue with controller is that it has a very specific meaning in the VC/DID space -- https://www.w3.org/TR/did-core/#did-controller
We largely use “coordinator” in the cryptocurrency community for a service that does this. Manager is too centralized.
coordinator has some nice aspects, including the notion that the business logic is what is coordinating the rest of the dance.
FWIW, I agree 'controller' is likely too overloaded given the two very different uses already in play for DIDs (as the controller of the DID Document and as a property in the DID Document).
coordinator sounds like a good option to me.
The group discussed this on 2022-08-23. Joe mentioned that he thinks "coordinator" is better, but a bit long. Patrick mentioned that "agent" is used in Aries realm, "controller" is also used in ACAPy, and that we might have divergence in terminology between frameworks. There was discussion around where APIs would be exposed, there was general agreement that the coordinator would be one of the places that would expose APIs, as would other components (and that would be documented).
It was resolved on the call to rename "App" to "Coordinator", we need a PR to make that happen.
I know we resolved this a couple weeks ago, but I wanted to call attention to an instructive statement in Section 1.2.1 titled Apps:
With the exception of the Status Service, all role-to-role communication is between Apps acting on behalf of its particular actor to fulfill its role.
Again, I can't help but to think of agent when I read acting on behalf. Thoughts?
Again, I can't help but to think of agent when I read acting on behalf. Thoughts?
We've discussed "agent" before... it's a traditionally overloaded term, and W3C and IETF standards typically mean "the browser" when we're talking about the Web:
https://www.rfc-editor.org/rfc/rfc7231#section-5.5.3 https://html.spec.whatwg.org/multipage/dom.html#user-agent-conformance-criteria https://developer.mozilla.org/en-US/docs/Glossary/User_agent https://developer.mozilla.org/en-US/docs/Web/API/Navigator/userAgent