Blog

A sneak-peek at the future of Vaadin’s real-time collaboration features

By  
Kavish Weerawardane
Kavish Weerawardane
·
On Oct 15, 2020 10:01:25 AM
·
In Product

Collaboration Engine

Last Thursday saw the unveiling of our initial release of Vaadin’s new collaboration feature, which allows developers to rapidly build real-time form editing features directly into Vaadin applications, with only a few lines of code. 

A stable, beta version of the feature is currently available on request for any Vaadin commercial subscriber.

However, this was just the beginning of an ambitious, long-term vision that will greatly simplify the development of full-featured collaborative experiences.

To learn more about the current capabilities of Collaboration Engine, check out our launch blog post, or this webinar by Marcus and Jens. Existing Vaadin subscribers can get started with Collaboration Engine for free by requesting access here.

Where does Collaboration Engine go from here?

At present, Collaboration Engine runs in-memory, directly on an application server. This makes users in a clustered-server environment invisible to a single instance of the engine. In addition, the engine currently only supports Vaadin’s signature Java API.

Therefore, in the short term, we are focusing on two key investments aimed at broadening Collaboration Engine’s compatibility with a wider range of business-critical applications, and providing a first-class developer experience for our entire community.

To that end, we are currently working on:

  • Independent deployment and clustering support (Q2 2021): This will allow Collaboration Engine to be deployed to its own server. The additional benefit of supporting applications that are clustered across multiple servers will enable developers to scale collaborative web apps like never before. 
  • TypeScript support (Q4 2021): Collaboration Engine will support 2 APIs for UI building: our signature Java API, and the TypeScript API. This means that developers can build collaborative features into their web applications using their language of choice. This aligns with Vaadin’s next LTS version (due in Q4 2021), 

What about new features and use-cases?

As we hinted above, and expounded on in this blog post, our overall vision stretches far beyond simply providing real-time, co-editing features. 

Instead, we strive to provide developers with all of the tools and infrastructure needed to replace every aspect of real-time collaboration within digital workflows

This means that end users will be able to concurrently manipulate information, communicate in real-time, provide feedback and react to situations with a sense of immediacy directly from inside a secure Vaadin application.

To that end, we have plans for Collaboration Engine to cater to three use-cases, each with its own set of features, components and functionalities:

  1. Concurrent editing (available now- more features coming).
  2. Live discussion (coming soon).
  3. Live notifications (coming soon).

Developers will be able to combine these functionalities and features in a modular way to create powerful, custom collaborative workflows that are a perfect fit for their organizations. In addition, our powerful low-level Topic API will offer further customization capabilities for the most intricate of workflows.

The exact functionalities relevant to these use cases are currently in the ideation phase and will likely change, depending on our research and the feedback we receive from our first batch of Collaboration Engine users.

Concurrent editing

Our current implementation of concurrent editing allows any Vaadin form to be edited by multiple end-users through the use of our CollaborationBinder. This is already a powerful feature that caters to a wide variety of enterprise use cases. 

We will expand this feature by adding rich text editing capabilities, which will allow users to concurrently edit large blocks of text within a Vaadin application. The planned result will be similar to 3rd-party tools, such as Google Docs or Etherpad. 

In addition, our implementation currently focuses on conflict avoidance, through intuitive collaborative UX cues and real-time data syncing. We are looking into taking this one step further, by implementing robust conflict resolution capabilities as a fall-back option that will make rich text editing a smoother experience.

Live discussion

Our current plans for this particular module focus on enabling end users to engage in real-time, latency-free discourse, directly within a Vaadin application. In practical terms, this means that users will be able to:

    • Comment on content, much like in well-known, 3rd-party tooling like Google Docs and Figma
    • Easily keep track of changes in complex situations by accessing a step-by-step, real-time log of all edits and updates in a specific UI component, form, view or application
  • Chat with other end users present in a specific component, view or application, in a manner reminiscent of popular workplace chat apps, such as Slack or Google Hangouts

Live notifications

Ideation for this module is in the early stages. Ideally, it will allow end users to stay constantly updated, even while accomplishing tasks outside of a Vaadin application. They will be able to subscribe to selective real-time push notifications and emails about changes to specific collaboration topics.

Will a hosted cloud offering be available?

Collaboration Engine was initially intended to be a cloud-only offering, with optional self-hosting capabilities coming later. 

However, our user research showed that a vast majority of businesses preferred to have their data secured on their own servers. In addition, many of our customers require solutions that can function solely on their local intranet connections.

Based on this feedback, we focused on first developing a solution that functions under these conditions, to cater to a wider segment of our user base.

A cloud offering is currently under consideration, and may be implemented based on demand. If developed, the cloud offering will allow businesses to purchase fully-hosted and managed instances of Collaboration Engine that run on Vaadin’s secure and high-performance servers. 

This means further reduced maintenance overhead and reliable performance with minimal effort. 

If a cloud offering interests you, please make your voice heard in the comments, or on our social media.

A bright future for real-time collaboration in the palm of your hands

Our community has always been at the heart of Vaadin, and your feedback is a key driving force behind our success. 

Because the real-time collaboration space is an unfamiliar one that is still in its formative years, we are taking things one step further with Collaboration Engine. Early users will interact directly with our product and marketing teams (including the product owner and product marketing manager) to provide direct input that will influence the future investments and scope of the feature. 

As a result, Collaboration Engine will end up being precisely the product that you need, in order to provide your end users with the best experience possible.

Stay tuned for more information and more concrete release dates as they become available, and as we receive more feedback from our first batches of users. 

Until then, do let us know what collaboration features are important to your use cases in the comments section.

Want to implement Collaboration Engine for your Flow app? Click here to learn more and get started for free!

 

Kavish Weerawardane
Kavish Weerawardane
Kavish leads our product marketing team in bringing exceptional developer and enterprise focused products to market. He is particularly passionate about design systems, UX & real-time collaboration technologies.
Other posts by Kavish Weerawardane