Collaboration in apps isn’t a solved problem: here’s how to fix it

James Weiner
Making Poetica
Published in
7 min readJul 28, 2015

Collaboration is a hot topic, especially in the market of workplace or productivity applications, but as a buzzword it is far too easily bandied about. Recent improvements in technology have made it easy to bolt networking on to any app, but, as with most software, solving the technical problem is only part of the solution. What’s required to fully realise what’s now possible is a thorough understanding of the user needs, how they relate to collaboration, and be led by designing for them.

I’m going to tell you why most collaboration solutions are unfit for purpose and how, at Poetica, we’ve approached solving the user experience part of the equation.

What is collaboration?

Collaboration is simply the process of two or more people working together. It also comes with the added benefit of producing better outcomes than if someone works alone. Sounds simple; but anyone who’s worked in a team will know that collaboration isn’t straightforward.

It’s still early days for networked apps

The tyranny of typing wars

Effective collaboration is all about conversation: communicating well. Great conversations don’t happen when you all talk at the same time. You need to allow a back-and-forth exchange of ideas; letting everyone have their say, whether that’s making your own contributions or building on and adapting others’.

The chaos of trying to edit text at the same time as someone else in Google Docs

So far in networked applications we’ve only got to the letting everyone talk at the same time stage — you can all make changes to a document simultaneously. This is why, for instance, many people find Google Docs an unpleasant and ineffectual experience, or “typing wars” as one of our users described it to us. Though on the surface it seems like the obvious solution for collaborative writing (it’s also, unfortunately, the easiest thing to technically implement), it leads to an environment that quickly favours the loudest voices over less confident ones.

This nullifies the value of collaboration because bringing together different skills and points of view makes a team more effective overall than any one individual working alone. But if people in the team feel too intimidated by being less able to write than others or are unable to get their points across then the lack of diverse voices will be reflected in a weaker outcome and frustrated team members.

Clumsy comments

The second problem existing technology has is around comments. The standard way of approaching comments has been to leave your ‘overall views’ on a text. Blogs are a simple example of this: you read something and then you add your thoughts to a great long list of other people’s thoughts at the end of an article. Things have improved for the user a little with comments being added to a sentence or paragraph and appearing alongside the relevant passage. Google Docs and Medium do this.

Medium has improved things somewhat with contextual comments

The problem with this approach remains the level of granularity you can achieve. Our research has shown that when a user wants a really great editing experience, they still prefer to print something out and make suggestions to the text with a pen. The reason for this is two fold: firstly you can be really precise about which paragraph, sentence, or even character your comment refers to and secondly you can make inline suggested edits to the text, helping to make it really clear what you mean and what you think should change.

Microsoft Word’s Tracked Changes are confusing to all but the experienced user

The best approximation we currently have for this experience is Tracked Changes — first in Microsoft Word and now in Google Docs. The problem with Tracked Changes is that it displays the edits inline as diffs: the old text and the new text placed side by side, typically highlighted in green and red for additions and deletions. This is visually confusing as it disrupts the flow of reading through text. It’s particularly bad when lots of changes are applied at once.

Hacking around version control

People often hack their own version control

One of the worst culprits of poor design for collaboration is one of the most prevalent: the way many users preserve past versions and ideas is to make multiple copies of a draft as a text develops to capture snap shots in time of its progress. It’s an understandable hack, but often leads to confusion and time wasting when trying to figure out the current version, or locating discarded ideas from past versions that users want to recover.

Our unique technology enables better design

The Poetica interface

So what have we done that’s different?

Well, firstly, we’ve rethought word processing from the ground up. All of the product decisions I’ve mentioned here that hold back collaboration in other text editors are because of the constraints imposed by their technical underpinnings. So, at Poetica, we started by rethinking those.

We realised that to make it possible to build an editor the way we wanted, one that would mean we could support an easy to understand collaboration experience we were going to have to use a radical new approach to tracking changes over time.

Luckily there’s already a technology that supports most of what we needed: it’s called Operational Transformations (OT). We use OT to track every single atomic change that happens in a draft. Out of the box we use an implementation of OT called ShareJS which is very similar to what underpins Google Docs. The main difference is that we layer on an extra level of custom OT technology to enable users’ suggested changes — all of which are potential futures of a draft, yet to be merged in — changes that allow the detailed discussions we wanted to support.

It’s the granularity and robustness inherent in OT that makes it different from other version control systems that at first seem capable of solving text collaboration, such as git. But I’ll save an engineering-heavy discussion for another post. The point here is that our technology allows us to approach design differently.

Suggested edits and inline commenting

On the surface Poetica is largely like any other text editor, with formatting options and a clean, distraction-free interface. But what sets it apart is the unique way we allow users to add and interact with suggested changes. They look a lot like hand-drawn annotations by teachers on students’ work, except that they can actually be enacted too — if you agree with a suggestion, then accepting it will update the text. As I’ve outlined above, we chose to display annotations like this, not for asthetic purposes, but because it makes it easier to have a discussion around your text. You can easily see what your team member suggests changing — right down to adding a space or punctuation mark if you so wish — alongside their discussion of why.

Infinite Undo

To help users avoid having to create multiple versions of the same document we’ve implemented a non-linear, or ‘selective’ undo, which we call “Infinite Undo”. Because we fully change-track everything users do, any change from a document’s version history can be reverted at any time and in any order, whether it’s destructive or additive.

Adding Poetica to your workflow

Our research has shown that every editing process is different and users might go through a handful of different editing tools in their writing process: Evernote; Word; Google Docs; WordPress; other CMS tools and much more. The reasons people choose tools are various. Instead of persuading you out of your favourite writing environment, the final design benefit of our technology is that we can integrate Poetica into where you already write: whether that’s synchronising with Dropbox or putting our interface directly inside your WordPress admin. We’d love to hear where you write with your team and if an integration would be useful.

Putting control back in users’ hands

Finally, our goal is to give users more control than they’ve ever had before and to be able to decide as much as possible how they want to to work together. We don’t want to be prescriptive: every team has its own ways of doing things. For example we’ve avoided user permissions so far as we’ve seen how confusing they can often be.

Poetica’s friendly approachable interface, where users are able to understand what’s been changed by others and why, and knowing that they can make or suggest changes without fear, means they can forget about the tool and concentrate on the process. We do this by removing the barriers to collaboration and help people to communicate what they want to say more easily.

Now why not check out our design manifesto, that helps guides the design decisions we make?

Originally published at blog.poetica.com on July 28, 2015.

--

--