Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refine the description of App and System channels in the spec to clarify intended use #376

Closed
kriswest opened this issue Apr 27, 2021 · 3 comments
Labels
api FDC3 API Working Group channels feeds & transactions Channels, Feeds & Transactions Discussion Group docs Documentation

Comments

@kriswest
Copy link
Contributor

Minor Issue

As discussed at SWG 22nd April 2021 #368, there is often confusion around the intended purpose and definition of 'App Channels' and 'System Channels'. The description should be refined in both the spec and API docs.

Area of Issue

[ ] App Directory
[x] API
[ ] Context Data
[ ] Intents
[ ] Use Cases
[ ] Other

@kriswest kriswest added docs Documentation api FDC3 API Working Group labels Apr 27, 2021
@kriswest
Copy link
Contributor Author

One of the problems with the App/System channel definitions is that you can fdc3.joinChannel on an app channel. That gave rise to this issue from @sgd2z #243

Perhaps this definition would be easier to write if you could only call fdc2.joinChannel on system channels OR we accept #243 and only allow you to fdc2.joinChannel on channels with metadata.

@lspiro-Tick42
Copy link

lspiro-Tick42 commented Apr 30, 2021

In Glue42 we talk about shared named contexts (in FDC3 terminology App Channels or Private Channels) and Channels.
We provide two distinct API's for working with the data, even though the underlying shared dictionary has the same model.

For us the key distinction is that an application can be assigned to a Channel by a user, often making use of 'desktop agent' created window chrome. In this case the application is not expected to set their channel, just to be informed when the user has made an allocation, and to receive updates and write to the data context for that Channel.

By contrast we use what we call shared contexts, in FDC3 terms an app channels for global non-user allocated things like the currently selected theme. Applications can also use them for applications that want to manage a 'shared connection' for example having some kind of parent -child or sibling relationship.

With this kind of distinction, I think the questions around creation of Channels resolves itself, since the Channels (aka System Channels) are created by the desktop agent, which is required since in most cases, it is the desktop agent that manages the channel selector chrome, and Contexts aka App Channels are created by the applications.

We do have some meta data in out contexts, but this implemented by a convention on field names, rather than a separate data field.

What do others think about this view of System and App channels ?

@kriswest
Copy link
Contributor Author

Superseded by issue #430

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
api FDC3 API Working Group channels feeds & transactions Channels, Feeds & Transactions Discussion Group docs Documentation
Projects
None yet
Development

No branches or pull requests

2 participants