"SwiftUI, Privacy, macOS, and the Web"

https://www.baldurbjarnason.com/swiftui-macos-privacy-web/

I had planned on working this weekend but got distracted and instead wrote this 4000+ word riff on what I think about SwiftUI, privacy in software, open source, and where I think Apple is heading.

SwiftUI, Privacy, macOS, and the Web

Pondering the future of software development. Why SwiftUI makes me optimistic about Apple’s platforms.

@baldur So if I understand it correctly, you are -- even as a #webdev -- OK with #Apple arbitrarily holding back support of various #web APIs while having the huge conflict of interests? Willing to keep giving up freedoms for a promise of privacy?

@ondra What web APIs are they arbitrarily holding back support of these days?

They used to be blocking pointer events but that's getting released in the next version.

Most of the blocking issues they've raised in the past couple of years have been technical. At least, from what I've seen of the specification process.

@baldur Push notifications, web share, background sync, web bluetooth, web USB...

@ondra Well, they're rolling out web share this autumn. And USB and bluetooth are Chrome APIs not supported by either Firefox or Safari.

And to answer your original question. Yeah. Privacy is a public and societal issue that is more important than whether I can use a specific API at work or not.

@baldur I'm not suggesting they have to support all of them. The problem is that by not allowing other browser engines they are deciding which of these are allowed on iOS devices. And as a result often which of these APIs (hence #PWA platform in general) will gain any traction at all. All while most of their revenue comes from their own proprietary platform mostly overlapping with the web’s potential functionality. Their market strength is too high for that.
@baldur Most people don't have a clue that the #iOS browsers they are using is still the same or worse #Safari but I'm surprised anybody who deeply understands what's going on is willing to help them in their long-standing battle against the only universal and open (meta-)platform there is.

@ondra Honestly, the number of Web APIs they don't support that aren't either major abuse vectors (like push) or Chrome-only (USB, bluetooth, background sync) is pretty small and can be chalked more up to implementation priorities than Machiavellian market plotting. If they were actually in a battle against PWAs, they wouldn't be making substantial improvements to their PWA support in every release.

And you can't blame Apple for blocking APIs that Mozilla is also against.

@baldur Push notifications are the key functionality for a lot of potential web apps. It's hard to judge when there's basically only one other browser engine suggesting which APIs are worth implementing... I simply don't trust #Apple with these decisions. I think you'd agree that #PWA support is definitely low on their priority list.
Who knows, maybe if other browser engines were allowed on #iOS, PWAs would have already been majority of the App Store... Apple keeps making sure we'll never know.

@baldur Really interesting post, lots to chew on here.

I totally agree with your assessment of Windows' and Android's UIs. Also yeah web apps are disappointingly mediocre on the whole. There's something to be said for Apple still pushing an optimistic and progressive vision of computing (Bret Victor anyone?), even if it is within a walled garden.

@nolan Thanks. Yeah, I'm definitely thinking that we're getting glimpses of the sort of research Bret Victor and others were doing when he worked there. And I figure that if SwiftUI really does work, everybody else will throw money at copying it in due course anyway 😁

I have to say that I'd be less optimistic if Apple hadn't been making big improvements to their PWA support over the past 2-3 years. But they have, so I am. 🙂

@baldur True, yeah. They have really stepped up their game in the web department. I don't know what changed over there in Cupertino, but I'm glad it did.