HackedCatching Native Apps

Catching Native Apps

-

- Advertisment -

Daniel Jalkut, in 2010:

If you imagine a world where the sum of all things you can do with a computer is exactly matched, and locked down for all time with what you can do inside a browser, then the arguments for the web are persuasive. Why write for a specific platform when you can write for all platforms at once and gain the other advantages as well?

The error is in disregarding the many unmatchable attractions of “the desktop.”

[…]

But if I want to write a truly great app, it has to be a desktop app. And this will be true forever, or until there is no difference between the web and the desktop.

Daniel Jalkut:

Apple fixed the hardware problems with the Mac, now they must address software. We need M1-level software platform differentiation, and three competing app frameworks won’t create it. Are they even aware how tentative their footing in consumer software is? They’re not showing it.

12 years ago, I wrote “Can’t Catch Me”, wherein I proclaimed with confidence that the Mac would continue to outpace web platforms. That cockiness presupposed a much greater level of commitment from Apple than we’ve seen.

Since then, Apple has slowed the pace of improvements to the frameworks for writing native Mac apps. It added technical (sandboxing, TCC, SIP, kernel extension restrictions) and policy (App Review) roadblocks that make it harder to develop apps that go beyond what can be done with Web technologies. Apple switched to an annual release cycle, increasing the proportion of time native developers spend testing and working around bugs. For the most part, that doesn’t affect Electron apps, which are insulated from the OS with a layer of middleware, or apps that don’t take advantage of OS-specific features. And it doesn’t affect apps that run purely in the browser. So it has the effect of holding back the types of apps that push the envelope, that increase the distance between Web and desktop.

Meanwhile, Apple is no longer leading by example, at least not in a good way, as its recent Mac apps have been Catalyst ports or weird hybrids that feel more Web or iOS than Mac. Former role model apps were rewritten for iOS, then brought back to the Mac, losing features and desktop-oriented design in the process.

Automation has been a major platform-specific advantage. We once hoped for a successor to AppleScript; now we are grateful that it is at least still on life support. Automator never got much follow-through. Shortcuts for Mac is finally here but is currently rough and lacking some capabilities of the iOS version. The Mac’s Unix layer has been withering, and built-in scripting languages are being removed. Developer tools used to come free on a CD with the OS. Now, you need a paid account to ship an app that isn’t accompanied by a malware warning, and even then you have to upload each build to Apple first. Web app developers don’t need permission to deploy their code.

- Advertisement -

Apple stopped maintaining an online directory of Mac apps, so it’s harder for customers to find what’s available if it’s not in the Mac App Store. The more distance there is between your app and what a Web app could do, the less likely it is to be allowed in the store. (Even for apps in the store, browsing is more difficult than with the old directory.) Apple also stopped offering affiliate commissions on apps, reducing the incentives for third-party coverage that would help people find a Mac-only app. Web apps, however, get to share marketing across multiple platforms, and they don’t have to pay Apple 30%.

In short, it feels like the distance has closed somewhat since 2010. This is partially because Web technologies got better, but also because of inattention and poor incentives from Apple.

Daniel Jalkut:

To head off any critics who might ask, “OK, smartass, what would YOU do to improve the Mac as a platform?” I say: I don’t know, I look to historic innovators like Apple for that. I would probably start by picking three intrinsic advantages of web apps and strategize against them.

Ilja A. Iwas:

Never gonna happen, but:

  • provide means for updating/crash catching of non-MAS apps
  • provide means for paying/licensing of non-MAS apps
  • make cross-device document storage suitable for shoebox-style apps the default (indexing, full text search, conflict handling just work)

[…]

Isn’t it ironic how the Mac App Store promised a quick, secure, and easy way for developers to get their apps discovered, installed, and paid for – and it turned out to be the exact opposite with its sandboxing requirements, malware infestation, and bogus review process.

Jesse Grosjean:

Uggh electron. I’m now getting bug reports for my Mac app that the keybindings don’t work like windows.

- Advertisement -

Craig Hockenberry:

This past summer we narrowly avoided a major user interface regression on Apple devices. The story ended well, but I think it’s important to look back on the situation and ask a simple question:

Why did this happen in the first place?

My answer is something I call “consistency sin”. Understanding the cause lets us avoid similar situations in the future.

Previously:

Stay up-to-date by subscribing to the Comments RSS Feed for this post.

NOW WITH OVER +8500 USERS. people can Join Knowasiak for free. Sign up on Knowasiak.com
Read More

- Advertisement -

1 Comment

  1. The best part of this article is this comment from Plume:

    > This has always been wrong, because it completely discounts the advantages of the web. Cross-platform compatibility makes an app greater. No installation makes an app better. Simple collaboration and sharing with anyone, including people on weird devices like Chromebooks, makes an app greater. Automatic updating makes an app greater. Being able to open the app I normally use on my desktop on my phone in a pinch makes an app greater. Not locking me into using a Mac makes an app greater.

    I'm all-in on the Apple ecosystem, but collaboration and universal access on all platforms and automatic updates are considered table stakes for growth-focused products (edit: most products that normal people care about) these days. The cost-benefit analysis of using Mac apps when I have to collaborate with people so often just doesn't pencil out in favor of native apps for most of the things I do. The few places where it does are things like Notes, which is a first party app that all Apple users have, but even then it's a pain for people on other platforms to collaborate.

    Forgot about all the Unix stuff. That part is easy to fix if they care about it. If Apple still wants the Mac to succeed as a native platform, they will have to solve enough of these problems for their developers that the Mac is a competitive native platform to the web. I don't really see a way forward for that strategy except building some sort of cross-platform UI toolkit, whether that means web apps run natively on the Mac or Mac apps run natively on the web and other platforms or what. Microsoft has been working fairly aggressively in integrating Windows with Android apps and building a new cross-platform app toolkit. Without progress on this front, I predict continuing decline of the Mac as a developer platform.

You might also likeRELATED
Recommended to you

Northvolt assembles first lithium-ion battery cell at Swedish gigafactory

Marking a new chapter in European industrial history, the cell is the first to have been fully designed, developed and assembled at a gigafactory by a homegrown European battery company. Skellefteå, Sweden. Last night, the commissioning of the Northvolt Ett gigafactory in northern Sweden led to the assembly of the first battery cell. Marking a…

The ‘digiObscura’ digital camera features an 1-kilopixel image sensor (2019)

Creator Sean Hodgins has published a new video detailing his creation of 'digiObscura,' a large boxy digital camera that features his own 1-kilopixel image sensor. The camera's creation involved 3D printing the camera body and soldering phototransistors on a custom printed circuit board alongside a pair of 32-bit analog multiplexers. As you might expect, the…

Unexpired meals in grocery store dumpsters

Something went wrong, but don’t fret — let’s give it another shot.

Log4j 2.16: Obvious strings can situation off infinite recursion

Type: Bug Status: Resolved Priority: Major Resolution: Fixed Affects Version/s: 2.8, 2.8.1, 2.8.2, 2.9.0, 2.9.1, 2.10.0, 2.11.0, 2.11.1, 2.11.2, 2.12.0, 2.12.1, 2.13.0, 2.13.1, 2.13.2, 2.14.0, 2.13.3, 2.14.1, 2.15.0, 2.16.0 Fix Version/s: 2.17.0 Component/s: Core
- Advertisement -

AWS is not a dumb pipe

In 1997, David Isenberg wrote an article called the Rise of the Stupid Network. Isenberg worked at Bell Labs,...

Typed Config Languages

Posted on 2022-01-19Configuration languages are a serialization format used as an interface between humans (usually technical ones) and computers....

Must read

Idiocracy: A disturbingly prophetic look at the future

Are we living in the age of stupid? The...

My work routine: plan, do, learn loops

I have ADHD. It's my superpower. Because brains with ADHD find games hard to resist. And I — an engineer — love building games that make it fun to do things that aren't normally fun. So naturally, as an entrepreneur with full autonomy over my own schedule, I've applied gamification principles to innovate my own…
- Advertisement -