Cointime

Download App
iOS & Android

iOS 17.4 is also an attack on crypto

From Bootstrapping Kiwi by Tim Daubenschütz

If you have followed the news lately, you might have come across articles about Apple’s iOS 17.4 update and how it relates to “Progressive Web Apps” (otherwise known as “PWAs”).

The gist of the story is that Apple is going to release the iOS 17.4 update soon, and it’s going to severely impact the usability of PWAs. In this post, I want to summarize the story and explain how crypto apps like Kiwi News are being affected by this update.

What makes PWAs?

If you don’t know what a PWA is, please go research that yourself. However, for those who have a basic understanding, PWAs allow a web developer like me to build native-app like features into a site like Kiwi News; for example, we can make the app appear on someone’s home screen without having to go through the App Store review, I could implement sending push notifications, and on Android, users can even share links directly to the Kiwi News app, making submitting links much faster. Running a PWA in iOS also means getting a separate storage space for the application. That’s why you’ll have to “reconnect” your wallet when you open the Kiwi News PWA versus when you just open it on mobile Safari.

Why are PWAs a big deal?

PWAs are important because they allow small businesses like Kiwi News to efficiently cater to many users with a very small code base. I’ve said this in the past already because Dan Romero keeps on suggesting shipping a native iOS app for better retention of consumers; but as a 1-developer startup like Kiwi News, we’ve intentionally opted to ship a single website that can be used on Android, iOS, all tablets and all desktops alike. For us, this is great because it is extremely efficient. There’s just one code base for all platforms.

Additionally, for a crypto-native app like Kiwi News, a PWA allows us to ship an almost iOS-native app experience to users without having to comply or pass the App Store review. We have no limitations whatsoever on what content we are allowed to show on iOS, and we have no limitations on what financial primitives we implement, etc.

A few weeks ago, I would have said that, in general, Apple and Google don’t have much leverage over us because we’re not using a lot of Apple-specific functionality they can threaten to take away from us. I guess I was wrong…

What happened in the last year to PWAs?

The last year has actually been amazing for PWA developers because Apple has embraced PWA functionality in many of the new updates. If you’re a consumer in the crypto space, you might have experienced this too because more developers shipped PWAs seriously, among them us, friend.tech, and many others.

This was because Apple actively added many new features that brought PWAs almost on par with native iOS apps. One such example is that they finally added Push Notifications which made friend.tech pop. Many in the scene even remarked that friend.tech’s hype was uniquely nicely timed with the release of Push Notifications on iOS, which made their instant messaging features work 10x better.

Like others, Kiwi News has profited from these waves of new features and mainstreaming of PWAs in the consumer market. For the longest time, we’ve taken our chance quite seriously, and we’ve tried to compete with the bigger fish in building a great consumer application.

What was special about Apple’s PWA implementation?

Other than on Android, Apple has made PWAs solely functional via mobile Safari. This meant that the Safari browser had, for the longest time, a de-facto monopoly on many PWA functionalities in iOS.

So far, this has manifested in, for example, the “Add to home screen” option to only be available in mobile Safari but not in Chrome on iOS. For us web developers, this wasn’t a big deal as we simply prompted users to re-open the site in Safari to find the button there.

The reason for this, among many things, is that Apple said it wanted to ensure privacy and security for its web users, and so it actually only permitted browser apps based on mobile Safari’s rendering engine to be released on the App Store.

So, if you’ve been using Chrome on iOS and you thought that it had a performance edge over Safari, most likely you misled yourself because the core rendering engine of iOS Chrome is Safari, too, as Apple doesn’t permit other browser-rendering engines on iOS. Well, until now!

What’s going on in iOS 17.4, and why is it a problem?

The EU actually noticed the above and saw this as a monopolistic practice by Apple because the EU thinks that iOS users should be able to freely choose whichever browser they want on an operating system. So, the EU drafted a regulation that went into effect also on other operating systems, which makes it so that you as a user have greater choice.

This regulation text has already existed for several years now and, to my knowledge, was also already implemented by many other tech companies. However, Apple recently then released a statement saying that, given the new requirements mandated by the EU in the “Digital Markets Act,” it sees itself forced to downgrade some of the recently added PWA functionality on iOS to enable this mandated browser neutrality. This happened very recently and coincides with the EU’s DMA deadline.

If you happen to read Apple statements, it’s kind of like out of a dystopian movie because they’re very deliberately casting blame on the EU, and they’re indirectly pressuring web developers by taking away PWA functionality. They say: “Look, PWA developer, the shitty EU has made some shitty rules, and therefore we’re going to downgrade your users’ experience now. This is all their fault. Blame them.”

However, the issue with these statements is that they don’t match either with what Apple has been doing in the last few months with embracing PWAs in iOS, but neither does it square with the EU’s DMA timeline, which gave multiple years of time to implement these features.

My interpretation of this is the following: Apple has waited until the very last moment to implement the EU’s guidelines. And they’re justifying downgrading PWA functionality because it is a lot of work for them and because the EU-mandated browser-neutrality is incompatible with how PWAs are currently implemented on mobile Safari only. But all of this is very confusing, as they MUST have known about the issues with the EU’s DMA WHEN they added all these nice new PWA features in the last months.

What are the consequences for Kiwi News?

For Kiwi News, we have some consequences that follow from the iOS 17.4 update:

  • When you've installed the PWA on iOS, in the future, it'll only open as a tab in the browser, not as a standalone application anymore.
  • All users who used Kiwi News as an iOS PWA and delegated upvoting power to a temporary key will have to re-delegate. Your private key that has been stored in local storage will be permanently deleted by Apple’s update.
  • We won't implement push notification support because Apple is stopping support for it.

Why is this an attack on crypto?

In crypto, we believe in permissionless innovation. But shipping apps on the App and Play Store isn’t permissionless. Those stores have very deliberate policies that only allow certain groups of applications. That’s why OpenSea’s iOS app, for the longest time, didn’t allow a user to buy the NFTs straight in the app. That’s why Warpcast has a weird checkout process when buying Warps, and that’s why all the more innovative financial applications have hardly bothered ever to ship an iOS app.

See, people tend to often misconstruct web3 and crypto as “bad UX” because, as developers, we must be incompetent to replicate the web2 application UX.

But this is not true, as we crypto web developers have had to play 3D chess with big tech for many years to find gaps in their application interfaces that allow our apps to be neutral with respect to what we can ship.

For example, if Kiwi News shipped to the App Store, then most likely, we would have to understand whether users in iOS are allowed to purchase an NFT from Zora on our site.

We would also have to understand whether the Dawn Wallet tipping is against the App Store Terms of Service. We would have to demonstrate a particular content moderation system that Apple requires. And so on.

Now, none of this is “bad” if you are shipping an iOS app as a startup, but for us, it has been the much better choice so far to ship a PWA. This is because it is more scalable for us as a bootstrapped business, but also because it doesn’t limit us in what we can and cannot do.

But I think this is also a straight-up attack on crypto from Apple because PWAs allow financial and social innovation on the web without requiring Google or Apple’s permission. For Kiwi News, this also meant that bootstrapping an NFT and RetroPGF-funded project became possible as I, as a single dev, was able to ship to many platforms at the same time.

By weakening PWAs on iOS, Apple now forces many PWA developers to integrate with their operating system natively. This could mean that consumers end up getting nicer features in the future. But this also means that there’ll be less permissionless innovation and that “the vision of the open web” is once again weakened by a global player. If more web3 consumer apps ship to App Stores, then all this will do is give Apple total leverage over what features they can implement in the future.

Conclusion

In conclusion, I want to end by expressing my deep disappointment in how Apple has behaved here. Already in the Epic Games lawsuit, Apple has shown its true color as being a greedy and unforgiving player by “proposing” unfavorable terms for developers not using the App Store for payments.

Apple has made deliberate statements misleading the public to believe it is the EU’s fault for these PWA regressions. I find this extremely demotivating, considering it was written by Apple in California and knowing that there are people holding an active grudge against the government of my country.

I do understand Apple’s resentment towards the EU, but I also think that browser neutrality is actually a really reasonable demand for consumers. I think it’s really unreasonable to gas-light consumers and the developer community with an “America-first, fuck the EU” press release.

I’m angry because I own a Macbook, Airpods, and an iPhone. I’m angry because I know our users WANT the PWA experience. I’m angry because I’m being treated like a pawn.

If you’re reading this and you happen to have influence in Apple, consider for a minute what Steve Jobs would have done here. He was pro open web with his open letter to Adobe, “Thoughts on Flash.” If you watch old interviews, this is obvious, too.

I’m still hopeful that this will end in all of our favor, but if it doesn’t, it is a direct financial loss for me, my company, and our users. One can only hope that then, at least, the depressed Apple stock moves a little upward…

Comments

All Comments

Recommended for you

  • Grayscale transferred more than 1,000 BTC to Coinbase Prime address again last night

    According to Arkham data monitoring, the grayscale address transferred about 411 BTC to Coinbase Prime last night, and about 14 hours ago transferred 1003 BTC to Coinbase Prime address again, worth about $64.18 million.

  • Justin Sun has deposited 166 million USDT to Binance in the past 7 hours

    According to on-chain analyst @ai_9684xtpa, in the past 7 hours, Sun Yuchen has accumulated a total of 166 million USDT deposited into Binance.

  • An address transferred 8150 ETH to Galaxy Digital OTC address 8 hours ago

    According to on-chain analyst @ai_9684xtpa monitoring, 8 hours ago, address 0x4E8...fA555 transferred 8,150 ETH (valued at $25.64 million) to Galaxy Digital OTC address, suspected of commissioning sales.

  • Suspected Amber Group address withdraws 3 million SAFE from Gate.io

    Spot On Chain monitoring shows that wallet 0x011 (possibly Amber Group) withdrew 3 million SAFE tokens (worth $6.72 million) from Gate.io for the first time at a price of $2.25, six hours ago. It is worth noting that the price of SAFE has fallen by about 36% since April 23, 2024.

  • Franklin Ethereum ETF EZET listed on DTCC website

    COINOTAG has stated on the X platform that the Franklin Ethereum ETF EZET has been listed on the DTCC website.

  • Grayscale GBTC Bitcoin holdings fell below 300,000 BTC

    Official data from Grayscale shows that as of April 26th local time, GBTC's Bitcoin holdings have fallen below the 300,000 BTC mark to 298,445.4699 BTC, a decrease of approximately 2,167 BTC from the previous day. Additionally, GBTC's assets under management (non-GAAP) have decreased to $19,052,609,573.56, and its circulating shares have decreased to 335,190,100.

  • Hong Kong Investment Commission: Virtual asset spot ETFs can be bought and sold through banks

    Hong Kong investors and the Financial Education Committee have stated that the investment scope of spot virtual asset ETFs is limited to virtual assets (currently limited to Bitcoin and Ethereum) provided to the Hong Kong public for buying and selling on virtual asset trading platforms holding China Securities Regulatory Commission licenses. Trading counterparties must buy and sell virtual assets through licensed virtual asset trading platforms to reduce counterparty risks. Asset custody must be entrusted to designated institutions regulated in Hong Kong, such as licensed virtual asset trading platforms, banks, or their subsidiaries registered in Hong Kong, to reduce custody risks. Investors can buy and sell virtual asset spot ETFs through securities firms or banks. Some virtual asset spot ETFs also provide non-listed fund unit categories, which operate similarly to non-listed funds. Investors can apply for and redeem units through securities firms or banks.

  • Lido: SSV Simple DVT testnet has ended, selected participants will join the mainnet Simple DVT module

    Lido announced the end of the SSV Simple DVT testnet on the X platform and will soon launch the mainnet. In the next few weeks, selected participants will use SSV technology to join the Lido Simple DVT module on the mainnet.

  • Justin Sun redeemed 85.53 million USDT from JustLend 4 hours ago and immediately transferred it to Binance

    As monitored by on-chain analyst Yu Jin, 4 hours ago, Sun Yuchen's Tron address (TXN...752) redeemed 85.53 million USDT from JustLend and immediately transferred it to Binance.

  • ETH falls below $3,100

    According to market data, ETH has fallen below $3,100 and is now trading at $3,099.54, with a daily decline of 1.04%. The market is volatile, so please be prepared for risk control.