Imagine having only one computer
What if your phone was your only computer? You could put it in a dock to turn it into a laptop or a desktop. This isn’t merely a matter of physical convenience:
- Your photos you took with your phone are already there
- Your documents and media are always in sync
- Your browser tabs and browsing history literally travel with you
- Your social media apps know where you’ve read up to
- Your RSS reader knows which articles you’ve already read
- Your password manager database can be a file on disk and you still have it everywhere
- You have exactly one device to back up
- When you receive a new email you don’t have to leave it on the server for other devices
In our current split-computing environment these are all considered solved problems. The solutions are things like Google Photos, iCloud Drive, Feedly, LastPass, and IMAP servers. What these have in common is that we’re relying on third party services to synchronise, archive or mediate our data.
Many hard problems in personal computing are only hard because we’re trying to do them across multiple computers. Naturally, these days most people turn to the central cloud providers who can link our phones and laptops together relatively seamlessly. If we promoted computing with one device then computing independence would become much easier.
It’s increasingly practical. Most geeks would have noticed that PC requirements for general purpose computing plateaued around eight years ago. We’re now seeing that same basic performance in our phones and tablets. iPads are roughly as powerful as MacBook Pros. Many people use their Microsoft Surface as a combination tablet/desktop. Granted, iPad and Surface users probably aren’t trying to gain computing independence but in hardware terms they’re showing the way. I’m cautiously optimistic about the Librem 5—I’m assuming it will be rough on release but it’s moving us closer to the one-computer vision.
So this all sounds pretty cool, but let’s kick it up a notch. If your phone is actually a PC that means it isn’t reliant on Apple Push Notification Service or Google Cloud Messaging to get realtime notifications. Yes this carries a certain risk to battery life, but let’s roll with that.
- You can receive notifications directly from federated messaging/social media without app push gateways
- You can use protocols based on long-lived TCP connections, e.g. XMPP, WebSockets
- You could VPN to a VPS to self-host services on your computer that are available via a consistent IP/port, even while you’re mobile
This last point bears some explanation. Having a VPS breaks the one-computer rule but it’s a necessity to host a service over a typical cellular network. The point is that you can keep any certificates, keys and your own private data on your “one” computer. In this scenario the VPS is a dumb wrapper. Companies could provide this simple functionality to avoid the need for an entire VPS—they’re really just routing encrypted data from a port to your computer, wherever it happens to be right now, and presumably adding some buffering and protection against DoS, spam, and so on. If you had this in place:
- Point to point messaging applications become feasible
- Your computer can host your blog
- Your computer can host a personal ActivityPub instance
- You can share documents/media via direct web-accessible URLs
Is any of this likely to eventuate at scale? Right now, no. People don’t mind offloading their data to third parties to solve their problems, a fact that many find difficult to accept, but it’s perfectly true. Will an open source Google Drive ever compete with the real deal? Probably not, but if we can show that you don’t need Google Drive at all then maybe we’ll get somewhere.