Yury Molodtsov

COO and Partner @ MA Family where we help tech companies make news

About Me
Twitter ↗
Threads ↗

Web Apps Are Better Than No Apps

There’s a certain community in tech that’s very vocal about their preference toward native apps. I share that sentiment, yet sometimes people take this idea too religiously. Unfortunately, the actual choice is about having an app or not, and I’d rather take something over nothing.

August 29, 2023

Craft for the Web

There’s a certain community in tech that’s very vocal about their preference toward native apps. I share that sentiment, yet sometimes people take this idea too religiously.

First, what is a native app? It’s an app built using the native frameworks of a platform. For MacOS it could be SwiftUI. Such apps leverage the native platform’s interface, including windows, buttons, text areas, and everything else. They look right and familiar, and they behave this way. And most of the time, they’re smooth and fast. Historically, this has been the way to build applications for any platform.

But the Web has advanced so much from the early pages with hyperlinks that it’s now a platform for applications. Modern JavaScript runtimes, reactive frameworks (e.g. React), and platform APIs allow developers to use web technologies to build apps running on desktop operating systems. And this has largely become the preferred way to create new apps by now. If you use Slack, Notion, Spotify, or Todoist, then you’ve seen it. Their desktop applications are effectively just wrappers, usually built with a technology called Electron (Spotify isn’t though). And people hate Electron.

Here are the main problems people point out in web apps.

***

Memory consumption

Each Electron app basically carries a large part of Google Chrome in it and has to keep it running. Naturally, this isn’t great for memory consumption. Of course, Notion is a complex app by itself, but in comparison, the native app for Apple Notes usually takes around just 120Mb for me.

Activity Monitor

This particular problem is impossibly difficult to solve. In fact, you might save a bit of resources by simply running all the same apps in your browser, since it will at least be able to share some resources and offload tabs when they’re needed.

They might be slow

Electron apps are known to be slow. There are just too many levels, and JavaScrip is an interpreted language, not a compiled one, so by default, it will be orders of magnitude slower than an app written in Swift, Rust, or C++.

Still, in my experience, this isn’t necessarily the defining characteristic of a web app. Superhuman is insanely quick. Todoist is also seamless enough. While VS Code is sluggish, it still performs better than Atom did. Unfortunately, such apps are rare exceptions. Yes, the foundations are indeed slower, but at least some people are capable of writing quick web apps.

Feel free to share positive examples you’re aware of.

They have unique UI

Since web apps can’t just use the components provided by the operating system, they have to recreate everything from scratch. And this creates a lot of burden for developers and, I think, lowers the quality floor. Creating beautiful, compelling apps is possible, but it requires so much work. People building native apps get it all “for free”. In fact, this could be one of the reasons Apple still has such a vibrant ecosystem of great artisanal apps since developers can build most things out of nice ready-made components.

This also means users often must learn your app’s UI instead of relying on their muscle memory.

***

I’ve been focusing on desktop, but the same is happening on mobile, albeit at a smaller scale. Tools like React Native allow developers to build apps for iOS and Android. I’d say the “experience gap” is a bit larger on mobile. Notion famously started introducing more native components in their app, which instantly made it quicker and nicer to use. Still, their apps are largely web-based, which limits their functionality. For instance, it’s quite difficult to implement complete offline mode (Notion caches recently seen pages but nothing else).

Basecamp has a particularly good visual example of how this works, even though they use quite a “basic” approach.

***

Web apps are here to stay. There are fewer and fewer artisanal Mac apps these days, even though sometimes a jewel appears out of thin air, as it happened with Craft. Quite unusually, they have native apps for all of Apple’s platforms and a web app with the same functionality, which is useful for people on Windows, ChromeOS, or Linux.

Native apps do feel great. But they have their own challenges. The first and the most important one is making them cross-platform. If you’re a small developer, you might not have enough resources for this. And if you’re a big company, you don’t want to struggle to keep all your apps’ development in sync. Building a web app and wrapping it with Electron ends up being the most reasonable approach for most people.

So most of the time, our choice isn’t between native and web apps. You either have that useful app or you don’t because it didn’t make much sense for the developer. And while I like native apps and enjoy them when I have such an option, I’d rather have a web app than nothing.

If I use the app all the time, I’d want it to be at least quick (and ideally, native). But if I need it occasionally, I’d be OK with pretty much anything, as long as it’s useful and there’s nothing better. Also, we have seen evidence it’s humanly possible to build quick web apps. The fact most people don’t bother is a different question.

Comment on Twitter
tech
software

If you liked this post, subscribe to get new content right in your inbox

Recent Posts

November 28, 2024
My Holiday Gift Guide

Here are some gadgets that I really enjoy. Buy for yourself or your friends!


November 26, 2024
On Getting Older

Contemplating the changes, both good and bad.


October 30, 2024
Omnivore is Dead: Where to Go Next

Omnivore was the best read-later app for most people, and it became popular because it was free. Unfortunately, that is also the reason why it failed.


October 22, 2024
Apple Doesn't Make an iPad for Me

I'm frustrated with Apple's current iPad lineup because there isn’t a good replacement for my aging 2018 iPad Pro. While the newer models have expensive accessories and better chips, they neglect the features that matter most to me—like the display and audio.


October 14, 2024
WordPress Doesn't Matter for the Future of Web

WordPress won the market but the entire paradigm shifted to managed solutions like Webflow. Markets that aren't growing become a zero-sum game, which probably caused the conflict in the first place.