← All blogs
July 17, 2023·DesktopProduct

Desktop app vs Web app: what do you need?

We explore the factors you should consider when choosing between a web app or a desktop app, pros and cons, and what are the advantages of using cross-platform development.

Roger Rea
Roger Rea
 
The first and most fundamental question you need to ask yourself is what kind of user you're building for. While users are generally not likely to churn simply because your app is web-based instead of a desktop application, there may be cases where the integration with the desktop environment is critical to the users’ solution. But if your software solves a problem in a significant way, the specific details of the platform become less important to users. Ultimately, what matters most is that the problem is effectively solved, users don’t care how you solve it, but just if you are able to.
 
The second fundamental question is where you currently stand in your product-market fit (PMF) journey. If you already have dozens of paying customers and their feedback has been overwhelmingly positive, with high retention rates, you may have already achieved a solid PMF. In such cases, it might be worth exploring a desktop app as a way to provide your users with a more integrated and seamless experience.
 
However, if you're just getting started and still in the process of validating your product, a web app may be a more practical choice to just quickly iterate and gather feedback.
 

Main differences between Desktop and Web

The line between developing for the desktop and the web is becoming increasingly blurred, thanks to cross-platform technologies like Electron. Electron.js combines the power of Chromium and Node.js, enabling developers to leverage web technologies for creating desktop applications that can run on Windows, macOS and Linux.
 
In the past, developing for multiple platforms was a significant challenge, often leading to inconsistent user experiences and deployment difficulties. However, with cross-platform technologies, developers now have more streamlined options for building applications that work seamlessly across different operating systems.
 
With this in mind, there are still significant differences and factors that come into play when deciding if developing cross-platform, desktop only, or web only:

Integration with the operating system

Native integration with the operating system is a significant advantage of desktop apps. These apps can seamlessly integrate with the native features and capabilities of the OS. If your application requires extensive interaction with hardware, system files, direct accesses, notifications, menu bars, or keyboard shortcuts, a desktop app can provide the necessary flexibility and integration.
 

Product experience

User experience is arguably the most significant differentiator between desktop apps and web apps. Many users prefer the dedicated and exclusive experience that desktop apps offer. They appreciate having a separate application rather than dealing with multiple tabs and the cluttered interface of web browsers. This preference for a focused and immersive experience is particularly prominent in productivity apps like Notion or design software like Figma, both of which utilize Electron to provide a consistent user experience across web and desktop platforms.
 
For further insight into building desktop apps, the Spotify Engineering blog offers an interesting read on how they developed a single UI for both web and desktop applications. You can find the article here.
Figma’s Electron Desktop App
Figma’s Electron Desktop App

Offline functionality

Offline functionality is another area where desktop apps excel. Since they execute locally, desktop apps can continue to function even without an internet connection. All the necessary files and data are stored locally, minimizing reliance on constant server communication. While web apps can also offer some level of offline functionality through caching, it may be limited or unstable in comparison.
 

Performance

Performance is a critical consideration when it comes to desktop apps. Native desktop applications run locally, with all dependencies stored on the local disk drive. This setup allows these apps to access local resources such as CPU, memory, and storage directly. By eliminating the browser layer and rendering graphics directly, native desktop apps can provide faster and more efficient performance compared to web apps. You can see a comparison between Swift (macOS native) and Electron here and how it may change performance.
 
Based on these factors, we've defined two categories to help you determine whether a desktop app is the right choice for your product.

You should definitely build a desktop app if you are a…

 
  1. Graphics-Intensive Application: If your app is graphics-intensive, such as animation software, immersive software, or tools for the creative industry, leveraging desktop’s resource utilization is key. The small differences in performance and graphics rendering between desktop apps and web apps can significantly impact the user experience. By building a desktop app, you can fully utilize the local resources of the user's computer, delivering a smoother experience.
  1. Professional Context and Longer Sessions App: If your app is used in a professional context where users spend extended periods of time, a desktop app becomes particularly valuable. Applications like Notion, calendar apps, and productivity software often fall into this category. Users who rely heavily on these tools for their work prefer desktop apps that offer a dedicated, focused experience. Launching a desktop app for these types of software can not only be used by a significant proportion of your user-base, but also retaining them more and making the product more engaging for them.
 
So if you need a desktop app, the question now is when should you build it? The answer depends on your specific product needs. For instance, Superhuman, an email client whose most important promise is speed, couldn't fulfill its promise of instant responsiveness without a desktop app. However, many other software products can start just with a web app (even if you fall into the mentioned categories) and gradually introduce a desktop app once you have proven product-market fit in the web environment.
Superhuman’s Desktop App
Superhuman’s Desktop App
 
One significant advantage of having a desktop app is that users who opt for it instead of the web app are often power users. These individuals are highly engaged with your product and deeply care about the problem you're solving. Gathering information and actively engaging with these power users is crucial in finding and maintaining product-market fit. This is where analytics solutions for apps like Astrolytics.io, specifically focused on desktop apps, can provide valuable insights and help you understand your user base better.
 
To ensure a fast and efficient development process, you can use tools like Electron or Tauri, which enable you to maintain a single code-base based mostly on web technologies. This approach allows you to offer both experiences without sacrificing development speed, which is critical at early product stages (ship fast and often).
 

You should definitely NOT build a desktop app if your users need…

 
  1. Access Everywhere, Anytime: If your app needs to be accessible from anywhere, anytime, particularly on mobile devices, a desktop app may not be the optimal solution. Mobile apps, like Snapchat, thrive on the ability to reach users on the go. They prioritize real-time communication and leverage the portability and convenience of mobile devices. In such cases, a web or mobile app that can be accessed from various devices is just indisputably better.
  1. Convenience and Quick Interactions: If your app is designed for casual or quick interactions, such as food delivery services like DoorDash, a desktop app may not be necessary. These apps focus on providing convenience, allowing users to order meals with minimal effort, while laying on bed and without the need for extensive typing or complex functionalities.
  1. Short Session Times: If your app's typical session duration is relatively short, such as less than 15-30 minutes per day, a desktop app may not be the most practical choice. For example, banking apps often fall into this category. Most users just require quick access to perform basic transactions or check account balances.
  1. Use it Non-Controlled Environments: If your app's primary use occurs in non-controlled environments, such as on the go or outside of an office or home setting, a desktop app won’t work. Ride-hailing services like Uber, for instance, cater to users who require transportation in various locations and situations.
  1. Sporadic use: If your users need you once a month, or even once a week, it’s likely a desktop app won’t add a lot of value. Think about Airbnb. Desktop apps are more meant for daily use cases.
 
Doordash App meets the criteria above
Doordash App meets the criteria above
 
As you can see — its logical that you should just develop depending on the use case of your particular solution and your user expectations.
 
A desktop app is not necessary to achieve product-market-fit in most cases. Most of apps targeting professional use cases eventually will lead to a desktop app (until the major working platform changes with the Apple Vision Pro).
 
As you iterate your product, and it starts gaining traction, incorporating a desktop app will likely enhance your user experience, expand over your PMF, retain more users, and continue attracting a professional audience. Good luck!

Get the latest posts, right in your inbox

We write about building products using analytics. No spam, ever.

Astrolytics

Understand how well your product is doing today
with Astrolytics

Integrate in minutes and get started with our 30-day free trial.