Yury Molodtsov

COO and Partner @ MA Family, where we run communications for tech companies.

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

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

Read More

  • The Unsettling Battle Between Media and Technology

    There’s a lot of antagonism between the media and tech. But most of it is produced by a small minority of people with outsized voices, so it doesn’t exactly reflect reality.

  • The Unstoppable EU and The Immovable Apple

    Apple is hell-bent on standing its ground against any attempts to limit their control over the AppStore. As a result, they might see governments worldwide legislating their product experience, and the result will likely be far worse both for them and their users.

  • Why AI Doomerism is Flawed and Misguided

    The Internet favors simple opinions, meaning we're stuck between AI dommers and e/acc people. And yet the most urgent and interesting questions relate not to its potential capacity to kill us all, but rather mundane things.

  • My Default Apps

    Here's the list of apps and services I like and use daily.

  • Communicating with Numbers

    If you can find a figure that makes your business more appealing than competitors, you should run with it.