[WIP] On the Merits of a Content-First Collaboration Platform
April 23, 2021
New tools and software are introduced every day. This trend requires a better way to coordinate activities around the new content created in these tools. In this essay, I argue that the new approach should create one canonical address for every content, where all information about that content is stored and presented to the user. This solution will create a new content-first coordination platform similar to tools such as Github and Gitlab but for none-code content.
Preamble
Rapid innovation in content creation, and inevitable specialization of productivity software requires a new way of coordination in teams. This essay argues for creation of a new platform inspired by solutions that are commonly used in software development teams.
There are two broad categories of new productivity software.
i) Softwares that are built by reordering the priority of features in the incumbent product.Google Doc is a famous example which provides similar functionalities as Microsoft Word, but with collaboration as the primary feature resulting an entirely new category of user behavior and interaction. ;
ii) Softwares that provide a narrow subset of use-cases of an existing software but with a superior quality. Mailchimp started as a tool to send marketing emails, providing similar services as an ordinary email client but with much better quality and features. .
Creation of new tools according to these two categories is inline with the general observations on division of human labor in 19th century, however this time, it is observed in computer software:
The greatest improvement in the productive powers of labor, and the greater part of the skill, dexterity, and judgment with which it is anywhere directed, or applied, seem to have been the effects of the division of labor.
However, this emerging trend is reaching a limiting factor, because users are overwhelmed by number of communication channels and apps where they should seek information about any particular task (Emails, Slack Channels, and other files).
Today, many users choose to reject any new tool, even if they are aware of its advantages because of frustrations resulted in additional sources of information for their work. This gets worse when an entire organization resists new tooling for all of its members only to avoid confusion and frustration.
Graph of a cliques of software, where addition of a new software requires connection to all softwares
In the parallel world of software development, we observe a similar trend in proliferation of tooling for development of computer software. Not long ago, coding languages, development environments, and deployment of software were tightly integrated. Soon however, innovation in software development created a complete ecosystem and now different development platforms, integration tools, automations, and multitudes of coding languages evolve together into an ever more specialized future of software development.
The divergence between none-code and code content
Closed and none-interoperable filetypes
In early 90s and 2000 none-code content were binary and proprietary file formatsMS Word (.doc) and Excel (.xls), Autodesk CAD (.dgw), Adobe Photoshop (.psd) are only a few examples. and hence incompatible with the infrastructures used by software developers who relied on simple-text software code.
The choice of closed file-formats were not a requirement of the content type. One of the main reasons for this behavior was to create walled-gardens for the software vendors. This trend later changed as simpler and open file formats started to emerge.MS Word (.docx) and Excel (.xlsx) are now open. .
Fast-forward to today, interoperability of cloud-based tools is now a necessity, as users expect ever more integration and automation around their favorite tools. Every major cloud-based software provides an extensive API to allow their users to access their content, create more content programmatically or bring content from other software into theirs and hence expand their market.
User centric vs. Content centric collaboration
The success of messaging platforms such as WhatsApp in none-professional settings made it easy for users to adopt similar tools for their coordination in professional settings.; Slack is the notable example. The key added value of Slack was to reduce the overhead of communications within teams. Slack centralized and organized all the communications at work, and coupled with strong integrations, it became de-facto nervous system of any organization that is using this tool. The success of Slack as the central hub of a team came with a basic, but major flaw, namely rapid degradation of information quality and scattered information across channels. This flaw exists in the none-professional counterpart of these tools such as WhatsAp, leading to spread of unreliable content and rapid circulation of already debunked information.
user-centric graph
In a user-centric platform such as Slack, information about one content is scattered in multiple channels with no clear connection between different pieces of information. This leaves users (the first class citizens of the platform) responsible for maintaining information about a content. Resulting in significant information overload.
On the opposite spectrum, the teams that relied on content-centric platforms as their central hub of collaboration scaled much better with massive influx of information. Software development communities are just one example who evolved their infrastructure rapidly. As Github and Gitlab (two examples of content-centric platforms) became the go-to-place for any developing team, many automated tools, and infrastructure developed to make the collaboration ever more efficient.
content centric graph
Fundamental differences between code and none-code content
Businesses and teams are living entities. The manifestation of evolution of a business appears in its output and cooperation with other entities (i.e., sales). Higher output with lower cost for that output determines the success and growth of every business. To achieve growth in 21 century, a business converts information into new growth opportunities while keeping its cost the same.
For businesses that provide their services as software, part of the knowledge in creating growth manifests itself as software code Apple software and hardware blueprint . The knowledge encoded in software is long lasting and get executed many millions of times. These two characteristics of software code requires robust collaboration and coordination tools, such as Git(hub), that can support complex operations (such as merge, test, review, and deploy)
On the other hand, none-code content such as documents, presentations, and spreadsheets are created at a much higher rate than codes, but each document used for a much shorter span of time. This is opposite to software-code. This important difference, requires any coordination platform to require minimal or no user input (therefore git commit, or Pull Requests are not an option); any input other than the content itself, will lead to the platform becoming a source of anxiety itself The software should continue providing the baseline service and not become part of the problem if the user input is not provided, otherwise the tool starts to regress and becomes yet another source od confusiob. . This is one of the key reasons why a solution such as Github would not readily work in none-code settings.
Any solution for none-code settings should be able to cope with the rapid and often disorganized activities in any organization with minimal assistance from the user.
plot information survival relative to its type
Solution
Solution Criteria
A successful, content-first, platform for none-code content should satisfy a number of criteria:
1. Support a range of *existing* tools.
2. Accumulate information about a content in one place.
3. Support the dynamic nature of no-code environment.
4. Support the rapid reuse of information in no-code environment.
5. Evolve to become industry standard and make other tools that comply with those standards more valuable.
A few of these criteria come from coding platforms (i.e, 1-2 and 5), but two critical criteria are unique to no-code environment (3-4).
Solution proposal
The solution is an integrated platform, to surface content (and not users), and track changes and activities, (Similar to Github) and provide this information as closely as possible where the content is created, or communicated.
This platform should also be able to connect content across different tools and apps, and communicate information from one document to another. This particular aspect of the solution is a kin to an automated Pull Requests for different pieces of information from across the entire organization. This feature needs to be automated as much as possible so that it won’t keep the user from what is important, i.e., creating the content. Similarly, the automation prevents the platform from being relevant when a few users don’t contribute input, and hence degrade the available information.
Why is this solution possible now?
Cloud based apps keep revisions of users work.
Automation tools such as “Zapier” require apps to be open and to a great extend interoperable. The more interoperable a tool is the more useful it becomes (A lesson learned from Open Source Software community).
The aftermath
Tools are becoming ever more specialized. Every feature of a commonly used software will can become an independent tool in the future.
To keep this specialization productive and useful a new approach to coordination around content is needed.
Similar trend occurred over time in coding communities, new languages, and technologies evolved over time, but to a great extended they were managed successfully because they were all used within a content-first tools such as Github.
A content-first platform for no-code content that can plug-into a diverse set of cloud-based app and software promises an ever increasing specialization of tools without frustrating consequences of adding yet another tool.