Why? Because, several years ago, we very carefully selected best of breed open source technologies, platforms and products for our VNClagoon product stack, since then we have been enhancing the underlying functionalities and technologies significantly, we integrated all components seamlessly in the backend, added our own frontend clients to all VNClagoon products (thus also VNCtalk), thereby allowing the modularizing and repackaging of all products, adding any kind of dashboard or other UI in front and enabling a limitless scale out at the backend.
In this blog post we share insights on underlying technological and platform decisions and their benefits for our product VNCtalk.
For detailed information on VNCtalk Version 3, please check our Release Notes.
1. World-class messenger and videoconferencing combined
VNCtalk combines two power tools in one product!
Most videoconferencing products only have simple chat features integrated, which are too rudimentary for enterprise usage. Our messenger and enterprise information stream has superior features in itself.
2. Outstanding DevOps concept
VNCtalk, as all our VNClagoon products, follows our specific process for continuous integration and deployment. We use Jenkins or GitLab or Kubernetes as an automation server to automate the parts of software development related to building, testing, and deploying.
Thus, our products run through automated tests and checks, after which they are deployed automatically e.g. to our or our partners’ systems.
VNCtalk is 100% Ansible ready, which enables the exact same code deployment on any target system (test, preproduction, production or others).
Some figures: The deployment of the complete VNCtalk system takes in this process one hour max. Updates of components are deployed within minutes.
3. VNCtalk is not SaaS
VNCtalk can be deployed anywhere, e.g. in our partner’s and their customers’ infrastructures, independent from their physical location: in a secured datacenter, in a private cloud and in a public cloud environment.
Just as a reminder: We believe in Channel Business!
4. Transparent API
VNClagoon products are using RESTful API to provide interoperability between applications. We are sharing transparent APIs to enable easy integration with third party products.
Thereby we empower our VNClagoon partners: use it, sell it, integrate it, enhance it, make it your own (even as OEM) and earn money. 🙂
5. Maximum security
All VNClagoon products deliver a maximum of transparency and auditability. They are open source and you can deploy them wherever you need.
6. One source code base for all clients
We are using Apache Cordova as a mobile application development framework and are thus able to deliver VNCtalk as hybrid Apps: the VNCtalk Web Client in your browser; Desktop Client for Windows, Mac and Linux; Apps for Android and iOS (iPhone and iPad). For us, there is no need to maintain a team for each frontend OS.
7. Drastic performance improvements
We have severely optimized Angular by using Redux, Virtual Scrolling (enabling a performant way to simulate items being rendered) and Angular service worker to keep computation in the cloud whenever possible, which leads to drastic performance gains within VNCtalk and enables us to support several independently running clients (such as Web Client and Apps).
8. Cloud optimized
VNCtalk can be deployed in public clouds and is optimized for the Google Cloud Platform (GCP).
This comes with major advantages, such as the usage of Cloud SQL, which is a fully-managed database service that makes it easy to set-up, maintain, manage and administer relational databases on the Google Cloud Platform.
Furthermore, the GCP enables autoscaling the amount of computational resources, which is beneficial for managing highly flexible (and up to very high) numbers of users and sessions in VNCtalk for video calls (video bridges), whiteboard and screen sharing sessions.
Additionally, there are several more benefits such as extended monitoring, entire automation and perfect cost optimization. Furthermore, GCP allows us to easily add machine learning and AI functionalities.
And remember: we believe in Channel business! We share our experience and help our partners to setup and manage their own VNClagoon cloud environments.
9. Directory integration
VNCdirectory is the central management system for users, roles, organizations. All VNClagoon products are integrated in VNCdirectory.
VNCtalk is able to manage core parameters via VNCdirectory, such as user permissions, (group) chats and much more.
All our VNClagoon products use best of breed UX / UI design.
We are aware that User Experience Design and User Interface Design shape any interaction a user has with our products. We consider each and every element that shapes this experience, how easy it is for the user to accomplish their desired tasks. And we take care of the look and feel, the presentation and the interactivity of our products – in all of their client versions!
Best of all: our clients are flexible and can be modularized and adapted to your specific needs in terms of functionality, design, branding (up to OEM).
11. Offline usage
VNCtalk can be used offline in all clients: Web Client, Desktop Client and Apps.
VNCtalk delivers unlimited offline storage thanks to on device SQL and does not rely on browser cache (which would lead to disadvantages regarding proper data/proxy updates and access latency). All devices are instantaneously synced after reconnect and notifications are updated immediately across all attached devices.
On the server side, our offline model is based upon Angular service worker and is using one source code base also for the offline functionality.
We have implemented two databases:
- IndexedDB for the VNCtalk Web Client ensures that we deliver unlimited offline storage also in the browser.
- For the Desktop Client and the Apps we use SQLite.
The benefits of our approach are unlimited storage, tremendous performance, reliable as well as performant notifications and updates in every client.
Imagine these scenarios:
- Open several VNCtalk clients at the same time (e.g. the Web Client and the Android App), read a chat message in one client, the other client recognizes and displays the message notification as well as the unread/ read status immediately.
- Open four VNCtalk clients (Web Client, Windows Desktop Client, iPad App, Android App), three of the clients are online and one is offline. When this client comes online again, all new and read messages are immediately updated and notifications are cleared.
12. Enterprise Information Stream
We have implemented Solr as an enterprise-search platform and are thus able to deliver an Enterprise Information Stream within VNCtalk, which gets filled with each activity such as every chat message sent and is used for queries of any kind. Solr indexing is able to achieve rapid search responses.
VNCtalk allows natural language processing (NLP) tasks such as tokenization, tagging, chunking, and parsing. NLP is concerned with the interactions between computers and human language, e.g. how to process and analyze large amounts of natural language data.
13. Enterprise messenger
The messenger component is the core element of VNCtalk.
We invested years of development to deliver a convincing best-of-breed enterprise messenger with dozens of features for a truly professional usage.
VNCtalk enables enhanced message compose and collaboration features, such as RTF in chat messages and document collaboration in the VNCpad.
We believe that our users’ content is too complex for simple plain text chats (we can do those too). If you want to communicate your strategy, discuss innovative ideas or solve tricky issues, you need to be able to structure your statements in a professional way and you need to collaborate on your text. With VNCtalk you can do that.
In VNCtalk, we deliver professional chat features in combination with real-time conferences. We can start video conferences, screen share or whiteboard sessions from chats (1:1 or group chats). You can select either all or individual participants of a group chat to join a conference. You can start break-out sessions (separate 1:1 or group chats, video / audio calls, screen share or whiteboard) in this manner, with all or selected participants from a group chat.
Thus, you don’t necessarily need to start a video call in order to share your screen. You can e.g. use chat and screen sharing at the same time, or whiteboard and audio call, and so on – you get the picture.
And of course we can invite external guest users via sending a simple web URL and the video conference starts in any (WebRTC compliant) browser.
VNClagoon is our integrated stack of communication and collaboration products.
Some examples for integration scenarios:
- VNCtask and VNCproject integration in VNCtalk for professional and agile project management processes.
When you clip a link from VNCproject to VNCtalk you will see all important information from the ticket, such as: ticket name, project, target version, start date, due date, estimated time, spent time, status, priority, description and comments.
You can inline edit the ticket status, due date, priority and add comments.
When someone mentions you in a VNCproject ticket, you will receive a notification in the VNCtalk chat as well.
- VNCcontacts is a cornerstone of VNClagoon to get access to all your contacts, their activities, trigger actions from a contact, add any kind of tag, flag or other criteria.
For example, you can start a chat or a video / audio call directly from a contact.
VNCtalk delivers conferencing (video, audio, screen share, whiteboard) with exceptional functionalities and performance for enterprise usage, based on WebRTC.
In VNCtalk Version 3 we accomplished significant UI and UX improvements, such as three flexible viewing modes:
- tile view
- filmstrip view
- shared content view (for screen share and whiteboard)
You can use each mode in fullscreen and can switch between all modes easily.
Shared Content View
We implemented an extended role model for conferences. You now can assign conference managers, moderators, participants and audience to a conference, with different permissions and user experiences. These roles can be managed in VNCdirectory and can be flexibly assigned also during active conferences.
Note: an audience user is provided with a stream (broadcast) of a video conference. This allows us to have an unlimited number of participants in a conference (see MCB – Multi Conference Board).
With VNCtalk you can invite and visualize external participants. These participants can join a conference by clicking on an invitation link. They can use the Web Client without any installation required or they can download the Desktop Client or the App.
In case you conduct conferences with large numbers of participants or have varying usage patterns you might want to scale your backend according to these needs.
Our Ansible deployment is relevant especially for these cases, e.g. to increase video bridge capacity as needed, automatically. In cloud environments we deliver even auto scaling, also for whiteboards and conference recorders. Thus you can have a “breathing” conferencing infrastructure per your instantaneous needs, which is super cost efficient.
16. Multi Conference Board (MCB)
The Multi Conference Board (MCB) – another ground-breaking addition to VNCtalk – is the perfect tool to manage virtual events of any kind and allows the scheduling, recording and archiving of your conferences.
With VNCtalk and the MCB you are now enabled to conduct virtual events with very large numbers of participants.
The Multi Conference Board (MCB) allows you to run and manage several parallel conferences (video, audio, screen share, whiteboard) from a central dashboard.
In a professional management layer we introduced several new user roles: conference managers, moderators, participants and audience. You can assign one or more conference managers and moderators to make sure that your virtual events are running smoothly. The invitees are either active participants or members of the audience, who are viewing a live stream of the conference and who can join actively by raising their hand.
The MCBs are managed via VNCdirectory, all meta data can thus be analyzed retrospectively.
Individual video conferences are „streamed“ as tiles to the MCB, where a conference manager keeps the complete overview, can invite and manage participants, send broadcasts to the audience, chat with individual participants and much more.
The MCB contains valuable information:
- all current and planned conferences
- all participants
- all user interactions and notifications (e.g. raised hands)
- all connectivity details (users with low bandwidth)
MCB Conference Managers can:
- schedule and start video conferences
- manage all planned, live, finished and archived conferences
- invite new participants
- deactivate participants
- mute / unmute participants
- change the roles of participants
- assign moderator roles
- send broadcasts to all participants
- chat with individual participants
- record conferences
You want to see VNCtalk Version 3 live in action?
Just register on VNClagoon LIVE, our reference implementation of our VNClagoon communication and collaboration stack!