June 2, 2021
OpenFin and the FDC3 Zeitgeist
When we started FDC3 in the fall of 2017, we didn’t know that it would eventually enter into the financial industry zeitgeist, and yet here we are in 2021 where arguably FDC3 has achieved Product Zeitgeist Fit as D’Arcy Coolican of Andreessen Horowitz calls it
How FDC3 was started and where it’s headed next
When we started FDC3 in the fall of 2017, we didn’t know that it would eventually enter into the financial industry zeitgeist, and yet here we are in 2021 where arguably FDC3 has achieved Product Zeitgeist Fit as D’Arcy Coolican of Andreessen Horowitz calls it. Early adopter customers reach out to plot their FDC3 strategy. Employees who weren’t at OpenFin when we created FDC3 are inspired by it. Even journalists reach out looking for a scoop on the next phase of FDC3.
If you haven’t heard of FDC3 before and are feeling left out of the zeitgeist, here’s a primer. At OpenFin, desktop interoperability was part of the very first version of our software that we released back in 2012. The API was called
fin.desktop.ClientBus and it let developers
broadcast data to other apps on the desktop. This made it easy to connect workflow between different apps, but it required apps to know about one another and speak the same language. You either had to build all the apps yourself, or you had to coordinate bi-laterally with other app builders. That works from a technical perspective, but it doesn’t scale.
By 2017, OpenFin was being widely used by many banks who all shared our vision for openness and interoperability. The time had come to take interoperability to the next phase. So on October 17, 2017 we met (somewhat secretly) in a private dining room at 1 Lombard Street by the Bank of England with representatives from eight global banks. We told them: “The topic of the dinner is industry interoperability. We’re planning to have a robust discussion about standards and what we can do collectively to accelerate the ‘future of finance’ vision that you all share.”
The idea we proposed was simple: let’s create a standard that enables app interoperability. This would allow app developers to use a common language so that their apps would automatically interoperate with one another. No need for bi-lateral coordination between app developers. If everyone used the standard language, the industry would have apps that plug-and-play and a model that truly scales. Suffice it to say that the dinner was successful; we “had them at hello,” as it were, and thus was born “FDC3”, the language for financial industry desktop interoperability.
As any parent knows, naming is hard. When naming this new language, we looked to other successful standards in the world and, in particular, to the web. The best model we could think of was the World Wide Web Consortium (W3C), an international community where member organizations, including the largest technology vendors in the world, work together to develop web standards, including HTML5. It seemed fitting to name this new standard the Financial Desktop Connectivity and Collaboration Consortium (FDC3). As the original charter of the group stated: “The mission of the Financial Desktop Connectivity and Collaboration Consortium (FDC3) is to develop specific protocols and taxonomies to advance the ability of desktop applications in financial workflows to interoperate in a plug-and-play fashion and without prior, bi-lateral agreements.”
The week after that fateful dinner, we had the first ever meeting of the FDC3 Technical Working Group which was attended by 12 major banks, buy-side firms and vendors. The group quickly gained traction, attracting more than 30 participating firms. Additional major banks and buy-side joined as well as leading platforms including FactSet and IHS Markit. The initiative was announced publicly in March 2018.
Although we were proud to have started the initiative at OpenFin, we also knew that for this new standard to flourish, it would need a more neutral home with proper industry governance. Thankfully, that home was in the process of being created and was announced the following month with the creation of FINOS (Fintech Open Source Foundation).
A few weeks later, OpenFin contributed the FDC3 initiative to FINOS and the rest, as they say, is history.
The Next Phase
So here we are, three years later, and we believe FDC3 is ready to move into its next phase of adoption. In this next phase, a broad number of industry apps will implement the standard in production, and a broad number of banks and buy-side firms will use the standard both internally and for interoperating with third-party apps. A key accelerant for this has been the introduction of our new OpenFin Workspace offering which uses FDC3 standards both for context sharing and for content discovery.
We’ve also been working hard at OpenFin to hear from the industry and build additional infrastructure that will support this next phase of growth. One truism of industry working groups (as helpful as they are) is that sometimes people and firms don’t participate and often they don’t tell you why. We’ve made it our mission at OpenFin to bridge that communication around FDC3 given the very large number of banks, asset managers, hedge funds and vendors who are our customers and form our ecosystem.
The feedback from the industry has been fascinating. The current challenge is not with the standard itself, but with the engines that run the standard. In FDC3 terminology, this engine is referred to as a “DesktopAgent”. OpenFin Container is the most widely used FDC3 DesktopAgent, now running at more than 2400 banks and buy-side firms and that broad adoption and usage has uniquely exposed us to two, key challenges for FDC3:
- Data Security: Which apps can access data shared using FDC3 protocol?
- Upgrade Control: Who gets to decide when the DesktopAgent is upgraded?
We will admit that when we first heard the challenge with data security, we were slightly skeptical. FDC3 is for all apps to interoperate, by design. Why would you want to limit which apps could share context with one another? As we discussed it more with customers, we learned about the sensitivities. Many banks and buy-side firms have been reluctant to use FDC3 for sharing context between their internal proprietary apps out of concern that they may be leaking sensitive data to third-party apps that run on the same desktop. Sometimes they want to share with third-party apps and sometimes they don’t. It’s hard to argue with that.
The second issue of upgrade control is somewhat thornier. Since FDC3 is run by software (the DesktopAgent), the software has to be upgraded from time to time, to support new FDC3 features, for example. If there is one engine on a bank desktop and it is being used by both a 3rd party platform as well as by internal apps at the bank, who gets to decide when the software is upgraded? It turns out that third-party platforms want to control the upgrade and so do banks; no one wants an upgrade to happen outside of their control where they aren’t able to test the new version on their own timing. That’s a hard problem to solve.
We’re pleased to announce that we’ve now solved both problems with the introduction of a new Interop API in OpenFin Container, which supports our enhanced FDC3 API and will allow it to scale faster. The new Interop API introduces the ability for every platform that runs on OpenFin to have and manage its own FDC3 DesktopAgent. That allows two, new critical capabilities:
- Data Security: Each platform decides which apps can access its FDC3 data
- Upgrade Control: Each platform decides when to upgrade its FDC3 DesktopAgent
Crucially, OpenFin Container orchestrates the upgrades and makes it so that platforms running different versions of the FDC3 DesktopAgent can still interoperate (if they want to).
With the new Interop API, which is a foundation of OpenFin Workspace, we’ve also significantly simplified things for developers by automatically handling a lot of the complexities of a DesktopAgent. All that is left is for developers to implement 2 simple APIs in their apps to start sharing context with other apps. It literally couldn’t be easier.
What’s with the Naming?
Once you’ve had a look at the new Interop API, you will notice differences in the naming of the APIs from the names used by FDC3. Does that mean we’re moving off the FDC3 standard? The answer is an emphatic no. Nothing could be further from the truth. We are 100% committed to the FDC3 standard and believe it is more important now than ever.
The reason our APIs have different names is quite simple — it allows us to move fast and avoid developer confusion. At OpenFin “Move Fast” is right in our tagline and we’re moving very fast on interoperability among other things. Standards, by their design and nature, move slowly. Innovations that start with one vendor are subsequently used by others and eventually (if they are successful), they become worthy of inclusion in the standard. That’s how it works with web browsers where Google might introduce a new capability that’s not part of HTML5 today, but eventually becomes part of the standard after other browsers introduce similar features.
By having the OpenFin Interop API as the foundation, we are able to move fast, introducing new APIs and changing how existing APIs work, while rigorously maintaining FDC3 APIs and ensuring they implement the standard to the letter of the specification. This gives developers the best of both worlds — a standard with stable APIs they can rely on, together with a faster moving API that can include experimental features that pave the way for an eventual standard. Apps that use the Interop API automatically interoperate with apps that use the FDC3 API and vice versa. Finally, we always highly recommend that developers use FDC3 standard types. That ensures all apps are always speaking the same language irrespective of the API they use.
We’re excited about this next phase of FDC3 and the industry interoperability made possible by the improved FDC3 engine, and by the widespread adoption of OpenFin Container which means the engine is available by default at more than 2400 banks and buy-side firms today. We recognize the importance of our unique role in supporting the standard; it’s a privilege and we don’t take those responsibilities lightly. What we’re doing now is working with the large and fast-growing number of vendors in the OpenFin ecosystem to ensure their apps support FDC3 standards. You’re going to see more from us on this in the coming months. Stay tuned, and if you have questions, please feel free to reach out to our team to discuss. In the meantime, feel free to mention “FDC3” when you’re with colleagues for post-COVID drinks and enjoy the zeitgeist!
Enjoyed this post? Share it!
Related PostsAll Posts ->
Boosting Enterprise ROI: How to Increase CRM and Chat Utilization Across the Desktop
Big Wins from OpenFin