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:
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!
领英推荐
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!