Durov posted the following message to his channel this morning...
Telegram Web provides an extraordinary experience on desktops, but it also works great on mobile devices. It is prevented, however, from reaching native-app-level quality on iOS, because Apple limits web developers in terms of what they can do on iPhones and iPads.
In April, the developer of Telegram Web shared a 10-point list of issues in the iOS Safari browser that Apple has been unwilling to fix or improve for years (check it here for technical details). Other developers have even complained that Apple's Safari is killing the web.
We suspect that Apple may be intentionally crippling its web apps to force its users to download more native apps where Apple is able to charge its 30% commission (I wrote about why it is harmful here).
Fortunately, regulators have started to realise what is going on. This week, the Competition and Markets Authority (CMA), a UK regulator, concluded:
"Apple bans alternatives to its own browser engine on its mobile devices; a restriction that is unique to Apple. The CMA is concerned this severely limits the potential for rival browsers to differentiate themselves from Safari (for example, on features such as speed and functionality) and limits Apple’s incentives to invest in its browser engine.
This restriction also seriously inhibits the capability of web apps – apps that run on a browser rather than having to be individually downloaded – depriving consumers and businesses of the full benefits of this innovative technology."
I think it's an accurate summary and hope that regulatory action will follow soon. It's sad that, more than ten years after Steve Job's death, a company that once revolutionized mobile web turned into its most significant roadblock.
Here's the post sharing some of the concerns that Telegram has with mobile Safari...
Does Apple intentionally prevent Safari from being a modern browser?
Modern web sites can replace apps. In theory. In practice, they are limited by what web browsers allow them to do. On iOS, Apple doesn't give its users the freedom to choose a web browser that supports feature-rich web apps.
On iOS and iPadOS, you can only use Safari. Although you can download other browsers, inside they will still be Safari (WebKit), because Apple doesn't allow real competition here. Safari (WebKit) used to be great 15 years ago, but today it provides arguably the worst web browsing experience on mobile. Why?
PART I (MOBILE SAFARI)
1. Push Notifications.
2. Text Field.
Safari automatically scrolls the page after tapping a text field, in order to center it – completely ignoring the interface layout. The devs have no way to tune or adjust it.
3. Context Menu Problems.
The developers have to use a special delay after a touch gesture, so the system can show the context menu. There is no unified method for this in Safari. Apple occasionally breaks it with OS updates.
4. Random Reloading.
Safari tends to refresh the page automatically when zooming on videos or scrolling through a lot of content – interrupting the user and resetting their position.
1. Unsupported Video Stickers (WebM).
Sadly, Safari users cannot enjoy them because of missing support for VP8 & VP9 codecs (though these are supported by WebRTC in the same browser). The WebK app is currently about 650 KB – which is enough to contain all the app's features. Some potential workarounds would require downloading an extra 2 MB just to make video stickers playable.
2. No Opus Support.
Opus is an audio file format used by all Telegram mobile and desktop apps for voice messages. It provides solid audio quality while being extremely lightweight. WebK uses a wasm-based module to convert .opus to .wav format, so Safari can play them natively.
3. No Shared Workers.
Technically, a worker is a script running in the background. WebK uses a dedicated worker to pack both the network and encryption tasks into a single stream. A shared worker would work outside a single tab, allowing you to use the app in multiple tabs or browser windows simultaneously – which Safari, again, does not support.
4. Essential Methods Missing.
Among them, we can mention requestIdleCallback. This method queues a performable function that requires many resources – so it can continue later from the paused state once the browser detects the user is idle. Chrome and Firefox both have it.
5. Visual Artifacts.
These occasionally appear because Safari fails to handle multilayer web apps with complex animations. Due to this, the implementation of message reactions had to be significantly simplified.
6. Blur Effects.
Safari applies these layers much slower than other browsers, despite blur effects being a major part of iOS design.
7. Smooth Scrolling.
It is impossible to implement a smooth scrolling animation. Safari caps the refresh rate at a choppy 30 FPS, which is especially noticeable on 120Hz devices. You may notice this when jumping to the original message from replies, tapping pinned messages, and scrolling to the end of a chat using the ⬇️ button.
Many of these features are easy to implement, and have in fact been integrated in browsers on other platforms (such as Chrome on Android). Apple is definitely capable of doing the same, but chose to cripple its Web experience to push users into downloading native apps, where it can charge 30% of every app purchase.
Please download the iClarified app or follow iClarified on Twitter, Facebook, YouTube, and RSS to be notified if Apple responds to these allegations.