We have become too dependent on a centralized internet to power our online work and fun.
Large outages of important business services are common enough to harm us. Google, Facebook, Notion, Slack have had severe outages about once a year, give or take. During those incidents we feel helpless and improductive, but secretely we welcome the strangeness of offlineness. We herd to non-affected apps to laugh at the memes and comment excitedly as the experts among us share news from formerly exotic news sites. Outages are exceptions in our monotonous software lives: countless accounts, frequent logins, browser tabs, social over-sharing, incremental releases, and subscriptions.
More relevant than outages, though, is the sloweness of it all. The services we use nowadays are wholy dependent on internet connections, so the tasks we perform on our software are limited by the speed of the internet. Which is fast, but never fast enough. This is especially prevalent in business tools, which have transitioned en masse to the browser, with few exceptions. Browsing documents and reports is slow. Each search and filter forces our brain to wait another couple of hundred miliseconds. Even when they offer desktop and mobile apps, the experiences are slow. Notion is super cool, but search and navigation are slow; Google Calendar takes ages to load and update new events; GSheets files take many seconds to load as well, and often to compute too.
Our patience is slowly spent at the alter of cloud convenience. Magic moments disappear.
Yet we also interface with all this cloud software via fast devices. Our brains trust the speed of those devices, where at least some of the tasks we do are instantaneous. Some are even pretty complex, like browsing an iPhone library with 50 thousand high-resolution photos; or playing a 3D game.
The truth is that smartphones have come out every year for more than a decade, and each is quite litteraly better than the previous. Meanwhile, it feels like Gmail and Google Calendar haven’t been updated in 10 years.. Even software that was shiny and new two years ago, has become old and saggy. (Yes, again I’m thinking of Notion.)
Of the issues mentioned above, just one challenge isn’t solvable by a single software engineer or team: the internet. Because the internet is distributed, if you want to connect people or services in multiple locations in the globe, you will suffer slowness from lag. You can minimize lag by moving closer to the recipients; technologies such as CDNs, edge computing, geo-distributed clusters, tunneling help. But for use cases with real-time live streaming, optimizations are still limited.
It’s possible to reduce lag to the blink of an eye, and it’s also possible to become sort of immune to outages. My favorite approach is with CELFEEs.
I believe we will see more and more of these. At Rows.com we believe in this future, and we will try and make it true.