In a recent email on the FDC3 mailing list, @kriswest wrote:
... I also want to add that there is clearly significant interest in the community in enabling FDC3 use on the web. There is a strong use case in that it would enable better onboarding journeys with less drop-off (where you use an app on the web with others before adopting a desktop container or similar).
and:
But there are also additional challenges such as how to make the API available reliably without importing a proprietary module from a particular vendor into every app, how to deal with more than one implementation of API/Desktop Agent in the browser at once, how to do this reliably and securely within the browser sandbox etc.. Work needs to be done in the Standard to solve these issues and to make web browser use possible in a future FDC3 Standard version - which I believe is possible (and likely to involve using a vendor-agnostic FDC3 NPM module to detect and connect to API implementation(s)). However, we're going to need to do that work to enable the aforementioned API implementations to be compliant and if we fail to hold the line now on compliance with the current version of the FDC3 Standard, that may never happen.
FINOS meetings involve participation by industry competitors, and it is the intention of FINOS and the Linux Foundation to conduct all of its activities in accordance with applicable antitrust and competition laws. It is therefore extremely important that attendees adhere to meeting agendas, and be aware of, and not participate in, any activities that are prohibited under applicable US state, federal or foreign antitrust and competition laws. Please contact legal@finos.org with any questions.
FINOS project meetings may be recorded for use solely by the FINOS team for administration purposes. In very limited instances, and with explicit approval, recordings may be made more widely available.
A Discussion Group has no direct decision-making power regarding the FDC3 standard - rather it is intended that anything they propose or work on will result in proposals (via Github issues and PRs) for the Standards Working Group participants to consider and vote on for inclusion in the standard.
Participation Requirements
Note: Meeting participants are expected to accept the terms of the FDC3 license (Community Specification License), understand the governance process and have a CLA in place.
Please click the following links at the start of the meeting if you have not done so previously.
Note: Meeting participants are expected to add a comment to this GitHub issue in order that we can track attendance of FDC3 project meetings. Please do this at the start of the meeting.
Agenda
[x] Convene & roll call, review meeting notices (5 mins)
[x] Review action items from previous meeting (5 mins)
1106
Discuss proposal refinements (20 mins)
[x] Persisting DA and instance identity details and assigning consistent instanceIds post navigation/refresh
meeting reviewed and approved (to pass to SWG) the definition of a new event handler API call for channel change events: #1136
The meeting reviewed and approved proposal changes relating to persisting DA type and app & app instance identity details and assigning consistent instanceIds post navigation or refresh of an app window.
@novavi noted that whwne window.open is used to clone an app window/open a new one to the same origin, SessionsStorage is copied. Refine the proposal to use WIndowProxy object comparisons to identify when this has occurred and to issue a new instance id.
The meeting discussed the provision of ChannelSelector and IntentResolver UIs again
It was agreed that this is likely the last major decision to make in the proposal before it can be turned into a concrete PR and implementation.
@kriswest identified that the easiest solutions are providing an OpenSource implementation for these and powering them through the API calls
however, DA vendors will also want to be able to provide these to apps they are managing - often this will be best done in the app window, but may be done outside the window also (e.g. DAs that render apps in iframes can add a selector UI outside the iframe)
hence, a more complete solution might be to:
allow an app to indicate whether it needs a UI for each case or not (enabling an app or opensource option to solve for this)
allow a DA to indicate whether it already solves for the UI outside of the app window/frame
allow a DA to indicate URLs that should be loaded into iframes to provide the UI(s)
DA provided UI Implementations will need to solve for communication back to the DA (e.g. to get options, indicate what the user chose) themselves, however, input to the Intent Resolver UIs regarding the intent/context raised might be handled through the URL parameter or postMessage - a proposal is needed.
The meeting agreed that this proposed solution is best evaluated through a POC implementation, which should be the next step.
There was some discussion at the end of the meeting about being able to open windows and the need for a connection to a user gesture (the association to a user gesture doesn't carry over cross-domain postMessages, but does same domain ones). This is likely a problem for API calls like fdc3.open where, after communicating with the DA it is unable to open the requested window... We may not need to worry about this as some existing implementations just ask for permission to open windows.
Action Items
[ ] @kriswest Add recommendation to the proposal that apps use BOTH instanceUuic and WindowProxy object comparisons when assigning a previously used instanceId as there are cases where SessionStorage is cloned when using window.open to opena new window. If the WIndowProxy Objects are not equal assign a new isntanceId.
[ ] @kriswest Draft a proposed solution for Channel and Intent Resolver UI handling based on the meeting discussion for later review.
[x] @kriswest Arrange next meeting agenda to focus on POC implementation
Group overview
Group convened to discuss how to enable FDC3 use in a web browser, without the use of a browser extension (such as fdc3-desktop-agent or a container).
Issue: https://github.com/finos/FDC3/issues/896 Mailing list discussion: https://groups.google.com/a/finos.org/g/fdc3/c/jCvlLjokBLs
In a recent email on the FDC3 mailing list, @kriswest wrote:
... I also want to add that there is clearly significant interest in the community in enabling FDC3 use on the web. There is a strong use case in that it would enable better onboarding journeys with less drop-off (where you use an app on the web with others before adopting a desktop container or similar).
and:
But there are also additional challenges such as how to make the API available reliably without importing a proprietary module from a particular vendor into every app, how to deal with more than one implementation of API/Desktop Agent in the browser at once, how to do this reliably and securely within the browser sandbox etc.. Work needs to be done in the Standard to solve these issues and to make web browser use possible in a future FDC3 Standard version - which I believe is possible (and likely to involve using a vendor-agnostic FDC3 NPM module to detect and connect to API implementation(s)). However, we're going to need to do that work to enable the aforementioned API implementations to be compliant and if we fail to hold the line now on compliance with the current version of the FDC3 Standard, that may never happen.
Shared doc with current draft: https://tick42-my.sharepoint.com/:w:/g/personal/finsemble_datastore_interop_io/EZ0dfTCdRlJCnIF3C_1Oit0B7xK0OOJ0nAvC73dwad53AA?e=x2zlge
Relevant issue tags
Current open issues that relate to the above concepts with the label:
Meeting Date
Thursday 21 Dec 2023 - 11am (US eastern timezone EST) / 4pm (London, GMT)
Zoom info
Meeting notices
FINOS Project leads are responsible for observing the FINOS guidelines for running project meetings. Project maintainers can find additional resources in the FINOS Maintainers Cheatsheet.
All participants in FINOS project meetings are subject to the LF Antitrust Policy, the FINOS Community Code of Conduct and all other FINOS policies.
FINOS meetings involve participation by industry competitors, and it is the intention of FINOS and the Linux Foundation to conduct all of its activities in accordance with applicable antitrust and competition laws. It is therefore extremely important that attendees adhere to meeting agendas, and be aware of, and not participate in, any activities that are prohibited under applicable US state, federal or foreign antitrust and competition laws. Please contact legal@finos.org with any questions.
FINOS project meetings may be recorded for use solely by the FINOS team for administration purposes. In very limited instances, and with explicit approval, recordings may be made more widely available.
A Discussion Group has no direct decision-making power regarding the FDC3 standard - rather it is intended that anything they propose or work on will result in proposals (via Github issues and PRs) for the Standards Working Group participants to consider and vote on for inclusion in the standard.
Participation Requirements
Note: Meeting participants are expected to accept the terms of the FDC3 license (Community Specification License), understand the governance process and have a CLA in place.
Please click the following links at the start of the meeting if you have not done so previously.
Tracking Attendance
Note: Meeting participants are expected to add a comment to this GitHub issue in order that we can track attendance of FDC3 project meetings. Please do this at the start of the meeting.
Agenda
1106
Minutes
Action Items
Untracked attendees