Where have we come from?
Some time during the summer of 2020, we came to the realization that something was missing in our platform. We had two amazing frameworks, a design system that includes a set of modern UI components and our much loved Lumo theme, as well as a vibrant community that is as excited about Vaadin as we are.
It was during those rough and weird times that it became clear, working from home and likely in isolation, that the future of web applications and a great user experience lies in collaboration. Digital tools are not only important to bring us closer to our loved ones, but they’re also crucial for an efficient workplace.
We then set out on a mission: to help Vaadin developers easily add collaborative features to their web apps, so their users can work better together.
Our first milestone was on October 28, 2020, when we released our first official version of Collaboration Engine (1.0.0). The two first supported cases were:
- User presence: seeing who else is looking at a view, and
- Collaborative form editing, which highlights a field when it’s focused by another user, and provides real-time updates when they stop focusing on it.
For 2.0.0, we made all development with Collaboration Engine free and unrestricted, and added a license check, needed only during production.
It wasn’t until 3.1.0 that we introduced the Messages feature, which allows developers to easily add a real-time chat or a comments feed to the application.
We then decided we wanted to provide more tools to customize these features by introducing a set of “middle-layer” APIs, which we named Collaboration Managers. The PresenceManager came out with 3.2.0, which enables the handling of user presence in topics, and the MessageConfigurator to customize messages in the CollaborationMessageList component. Our next release, 4.0.0, comes with the MessageManager, which allows handling message data in a topic without needing to use a high-level UI component. This makes it possible to submit messages to a topic and set a handler to react when a new message has been submitted.
Where are we now?
Working on a big and exciting project! We’ve put the remaining FormManager on hold to bring clustering support to Collaboration Engine.
Our approach is BYOB (bring your own backend). And everything will be asynchronous within Collaboration Engine.
To celebrate the first year of Collaboration Engine, we’re temporarily increasing the number of users included with Vaadin subscriptions! Yes, that also includes Core.
To request your license, fill out the form in this link.
Does your app need Collaboration?
While tempted to respond with a strong “YES”, I’d say this is relevant for most web applications. However, you can decide for yourself with the help of this Guide to real-time collaboration in Saas.
Here’s a tutorial on how to get started with Collaboration Engine, by Marcus Hellberg.
We also made this project starter with collaborative features for you.
Want to check these features without downloading a project?
You can go directly to this demo. For the best experience:
- Open two tabs and place them next to each other on a split screen.
- Select a different user avatar and name for each tab, and click on Start editing.
- Open up the same contact form by clicking on the “edit” button at the far right of the app.
- Write something in a text field and check the other tab.
- Leave that field and check the other tab.