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

FDC3 for Web Browsers Discussion group 21st March 2024 #1174

Closed
7 of 8 tasks
kriswest opened this issue Mar 20, 2024 · 6 comments
Closed
7 of 8 tasks

FDC3 for Web Browsers Discussion group 21st March 2024 #1174

kriswest opened this issue Mar 20, 2024 · 6 comments
Labels

Comments

@kriswest
Copy link
Contributor

kriswest commented Mar 20, 2024

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: #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:
image

Meeting Date

Thursday 21 March 2024 - 11am (US eastern timezone EDT) / 3pm (London, GMT)

Note the meeting start time in the US has shifted due to daylight savings time

Zoom info

  • Join Zoom Meeting
  • Meeting ID: 969 4029 4948
  • Passcode: 636931
  • Dial-in:
    Country International Dial-in Toll-free Dial-in
    US +1 929 205 6099 (New York) 877 853 5247
    UK +44 330 088 5830 0800 031 5717
    France +33 1 8699 5831 0 800 940 415
    Find your local number https://zoom.us/u/ad2WVnBzb8

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

Minutes

  • The meeting focused on review of the progress on the POC and on the draft documentation PR.
    • @kriswest gave an introduction to the Agent agnostic fdc3 spec #1167, which attempts to translate the proposal in the group's shared doc into a documentation PR and represents a large contribution of effort from @thorsent, which is much appreciated.
      • The draft includes messages needed in the wire protocol (currently called the Browser Communication Protocol) in Typescript format. It also introduces a specifications folder to separate out the (growing) info needed to implement a DA from the info needed to work with one - this seems a good idea as we always aim to keep complexity lower for app developers to aid uptake! The new files need adding to the docusaurus navigation.
      • @kriswest to migrate the PR branch to the FINOS repo to facilitate work on it by the maintainers to deal with comments submitted.
    • The main outstanding issues to POC are:
      • intent resolver and channel selector UI solutions - which are complicated by the need to use OS/vendor agnostic code only in the applications to preserve WORA.
        • @thorsent's documentation draft recommended that default implementations are provided by the FDC3 library initially - with the author suggesting that a later iteration could further refine this area, once the main thrust of the proposal is accepted. However, the meeting did not wholly agree, with a number of participants believing that we should find solutions that allow a DA to override the default implementations.
      • alignment with the proposal (changes may be needed in both directions)
      • Bridging does not provide all the required messages (but does have many of them, although some will be slightly off due to differing requirements in bridging).
        • @kriswest to make a start on dedicated messages - but ensure type names and payloads are shared with bridging wherever possible to keep maintenance costs low
          • @robmoffat indicated a desire to keep messages as similar as possible to bridging to make passing them between the different interfaces (to the web and to the bridge) in an implementation as simple as possible.
          • @robmoffat also indicated a desire to be able to use the wire protocol being worked out in other language implementation - supporting the need to have messages in JSON Schema format (rather than typescript) so that code for them can be generated for other languages via quicktype.

Action Items

  • @kriswest to migrate the PR branch to the FINOS repo to facilitate work on it by the maintainers to deal with comments submitted.
  • @kriswest to make a start on dedicated messages - but ensure type names and payloads are shared with bridging wherever possible to keep maintenance costs low
  • @robmoffat to continue exploring the POC - particularly regarding Intent resolvers and channel selector UIs

Untracked attendees

Full name Affiliation GitHub username
@robmoffat
Copy link
Member

Rob / FINOS 🐄

@mistryvinay
Copy link
Contributor

Vinay Mistry / Symphony 🎵

@openfin-johans
Copy link
Contributor

Johan / OpenFin 🎁

@Lecss
Copy link

Lecss commented Mar 21, 2024

Alex Dumitru / Citi

@novavi
Copy link

novavi commented Mar 21, 2024

Derek Novavi / S&P Global

@kriswest
Copy link
Contributor Author

Kris West / interop.io

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

6 participants