Developing FDC3-compliant apps

If you want to create FDC3-compliant apps that you can then sell to companies or integrate with other apps in their smart desktop, we’re here to help. This document helps you get going quickly by using Finsemble. We provide the foundation, and you can skip the parts that you already know.

If your customer or firm already has Finsemble, they have already figured out the design and deployment. If they don’t, you don’t need to show them everything they can do with the smart desktop. You only need to show them how your app fits into their workflow, which is one of possibly many workflows they have.

If you are planning to develop FDC3-compliant apps for your own company, you already have Finsemble so you can skip the licensing part, but most of this information is relevant to you.

Introduction to FDC3

At the foundation of a financial smart desktop is the FDC3 standard, which provides a framework that all apps on the smart desktop use for communicating with each other.

What is FDC3?

The Financial Desktop Connectivity and Collaboration Consortium (FDC3) is an organization that aims to provide universal connectivity and standards for all desktop applications for the finance industry. Learn more about the FDC3 standard.

Benefits of using FDC3

The FDC3 standard allows all compliant apps to talk to each other using a common language within any FDC3-compliant platform. Before FDC3, a number of different proprietary APIs existed, forcing app vendors to 'pick a camp' or provide support for each API that their clients required. At times, the differing communication models could make implementation exceedingly complex. Instead, FDC3 offers an easy to understand context sharing model via Channels and the ability to start and invoke actions in other applications via intents. By following the standard, you are automatically ensuring compatibility for your app.

See the FDC3 use cases overview to learn more.

Who is using FDC3?

More and more companies realize the benefits of using FDC3. Check out the list of companies using FDC3. This list is not exhaustive, and new companies join frequently.

Learn the FDC3 standard quicklyThere’s no better way to learn than to use the standard. We recommend that you open two instances of the FDC3 workbench side by side in Finsemble, and try sending messages back and forth. Learn more about the workbench later in this document.

For more info, watch the video demo.

Introduction to Finsemble

What is Finsemble

Finsemble is a no code/low code smart desktop platform that allows applications to sync, link, and share information, even if they weren’t originally designed to. It allows you to use your existing applications as building blocks to create a cohesive desktop environment in which apps work together in logically organized, managed workflows. These apps can be of any type. We call this environment a smart desktop.

For more info, check out Introduction to Finsemble in our documentation.

How you can use Finsemble to develop FDC3-compliant apps

If your customer already uses Finsemble, you might want to integrate your app into their smart desktop. If they don’t, they are probably considering buying some kind of desktop management product. You can demo your app inside the Finsemble smart desktop. Get more info about obtaining the developer license from Cosaic. This license allows you and your developers to use the software internally solely in connection with building, developing and testing your own applications that interoperate with or incorporate the Software (“Applications“) for the purposes of evaluation.

There are 3 ways you can integrate your app into a smart desktop by using the FDC3 standard:

  • Implement support for FDC3's intent and context API calls that other apps can use to communicate with your app. You can then integrate your app within a compliant desktop agent, such as Finsemble, that someone else has implemented. This approach requires the least amount of work.

  • Write your own smart desktop by implementing the FDC3 Desktop Agent and Channel APIs and a container for other applications. We strongly recommend that you don’t choose this approach. Creating your own interop service and app container platform is a lot more complex than it seems.

  • Plug your app into Finsemble. You can whitelabel Finsemble so that you can brand it the way you want. This way, all the infrastructure work is already done (and maintained by us). You don’t need to reinvent the wheel. All you need to do is use it.

Installing Finsemble

Finsemble code resides in GitHub. To install it, you need to clone it and then install it by using yarn. You can also use npm version 7.x or later.

Here are the detailed steps to Install Finsemble.

The FDC3 workbench

What is the FDC3 workbench?

When you develop FDC3-compliant apps, you need to do a lot of testing. The tests involve sending FDC3-compliant messages between your app and other apps. As a result, many developers create a throw-away skeleton app that stands in for other apps that your app can communicate with. This way, you can test and debug all the communication quickly and thoroughly.

There is no need for the throw-away work now. The FDC3 workbench is the tool that you can use to test how your app sends messages back and forth.

The workbench comes with Finsemble 6.2 or later, so you can start using it immediately. You can also use it with other providers. You can download the workbench from the FDC3 github repository or use the version hosted on the FDC3 website.

How to use the workbench to develop and debug your apps

To learn the basics of using the workbench, watch the video demo.

To learn more, we recommend that you install the workbench on your favorite platform, such as Finsemble, and try it out.

The workbench is already installed for you in Finsemble 6.2 or later.

The Smart Desktop Designer (SDD)

What is SDD?

The Smart Desktop Designer (SDD) is a Finsemble app that you can use to design, implement, and deploy smart desktops with minimal coding. If the apps you want to include in your desktop are web-based and already FDC3-compliant, you can add them to the desktop you’re designing and they will just work. Otherwise, there is a little bit of coding required.

How to use the SDD and the workbench

Watch the Using the Smart Desktop Designer with the FDC3 workbench video.

Limitations of SDD

SDD is a powerful designer that allows you to create and deploy useful smart desktops on its own. However, it does have limitations.

You can only add precompiled native apps. For adding other apps, you need the full power of Finsemble.

If you want to create complex workflows or anything more than the basics, you need to use Finsemble API. We keep improving SDD continually, so stay tuned for more.

Preloads

If you have an app that isn't FDC3-compliant but you want to use it in your smart desktop, we recommend that you use preloads. A preload is code that executes before the app loads. This way, you can inject functionality without changing the app code.

Note: Preloads work only for HTML5 for now. This will be expanded soon.

More about preloads.

Learn more

There is a lot more to Finsemble than what we’ve talked about here. In this topic we only scratched the surface. For more in-depth info, see other topics in our documentation.