First Fluid Component Delivered – More Coming
Updated 3-Aug-2021 to correct administrative control over Live components.
Update 28-October: Fluid components (now renamed Loop components) for Teams Char are available in public preview.
The Fluid framework is a technology developed by Microsoft (now open source) designed to help developers build better collaborative applications. The big selling point for the Fluid framework is its synchronization capabilities, which allow applications to coordinate updates made by multiple people to the same content and present the information in a coherent manner.
On May 25, Microsoft announced that Fluid components in Teams chat was then in private preview. On June 17, Microsoft followed up by saying that “the expansion of Fluid components for Teams meetings, OneNote, Outlook, and Whiteboard that make it easier to collaborate synchronously and asynchronously across Teams and Office apps.”
Confused by what Fluid is or means in practical terms? Well, soon you’ll get a chance to try the technology out in Teams chat. According to MC270177 (July 14), Microsoft will roll out “Fluid live components in Teams chat” in mid-August (Microsoft 365 roadmap item 82779) and expects to complete deployment by the end of August.
Update: Timing didn’t work as expected. Microsoft made Live components for chat available in preview on October 28.
Wide Range of Live Components
The Fluid (or as they’re referred to in Teams, live) components enabled for Teams chats are:
- Agenda. Build an agenda for a meeting (we’ll see more use of this component when it shows up in Teams meetings).
- Table. Just like a table in Word.
- Bulleted list and Numbered list. Work like any other bulleted and numbered list in a Microsoft word processor.
- Checklist. Write down all the things people need to do. Like a task list, but with no assigned task owners and target dates.
- Paragraph. Free text component that’s good for capturing ideas and sharing information like web links.
- Task list. Build a set of tasks or follow-up items and assign tasks and expected completion dates to chat participants.
Don’t expect to paste text from Word or another editor into a live component and have it work perfectly. I could paste graphics from the clipboard into the paragraph component, but when I took formatted text like the content of this article (including embedded figures) and pasted it into the same component, the formatting suffered badly. On the other hand, cells pasted in from Excel worked well (as far as my tests went). My advice is to keep to simple text formatting whenever possible.
Getting Immediate and Concurrent Updates
To add a live component to a chat, create a new message, click the live component icon in the compose menu, and select the type of component to use (Figure 1). You can’t insert a live component into the compose message box when some content is already present – the message must be perfectly blank before Teams allows you to insert a live component.
One way of thinking about this is that a live component is a container created in the owner’s OneDrive for Business account. Once you compose the content and send the message, Teams shares the component with others in the chat (Figure 2).
Once sent, the component is “live.” Any change made to its content is dynamically updated to anyone connected to the container using either the Teams desktop (Windows, MacOS, and Linux) or mobile client. If you switch from chats to do other work or leave the device for a while, you will need to refresh the content of a live component when you return.
Microsoft’s pitch is that live containers bring content co-authoring to Teams analogous to the way Office documents stored in OneDrive for Business and SharePoint Online support co-authoring. As people make updates in the container, a facility like the Autosave feature in Office updates the copy in OneDrive for Business and publishes the updates to clients connected to the container. Anyone involved in the chat can work on the content and others see who’s currently working on the content as they type. Figure 3 shows a bulleted list component being updated. You can see a marker with the initials of the active user to show where they are working. In this case, it’s me (TR).
Microsoft’s belief is that by working together on shared content, people can avoid discussing topics in a long message thread or meetings. For instance, they can collaborate on creating a task list for a project in a single updatable object (the dream of OLE/DDE from 30 years ago) like the task list shown in Figure 4 without entering a to-and-fro discussion of what needs to be done, by whom, and when.
Storage for live components in Teams chats is in OneDrive for Business as .fluid files created in the Microsoft Teams Chat Files folder in the owner’s account (if you don’t have a OneDrive for Business account, you can’t create live components). Figure 5 shows a set of .fluid files and the access granted for one file. The sharing link isn’t very exciting because it allows members of the chat to access the component. Later, when more widespread support for live components exists in Office, you should be able to share a component more broadly with more people through more applications.
You can rename the .fluid files if you like but don’t delete them as this causes Teams some distress. An entry for the deleted live component persists in the chat but Teams can’t display it because the file is in the OneDrive recycle bin.
Issues Noted During Testing
Integrating a new technology into an existing platform like Teams is always going to throw up some issues. I noted several areas where I think Microsoft will make improvements or smoothen the implementation in the future, including:
- No editing aids are available when editing text in components like fluid paragraphs. Teams chats and conversation threads have never had great support for basic facilities like spell checking, never mind the more sophisticated writing assistance found in Word.
- The translation capabilities available for normal Teams chat messages aren’t available in live components. It’s much more difficult to send text to Microsoft Translator when the text changes all the time.
- Share to Outlook doesn’t work. At least, Teams sends a message to the Outlook user, but the information which arrives isn’t useful. I suspect that this issue will go away when OWA and Outlook desktop support live components.
- Data Loss Prevention (DLP) policies for Teams don’t detect violations posted in live components, so you can swear or include whatever other prohibited text you want.
- Content searches can’t find text contained in live components. This implies that Microsoft Search does not index the content (you can search using some metadata like the container name). However, the files downloaded from preview or by exporting search results cannot be opened. The lack of content indexing means that communication compliance policies don’t work either.
- Live components appear to only work for chats with tenant users. I couldn’t use these components in chats involving guest users or federated (external) users. Signed in as a guest user in another tenant, Teams offered me the chance to include a live component in a chat and promptly failed when I tried to accept the offer. This was not a surprise as guest users don’t have OneDrive accounts.
These issues underline the newness of live components in Teams and illustrate the work Microsoft must do to support live components more completely across Teams. As noted above, Teams meetings (personal, not channel) are first. Afterwards, it’s likely Microsoft will consider the challenges of introducing live components in channel conversations. Among the issues here are the larger number of potential contributors in a channel thread and the complexities of dealing with private and shared channels (solutions for guest and federated access need to enable these scenarios).
Because Live components depend on SharePoint Online, you can control their availability within apps by updating the IsFluidEnabled setting in the SharePoint Online tenant configuration. This setting applies for all applications which consume Live components, such as Teams, Whiteboard, and Outlook. For example, to disable Live components across the tenant:
Set-SPOTenant -IsFluidEnabled $False
Coming Soon to an Office Application Near You
In the future (soon according to Microsoft), it will be possible to share live containers with other Office applications like Outlook, OneNote, and Whiteboard. Given that a large percentage of email is external, using live components in Outlook (OWA first) will be a harder hill to climb if the sharing mechanism for live components doesn’t accommodate external users seamlessly without any need to mess around with sharing link permissions.
For now, it will be interesting to see how users take to live components in Teams chats and if this new capability stops people plunging into long message threads and interminable meetings. I must confess to having some doubts that live components will break entrenched user habits quickly but am certainly willing to be proven wrong.