Adam Wiggins avatar

making computers better

Adam Wiggins // Oct 2020

how we store and collaborate on our work

Files are one of my favorite computing primitives.

For example: unix’s everything-is-a-file philosophy; file explorers like Norton Commander and macOS Finder; USB sticks and Dropbox and network-attached storage; and even (yes, really) email attachments.

Flat file formats like TXT, PNG, JPG, PDF, ZIP, and CSV have stood the test of time, weathering the coming and going of computing trends and platform monopolies. Hierarchical filesystems remain the most-used, most-comprehensible method for managing our digital stuff.

screenshot of macOS Finder

Desktop file browsers are a key tool in the creative professional’s toolbox.

Web apps (or “the cloud”) are an entirely different paradigm for data storage. The user’s data is managed by a professional team on computers the user is not responsible for. Because the data for all users of an application are combined together in a single place, this opens up new possibilities for collaborative work such as Google Docs, GitHub, and Notion.

multiplayer illustration

Centralized data storage opens up new possibilities in creative applications. Image from Multiplayer Editing in Figma.

Documents on the web are easy to share: just paste a URL, which is universally accessible from any device and location. The user’s data is connected to an account rather than a device, allowing them to move freely between devices or drop their computer in a lake without any data loss. And the centrally-administered nature makes perfect sense for enterprise teams who want to control access in a uniform and legible way.

Mobile apps (iOS, Android) are a third paradigm, also distinct from both files and the cloud. Instead of folders/files or accounts/URLs, the user’s mental model is “apps.” Apps appear as colorful tiles that are arranged in a grid on their device. For native-focused apps (ignoring those which are thin clients to a web service), the user’s data is tied to the app and cannot be inspect or manipulated separately.

Native mobile apps are responsive and offline-capable by default; compare to the spinners and loading screens common in web apps. And where files and the web ask the user to identify and manage objects by text identifiers (filenames and URLs respectively), mobile embraces true direct manipulation.

a photo collection on a mobile phone

Perhaps the best example of the mobile approach to storage is photos.

No filenames are visible, but instead only pure visual representation—the images themselves. The user is never asked to name a photo, pick a folder to save it to, or any other such housekeeping.

The app never displays a spinner, and the user’s photos are always right there at their fingertips, regardless of network status.

Files, the web, and mobile all offer unique benefits but each also comes with significant downsides. I’ve written about the tradeoff between files and the cloud in local-first software. But I’d like to bring the benefits of mobile into the mix here as well.

Thus a storage and collaboration paradigm that hybridizes all three of these might include:

Unfortunately, this is a difficult area to innovate on. Data storage reaches deep into the internals of a given platform (unix, the web, iOS, etc) creating a status quo that is hard to change. Some brave souls have tackled this by building a storage platform as an independent company (Lima, BitTorrent Sync) or community project (Perkeep, IPFS) but it’s clear this is not an easy path.

Another way to come at the problem of storage innovation is to start with a useful app that later can reach down into the storage layer. Google Docs → GDrive is an example of this. Dropbox and their platform attempt is another. We’re using this app-first approach with Muse, which conceptually blends the Finder-style file manager with the direct-manipulation style of a mobile Camera Roll and (later on) the collaborative canvas of Figma.

Muse for iPad screenshot

Muse is one attempt at combining the best parts of files, the web, and mobile direct manipulation.

Advancing the state of the art here is incredibly difficult for structural reasons, but I think also one of the highest-value targets for how we can make computers better for creative and productive activities.

The world we have: Files are outdated, the cloud is collaborative but lacks user ownership, mobile apps offer users almost no visibility or control of their data.

The world I want: Productivity tools that take the best parts of files (agency and ownership), the best parts of the cloud (social and collaborative), and the best parts of mobile (fast, private, offline-capable).