The Apple PWA Ban

Transcript
  1. Surma:Now I'm just checking that macOS isn't doing the thing.
  2. Surma:Oh, that was an interesting realization!
  3. Surma:So I'm playing League of Legends. I have for many years.
  4. Surma:I mainly only play it because it's something I started playing
  5. Surma:with my best friends back in Berlin.
  6. Surma:And that is our excuse to have a Skype call to catch up.
  7. Surma:Because men can't just have a phone call.
  8. Surma:You need to play a video game so you have a reason to talk.
  9. Jake:I actually do the same with my dad. We play Rocket League.
  10. Jake:At the same time. It's having a catch-up. Yeah.
  11. Surma:That's amazing.
  12. Surma:And for a while, after some time, whenever I played League of Legends with Bluetooth headphones,
  13. Jake:Oh.
  14. Surma:it would pitch lower.
  15. Surma:This all the sound, both my friend over voice call,
  16. Surma:but also the League sound, like League of Legends game sounds, would be lower pitched.
  17. Jake:Oh. Now, it's... and it's obviously not just playing the sound slower, because that doesn't work in a live... you know, a live environment. So it's actually pitching it down. That's... that's interesting.
  18. Surma:Well, I was like, what? What is happening?
  19. Surma:If I plug in via wire, it's fine.
  20. Jake:Huh.
  21. Surma:It's... everything is normal.
  22. Surma:And I just... I couldn't figure it out.
  23. Surma:And I just made my peace with it.
  24. Surma:And yesterday I reopened the can of worms and figured out that you can actually see
  25. Jake:Yes!
  26. Surma:more about your audio device's details if you open macOS's audio MIDI settings.
  27. Surma:Like, it's nowhere in the sound settings, but in the MIDI settings,
  28. Surma:you can see how many channels, which codec, sampling rate, all that jazz.
  29. Jake:And you can create virtual audio devices and stuff, which I've... which I've done now.
  30. Surma:Yes, which is actually...
  31. Surma:Like, if you have multiple Bluetooth headphones,
  32. Surma:you can create a virtual device to output sound to all of them.
  33. Jake:Uh-huh.
  34. Surma:This is about what I discovered there more by accident,
  35. Jake:Yeah.
  36. Surma:is that these headphones that I have were, via Bluetooth,
  37. Surma:connected at 44.1 kilohertz sampling rate.
  38. Surma:Which is fine, but I actually would have thought they would go for 48,
  39. Jake:Uh-huh. Yeah.
  40. Surma:because, you know, they have a higher quality chip than that.
  41. Surma:And, you know, I started googling a bit, and there's some other headphones.
  42. Surma:And for some reason, for a while now, Mac has a 48 kilohertz disallow list.
  43. Surma:It just doesn't let you do 48 kilohertz, even if your headphones support them.
  44. Jake:Right.
  45. Surma:And I was like, I mean, I'm not that much of an audiophile, that's fine.
  46. Surma:But it turns out, at the same time, there is a new thing called the macOS Game Mode,
  47. Surma:which kind of forces your display into higher refresh rates.
  48. Jake:Uh-huh.
  49. Surma:When you go in a game in full screen, it kind of automatically activates.
  50. Surma:But because you're in full screen, I didn't know it existed,
  51. Surma:because your taskbar is one.
  52. Surma:If you tap out, you see it as an icon on the top.
  53. Surma:And I learned it also forces 48 kilohertz.
  54. Surma:Well, they describe it as it doubles your sampling rate,
  55. Surma:which I'm not sure is actually true.
  56. Jake:I could do some maths and figure out that that's not quite... quite double, but okay.
  57. Surma:But what I think is happening, and my tests seem to confirm that,
  58. Surma:is that, as far as League of Legends is concerned,
  59. Surma:the game thinks the system is running at 48 kilohertz.
  60. Surma:But my headphones, because they're on the 48 kilohertz disallow list,
  61. Surma:are still on 44 kilohertz.
  62. Surma:Now, if you do that math, you can kind of imagine
  63. Surma:how it might end up sounding lower pitched
  64. Jake:Right.
  65. Surma:if League is generating 48,000 samples per second,
  66. Surma:but they're played at 44,000 samples a second.
  67. Jake:And it's just dropping samples at some interval to cope with the live...
  68. Surma:Yep, there was a regular clicking sound when, I guess,
  69. Surma:when there was a buffer underrun or something.
  70. Jake:Oh!
  71. Surma:And so this, now I figured out, I had to tap out once,
  72. Surma:click that icon in the top, and say,
  73. Surma:disable game mode, and all my sounds are back to happy sounds.
  74. Jake:Oh, there you go.
  75. Jake:Welcome, everyone, to Off the Main Thread, the new audiophile podcast concerned mostly with Bluetooth and sample rates.
  76. Surma:This podcast is sponsored by diamond-coated USB cables.
  77. Jake:Oh, yeah. I just... yeah.
  78. Surma:So, Jake, what are we talking about today?
  79. Jake:Oh, yeah. Okay. On today's podcast, we're going to... we're going to talk about Apple and Safari and a new EU ruling and how, yes, a thing has happened.
  80. Surma:Oh, did something happen?
  81. Jake:And it's happening live. Like, I'm hoping by the time we get this podcast out, there won't be loads of change and it will still be relevant.
  82. Jake:But, yes, important and scary things are happening.
  83. Jake:We're going to talk through it.
  84. Jake:And then we'll see. We'll see what we've got time for after that.
  85. Jake:And we'll see what we've got time for.
  86. Surma:Yeah.
  87. Surma:Yeah.
  88. Jake:And we might record a new intro if we do have time.
  89. Jake:And we'll tease it.
  90. Jake:Okay. It's going to be a fun one for Lucas.
  91. Jake:Enjoy!
  92. Jake:What do you think? Are we diving straight into the content after that?
  93. Surma:I mean, I feel like it was hard to not be aware of the news that,
  94. Surma:you know, how Apple is changing the rules
  95. Surma:around the App Store and browsers and iOS and all that jazz.
  96. Surma:But at the same time, there was also a lot of information
  97. Jake:Okay. Well, in order to do that, I think we need to travel back through time.
  98. Surma:and misinformation and reaction videos.
  99. Surma:And I'm not a lawyer, 18 tweet summaries.
  100. Surma:So I think we might need the time.
  101. Surma:So I think we jump right in and try to get
  102. Surma:a canonical, authoritative summary from you.
  103. Jake:So, take my hand, Surma, as we journey back to 2013.
  104. Jake:All right. Here we are in 2013.
  105. Jake:You know it's really 2013 because if you listen very carefully, you can hear Get Lucky by Daft Punk playing on a loop on every radio station in the world.
  106. Surma:Oh, yeah, yeah, absolutely.
  107. Jake:I mean, listeners of the podcast won't be able to hear that because of a series of licensing issues.
  108. Jake:But, Surma, you can hear it, right? Yeah? Okay.
  109. Jake:But that's not what we're here for.
  110. Jake:All right. Follow me. Follow me. Come here.
  111. Jake:Take a look through that window.
  112. Surma:Wait, is that Steve Ballmer?
  113. Jake:Yes. Yes, it is.
  114. Surma:Why is he so sweaty?
  115. Surma:And why does he look so sad?
  116. Jake:Well, he's sweaty because he usually is.
  117. Jake:But he's looking sad because the EU just fined Microsoft €561 million.
  118. Jake:And the reason for that, or at least the core of the reason, is that Internet Explorer is bundled with Windows.
  119. Jake:And the EU ruled,
  120. Jake:That was their quote.
  121. Jake:And that ruling was actually in 2009 following earlier investigations into the bundling of Windows Media Player with Windows.
  122. Jake:And it follows a similar case back in 2001 in the US, which was also about the bundling of Internet Explorer and threatened to split Microsoft up.
  123. Jake:Although that didn't happen.
  124. Jake:But this ruling actually has a clear user-facing impact.
  125. Jake:Now, I don't know if you remember this, but the agreement was that when you run Internet Explorer,
  126. Jake:you would be taken to a website, browserchoice.eu.
  127. Jake:This is a website built by Microsoft that essentially said,
  128. Jake:Hey, did you know that there are other browsers?
  129. Jake:There's other browsers, and here are some download links.
  130. Jake:And there'd be links for Internet Explorer, obviously.
  131. Jake:Firefox, Chrome, Opera, Safari, because Safari for Windows was a thing at the time.
  132. Jake:But you'd also get links to Avant Browser, Flock, Green Browser, Chameleon, Maxthon, Sleipnir, and Slim Browser.
  133. Surma:Is this one of those games where I have to figure out which browser is the fake one?
  134. Jake:These were all...
  135. Jake:I know, right? They were all real.
  136. Jake:Actually, I bring this fact up all the time because it amuses me.
  137. Jake:But I still think the best browser name ever created was the web browser for the Amiga operating system Workbench.
  138. Jake:That was called Eyebrows, as in Eyebrows.
  139. Jake:And that's the name Apple should have used.
  140. Jake:They should have taken that name. It's a much better name.
  141. Surma:So that side was an actual thing.
  142. Surma:I'm assuming it doesn't exist anymore.
  143. Jake:It doesn't. It was shut down.
  144. Jake:So the ruling that the EU made is they had to do this until 2014.
  145. Jake:And as soon as it wasn't needed anymore, the site disappeared.
  146. Jake:Well, the browsers were presented in random order, although in two sections.
  147. Surma:I would have expected them that all the buttons would just,
  148. Surma:like, move out of the way from your mouse cursor
  149. Surma:and just, like, underneath would be an Internet Explorer button.
  150. Jake:There was the popular ones at the top and then that kind of bag of ones you've never heard of afterwards.
  151. Surma:But I'm assuming it exists.
  152. Jake:So when companies are told to behave, they behave in the minimum way possible, right?
  153. Jake:Given the rules.
  154. Surma:Indeed.
  155. Jake:So that bit of code that would take you to that website,
  156. Jake:that bit of code would only be triggered if you haven't been taken to the browserchoice.eu screen before,
  157. Jake:which is fair enough. It's a one-time thing.
  158. Jake:You wouldn't be taken there if you had a different browser set as the default,
  159. Surma:Did they also check whether you are, in fact, in the EU?
  160. Jake:which, again, is fair enough.
  161. Jake:If you've got a different browser set as the default, you're aware of your browser choice.
  162. Jake:That code would only run if you were in the EU, right?
  163. Jake:This is it.
  164. Jake:Microsoft don't want to do this, but the EU have ruled it,
  165. Jake:so they're only going to run it in places where the EU has jurisdiction.
  166. Jake:Yes.
  167. Jake:So I guess they IP geofenced it.
  168. Surma:I was gonna wonder if your time zone is set to like, you know,
  169. Jake:I'm not actually sure what the mechanism was.
  170. Jake:It might have been down to the settings in the browser, maybe,
  171. Jake:if you'd indicated where you were in time zones and stuff.
  172. Jake:That's a good question.
  173. Surma:San Francisco, North America, they'd go like, nope, no browser choice for you.
  174. Jake:Yeah, I'm not sure what the mechanism was.
  175. Jake:But they also checked if you were running Windows XP or higher,
  176. Jake:and this was just kind of a deal that they didn't have to support ancient operating systems.
  177. Jake:Windows 7 was out at this point,
  178. Jake:so having this running in Windows XP was actually pretty good support.
  179. Jake:But that last rule was implemented using an allow list of operating system versions
  180. Jake:for where to trigger this.
  181. Jake:And what happened is Windows 7 Service Pack 1 came out,
  182. Jake:which is a new operating system version,
  183. Jake:and whoopsie, someone forgot to add it to the list.
  184. Jake:So that code just wasn't running for people using Microsoft's latest operating system.
  185. Surma:No, I'm not.
  186. Jake:And because adding a string to a list is the third hardest problem in computer science,
  187. Jake:this went unpatched for 14 months, right?
  188. Jake:And the EU were not best pleased about this,
  189. Jake:and so that is why they fined Microsoft €561 million.
  190. Surma:The fine was for that oversight, not for the the anti-competitive thing originally.
  191. Jake:Well, it sort of was, because the rule was there because of the anti-competitive thing,
  192. Surma:The fine was for that oversight, not for the anti-competitive thing originally.
  193. Jake:and Microsoft hadn't followed the rules.
  194. Jake:I mean, Microsoft said it was just down to this bug.
  195. Jake:But, you know...
  196. Jake:Yes.
  197. Surma:Yeah, I would be sad if I was Steve Ballmer.
  198. Jake:Exactly. Exactly.
  199. Jake:And that was in 2013.
  200. Jake:But further back...
  201. Jake:Yes, exactly. That's why...
  202. Jake:It's not why he's sweaty, but it is why he's sad.
  203. Jake:But that was back in 2013.
  204. Jake:And further back in 2007...
  205. Jake:Everyone was listening to Umbrella by Rihanna.
  206. Jake:But there was another Steve, a happier Steve, Steve Jobs,
  207. Jake:and he released the iPhone.
  208. Surma:Yeah, I would be sad if I was Steve Ballmer.
  209. Jake:Now, the iPhone had a bundled browser, Safari.
  210. Jake:There was no browser choice screen in the EU or anywhere else,
  211. Jake:and that's because there was no browser choice to be had.
  212. Jake:But there was actually no app choice to be had.
  213. Jake:Like, the iPhone released without apps, right?
  214. Jake:The only company who could make apps for the iPhone was Apple.
  215. Jake:It wasn't a restriction on browsers specifically.
  216. Jake:In fact...
  217. Surma:Which at the time was completely normal.
  218. Surma:Like, I mean, phones were like...
  219. Surma:This was kind of the first smartphone.
  220. Surma:Like, phones before that, you couldn't install stuff.
  221. Jake:Well, you could...
  222. Jake:Around this time, I had a Nokia Symbian device,
  223. Jake:and I had a Game Boy emulator running on it,
  224. Jake:and that's what I was playing on the train at the time.
  225. Jake:But, no, in this world, if you wanted to create an app,
  226. Jake:this is what Steve said up on stage,
  227. Jake:you would build a web app,
  228. Jake:and it would run in a fancy, fully-featured Safari browser.
  229. Surma:What a visionary.
  230. Jake:I thought it was great. I was really happy to hear that.
  231. Jake:But app developers were not happy,
  232. Jake:and Apple actually really quickly reversed on their decision
  233. Jake:in the same year,
  234. Jake:and in 2008, the following year,
  235. Jake:they released their SDK and App Store.
  236. Jake:Um...
  237. Surma:I mean, the vision is kinda great, but the web of 2007, which I have to admit,
  238. Surma:I do not know well at all, did not lend itself to building apps.
  239. Jake:Yeah, I mean, depending on the app,
  240. Jake:but, yes, we didn't have things like WASM, right?
  241. Jake:Like, we didn't have...
  242. Jake:I'm pretty sure we didn't have WebGL at the time
  243. Surma:No, I'm trying to remember when jQuery UI came out.
  244. Jake:running on an iPhone, for sure.
  245. Surma:Because it or if it was a layer on top of jQuery UI that gave you the iOS
  246. Jake:Yes.
  247. Jake:That's right.
  248. Jake:Yeah, I remember playing with that.
  249. Surma:skeuomorphic look and feel.
  250. Surma:That was a thing.
  251. Jake:So, yes, I think it's kind of fair
  252. Jake:that they opened up their SDK and all of that,
  253. Jake:and if you wanted to play in this world,
  254. Jake:and this is still, like, true today,
  255. Jake:you pay $100 a year to their developer program,
  256. Jake:but more profitably for Apple, certainly,
  257. Jake:they take 30% of revenue,
  258. Jake:and that's from the sales of the app itself,
  259. Jake:if you charge for it,
  260. Jake:but also of purchases and subscriptions
  261. Jake:made within the app.
  262. Jake:That's the deal you opt into.
  263. Jake:Apps can only be installed via the Apple App Store,
  264. Surma:Yeah, I'm trying to remember when jQuery UI came out.
  265. Jake:and they have final say
  266. Jake:of what can and can't exist in there.
  267. Jake:One rule in particular,
  268. Jake:the famous rule that web developers go on about a lot,
  269. Jake:the rule is apps that browse the web
  270. Jake:must use the appropriate WebKit framework
  271. Jake:and WebKit JavaScript,
  272. Jake:and that's the rule that outright bans
  273. Jake:other browser engines on iOS.
  274. Surma:Correct.
  275. Jake:Now, you can download other browsers
  276. Jake:from the App Store.
  277. Jake:You can download Chrome, you can download Firefox,
  278. Jake:but these are just wrappers around Safari.
  279. Jake:You're not using Chromium, and you're not using Gecko.
  280. Jake:And it's the engine where the web platform features
  281. Jake:are implemented.
  282. Surma:Right.
  283. Jake:So, yes.
  284. Surma:So you still get, as you know, Chrome on iOS, you still get access to syncing your profile
  285. Surma:and your safe passwords and all that stuff.
  286. Jake:Exactly.
  287. Surma:But the code that renders, turns your HTML and CSS into the image on screen, that is code
  288. Surma:by Apple that the authors of Chrome for iOS cannot change or augment or move forward if
  289. Surma:they needed to.
  290. Jake:Exactly.
  291. Jake:And that means Apple gets to set the limit
  292. Jake:of what the web is capable of on iOS.
  293. Jake:And that has been the state of things
  294. Jake:for over 15 years.
  295. Jake:And it's...
  296. Surma:And their justification for this, I assume...
  297. Jake:...
  298. Surma:I don't know if this is ever...
  299. Surma:If they have confirmed this, but I'm guessing that they're framing this as a protecting
  300. Surma:their users feature, as in they want to make sure that executing code from random places
  301. Surma:on the internet, which the web is kind of doing, does not compromise the user's data
  302. Surma:or privacy or stuff like that.
  303. Surma:I'm not sure if that's actually true, but I would suspect that would be their reasoning.
  304. Jake:Yeah, the reasoning is something, something, security, something.
  305. Surma:Right.
  306. Jake:But the more they say,
  307. Jake:well, you know, we've got to do it to protect users,
  308. Jake:the more it suggests that they're not protecting users
  309. Jake:on macOS, where you can install
  310. Jake:other browsers with other engines.
  311. Surma:Yeah.
  312. Jake:And, yeah, it blows my mind
  313. Jake:that Apple just kind of got away with this
  314. Jake:for 15 years.
  315. Jake:Because on Windows,
  316. Jake:and on macOS, but on Windows,
  317. Jake:users were free to install whatever browser
  318. Jake:they wanted with whatever engine,
  319. Jake:yet in 2013, Microsoft got
  320. Jake:a half-billion-euro smackdown
  321. Surma:Yeah.
  322. Jake:for merely failing to directly
  323. Jake:point out to users that they had this freedom.
  324. Jake:And I think it was right that they were fined.
  325. Jake:I think we both agree with that.
  326. Jake:But at the same time, Apple was outright preventing
  327. Surma:Yeah.
  328. Jake:other engines from existing on their platform.
  329. Surma:Yeah.
  330. Jake:Like, bleh.
  331. Jake:You know?
  332. Jake:And it seems like it's really, like,
  333. Jake:poorly understood that they're doing this.
  334. Jake:And I've whinged a lot about this
  335. Surma:Yeah.
  336. Jake:over the last 15 years.
  337. Jake:But even recently, when I tweet about it,
  338. Jake:I'll get replies, replies from people
  339. Jake:and a web developer in their bio
  340. Jake:saying things like,
  341. Jake:I got Chromium installed on my iPhone, you doofus.
  342. Jake:Just get it from the App Store.
  343. Jake:Even though in the tweet I'm explaining the difference
  344. Jake:between the two, it is confusing.
  345. Jake:I get it.
  346. Jake:It still surprises me after 15 years that many developers
  347. Surma:Yeah.
  348. Jake:don't realize that Apple has
  349. Jake:gotten away with banning competing
  350. Jake:browser engines on their platform.
  351. Surma:And the inconsistency here between macOS and iOS is something that has always confused
  352. Surma:me a bit because, for example, iOS phones and tablets are very locked down that, as
  353. Jake:Correct, yes.
  354. Jake:Mm-hmm.
  355. Surma:far as I know, you can't even, you know, sideload apps without being a part of the
  356. Surma:developer program, while on Android you can.
  357. Surma:And while, you know, I know many people are saying like, oh, that's just for piracy.
  358. Surma:I also think there are some other reasons why you want to maybe, I don't know, circumvent
  359. Surma:a government blocking your access to certain data resources or, I don't know.
  360. Jake:Apple's rules, as well.
  361. Jake:Apple's rules.
  362. Jake:Apple's rules, as well.
  363. Jake:Like, Apple's rules, you know?
  364. Jake:Like...
  365. Surma:Yeah, exactly.
  366. Surma:And I think we've really reached a point where the difference between desktop and mobile
  367. Surma:really isn't that important anymore.
  368. Jake:Hmm.
  369. Surma:And on macOS and the laptops, not only can you install pretty much whatever you like,
  370. Surma:you are even allowed to install a different operating system.
  371. Surma:Like, Apple allows it.
  372. Surma:It doesn't support it.
  373. Surma:Like, they're not giving you tools to do that easily, but it is very much not forbidden
  374. Jake:Hmm.
  375. Surma:by the user agreement that you agree to when you buy one of those laptops.
  376. Surma:And just the mobile operating system seems to be the polar opposite.
  377. Jake:Yeah. And even on Chrome OS,
  378. Jake:you can install, like, the Android
  379. Jake:and Linux versions of Firefox, right?
  380. Jake:Even on an operating system
  381. Jake:that's, by name,
  382. Jake:based around another browser,
  383. Jake:you can still install other browser engines.
  384. Jake:Yeah.
  385. Surma:Yeah.
  386. Jake:As far as I can tell,
  387. Jake:the way they've gotten away with this
  388. Jake:is because iOS doesn't have the same
  389. Surma:Yeah.
  390. Jake:kind of monopoly that Windows had.
  391. Jake:So...
  392. Jake:iOS has a global
  393. Jake:smartphone share that's less than 30%.
  394. Jake:It depends where you get your figures from.
  395. Jake:Some say it's 16%.
  396. Jake:And the rest of the share is Android.
  397. Jake:So Android's a much bigger player globally.
  398. Jake:In the US...
  399. Surma:It's funny how the reputation or the perception does not match that, at least in our tech
  400. Jake:Right.
  401. Jake:And I think there's a couple of reasons for this.
  402. Surma:bubble.
  403. Jake:In the US, iOS does have the majority share,
  404. Jake:but it's still just around 55%, 60%.
  405. Surma:Yeah.
  406. Jake:Certainly not the kind of numbers
  407. Jake:we'd use when talking about monopolies.
  408. Jake:But, like you say,
  409. Jake:it doesn't feel like it tells the whole story.
  410. Jake:And I think this is because iOS users
  411. Jake:have a lot of influence over web developers
  412. Jake:because they are rich.
  413. Jake:They skew rich, right?
  414. Jake:If you're working at a company,
  415. Jake:the CEO has an iPhone.
  416. Surma:Yeah.
  417. Jake:Especially if it's a Western company.
  418. Jake:And that makes it really hard
  419. Jake:to justify feature work that
  420. Jake:doesn't work on an iPhone.
  421. Jake:Unlike macOS and other operating systems
  422. Surma:Yeah.
  423. Jake:where the users can install
  424. Jake:a more capable browser,
  425. Jake:that just is not allowed on iOS.
  426. Jake:And as a developer,
  427. Jake:I found this particularly infuriating
  428. Jake:because, and we've covered this
  429. Jake:on previous episodes,
  430. Jake:we've talked a lot about cross-browsers
  431. Jake:in terms of features and bug fixes.
  432. Jake:Last week, I had a problem
  433. Jake:that could be solved by CSS subgrid.
  434. Jake:It's a newly cross-browser feature.
  435. Jake:I was really excited about using it.
  436. Jake:I used it. I got it working in Chrome.
  437. Jake:Checked it in Firefox. Looks great.
  438. Jake:Checked it in Safari. It's broken
  439. Surma:Yeah.
  440. Jake:due to a bug.
  441. Surma:Also, they have it, but it's not compliant or has a bug.
  442. Jake:A few weeks...
  443. Jake:It was a bug.
  444. Jake:That bug has been fixed now
  445. Jake:and is fixed in
  446. Jake:Safari TP,
  447. Jake:the technical preview.
  448. Surma:Right.
  449. Jake:What is a bug and what is non-compliant?
  450. Jake:I guess it comes down to intent.
  451. Jake:They weren't intending
  452. Jake:for it to be broken.
  453. Surma:Right.
  454. Surma:I mean, ignore my wording, but I was expecting to say Safari doesn't have subgrid, which
  455. Surma:I think Chrome actually also was lagging behind on subgrid specifically for a long time.
  456. Jake:Yeah, so I think
  457. Surma:But yeah.
  458. Jake:Chrome was last across the line for subgrid.
  459. Jake:But the implementation is...
  460. Jake:For me, it seemed better
  461. Jake:because this particular thing I wanted to do
  462. Jake:worked in Chrome and Firefox,
  463. Surma:Yeah.
  464. Jake:but not in Safari.
  465. Jake:There's probably bugs in Chrome for subgrid as well.
  466. Jake:It's not what I hit at the time.
  467. Jake:But even a few weeks before that, it was creating
  468. Jake:a custom text input element
  469. Jake:as a web component.
  470. Jake:Again, it was great in Chrome, great in Firefox,
  471. Surma:Yes.
  472. Jake:broken in Safari. Autocomplete just didn't work.
  473. Jake:If you're a web developer,
  474. Jake:this will be
  475. Jake:a familiar story to you.
  476. Jake:And it isn't just your imagination.
  477. Surma:Yes.
  478. Jake:Because if you go to the web platform test
  479. Jake:website, there's a dashboard there.
  480. Jake:And right at the top of the page, there's a view
  481. Jake:that shows the number of tests that only
  482. Jake:fail in one engine.
  483. Jake:And for Chrome, it's around 900.
  484. Jake:For Firefox, it's around
  485. Jake:1,700.
  486. Jake:And for Safari, it's over 3,700.
  487. Jake:Right?
  488. Surma:Yes.
  489. Jake:It's not just your imagination.
  490. Jake:This is backed up by facts.
  491. Surma:And at the same time, there was a campaign a year or two ago that Safari had the highest
  492. Jake:Was that interop?
  493. Jake:Was that web platform test?
  494. Surma:web platform test pass rate or something like that, wasn't there?
  495. Jake:I don't know.
  496. Surma:Ah, you might be right.
  497. Surma:I'm not sure I remember, but there was like definitely like a, you know, active PR being
  498. Surma:made that Safari is the most compliant browser in some sense.
  499. Jake:Maybe.
  500. Jake:And I think there's been a rocky
  501. Jake:sort of history of
  502. Jake:Safari not being properly
  503. Jake:tested
  504. Jake:on web platform tests.
  505. Jake:Safari is involved in the development
  506. Jake:of web platform tests, so
  507. Jake:in some ways, it was their problem to fix.
  508. Jake:I think the numbers were skewed for a while.
  509. Jake:To my knowledge, that 3,700
  510. Jake:is an up-to-date representative number.
  511. Jake:But, yeah.
  512. Jake:It certainly tallies with my experience.
  513. Surma:Yeah.
  514. Surma:It's an interesting stat I didn't know existed because tests that only fail at one browser
  515. Surma:really are the source of frustration, right?
  516. Surma:Like if just if there's like no browsers implemented a feature, that's not frustrating unless,
  517. Jake:Yeah.
  518. Surma:you know, it's this one capability you really want for your specific app.
  519. Surma:But that's really the case, I think, nowadays on average.
  520. Surma:But if something works in all the browsers, but just one browser doesn't quite do it right,
  521. Surma:especially if they have support for the feature but are not fully compliant and you hit that
  522. Surma:case, those are really the source of frustration that is as a stat, I think, quite interesting
  523. Jake:Yeah.
  524. Surma:to look at.
  525. Jake:And if, you know,
  526. Jake:we were talking about Windows users,
  527. Jake:you could drive them to install
  528. Jake:a better browser
  529. Jake:to get a more stable and featureful
  530. Jake:experience, which is what we did back in the
  531. Jake:day when IE was lagging behind.
  532. Jake:You know, we would actively encourage people
  533. Jake:to adopt Firefox or
  534. Jake:later Chrome. But you
  535. Jake:can't do that on iOS because Apple has simply
  536. Surma:Yeah.
  537. Jake:banned it from happening. And to use
  538. Jake:the words that the EU directed at Microsoft,
  539. Jake:it very much seems like this harms
  540. Jake:competition between web browsers,
  541. Jake:undermines product innovation,
  542. Jake:and ultimately reduces consumer choice.
  543. Jake:It just seems like the same thing to me.
  544. Jake:So,
  545. Jake:why does Safari, which,
  546. Jake:let's remember, is underpinned by one of the world's
  547. Jake:richest, most powerful companies,
  548. Jake:lag behind a
  549. Jake:financially struggling underdog
  550. Jake:like Firefox? You know, kind of like
  551. Jake:you alluded to there, this graph,
  552. Surma:Yeah.
  553. Jake:those figures we were talking about before,
  554. Jake:it's when one browser is failing and the other two aren't.
  555. Jake:And, you know, Firefox is one of those.
  556. Jake:We've talked in past episodes
  557. Jake:how they're struggling, but they are
  558. Jake:doing way better than Safari
  559. Jake:at that metric.
  560. Surma:It is so impressive how a browser that really sadly has fallen out of favor on average and
  561. Surma:clearly has much less resources to work with than Google or Apple manages to keep up with
  562. Jake:Mmm.
  563. Surma:new features from web platform standardization.
  564. Jake:Absolutely.
  565. Surma:Absolutely incredible.
  566. Jake:And I think we get
  567. Jake:some insight into the culture
  568. Jake:of this from an email sent by
  569. Jake:Philip Schiller, who's an
  570. Jake:Apple executive, and it's an email sent in
  571. Jake:2011 to Eddie Q
  572. Jake:and Steve Jobs, and this email
  573. Jake:is titled, HTML5
  574. Jake:poses threat to Flash
  575. Surma:Yeah.
  576. Jake:and the App Store.
  577. Jake:You know, the Flash reference dates it somewhat.
  578. Jake:But this email states
  579. Jake:that he expects a web-based
  580. Jake:solution to challenge
  581. Jake:their App Store's 30% revenue
  582. Jake:cut.
  583. Jake:And it's kind of there in black and white.
  584. Jake:You know what I mean?
  585. Jake:Mmm.
  586. Jake:I don't know.
  587. Jake:But things are changing.
  588. Jake:The Open Web Advocacy
  589. Jake:Group has been working with regulators
  590. Jake:around the world, showing them the ways that Apple
  591. Surma:Yeah.
  592. Jake:and other companies like Google
  593. Jake:are artificially holding the web back
  594. Jake:and holding them to account.
  595. Jake:But this Apple browser ban,
  596. Jake:as they call it, is one of their main focuses.
  597. Jake:It started off with
  598. Jake:a couple of Aussies, Alex and James
  599. Jake:Moore, and they've been able to bridge
  600. Jake:this gap between the worlds of web development
  601. Jake:and regulation and
  602. Jake:legislation. But the group has
  603. Jake:grown, and there's familiar
  604. Jake:names on there, like Bruce Lawson, Stuart Langridge,
  605. Jake:Francis Berryman.
  606. Jake:You'll see them writing articles on the blog, doing huge amounts
  607. Surma:Yeah.
  608. Jake:of work. Their Walled Gardens
  609. Jake:report, which concerns this
  610. Jake:whole sort of Apple browser ban,
  611. Jake:is an absolutely great read. It's long,
  612. Jake:but wow, there's so much
  613. Jake:data in there. A lot of the content
  614. Jake:that I've been talking about in this section
  615. Jake:has kind of been from that report.
  616. Jake:It's just a great source of data.
  617. Jake:Links in the description,
  618. Jake:of course.
  619. Surma:Yeah, we'll link to it for sure.
  620. Jake:The good news is
  621. Jake:the regulators are starting to take
  622. Jake:note, and there's
  623. Jake:one in particular that I want to talk about,
  624. Surma:Yeah.
  625. Jake:and it's the EU again.
  626. Jake:The EU Digital Markets Act
  627. Jake:passed into law late
  628. Jake:2022, and
  629. Jake:part of that declares that gatekeepers
  630. Jake:must
  631. Jake:not prevent the installation of competing
  632. Jake:browser engines, and there must
  633. Jake:be a level playing field.
  634. Jake:The gatekeepers they name are Apple,
  635. Jake:Google, Microsoft, Amazon,
  636. Jake:Meta, and ByteDance, who own
  637. Jake:TikTok.
  638. Jake:So, in a nutshell, Apple can't block
  639. Jake:the installation of other browser engines,
  640. Surma:Yeah.
  641. Jake:and Safari mustn't be given
  642. Jake:exclusive access to
  643. Jake:particular APIs that make it perform better
  644. Jake:than other browser engines.
  645. Jake:And you'd hope
  646. Jake:after getting away with it for 15 years,
  647. Jake:Apple might be a bit, ah, okay, fair enough.
  648. Jake:That was a pretty good run for something
  649. Jake:that was very clearly unfair.
  650. Jake:But no, they are fighting for their
  651. Jake:ability to impose a browser monopoly
  652. Jake:on iOS. This one's
  653. Jake:brilliant. They tried to claim
  654. Jake:that they don't have the user numbers
  655. Jake:for regulation to apply,
  656. Surma:Yeah.
  657. Jake:and the claim they're making
  658. Jake:for this is that, well, there isn't one
  659. Jake:Safari you see. There are, in fact,
  660. Jake:three totally distinct
  661. Jake:browsers that carry the same name.
  662. Jake:Safari on iOS,
  663. Jake:Safari on iPadOS, and
  664. Jake:Safari on macOS.
  665. Jake:These are entirely different,
  666. Jake:so we can't count them as any way
  667. Jake:the same. And the EU just kind of went,
  668. Jake:eh, nice try, but
  669. Jake:no. And it probably didn't
  670. Jake:help that the main product page
  671. Jake:for Safari, and you can see this today
  672. Surma:Yeah.
  673. Jake:if you go to apple.com slash Safari,
  674. Jake:it has something to say on the matter.
  675. Jake:When it comes to Safari on iOS,
  676. Jake:Safari on iPadOS, and Safari
  677. Jake:on macOS, Apple says in
  678. Jake:large, bold heading text,
  679. Jake:same Safari, different device.
  680. Jake:So...
  681. Jake:Isn't that beautiful?
  682. Jake:I love...
  683. Surma:Amazing.
  684. Jake:So I think the EU maybe found that more compelling,
  685. Jake:you know? Like, it's Apple's own
  686. Jake:words.
  687. Jake:But yeah, like we saw with Microsoft,
  688. Jake:companies do not like being
  689. Jake:told to be fair, and they will
  690. Surma:Yeah.
  691. Jake:do very silly things to try and avoid
  692. Jake:it.
  693. Jake:This act passed into law
  694. Jake:late 2022, but the deadline for compliance
  695. Jake:is March the 6th, so
  696. Jake:soon.
  697. Surma:Hence, why now all the changes are being rolled out.
  698. Jake:Exactly. That's why
  699. Jake:it sort of, you know, there was a bit of noise
  700. Jake:about it in 2022, but you're
  701. Jake:hearing more noise about it now, because we're seeing
  702. Jake:the actual results of it.
  703. Jake:So Apple have got a set of
  704. Jake:rules, requirements
  705. Surma:Yeah.
  706. Surma:Yeah.
  707. Jake:for alternate browser engines on their platform.
  708. Surma:Yeah.
  709. Surma:Yeah.
  710. Surma:Yeah.
  711. Surma:Yeah.
  712. Jake:They say you can only do it in the EU.
  713. Surma:Yeah.
  714. Jake:Like, you know, same as
  715. Jake:Microsoft did. Totally
  716. Jake:as expected. They say
  717. Jake:the browser has to stay up-to-date security-wise.
  718. Jake:Okay. There are odd specifics,
  719. Jake:like the browser must
  720. Jake:pass at least 90% of web platform
  721. Jake:tests. Maybe this is just so
  722. Jake:they can kick
  723. Jake:things out of the App Store if they
  724. Jake:become, like, if they stop being updated.
  725. Jake:If they...
  726. Surma:I guess that could be actually a decent spirit of the rule behind that.
  727. Surma:I'm wondering, does the Safari meet this path?
  728. Jake:Yeah.
  729. Jake:It does. It does.
  730. Jake:But, yeah, I had to check
  731. Jake:the same thing as well.
  732. Jake:And, yeah, it does
  733. Jake:sound okay, these rules, but I am a little suspicious of
  734. Jake:them, given the other things that are
  735. Surma:Yeah.
  736. Jake:happening. But time
  737. Jake:Well, it does feel like progress.
  738. Jake:It does mean that Apple will no longer be able to limit
  739. Jake:what the web is capable of on iOS,
  740. Jake:which is, like, the key thing.
  741. Jake:But
  742. Jake:at the beginning of February,
  743. Surma:Yeah.
  744. Jake:this month, at time of recording,
  745. Jake:developers started noticing
  746. Jake:something wasn't quite right
  747. Jake:in the new iOS 7.4
  748. Jake:beta. Sites
  749. Jake:that were installed to the home screen,
  750. Jake:you know, like PWAs, they stopped
  751. Jake:opening as apps and started opening
  752. Jake:as a default browser, you know, like Safari.
  753. Surma:Yeah.
  754. Jake:So they essentially were turned back
  755. Jake:into shortcuts.
  756. Jake:And when I
  757. Jake:first saw this, I thought it was a bug.
  758. Jake:Because I've had this happen to me
  759. Jake:on Android, when
  760. Surma:Yeah.
  761. Jake:upgrading Android or transferring
  762. Jake:apps to a new phone. Like, I used to dog
  763. Jake:food the new phones and OS
  764. Jake:at Google, and this was a bug that
  765. Jake:I had filed over and over again.
  766. Jake:It kept regressing.
  767. Jake:Google definitely felt like it,
  768. Jake:as part of that process, treated web apps
  769. Jake:as second class.
  770. Jake:So I thought Apple was just sort of
  771. Jake:doing the same thing.
  772. Jake:But it's not a bug.
  773. Jake:This is deliberate. And they
  774. Jake:confirmed it on February the 16th.
  775. Jake:They said, like,
  776. Surma:Yeah.
  777. Jake:installing apps to the home screen where they
  778. Jake:open as apps is, like, it's just going to
  779. Jake:not be allowed in the EU on iOS.
  780. Jake:So not just in other browsers,
  781. Jake:like, it's being banned in Safari
  782. Jake:as well. And we should
  783. Jake:be clear what the impact of this is, because
  784. Jake:some Safari features are limited
  785. Jake:to installed PWAs, such as push messages.
  786. Jake:So we can't
  787. Surma:Oh, really?
  788. Jake:Right. And we all celebrated
  789. Jake:when Safari eventually got
  790. Jake:support for push messages, like, on iOS.
  791. Jake:But that feature is now
  792. Jake:being revoked in the EU
  793. Jake:as an effect
  794. Surma:Yeah.
  795. Jake:of this.
  796. Surma:So these changes are only, you're only affected by them if you are an iPhone user in the EU,
  797. Jake:Yes.
  798. Jake:No.
  799. Surma:like American iPhones basically are not affected by this.
  800. Surma:But also American, I'm just picking American as an example, just to make that clear.
  801. Surma:Yeah.
  802. Surma:In America, you also don't get the browser choice.
  803. Jake:Exactly.
  804. Jake:Yeah. It's kind of
  805. Jake:minimal compliance, but also
  806. Surma:Yeah.
  807. Jake:malicious compliance, I think.
  808. Jake:Because also, like, when you install
  809. Jake:a PWA in Safari, it actually sets up
  810. Jake:a new storage bucket for that PWA.
  811. Jake:Like, distinct from Safari.
  812. Jake:So
  813. Surma:Right.
  814. Jake:your web app's turning into
  815. Surma:Yeah.
  816. Jake:links to Safari
  817. Jake:is going to a different storage bucket.
  818. Jake:Like, if the user has local data,
  819. Jake:they've lost it. Like, just by updating their OS.
  820. Surma:Do you have a choice as a EU user to like, you just, you just screw you.
  821. Jake:No.
  822. Jake:Yeah.
  823. Surma:Okay, cool.
  824. Jake:Yeah. That's the deal.
  825. Surma:I don't think they're mandated to remove support for home screen PWAs.
  826. Jake:Yeah. Now, and
  827. Jake:Apple are claiming this is to comply with the regulation.
  828. Jake:Right. So the
  829. Jake:regulation requires that they provide a level
  830. Surma:Yup.
  831. Jake:playing field, which would mean that
  832. Jake:other browser engines would be able to
  833. Jake:install web apps to the home screen as well.
  834. Jake:Which we see is
  835. Jake:possible in Android, right? So
  836. Jake:it is possible. But Apple just didn't want to
  837. Jake:allow that, so they took the ability
  838. Jake:away from themselves as well.
  839. Surma:Yeah.
  840. Jake:This is like when the bratty kid loses a game
  841. Surma:Yeah.
  842. Jake:and they react by declaring that the ball
  843. Jake:is theirs, and they take it away so no
  844. Jake:one can play. You know?
  845. Jake:It's proper malicious compliance.
  846. Surma:Yeah.
  847. Jake:Yeah, they're saying it's a security risk because
  848. Jake:other browsers don't isolate PWA storage
  849. Surma:Yeah.
  850. Jake:the way they do. And I
  851. Jake:think the way they isolate storage has pros and cons.
  852. Surma:Yeah.
  853. Jake:But I think it's a stretch to
  854. Jake:call the other model a security risk.
  855. Surma:Yeah.
  856. Jake:They say it will allow other websites to gain access
  857. Jake:to the camera, which is a real
  858. Jake:scaremongering nonsense
  859. Jake:stretch of what actually happens.
  860. Surma:Oh, yeah.
  861. Surma:I mean, that really would say more about the iOS sandboxing than the other browser.
  862. Jake:Yeah, the only way
  863. Jake:I can make that make sense in my head
  864. Jake:is that
  865. Jake:if you granted
  866. Jake:access to google.com
  867. Jake:meet, then the Google
  868. Jake:Maps PWA would have access to the
  869. Jake:true, and I kind of think
  870. Jake:I do have bad feelings
  871. Jake:about that, but I think the way
  872. Jake:they've worded it makes it sound
  873. Jake:much bigger than it is.
  874. Jake:And I do think a large part of the tech press
  875. Jake:have just sort of taken their word
  876. Jake:for it as well.
  877. Jake:Tim Sweeney, who is the CEO of Epic Games,
  878. Jake:he put it like this.
  879. Jake:I suspect Apple's real reason for killing
  880. Jake:PWAs is the realisation
  881. Jake:that competing web browsers could do
  882. Jake:a vastly better job of supporting
  883. Jake:PWAs, unlike Safari's
  884. Jake:intentionally crippled web functionality,
  885. Jake:and turn PWAs into
  886. Jake:legit, untaxed competitors
  887. Jake:to native apps. And Tim's got
  888. Surma:Yeah.
  889. Jake:skin in the game, right? But
  890. Jake:another way to say all of that
  891. Jake:and a shorter way to say
  892. Jake:all of that was said
  893. Jake:in an email within Apple back in
  894. Jake:2011. Web-based solutions could challenge
  895. Jake:their app store's 30% revenue
  896. Jake:cut.
  897. Jake:You know,
  898. Jake:it's not good.
  899. Surma:And this is just, in a way, what you've been talking about, the very specific subtopic of
  900. Surma:other browsers on iOS, because in parallel with, in accordance with the same changes mandated by
  901. Surma:the EU, there was this whole changes on that 30% cut if you are opting into alternative app stores,
  902. Surma:which are now also allowed, which again, I do not know the exact numbers, but that was a similar
  903. Jake:Yes.
  904. Jake:Yeah.
  905. Surma:thing happening where even free apps would have to pay. And I don't think I am exaggerating people
  906. Jake:Mm-hm.
  907. Surma:saying like millions of dollars per year as a free app, because quote unquote, system fees,
  908. Surma:I think, which is, you know, like, if it kind of lines up with the quote from the email that
  909. Surma:they're really worried about a source of income here. And so they're trying really hard to
  910. Surma:disincentivize going down this route, or if you do, replace that income somehow. This is obviously,
  911. Jake:Yes.
  912. Surma:you know, me speaking for without actually having read up on all of this in detail, but it seems to
  913. Jake:Yes.
  914. Surma:track.
  915. Jake:Apple, on the app store thing,
  916. Jake:Apple are trying to charge a
  917. Jake:corkage fee, you know?
  918. Jake:Like I say,
  919. Jake:it's malicious compliance.
  920. Jake:Now, I want to stress this.
  921. Jake:I'm not saying that the WebKit
  922. Jake:team is anti-web.
  923. Jake:Some folks on that team have told me
  924. Jake:that the web shouldn't be for apps, that the browser
  925. Jake:should be a document viewer.
  926. Jake:But others, particularly some of their more
  927. Jake:recent hires, have worked hard on
  928. Jake:the features that make the web as powerful
  929. Jake:an application platform as it is today.
  930. Surma:Yeah, if I've learned one thing from our time at Google is that these companies are not a
  931. Surma:homogenous blob of opinions. There's usually people in all kinds of camps and different
  932. Surma:matters and different opinions. So Apple overall seems to have a culture where
  933. Jake:Mm.
  934. Surma:voicing differing opinions may not be as acceptable or as encouraged so that when you
  935. Surma:join the Safari engineering team, for example, and you are a known defender of the open web,
  936. Surma:you start being less outspoken on these topics is things I have seen happening. I don't think
  937. Surma:they have actually changed their opinion, these people, but they may just be strongly incentivized
  938. Jake:Absolutely.
  939. Jake:Yeah.
  940. Jake:Yes.
  941. Surma:to not be as vocal about it anymore. So I think there are genuinely good people on the Safari
  942. Jake:Agreed.
  943. Jake:And we have spoken in recent episodes
  944. Jake:about how much that team has changed over the
  945. Surma:and WebKit engineering team who believe in the open web and want to make it happen.
  946. Jake:past 10 years for the better.
  947. Jake:And we've also spoken about,
  948. Jake:well, similarly, with Google
  949. Surma:But within that team are just not necessarily given the freedom to pursue that.
  950. Jake:and Apple, about how much
  951. Jake:the team has changed over the past 10 years
  952. Jake:for the better.
  953. Jake:And we've also spoken about,
  954. Jake:well, similarly, with Google
  955. Jake:and Apple, about how much
  956. Jake:the team has changed over the past 10 years
  957. Jake:for the better.
  958. Surma:Yes.
  959. Jake:And we've also spoken about,
  960. Jake:well, similarly, with Google,
  961. Jake:how our experience there is,
  962. Surma:Yes.
  963. Jake:you know, you were dealing with
  964. Jake:Chrome employees versus web employees
  965. Jake:versus Google employees, and you had to be
  966. Jake:kind of aware of the kind of person
  967. Jake:you were talking to or what mode they were in
  968. Jake:at any given time and make sure
  969. Jake:that, you know, hold them to account
  970. Jake:that they were doing the right thing for the web
  971. Jake:I think Apple is anti-web.
  972. Jake:I think the actions that we've seen
  973. Jake:here are very clearly anti-web.
  974. Surma:The mandate they're getting from the top is anti-web.
  975. Jake:Yeah, absolutely. And that's why
  976. Jake:regulation like this is so important.
  977. Surma:So I think that's a really good point.
  978. Jake:We can't have an anti-web company
  979. Surma:Yes.
  980. Jake:in control of the web experience on a device
  981. Surma:Yes.
  982. Jake:as popular and as
  983. Surma:Yes.
  984. Jake:influential as the iPhone.
  985. Surma:Yes.
  986. Jake:Yeah, so I guess
  987. Surma:Yes.
  988. Jake:my call to action is to go to
  989. Surma:Yes.
  990. Jake:open-web-advocacy.org
  991. Surma:Yes.
  992. Jake:link in the description, of course.
  993. Surma:Yes.
  994. Jake:Their blog is really, really good.
  995. Surma:Yes.
  996. Jake:Read their reports
  997. Surma:Yes.
  998. Jake:because the amount of work they're doing
  999. Surma:Yes.
  1000. Jake:for such a small group is incredible.
  1001. Surma:Yes.
  1002. Jake:Get involved if you can.
  1003. Surma:Yes.
  1004. Jake:They have info on who to send emails to,
  1005. Surma:Yes.
  1006. Jake:who to send letters to, which petitions
  1007. Surma:Yes.
  1008. Jake:to sign, all of that kind of stuff
  1009. Surma:Yes.
  1010. Jake:to try and stop Apple from
  1011. Surma:Yes.
  1012. Jake:getting away with this, really.
  1013. Surma:Yes.
  1014. Jake:And although they've been focusing on the Apple browser ban,
  1015. Surma:Yes.
  1016. Jake:which I guess is now the Apple PWA ban,
  1017. Surma:Yes.
  1018. Jake:they're not going to stop there.
  1019. Surma:Yes.
  1020. Jake:I know they've got plans to tackle
  1021. Surma:Yes.
  1022. Jake:other companies,
  1023. Surma:Yes.
  1024. Jake:things they're doing which are anti-web,
  1025. Surma:Yes.
  1026. Jake:such as Google and Meta.
  1027. Surma:Yes.
  1028. Jake:So, yeah, important to follow them,
  1029. Surma:Yes.
  1030. Jake:check out what they're doing. And I guess
  1031. Surma:Yes.
  1032. Jake:apart from sending letters and emails,
  1033. Surma:Yes.
  1034. Jake:we just have to
  1035. Surma:Yes.
  1036. Jake:cross our fingers that
  1037. Surma:Yes.
  1038. Jake:either the PWA ban,
  1039. Surma:Yes.
  1040. Jake:the web app ban, doesn't go ahead or
  1041. Surma:Yes.
  1042. Jake:it gets revoked pretty quickly.
  1043. Surma:Yes.
  1044. Jake:That's where we are.
  1045. Surma:Yes.
  1046. Surma:Yes.
  1047. Surma:Yes.
  1048. Jake:Yeah, that's a good question.
  1049. Surma:Yes.
  1050. Jake:I mean, it's...
  1051. Surma:Yes.
  1052. Jake:Like we saw with Microsoft,
  1053. Surma:Yes.
  1054. Jake:what Microsoft did was a clear violation
  1055. Surma:Yes.
  1056. Jake:of the rules that were set out to them
  1057. Surma:Yes.
  1058. Jake:and that's why they got the fine.
  1059. Surma:Yes.
  1060. Jake:Microsoft claimed it to be accidental,
  1061. Surma:Yes.
  1062. Jake:but that, you know,
  1063. Surma:Yes.
  1064. Jake:was it?
  1065. Surma:Yes.
  1066. Jake:But it didn't change the fact
  1067. Surma:Yes.
  1068. Jake:that they were definitely not complying
  1069. Surma:Yes.
  1070. Jake:with the rules.
  1071. Surma:Yes.
  1072. Jake:So, yeah, I think
  1073. Surma:Yes.
  1074. Jake:that's a good question.
  1075. Surma:Yes.
  1076. Jake:With the rules.
  1077. Surma:Yes.
  1078. Jake:Apple...
  1079. Surma:Yes.
  1080. Jake:What they're doing with PWAs here
  1081. Surma:Yes.
  1082. Jake:seems to have more legs than their
  1083. Surma:Yes.
  1084. Jake:claim that Safari is actually three
  1085. Surma:Yes.
  1086. Jake:completely different browsers, you know?
  1087. Jake:Just have the
  1088. Surma:. . .
  1089. Jake:same icon and the same rendering engine.
  1090. Surma:Yes.
  1091. Jake:Like I say,
  1092. Surma:Yes.
  1093. Jake:it's malicious compliance. They've taken features
  1094. Surma:Yes.
  1095. Jake:away from themselves to avoid
  1096. Surma:Yes.
  1097. Jake:giving it to... to sharing it with
  1098. Surma:Yes.
  1099. Jake:others.
  1100. Surma:Yes.
  1101. Jake:I think they're...
  1102. Surma:Yes.
  1103. Jake:I think they're going to get away with it for a bit.
  1104. Surma:Yes.
  1105. Jake:And it's not... I don't know. It's not the first time that we've seen
  1106. Surma:Yes.
  1107. Jake:like companies
  1108. Surma:Yes.
  1109. Jake:behave quite badly in response to an EU
  1110. Surma:Yes.
  1111. Jake:ruling and it just kind of carry on.
  1112. Surma:Yes.
  1113. Jake:Like the cookie-banner stuff, right?
  1114. Surma:Yes.
  1115. Jake:It's still a blight on the web
  1116. Surma:Yes.
  1117. Jake:that should have been solved
  1118. Surma:Yes.
  1119. Jake:in a way better way and it, you know,
  1120. Surma:Yes.
  1121. Jake:I think it pushes people away
  1122. Surma:Yes.
  1123. Jake:from the web as a result onto
  1124. Surma:Yes.
  1125. Jake:platforms which have less
  1126. Surma:Yes.
  1127. Jake:privacy, but yeah.
  1128. Surma:Yes.
  1129. Jake:I don't know. I'm pessimist
  1130. Surma:Yes.
  1131. Jake:always. I think they're going to get away with this.
  1132. Surma:Yes.
  1133. Jake:And, you know,
  1134. Surma:Yes.
  1135. Jake:but we can write as many letters as we want
  1136. Surma:Yes.
  1137. Jake:and hopefully try and change it. I don't think
  1138. Surma:Yes.
  1139. Jake:it will be changed for the deadline,
  1140. Surma:Yes.
  1141. Jake:but,
  1142. Surma:Yes.
  1143. Jake:you know, hopefully we can get it overturned
  1144. Surma:Yes.
  1145. Jake:as quickly as possible.
  1146. Surma:I have a lot of faith in the Open Web Advocacy Group.
  1147. Surma:They have proven they can get stuff done, as you said,
  1148. Surma:with a surprisingly small amount of people
  1149. Surma:doing the actual legwork.
  1150. Surma:So, yeah, it may not. I think I agree.
  1151. Jake:...
  1152. Surma:I don't think things will change for the
  1153. Surma:original deadline but
  1154. Surma:I also think the EU will definitely not just
  1155. Surma:accept this, I think. I would be surprised
  1156. Surma:if they didn't change the spirit of what they were trying to do
  1157. Surma:and, like, protect customer choice and
  1158. Surma:customer capabilities. Just like they did pass that, you know,
  1159. Surma:iPhones in the EU have to be chargeable
  1160. Surma:with a USB-C standardized charger.
  1161. Jake:...
  1162. Surma:They're similarly trying to
  1163. Jake:...
  1164. Surma:take a stance on if you have a device,
  1165. Surma:if you buy a device, you own the device and that comes with certain rights
  1166. Surma:and if the company doesn't give you those rights, like installing apps,
  1167. Surma:that needs to be fixed and what Apple is doing
  1168. Surma:does not seem to actually give
  1169. Surma:users, customers, those
  1170. Surma:abilities in a way that is actually feasible.
  1171. Surma:So I would hope that, just from a pure customer perspective,
  1172. Surma:these changes are not
  1173. Surma:acceptable to the EU. I mean, obviously, you know, I'm saying this if I
  1174. Jake:...
  1175. Jake:...
  1176. Surma:have a deep understanding of how this works politically
  1177. Jake:...
  1178. Surma:but that's my hope.
  1179. Jake:...
  1180. Jake:I think I maybe tweeted this probably 10-15 years ago.
  1181. Jake:It surprises me how
  1182. Surma:Thank you.
  1183. Jake:like when Microsoft behaves badly
  1184. Jake:like people go for
  1185. Jake:Microsoft, right? Like they will
  1186. Jake:hold them to account.
  1187. Jake:Whereas
  1188. Jake:like when Apple does the same thing,
  1189. Jake:it's kind of like,
  1190. Jake:cute kitten scratching me.
  1191. Jake:You know what I mean? It's like you're still bleeding.
  1192. Jake:There has been a bit of anger
  1193. Jake:in web developer circles
  1194. Jake:like on Twitter and whatever about this.
  1195. Jake:But yeah, the tech press
  1196. Surma:Because, you know, we know that everybody listens to this
  1197. Jake:has been sort of largely just like,
  1198. Jake:oh, there they go. That's that done.
  1199. Surma:and the world will be changed.
  1200. Jake:So,
  1201. Surma:Thank you.
  1202. Jake:yeah, we'll see what happens.
  1203. Jake:Just,
  1204. Surma:Thank you.
  1205. Jake:I worry that it's going to sort of slip under
  1206. Surma:Thank you.
  1207. Jake:the radar in the same way that, you know,
  1208. Jake:Browserband in general seems to have,
  1209. Surma:Thank you.
  1210. Jake:like people just don't realize it's happening.
  1211. Surma:Thank you.
  1212. Jake:Hence this episode.
  1213. Surma:Thank you.
  1214. Surma:Thank you.
  1215. Jake:Look, me and you, and our editor
  1216. Surma:Thank you.
  1217. Jake:listens to this, and that's good enough for me.
  1218. Surma:That's more than enough.
  1219. Jake:Yeah?
  1220. Jake:Well, yeah. Right. Fine.
  1221. Surma:Thank you.
  1222. Jake:That's my rant over.
  1223. Surma:Thank you.
  1224. Surma:Strong, 50 minutes, I like it.
  1225. Jake:Is there anything else you want to just cram
  1226. Surma:Thank you.
  1227. Jake:into this episode?
  1228. Surma:Yeah, I'm thinking, but I...
  1229. Jake:I mean, we don't have to wait
  1230. Surma:Thank you.
  1231. Jake:a month until our next episode if we want it, right?
  1232. Jake:We could...
  1233. Surma:That's true. I mean, I guess we have because Lucas is on vacation.
  1234. Jake:Oh, that's true.
  1235. Surma:But we could have it ready recorded when he gets back.
  1236. Jake:Ready and...
  1237. Surma:So straight back into work for him.
  1238. Jake:Exactly. Exactly.
  1239. Surma:No rest for the week. Now, why don't we make this like...
  1240. Surma:Also, I think if we have an episode that is just about
  1241. Surma:Apple and browsers, that just makes it...
  1242. Jake:Nice little...
  1243. Surma:makes the topic even more important.
  1244. Jake:Neat little package. Well, let's do that.
  1245. Surma:Special, hot off the presses, breaking
  1246. Jake:Let's do that then.
  1247. Surma:news episode.
  1248. Jake:Well, that was...
  1249. Jake:Yeah, this recording has
  1250. Jake:gone better than other things that I've been
  1251. Jake:doing recently, because I tried to do some
  1252. Jake:plumbing recently.
  1253. Surma:Oh, that...
  1254. Jake:And...
  1255. Surma:We are software engineers.
  1256. Jake:I know.
  1257. Jake:I know.
  1258. Jake:The boiler in this...
  1259. Jake:Because we moved house in December. I mentioned it before.
  1260. Jake:The boiler keeps turning itself on
  1261. Jake:for no reason for just, like, a couple
  1262. Jake:of minutes, and then turning itself off again.
  1263. Jake:I hear it during the night,
  1264. Jake:and then trying to solve the problem in my head
  1265. Jake:that's been keeping me awake, I was getting up
  1266. Jake:at, like, three in the morning and going staring at the boiler
  1267. Jake:in the garage, just like, what do you want?
  1268. Jake:I don't know, right? What is wrong with you?
  1269. Surma:Isn't it supposed to do that?
  1270. Surma:Keep the water at temperature?
  1271. Jake:No. No.
  1272. Jake:It turns on when the boiler needs heated, or when
  1273. Jake:the heating needs heating. And neither of those
  1274. Jake:things were happening.
  1275. Jake:So I... Yeah.
  1276. Jake:The only thing I could identify on the front of the boiler is that
  1277. Jake:the pressure was a little
  1278. Jake:high. Like, it was still in the green, but it wasn't
  1279. Jake:in the happy, happy green.
  1280. Jake:So I
  1281. Surma:Is that a CSS color?
  1282. Jake:tried...
  1283. Surma:I really want to land happy, happy green.
  1284. Jake:Well, it was the same green, but it was
  1285. Jake:a different border width.
  1286. Surma:I feel like I'll be...
  1287. Jake:So it was a two-pixel
  1288. Jake:border width rather than a five-pixel border width,
  1289. Jake:if we're talking in CSS.
  1290. Jake:So I
  1291. Jake:couldn't figure out how to release
  1292. Jake:pressure from the boiler.
  1293. Jake:I watched loads of YouTube
  1294. Jake:videos, and everyone had a convenient little
  1295. Jake:tap that they turned, like
  1296. Jake:labeled pressure release, and I didn't
  1297. Jake:have one of those. So I
  1298. Surma:Is it called bleeding a radiator?
  1299. Jake:thought, well, I know how to bleed
  1300. Surma:Yeah, but that's fucking morbid.
  1301. Jake:a radiator, so I'll do that.
  1302. Surma:Jesus Christ, Brits.
  1303. Jake:Yeah, well, you turn the little key at the top to let the air
  1304. Surma:I think...
  1305. Jake:out, right? Yeah.
  1306. Surma:I'm trying to remember, but I think you just drain it.
  1307. Jake:I know, right? Yeah, I suppose.
  1308. Surma:I think...
  1309. Jake:What's the translation from the German?
  1310. Surma:I'm trying to remember, but I think you just drain it.
  1311. Surma:I think...
  1312. Jake:Oh, yeah, that is better.
  1313. Surma:I'm trying to remember, but I think you just drain it.
  1314. Jake:Yeah. Oh, well. Anyway, so I was
  1315. Jake:bludgeoning a radiator down in
  1316. Surma:...
  1317. Jake:the dining room.
  1318. Jake:And it's just, you know, so it's just turning the thing,
  1319. Jake:and my other half, Jen, she was in
  1320. Jake:the garage. I had her watching
  1321. Jake:the dial, and I was like, you know,
  1322. Jake:and, like, water was coming
  1323. Jake:out.
  1324. Surma:Tell me when it's in the happy, happy green zone.
  1325. Jake:Yeah, basically.
  1326. Jake:And I was like, is the needle moving?
  1327. Jake:She's like, no. And I'm like, okay.
  1328. Jake:So I loosened it a bit more.
  1329. Jake:And I was like, okay, is the dial moving?
  1330. Jake:And she's like, no. I was like, okay.
  1331. Jake:So I loosened it a bit more, and the thing popped out,
  1332. Jake:and I emptied the whole heating system
  1333. Surma:...
  1334. Jake:onto the dining room floor.
  1335. Surma:Also, that water is
  1336. Surma:the same water that's been in there for a while,
  1337. Jake:Oh, yeah.
  1338. Surma:isn't it? Did it smell good?
  1339. Jake:It smelled of metal, and I
  1340. Surma:...
  1341. Jake:smelled of metal, and the wall
  1342. Surma:...
  1343. Jake:smelled of metal, because, like,
  1344. Jake:it's coming out at high pressure,
  1345. Surma:...
  1346. Jake:and my instant reaction is put thing back
  1347. Surma:...
  1348. Jake:in thing. But when you try and
  1349. Jake:do that with gushing water, it just
  1350. Surma:...
  1351. Jake:then sort of sprays out, and
  1352. Surma:...
  1353. Jake:the dirty, metally water
  1354. Jake:sprays all up the nice, white
  1355. Surma:...
  1356. Jake:wall,
  1357. Surma:...
  1358. Jake:making it no longer nice and white anymore.
  1359. Jake:So, yeah, that's going to have
  1360. Surma:...
  1361. Jake:to be redecorated.
  1362. Surma:...
  1363. Jake:Yeah.
  1364. Jake:Well, and it wasn't, and do you know what?
  1365. Surma:...
  1366. Jake:It didn't even solve the problem.
  1367. Surma:...
  1368. Jake:Yes,
  1369. Jake:because Jen's dad came around,
  1370. Surma:...
  1371. Jake:and I,
  1372. Surma:...
  1373. Jake:and he knows DIY, and to be
  1374. Jake:fair, we were both sort of staring at it, going,
  1375. Surma:...
  1376. Jake:why is it doing this?
  1377. Surma:...
  1378. Jake:And he unscrewed a thing, and opened up a thing,
  1379. Jake:and cracked open a thing,
  1380. Surma:...
  1381. Jake:and there was a
  1382. Surma:...
  1383. Jake:frost protection
  1384. Jake:thermostat there,
  1385. Surma:...
  1386. Jake:set to 20 degrees Celsius.
  1387. Surma:...
  1388. Jake:Now,
  1389. Surma:...
  1390. Jake:exactly, yes,
  1391. Surma:...
  1392. Jake:of what I know of science,
  1393. Jake:frost is
  1394. Surma:...
  1395. Jake:not a major concern at 20 degrees.
  1396. Surma:...
  1397. Jake:So.
  1398. Jake:Alright then,
  1399. Surma:...
  1400. Jake:do you have anything more to say for yourself?
  1401. Surma:...
  1402. Jake:Amazing.
  1403. Surma:...
  1404. Surma:...
  1405. Surma:...
  1406. Jake:Absolutely.
  1407. Surma:...
  1408. Jake:Absolutely.
  1409. Jake:Yeah, yeah, the old one hour,
  1410. Surma:...
  1411. Jake:the old neat one hour.
  1412. Jake:Well, I guess with that,
  1413. Surma:...
  1414. Jake:we can thank Shopify for their
  1415. Surma:...
  1416. Jake:sponsoring, letting us do
  1417. Jake:this, and not telling us what
  1418. Surma:...
  1419. Jake:to say and do, and just
  1420. Surma:...
  1421. Jake:paying for the hosting and letting us get on with it.
  1422. Surma:...
  1423. Jake:And the editing, of course.
  1424. Jake:And thanks to Lucas for the editing as well,
  1425. Surma:...
  1426. Jake:who's going to have...
  1427. Surma:...
  1428. Jake:Oh yeah,
  1429. Jake:we're thanking Lucas, but he has to edit this out.
  1430. Jake:That's the rule.
  1431. Surma:...
  1432. Jake:So with that, I guess we'll say,
  1433. Surma:...
  1434. Jake:happy next time!
  1435. Jake:Bye!
  1436. Surma:...
  1437. Surma:...
  1438. Surma:...
  1439. Jake:Right.
  1440. Surma:...
  1441. Jake:Alright, my doorbell's gone now,
  1442. Jake:because it's going to happen to one of us per episode,
  1443. Surma:...
  1444. Jake:so I'm going to go and pick this up.
  1445. Surma:I wonder what Jake is receiving at the door right now...
  1446. Surma:...
  1447. Jake:Thank you very much.
  1448. Surma:...
  1449. Jake:There you go.
  1450. Surma:...
  1451. Jake:Thank you very much.
  1452. Jake:Cheers.
  1453. Surma:...
  1454. Surma:It's kind of nice to know that Jake talks the same way to the post-deliveryman as he talks to me.
  1455. Jake:Okay,
  1456. Jake:I'm back.
  1457. Surma:...
  1458. Jake:Well, you speak
  1459. Surma:...
  1460. Jake:about radiators, and then
  1461. Jake:stuff arrives, I've just received a whole load
  1462. Surma:...
  1463. Jake:of radiator valve automated
  1464. Surma:...
  1465. Jake:ZigBee things.
  1466. Jake:So that's...
  1467. Surma:...
  1468. Jake:Oh yeah, absolutely.
  1469. Surma:...
  1470. Surma:...
  1471. Surma:...
  1472. Jake:Yes!
  1473. Jake:Because it is a very well run
  1474. Surma:...
  1475. Jake:open source project, and I think
  1476. Surma:...
  1477. Jake:there's a lot we could probably learn from it.
  1478. Jake:Yeah.
  1479. Surma:...
  1480. Surma:...