Desktop is the new cloud
Source: Somewhere in the latent space of DALL-E

Desktop is the new cloud

Desktop vs cloud

In the beginning, there was desktop software. You went to CompUSA, rummaged through a bin of CDs, went through a painful process of installing the software on your computer, and any data that you entered into your software was stored only on your computer.

Then, the world moved to the cloud. Software is fetched through your web browser automatically when you visit a website, and all of the data entered into the software is stored directly in the cloud and loaded dynamically as needed. This was a great improvement because the data can now be accessed from anywhere and any computer. The cloud also largely eliminated the need to manually upgrade your software and make backups. This was truly revolutionary.

The downsides of cloud

But there are some downsides to cloud software compared to desktop software. First, access to your data requires an internet connection. While it’s true that most of the places you’d do business will have some kind of network access, whether wifi or cellular, the stability of this connection can vary greatly and have a dramatic impact on the usability of the software.

Who hasn’t experienced the frustration of staring at a blank screen while trying to use an app on 1 or 2 bar cell connection? Who hasn’t known the anxiety of saving a form in a web page on a bad cell connection and not knowing whether you’ve just lost all of your hard work?

Second, even if you do have a good network connection, it still takes time to load data from the cloud. And what do software engineers do when they need you to wait for data to load? They shove a big spinner in your face:

A spinner

And sometimes it’s not one spinner. Sometimes the page you are trying to access is loading data from several different sources. In this case, you may be sitting there staring at 10 spinners!


Too many spinners

What if you could get the benefits of instant access to data like with desktop software combined with all of the many benefits of cloud software? What if you didn’t have to think about whether you had connectivity while you used cloud software, and your workflow was never interrupted by spinners?

Offline first software

My friends, such a world exists with an approach to building cloud software called offline first. Offline first software is similar to traditional cloud software in that everything is ultimately stored in the cloud and accessible anywhere. The big difference is that all of your data is synchronized to your computer or phone in advance whenever you have a stable network connection. Since the data is stored locally on your device, it’s instantly available whenever you use the app. No spinners needed.

But what happens in offline software when you try to make a change to your data and you don’t have a good connection? In traditional cloud software, you are out of luck. You will most likely lose your data when you press the save button. In offline software, this is perfectly fine. The data saves and the app updates accordingly. Later, when you are back online, the app will automatically propagate these changes back to the cloud and resolve any conflicts if other users edited the same data.

Construction needs offline first

When we prepared to build our project management product at Constructable, we recognized that construction is particularly sensitive to network connectivity problems. Construction is highly collaborative with many people across multiple companies all accessing the same data–and these people are often on job sites or moving between job sites with poor cell signal. We knew we needed to make our entire product work just as well whether the customer was in the field with no cell signal or in the office. At Constructable, we happen to use the fantastic Replicache sync engine to support our offline capabilities (a topic for a future post!).

Offline first may sound simple the way I described it, but it takes a ton of work and ingenuity to get this to work right. I would even argue that unless you build your product to support offline first from the ground up, it is not possible for existing products to fully transition to an offline approach. It would be like replacing the foundation of a fully built skyscraper.

Admittedly it's a stretch to say "desktop" is the new cloud, but building software with an offline first mindset has powerful advantages, particularly in fields like construction, where the quality of network connectivity can vary dramatically over the course of a day.

Performance is non-negotiable

One of our goals at Constructable is that you are never blocked by another spinner again. We believe that performance is the foundation of a great product, and we are pushing the boundaries of what is possible, not just in the construction world, but in the software industry in general. The bar has been set too low with construction software–we are here to change that.

Check us out at constructable.ai and message me on LinkedIn or send me an email at [email protected] if you are interested in seeing a demo of what Constructable can do!

要查看或添加评论,请登录

John Yoder的更多文章

  • Making data smoothies

    Making data smoothies

    This article is written for the technically inclined General Contractor interested in how AI is leveraged in modern…

  • Construction is a scavenger hunt

    Construction is a scavenger hunt

    This article is written for the technically inclined General Contractor interested in how AI is leveraged in modern…

    2 条评论
  • Alive at work

    Alive at work

    Back in 2008, a few years into my career, I read an essay by Paul Graham about the nature of working in large…

    5 条评论
  • Ship Your Code Before You Write It

    Ship Your Code Before You Write It

    Customer love Above is a picture of one of our teams in a moment of great achievement. In the front, an engineer is…

  • Code Like a Fighter Pilot

    Code Like a Fighter Pilot

    There are some surprising similarities between developing a software product and being a fighter pilot. This article…

    2 条评论
  • Are You Finding the Right Software Engineers For the Job?

    Are You Finding the Right Software Engineers For the Job?

    The best engineers "This project will be critical to our success. Let’s get our best software engineers on it…" Maybe…

    6 条评论
  • Programming in Paradise at AppFolio

    Programming in Paradise at AppFolio

    Once a month, I wake up very early, put on a warm jacket, make myself a cup of coffee, and sneak out of the house while…

    7 条评论

社区洞察

其他会员也浏览了