A world without files - we need new protocols

Could we have "content type" protocols like doc://, sheet://, code:// or design:// and a governing body to define the standards of those protocols? Bring your own storage provider for each protocol, and control your data.

A world without files - we need new protocols

This tweet from Suhail got me thinking 🤔

We are doing more and more in the browser, and I like that. With apps like GitHub CodeSpaces we can even code in the browser, and be backed by a powerful machine in the cloud.

We can game in the browser, backed by a powerful machine in the cloud.

And files are files, a cornerstone of the operating system as we know it, but they can be tricky: Which file do I need to send? Which is the final one?

This is why you see filenames with "FINAL" and "FINAL v2" next to each other.

But if web apps becomes the place where you create anything that would normally be a file, we sure need some kind of protocol that makes it dead simple to share content across apps.

E-mail is a great example of this:

  • E-mails doesn't present themselves as files
  • You can forward one easily
  • You can use a variety of apps to view e-mail

Git for everything

As developers, we've gotten used to source control and this is almost an "e-mail like" protocol. You can clone a repo using a variety of git clients and open them in a variety of editors, even online.

You can then commit changes back, and maintain history.

But how can we do something similar with a document, and use Microsoft Word or Google Docs to edit? How do we agree on a shared format and maintain feature parity?

How do you open Figma files in Sketch or Photoshop?

New Protocols, New architectures

Could we have "content type" protocols like doc://, sheet://, code:// and design:// (among many others) and a governing body to define the standards of those protocols?

Similar to how you can decide how to open mailto: links, you should be able to define how to open these new protocol links, by pointing to a web app of your choice.

Say I want to open a document in Zoho docs, I open doc://martinnormark.com/feature-xyz-proposal and they just know how to decode it.

I want to configure the DNS records of my domain to point each protocol to a storage provider, like Azure Blobs, AWS S3 or GCP Buckets and authenticated Zoho with read access, and temporary write access.

So you bring your own storage, and you are in control of your content.

This is a new kind of architecture, that could be adopted by SaaS vendors. It has been talked about before, as "Cloud Prem" in the context of Enterprise SaaS and the need for data security and governance.

Tomasz Tunguz goes on to elaborate on the changes needed in SaaS architecture:

We haven’t seen an architectural shift in SaaS since the advent of the multi-tenant database, which allowed SaaS companies to put all of their data across customers on a single database. This may be the next shift.

And

This worldview implies two important themes:

1. The cloud data warehouse will become an increasingly central part of the SaaS stack, not just the data stack.

2. The architecture enables SaaS companies to reimagine the largest categories of software and rebuild them to challenge the incumbents.

If startups wanted to unite against the incumbents, this would be a truly remarkable way to do it!

It would require a lot of leadership in designing and moving the standards forward, but because of the stakes for Big Tech I believe this is more suited for a "grass roots" movement than a top-down approach.