Hey folks, welcome back to another episode of JavaScript Jabber. This week, on our panel, we have Dan Shapier. Hello from a warm and sunny Tel Aviv. I'm Charles max Wood from a cold and rainy Utah from top end Devs. And we have a special guest this week that is Bruce Larson. How did you do it by the show? Yeah, thank you. I'm here from Birmingham, UK, and today we're celebrating our annual my word, it's not raining day. I was gonna ask how often that happens,
but you said annual, so I get the picture. You want to just remind people who you are. I'm pretty sure we've had you on the show before, but you know, I don't remember what we talked about last time, and so for sure, yes, I'm an old colleague of Dan some when we both worked at Wicks, which is quite a while ago now I have been. I was in development in the late eighties and then dropped out
to travel the world and stuff. Got into the World Wide Web because I figured it looked quite cool when I was a primary school teacher in Thailand, and then came back and got into web tech, so started mostly hassling people about specifications, you know, trying to build things and saying this spec is incomprehensible, and eventually people got tired of me, so they had changed a spec and accessibility, you know, making sure that your stuff works for people
with disabilities because it's important. And also performance. I'm not a performance nerd, and I don't know every next step to implement crud Rum, Rocks, Crooks stuff that Dan knows. But having spent and a great deal of my time in Asia working and traveling and living, I know how it feels to have a crappy fifty dollars Android device on a terribly constrained network and watch the loading spinner of Doom just circle around when you're just trying to find out if
you've missed your train or if it should be on the next platform. So these are things that matter to me. And I was here last time. I guess about twelve months ago, but who knows. I'm close to one hundred and tempest fugit, so it could have been three weeks ago or ten years ago. But I was here talking about some of the advocacy that I've
been doing, along with a dozen other developers across the globe. Just normal developers to try to make sure there's better browser competition on the mobile duopoly I Android and iOS. With a group called Open Web Advocacy, we've had quite a lot of success, or we have contributed to the success of getting legislation passed in Australia, most recently Japan, most notably the European Union basically prohibiting Apple from only allowing Safari or its WebKit view based browsers on iOS. The
regulators have finally agreed with US and other interested co lobbying partners. If you like that, it's actually holding the development of the web back if people can't use fire full fat Firefox with Gecko inside, or full fat Chrome Slash Vivaldi Slash Opera Slash Brave, Slash Edge with Chromium inside. And it's been really really eye opening watching Apple squirm around and make make themselves look pretty silly actually
trying to evade regulation. It's been very noticeable that the traditionally highly highly pro Apple press have become more and more frustrated or less willing to simply parrot Apple's party line if you will. So for example, here in the EU, we here in the EU, I'm in the UK, so no longer in
the EU. But in the EU when the Digital Markets Act came into force, Apple tried to evade regulation by saying, well, you can't regulate Safari because Safari on iOS is different from Safari on macOS, which is different from Safari on iPad ours. And the EU decline to uh, decline to believe them, pointing out that they're in their own marketing materials. Apple says,
three devices, one Safari. Oh but but before before we go there, and before we dive so deeply into the technicalities, I'd like to pull us back a little bit because I want to relate something that I encounter very often with with actual web developers. So obviously it's it's even you know, quote unquote worse when you're talking to lay people. And it's the fact that when I say to web developers that you only have Safari on iOS, many times
I hear a response like, what do you mean? That's absolutely not true. I'm using Chrome on my iOS device, So what are you talking about? So maybe you can clarify why it is that we insist on the fact that it's actually Safari and not really grong. Sure, Dan, Yeah, Well, the clarification of why it is You would have to ask Tim Cook about that. The reason we know it is is because the App Store rules Apples app Store rules say any app, and of course a browser is an
app. Any app that can browse the web must use Apple's WebKit view, So you can't even use your own fork of webkits or a newer version of WebKit. It's the WebKit view the Apple ships inside the I think that every browser must use as a rendering engine. And similarly, anything that can execute javascripts in an app must use the analogous webkits. I forget its name, but thank you. Yes, Apple itself doesn't have to do this, but it requires it of anybody who ships an app that they want to put in
the App Store. Why this should be? Apple will tell you it's for your comfort and security, I would say, and this is purely speculation because Tim Cook hasn't sent me a Christmas card for like years now. Oh what a jerk. I know, I haven't had a Valentine's cards from the Safari
team this year. But I would say it's very simple. If you could have Gecko or Blink, which is inside Chromium, inside your app, then it would have access to a lot more device, APIs, et cetera, then you can access and therefore you would be able to ship a web app that was feature equal with a native single platform app that goes in the iOS
app Store, for which Apple can extract a thirty percent rent. Simple as that, it seems to me. And if I were you know, if I were tim Apple and richer than Creases but still demanding more money, I can see the logic in it. But the trouble is, as it's really, it's really inhibiting development of the cutting edge web apps, because if you could just ship one progressive web app that worked on Android, worked on Chrome OS, worked on mac Os Desktop, worked on Windows, worked on Linux,
and worked on iOS, it would reduce development time a great deal. You know, it might not be quicker to develop, but it's a lot quicker to ship out upgrades. You're not having to muck about with variant code bases and have separate testing teams. But of course that would mean that it would be much more difficult for Apple to extract about thirty And of course, the vision, the their their funny ar goggle things are not flying off the
shelves. iPhone sales are down. I don't know how much they have are in how much they have to grovel to their shareholders, but they have bills to pay, and makes sense they would be unwilling to relinquish the billions of dollars they get every year from this thirty percent rent extraction that they charge for people to put an app in the app store. So mentioned progressive web apps.
We've had people on our show to talk about this, obviously. Alex Russell, for example, I think you've never Yeah, you deny any knowledge, as I recall, he actually he and his deer and his partner I forget your name from the Francis exactly. I think they both coined the term
together. Maybe it's worthwhile explaining what progressive web apps are in case, because they are, you know, thanks to Apple, they're not taking off as they should have, So maybe it's worthwhile to remind people what they actually are and what they're missing out on. For sure. Yeah, a progressive web app it's a term. It's an umbrella term. It's like you know, ajax. It's a useful marketing term to describe a suite of different technologies working
together. Years ago, Opera and Mozilla and Google got together and we all had similar similar ways of being able to use web technologies to make what looked to be a desktop app, but it was chromeless and installable on desktop, but they were called widgets. A feller called Marcus Casseros, who worked for Opera at the time now works at Apple, specified them in the W three C, but they didn't really take off simply because there weren't that many device
APIs they could hook into. Just a comment though you met, you said Chrome less, just to emphasize that it's not about not being the Chrome browser. You. Yeah, you just get a square box like a WebView effectively. Yeah, you don't have so when you're talking about Chrome, you're talking about like the search bar or the four bar, yeah, all that stuff. Okay, yeah, yeah, we're just talking like a window effectively, like an electron app or a web view. And that's a good way to
put it. Yeah. Yeah. And then devices, we got more and more device APIs. Gr Location was the first, and you know, they've got loads of them now. Some are controversial, like web USB, Some are not controversial, like the Accelerometers project. FUGU I think is the project that brought a lot of these APIs to the forefront. It did although I want to give a shout out to Firefox OS, which pioneered a lot of
them. They aren't necessarily now standardizing the format that Firefox OS did them, but Firefox at Firefox OS do a lot of the work on Lamented Firefox will still exist and going great guns in India and under the name of Chios. Yeah, I think it's the second biggest operating mobile operating system in India. But anyway, I digress. So a progressive web app is a actually a website plus plus it is a webpage just made of htmlc SS, javascripts,
SVG. It has a manifest file which gives it a long name, a short name that would show you know if you installed it on your home screen, various different icons you know what obviously iOS, Android, the late Lamented Windows Phone have they have different icon sizes and formats. And then with a service worker, you can basically have a web app a website that when a PWA a where browser goes to, the browser can say hey, there's a manifest there's a service worker, and it can say to the user do you
want to install this to your home screen? The user goes yep, and then it becomes you know, a nice circular icon on your home screen that you can tickle into life with a magic called twitch of your digit. Just like any other app, it fires up full screen, it can work offline with a correctly written service worker, and to all intents and purposes, it's in this indistinguishable from a single platform Android iOS app. But of course Apple
don't really like that because there's no way to monetize it. If Bruce Lawson dot co dot UK wanted to have a PWA and Dan went there in his Android device and it would his device would say I wouldn't do any work. His device would go, hey, this is installable. Do you want to install it? He can. There's no app store, gatekeeper intermediary there.
Apple would argue that that's bad because something's being installed onto your device. They haven't scanned it for security, they haven't scanned it for viruses, they haven't scanned it to make sure it doesn't contravene. Whichever crackpot puritan wave of moral panic is sweeping Coupertino at this very moment. I would counter that and say the web has existed for twenty five years. Browsers are really really damn good
at sandboxing. In fact in the I think it was in something that Apple submitted to the UK Competition of Markets Authority, whom we've also been briefing. Apple admitted that browsers have a sandbox quote an order of magnitude more secure than that of the App Store, and we've seen at this very moment there are sanctions busting Russian bank apps in the app Store. Their curation is not so great. I would argue that there are way too many identical fart apps in
the App Store. I don't know. I mean, I'm an English guy. So far I am currently fantastic. I have teenagers and it's funny. It is funny, but I don't think you need more than five hundred million of them, or however many there are. I suppose I'm saying that I don't. I personally don't buy Apples arguments that the world ohsen thirty percent of the cost price of an app for their fantastic extra security and curation. I'm
a grown up. Web Browsers are brilliant and have been brilliant for ages a sandboxing tabs from each other, the os away from rogue websites, because there's been rogue websites since since tim Bernersley rode a stegosaurus across the Earth. So
if people want to do this, I'm comfortable with it. However, the men in Coopertino and graysuits, they know better than me or you or anybody else in the world, and the prohibit I just wanted to mention that from my perspective, the big three features the progressive web apps ideally provide that make the most significant difference are the fact that a that as you mentioned, you
can it automatically can add an icon to the home screen. I mean, you can add icon to the home screen effectively for any web page, but it's a very manual and somewhat convoluted process and most users, certainly my mother doesn't know how to do it, so having it automatically suggests it makes all the difference in the world. The other one is, as you mentioned, is the fact that it's chromeless, that it covers the entire screen. That's
really important when you're trying to create an actual app like experience. And the final one is not push notifications. It would you know, like without the ability to have push notifications. That's like a deal breaker for a lot of organizations that want to have an app like presence on a mobile device. There are obviously other features as well, but those are the big three from my perspective, and technically they're totally doable. Google have done them on the Android
phone. I mean, you know, they work, their progressive web apps work on Android. Apple has always managed to break at least one of these features, Like it's sort of like a sort of militia compliance in a sense. They kind of work, and then they stop working, and then they work again, but some other one that used to work suddenly stops working. So it's it's you can't really seem to get all three of them to properly work on the iPhone. This is correct, and the weird well, the
sad thing is is that Apple have been getting much better with this. The WebKit team, who do a great job, and I friends in the WebKit team, and I cannot believe for an instant that anybody works in WebKit thinks I don't want my browser to be the best in the world. But even you two gentlemen at the dizzy and pinnacle of your careers, you know, we've all had managers that we've had to take orders from. But recently Apple
implemented web push it's not per effect. But you know, none of we three have ever had a bug, but there are developers who occasionally have written bugs and corrected them later. That's normal in software developments. The Marcos Cacera so I mentioned earlier, who used to it for Opera, then at Firefox. Now he's at Apple, and he implemented the badging API. That's like the little red blob that you'd see if you had a progressive where bat male
client. The way you can badge it to say there are you know, X new notifications or x new emails. This is a UI thing that people like in single platform apps, and it came to the web and then earlier this year Apple just killed progressive where back functionality across the EU just killed it, just took it away, which caused considerable outrage. And again I can't speak for them, but it's pretty easy to see that. It was about
ten days before the Digital Markets Act was due to be enforced. It came into force, it came into law, but obviously you give people time to ramp up to it, so they were given a grace period. And the Digital Markets Act says that you cannot self preference by giving your own stuff better access than a competitors. So I can imagine maker, Yes, if you're a platform maker of over a certain size and you have to u's like four
hundred million euros a year x thousand users. So I can imagine Bob Suit, as I like to call him in Coopertino, sitting there and thinking, okay, so we're going to have to let other browsers do progressive web apps because Safari can. Well, what happens if the day before this comes into force, we completely killed progressive web apps, even from our own products, because then we're not self referencing, which if you are Bob Suit, that
probably makes great sense. But luckily in Owa Open Web Advocacy, we somebody noticed that this was just didn't exist anymore in a beta. People asked, and the Safari bug trackers, the forums, you know, have you deliberately
broken pways on the beta? And there was silence. So we organized basically a campaign of developers and business owners across the EU to email the people who are in charge of enforcing the Digital Markets Act to say, you know, in ten days time, the business, the progressive web app that my business makes and depends upon, is going to break irrevocably and completely, and this will be the business effect. We only had like a week and bless and
bless everybody who did it. Hundreds of people wrote to the EU. No there was there were businesses. Little progressive web apps would tell people if a kindergarten was going to shut down early for any reason and alert people that was going to break. There were small community things that would giving each other oncology advice and support. That was going to break. A friend of mine runs heavily heavily privacy focused note taking progressive where bap that nothing you do ever leaves
your device, and nothing stored an eye cloud and nothing goes out. It's all on your device, and that was heavily used by EU journalists reporting behind the on the front lines of the Ukraine War. And this was going to break in ten days. There was no way of telling these people because they were out of you know, it wouldn't be safe to be connecting to Twitter and announcing your location, so there was no way to tell these people.
For Pete's sake, save your data because this is going to be just completely kiboshed. In a week. Hundreds of people wrote to the EU and the EU who knows what they said to Apple, but Apple backtracked. So now in the EU progressive where baps still exist, but at the moment moment they can only use the WebKit engine, which is obviously not even in malicious compliance with the Act, that is contravening the Act. So the EU opened an
investigation. And you know, it's a massive change that's been requested from Apple. And I've been in software since since since Dan, since you were in short trousers, I've been working in software. Have to say viewers that before we started, he got up and closed the door. And still occasionally I still occasionally wear short trousers to the consternation of my kids. So well, you were talking about teaching primary school in Thailand in the late eighties, and
I was in primary school in the late eighties. So anyway, but I've been in soft forever and I know, I know that changing a massive system, even when you've had to I mean, they only had six months for more grace period. But Apple must have known two years ago when the DMA was announced that it was going to be considered to be a primary gatekeeper. But even so, I can understand that you can't do everything in two years.
And I'm sure I can't speak for the EU. I've spoken to them many times, as of Apple, as of lots of other advocacy organizations. That's not a secret. But I am certain that the EU don't want court cases and fights. What they want is a more competitive landscape. But if that means saying to Apple, look okay for six months more, you can do what you do in as long as you promised to get it right, rather than rushing through a half asked fix or just nuking stuff like you did
with the PWAs. I get that. I want a better environment. I don't want Apple to go down in flames. I want Apple to go Actually, yeah, it's better for everybody if Safari competes on its own, merits
everybody. So the thing that I've there are a couple of things, and I'm trying to figure out how to, like, how to state some of this stuff because on the one hand, I definitely feel the you know, because I have an iPhone, right, I have an iPhone and right, But and so I feel this right because yeah, you know, ultimately I use Brave Browser. But Brave Browser is more or less a reskinned Safari browser,
right, it's using WebKit, it's using all of those things. If I'm building some other application lately, I've been so I primarily do Ruby on Rails and then I do a lot of front end stuff and so that's where I get into JavaScript and web. This relevant to most of our listeners here, right, But one thing that I've gotten into is the team that base Camp provides ter Er Native, right, which gives kind of a clean,
chromeless wrapper around your Ruby on Rails app or other web app. And so you can essentially build a PWA, but your native app is your web app, yeah, right. And so you know, I feel this because there are some problems that I'd really like to solve with a PWA or with specific features that go into a PWA, and when they don't do what you need
them to do, that that's really sucks. But on the other end, I am not a big fan of government intervention, right, And so I'm looking at it and I'm going, okay, well, Apple's a private company and they you know, when you buy the iPhone, you're kind of signing up for whatever they do or don't doos will do or not do whatever it wants. You know, there's a walled garden here, right, because you have to submit apps to the app store and get them approved, and it
may or may not play nicely with some of this other stuff. And so as much as I want Apple to be doing this stuff, I am a little bit allergic to the government telling them they have to do this stuff. Does that make sense? It does if I can say something about this,
chuck. I think what a lot of people miss, and unfortunately it's often people in the US especially, is the fact that if you want, what you actually want is nuts is a free market, and your concern about government intervention is the fact that they are potentially getting in the way of a free market. The problem is that when you have a monopoly, you don't have a free market. And you might say, well, Apple is only like half the market, They're not a monopoly. I can always decide to purchase
an Android device instead. But the reality is that they are a monopoly because I can't not support IOSS as a company that you know, that delivers some sort of a service. If I'm so for the web, the mobile web constitutes something between seventeen and eighty percent of web browsing. Yes, and if if my web app doesn't work on iOS. Then I'm basically out of half
that market. That's not something that any company could deal with that. Look at what happened with what's that game manufacture, whether the ones that create Fortnite all I can't remember. I don't play games. Remember they had that big row with Apple over or the over the app store rules. They're also epic games, I think, and and they're like the biggest game manufacturer in the world, and and and it was and they're basically losing this fight in a
lot of ways. So you know, what chance does the little guy have. It's it's it's kind of like think about the days of the railroads. It's like you have to have some sort of regulation here or or the little farmers get run out of their lands. And and this is literally what it is. It's it's Apple taking advantage of the monopoly that it's been able to create. Now again, you know, I'm not saying that Apple should not be a successful company or that they you know, they invaded, invented to
a great extent, invented this space. Good on them. It's that the fact that there needs to be some sort of a mechanism that protects the free market because in a totally unregulated capitalistic environment. You don't end up in a
free market, you end up in a series of monopolies controlling everything. What dam said, I mean, I'm I'm as I'm perhaps not as allergic to government as many American people are, because unfortunately, when you were a colony, we didn't govern you terribly well, terribly sorry about that, but I am It's okay. I'm happy with where we ended up in a lot of
ways, so it's fine. But I am allergic to government intervention in tech because I work a lot in accessibility, and I've seen attempts by government to regulate, and of necessity, regulation is law, and it takes a long time to be passed and come into force, and by which point you might have frozen into law a technique which is two years older and much worse than
the technique now. But which is why the EU and the UK laws or the regulators, everything they write is about opening up competition, preventing people from self preferencing. It doesn't mention, you know, it doesn't say you must you must allow this api. I mean, I like the fact that now in the EU everything must every new device must come with USBC, so you don't have hundreds of different proprietary charges. But the problem is what happens when
USB, D E, and F come about which better? But the legislation only allows USBC. I get the problem, Chuck, But certainly this legislation is designed to promote a level playing field. It's not. I don't want to penalize Apple. I'm talking to you with on a hugely expensive MacBook Pro that costs considerably more than my first car ever did, and you'll prize it out of my cold dead hands. But if I had to give up one thing and it was the MacBook Pro or the open Web, you can have
my Matbook Pro. I really want the open Web to win. And I think anyway, your argument ended in was it the fifties or the sixties when the AT and T was broken up? And you know it became obvious and nobody could own the telephone network and be the sole supplier of telephones, right, it was an abuse and it was distorting the free market. It wasn't
because every company of necessity tends to monopoly. Every company wants to raise its own and the logical end of raising your market share is owning one hundred percent of the market. So I mean, I would love to fix capitalism, but I don't think I have enough years left in me to do that.
But certainly certainly helping what we've been doing at WA is helping the CMA and the EU and the Japanese and the Australians understand the competition ramifications of what are pretty pretty errudite esoteric things like you know, well, if they don't allow this API. And I will say I expected when I first met these people in you know, who are lawyers and economists. I expected lots of elderly men in dusty wigs, going what is a computer? But actually it hasn't
been that at all. I wish my grasp of economics and law were anything like as quick as their grasp has been of the technical issues we've shown them. I mean, we gave them just recently, we gave them, I know, seventy page report on in app browsers. This isn't Apple bashing at all. This is battling all in app browsers. And I'll tell you what my browsers are the tool of the devil that if I had been allowed to write the executive summary down that is pretty much the synopsis that I would have
written, but I wasn't allowed it. I'm not allowed to turn up at the meetings and look beautiful, right well, but yeah, yeah, yeah, I just want to jump in on some of this because to a certain extent, I agree with you guys, right, you know, monopolies are anti capitalists. You know, we also see crony capitalism where you know, some of these tools get used on behalf of companies then kick back money to the politicians that did them the favors. Some of these tools are open to
that kind of abuse. And so when it comes right down to it, I mean, if if it truly is anti monopolistic, there's a long word for you, you know. I I'm happy to support some of that. I get a little bit concerned because, in case folks haven't listened to the show and haven't heard me. I try and keep the politics out of this, but I am very involved, especially in the state of Utah, with with our political system and our politicians, and I'm actually the vice chair of
the Utah County Republican Party, so I'm in it all the time. But my concerns mostly come down to because right, what you're talking about, I agree with right, it's like, hey, let's open this up, let's let everybody you know play in the space. Right. But the concern is is are there unintended consequences? Are there things that are going to come out
of this that we don't want? And then the other concern that I have, And it's hard to know those things right, and so it's kind of not an argument against this, but at the same time, I want to make sure that as much as we can, we can foresee what may come out of this. And then the other thing is is if we're creating the tools for government to do these kinds of things, right, pass these kinds
of regulations and then enforce them. As I've said, most of my allergy to government intervention comes from they find some other way to turn this into something
else that we don't want. And so when we're looking at this right, we have to be very careful and say, okay, look, we're allowing you to regulate these things under these very narrow areas so that you know, we can open the market so that you don't have a monopoly without allowing them to be abused on behalf of Well, my buddy's the CEO of such and such a company, and so you know, there are competitors of monopoly now too, and so now I'm going to treat them like I'm treating this other
company. And to your other point, though, yeah, I don't feel like anybody's necessarily trying to pick on Apple per se or try to hurt them. But anyway, I mean, I'd like to say one thing about that, or a few things about that. First of all, from my experience, like I don't, you know, I dislike politicians significantly. It's not it's not a big leap given that I'm in Israel. Uh. And but we've seen that tech companies are and tech company CEOs are usually a lot smarter,
more efficient, and wield more power than your average politician. And that's also a concern. And think about let's take a different example, like think what would happen if Google, in their search engine decided too, you know, to uh, you know, basically remove your company or your organization out of the search results. The impact that they that would have they a certain degree, and they do that to a certain degree, and and and and
the fact that they can is more scary than almost anything else. You know, think about the fact that the ranking algorithm for TikTok is controlled by the Chinese Communist Party. Like I would, I don't. I'm not saying that they decide on the rank of any video, but they decide the ranks of
the videos that they specifically like or dislike. So they certainly have their finger on the what's it called the log Yeah that the recommendations and yeah, yeah, so so and and think of the impact that that has on the opinions of people. Now in this particular case that we're speaking about in the context of Apple, that's seems to be purely about revenue and not about you know,
ideologies or or stuff like that. But still, uh, you know, they are creating a situation that is effectively killing the open web, and as and as people who are proponents of the open web, that's a problem. And it seems like, you know, I would love for there to be a different mechanism than government intervention to fix this, but I'm not seeing any such mechanism available. And we have been appealing to Apple for a decade, you know, appealing to their better nature. I personally know I don't
want Some people hate Apple, some people hate Google. I'm too old for hating I don't want anybody to be taken down in flames. I don't want Apple to involve themselves and USKS in a decade long series of malicious compliance until they eventually go oh all right then, Because of course, from Monopolis to any delay is profit, so that's just a given they will have to do
this stuff. But they have every fiscal every fiscal incentive is towards dragging it out, with mucking about with take going to court about procedure, as they've done in the UK recently. That's a given. But what I really want, it's for Apple to do the right thing. You know, people have accused me of oh, well, you just want the world to be Chromium, Like no, that's absolutely not what I want, And in fact I love Firefox, but it's it's been losing now for years and years I really
want. What I really want is Safari to run on iOS, iPad os if that's a different thing, Android, Windows, Linux, Chrome Book as well as mac Os. Because WebKit runs on all those things, Safari used to be on Windows. I would love to see Safari running all of those things, giving Chromium a run for its money, being a competitor to Chrome.
Because there's only one organization that has brand loyalty, a marketing budget, technical nouse, worldwide prominence to be able to compete against Google, and that is Apple. So I really want Apple to set my friends and colleagues in the WebKit team free to compete so we could see fifty you know, if it were forty percent Safari, forty percent Chrome, ten ten percent Firefox and
Brave and Vivaldian Opera much rather it was equal shares each. But I'm also I'm a real list I would much rather it be a better balance, So this would allow that. I also know many of the WebKit team personally, and they're some of the brightest people I've ever met. I'm sure that they're frustrated. Yeah, I just I guess My point is is that because I think I agree with you guys, especially in this case, but we have to be careful where we apply the hammer and how big a hammer we use.
I completely agree, and luckily, I mean, I guess it's the same in the States as well, But the EU is an entity, but twenty seven different twenty six countries now get to vote on stuff, So in the same way as the States, you've got lots of different states of competing cultures and concerns and imperatives have in the EU. It's it's cumbersome, but it means there's checks and balance is built in. And yeah, you have everybody thinking about it and coming out of from their own angle and it makes
it better. Yes. Yeah. I would also argue that in the power dynamics, you know, the one trillion dollar company probably has more power than a couple of farts arguing about this thing in somewhere with three parts with three farts down. Are we back to that fart oup or the fifty thousand fart apps? Yeah, but what you say about chrony capitalism was quite interesting. Us. We have to remember as well that Google paid Apple twenty billion to
be the search provider on iOS. So the idea that these are to chronyism so much as you see them supporting campaigns of chromism. I didn't say chromyism. I'm just people. People try and paint it as a sort of battle between these two behemoths like alien predator Godsill is the other one. It's a much more nuanced than that. To going back to what Dan said earlier, less less people what what normal person cares about regulation? But in the EU,
the people who are designated as gatekeepers. It's not only Apple and Google. Whichever company runs TikTok by dancers it, they are a gatekeeper. Whatever Facebook's called today is a gatekeeper. It is an attempt to stop any of them major digital players, distorting the market to allow smaller companies to compete fairly. I think that's a good thing. It can't be absolutely perfect from me. We're kind of getting toward the end of our time and I just want
to just nail things down. So with open web advocacy, is that the mission then to open up the web space or competition or is it these particular fights or how does that work? We want to be able to make web apps that will work cross device because the web is a mature platform. It works everywhere now, it should work everywhere now, but it's been prevented from kneeling everywhere now. Yeah, So we want to be able to make web apps and that's because we developers, you know, none of us are.
I know far more about regulation than I ever wanted ever to know. You know, a couple of us had a company in China and couldn't use couldn't use iPads because one particular API is only allowed on a native app. It's not allowed from Safari, but it could use Android, and that was a problem. I got tired of making a PWA and having to wrap it up
in capacitor or something like that to go into the app store. It was just an unnecessary extra step, which meant periodically I had to download forty eight exabytes of something called x code in order to cajole it to do something, which was Yeah, other people they want to wear apps because they work for smaller companies that don't have a colossal budget, you know, to to a
Google's or Microsoft, to a Netflix two, even to a Wix. It's it's not that expensive to have a team who test dios, a team who tests Android, maybe a React native team, and then other people to walk around with buckets to collect those people's tears every time they have to use React Native. But to a smaller company, that's prohibitively costly. Yeah, Dan and Ice where we first met, we were we used to have to empty the buckets out over the over the wall into the port. Yeah, they
were, they were. They were well compensated for their tears though. Yeah. Yeah, and that's another thing to smaller companies hiring loads of people who are react native debs is a lot more expensive than hiring people who are common and htmol cs and javas great, and also you don't have to have you know, you don't have to pay for ninety nine bucks a year for a developer license. You don't have to have a Mac and an iOS device and an iPad for testing if you're a web developer. Most of us do.
But it's not required simply to put put put pixels on a screen. So gotcha? So what do Because it's you know, all the things you're talking about, right with having things work everywhere or mostly everywhere, and you know, be able to move forward without worrying about having to be compatible with the lack of things in a Safari or similar what do we do? Like so me, you know, developer dude, work in my day job. Right, what can I do then to make this work? Or what can my
company do? Right? I suppose in the States what you could do is perhaps rain back your personal version towards government regulation, because I know you've got that DOJ versus Apple thing coming up. I don't know the details of that, because American regulation is it's too much for my tiny brain withes and you don't know if anybody follows all of it. It's basically to educate yourself.
You know, there's a lot of people for whom Apple are still a sort of shining beacon of all things good that that's been and many people are, but you'll also find many people aren't. And said, you know, there's even web developers. A couple of months ago, somebody said to me, I had no idea that Chrome and iOS was not the same as Chrome everywhere else. It's like, you're a web developer, dude, right, So you just tell people, you know, make them aware that there are other
things in the world then iOS and Android native apps. So is there a way people can actually actively support the Web back Advocacy group? You could, Yes, you can retweet or retoot our stuff or even re linked in our stuff. A couple we're back to the fart apps. I'm British. A couple of the people on the team are devoted full time on this, so you could if you would, if you want to help pay their salaries.
I'm not salaried. I do this because it's a mission. And also these guys couldn't work because it was COVID time, and so they spent many hours writing the reports and drawing the graphs, et cetera. You can support them, but basically what you can do is just support people who are talking about
this. And if you live in a country like Brazil, Korea, India, Israel, places where you have regulators that could be doing something about this, because you're a big market, whether like Israeli or a rich developed economy or somewhere like Brazil you are a rich developed economy but also massive, you know, ask what your regulators are doing about this, and write a blog post. I guess. I guess this kind of you know, writing a blog post and you know, being informed as to who's working on it.
You said also to educate yourself, and so I was wondering, you know, Open Web Advocacy Group. You sounded like you were putting out reports and
statistics and things like that. So where do people find that stuff? And are there other organizations that are putting out good information too so that I can get important There's other organizations, yeah, completely unaffiliated from US, as Tim Sweeney from Epic Games, who writes a lot of stuff about this, DHH from thirty seven Signals, whatever, they're called I disagree with him about mostly everything, but on this stuff, I don't disagree with him at all.
But again, you know, hopefully that shows people that this is this is fundamentally a technical issue that we're having to fight through regulators because there's no other venue. It isn't a socialists versus free marketing, isn't a communist versus libertarian thing. It's it's a technological issue that individually, we developers haven't been able to persuade the bad guys at Google and Apple and previously Microsoft to amend their
ways. And the only people who are bigger are governments, even if in many ways they're not bigger than a two trillion dollar company. You know, it shouldn't have come to this. It's a shame that it has come to this, but it has, and we are where we are and just spreading the word around, you know, amplifying our voices, helping out where you
can. There'll be other fights in the future, like the ten days to a Pways Die, when we basically had a team of volunteers just running keeping the website up, designing and coding up a website, and record time sifting through submissions that came to our form and forwarding them onto the EU, making sure we didn't forward stuff on with confidential information. For example, you know you can drop in and help us out from time to time, but or
you can help pay those two guys salaries. Just cross your fingers and hope we win. If you can't do anything else, just moral supports good too. Yeah, is there a website for the group? Openweb Advocacy dot org Open hyphen Web hyphen Advocacy dot org. Yes, it's a mouthful, but
we invented it before we really thought through any social media strategy. It literally was two guys in Australia emailed a mutual friend saying, do we know anybody in the UK who'd be prepared to go to the UK regulator to make them aware about p WA's because the UK were thinking android versus iOS and we wanted to say, well, actually there's this third way that works everywhere. And the mutual introduced me to these two guys. I introduced them to a friend
of Michael Stewart, who's a drinking friend down the pub. We've worked together on and off for fifteen years. We set up a little group. It's grown organically everybody is just a developer. There's no most of us have never met in real life. We're just people who want to make sure that the web has a future across all devices for everybody. A so Uncle Timbow himself said this is for everyone. Awesome, all right, Well, let's go
ahead and do our picks. Yeah, hopefully people are getting some ideas on how they can help out with this, and yeah, I mean these are changes I'd like to see. And anyway, Dan, do you want to start us off with our picks? Yes? Why not? Not a lot of picks this time, a few technical ones. So it turns out that there were two as of the time of this recording. Oh yeah, you know, there's actually one thing which isn't exactly a pick, but it's a bit of news. Today was my first day at a new company that I
work at. Last week i left the Next Insurance after two and a half years there. I only have good things to say about them, but it was time for me and now I've joined as the principal engineer at a company called SiZ Sense. It's a company that does data intelligence and data analytics and stuff like that, creating all sorts of tools and services they are working on providing their tools s decay that can be embedded within others services and solutions and
whatnot. And I'm to be a principal engineer on that project. So I'm very excited about that. And like I said, today was my first day I was there at the office and it was great. So that's kind of a pick. Gratulations. Congratu. You can't believe you've been it next for two and a half years. It feels like you only just joined. Wow, man, we're getting old. Yes, I this Next Next was last Yeah, that's true. Anyway, So the to the few technical picks as
well the first one. So, there were a couple of conferences last week as the time of the time of this recording. There was Google Io, which is Google's big technical conference, and also more or less the same time, there was React, where Bruce's favorite framework shows off its new developments and capabilities. Uh and I'm kidding, but there were a couple of interesting things
that were released and I would like to mention two of them. So over at Google io are my friend Barry Pollard presented at Google i OWE for the for the first time we have had him on the guests on the show. He's a great guy, and he spoke about what's it called. It's called. The name escapes me right now. It's it's it's a thing called speculation rules. It's a way too, it's a way to specify within the HTML itself which other pages and resources should be prefetched, preloaded, and even pre
rendered. Now some of these capabilities that it's sort of existed before as resource since, but this mechanism is much more sophisticated and generally all around better. And what it enables our websites that appear to load instantly, especially if you're building a multipage application, you can achieve a performance when navigating between pages that's on par and potentially even better than single page applications, which is really great.
And when you couple that with other technologies like view transitions and stuff like that, I think we're going to be seeing in MPa renaissance potentially it'll be interesting to see. So that would be my first pick, and so as I said, the link to that talk would be my first pick. My
second pick is a talk from react Conf. Well actually it's a talk about the technology presented at react Conf. It's from our friend Jack Harrington used to be a host on React Roundup. He has this channel on YouTube called Blue Collar Coder where he presents a lot of technologies web technologies and gets into the nitty gritty. And he did a video and going in depth on the new React compiler. And this is an interesting technology that basically kind of optimizes your
React code. So you write React code as most developers do, which is kind of inefficient, and then that mechanism kind of turns it into fine tuned, highly efficient React code. At least that's the goal. And I will add that I'm trying to get the relevant React people to come on the show
to talk about that technology because I think it's going to be interesting. So Jack's video is my second pick for today, and my final pick is because Bruce, at the very beginning of this show, you mentioned the fact that you used to work on standards, and whenever I think about standards, I've always reminded of the design notes section in the HTML spec, the actual spec for HTML itself. And I'll read this part because it's worth reading out every
once in a while, and it goes as following. It must be admitted that many aspects of HTML appeared at first glance to be nonsensical and inconsistent. And I stress this is from the HTML spec. HTML it's supporting domainpis, as well as many of its supporting technologies, have been developed over a period of several decades by a wide variety of people with different priorities, who in many cases did not know of each other's existence. Features have thus arisen from
many sources and have not always been designed in an especially insistent ways. Furthermore, because of the unique characteristics of the web, implementation, bugs have often become de facto and now the viewers standards as content is often unintentionally written in ways that rely on them before they can be fixed. Despite all this, efforts have been made to adhere to certain design goals. These are described in
the next few subsections. So this is such a great piece. This is such a great piece of content to put in the actual htmlspec and I really love it. And this candidness and forthrightness about the state of things as they are, which doesn't in any way decrease the fact that the web itself is one of the greatest achievements of the human race in my opinion. And today I'm going to butt in as a guest and make a pick because by the
way, man, but a way fought again. I see one of the things that Dan, one of those design principles that that passage alludes to is when you're writing the specs, it's called the priority of constituencies, and it says you always considered users over web authors, over implementers, over theoretical purity. So in other words, the people who count most to the end users, then the next most important constituency are developers, and then the next most
constituency are browser manufacturers, and only then it's theoretical purity. And my picks are Web Standards picks and the frontiest of front end guys. Dan mentioned them earlier. Multi page view transitions are coming soon to shipping Chrome. This is for multi page application or what we old timers call a website with lots of different news rls. You'll be able to transition between them without the page going
white and refreshing. And again, it's just bringing a ux feature from the world of apps to the web without all the nonsense of having to try to do spas. It's going to be a game changer. We have actually had Non Rosenthal, who's the guy who's working on this spec as a guest on this show talking exactly about view transitions. I don't remember the number of the episode, but we should probably link to it. Yeah, love me a bit of Noam Rosenthal. He was at West when we on. Does this
go beyond sort of the HTMX or turbo approach. It has nothing to do with that. It's basically you can specify in CSS in HTML you don't, well, you need potentially a little bit of job is good, but ideally just HTML and CSS, you can create an inmated transitions between pages when you're
navigating. Oh interesting, So so think think about app experiences when when you're clicking something and like you know, like a Netflix type experience or an Amazon type experience when you're clicking let's say something in Netflix and that thing expands like you're going into a specific movie and that item expands to cover so you have so it's not like you're you you don't see that transition. It's kind of
animates from one page to the next. And it's a it's a game changer because somebody who comes with a browser that doesn't yet support view transitions, it just works as before. Nothing breaks. It's nobody gets a worse experience than they do now, and gradually everybody gets a better one. There's also newly come to Baseline, which is a new initiative. I don't know whose initiative
it was, but you see all over the place on MDN. Baseline is a category of stuff that as a jobbing web developer you can expect to be supported, so it's sort of your If it's in baseline, I can use it. That's what I tell people I want to mentor. Newly in Baseline is the has pseudo class, which allows you to say, if this form has an input that is invalid, put a red line around the whole form, or something. A parent selector that's everywhere now. It's much more than
a parent selector. In fact, I just wrote a blog post an hour before we joined about what I call HAS the god selector because it's omnipotent and awe inspiring. There's also in baseline the popover API. That's when you can say, here's a button pop over target equals fo and div id equals foo, and with any JavaScript at all, when you hit that button, food will pop up. By default, it's centered vertically and horizontally. You can with CSS. You can give it an opake backdrop, you can change,
you can do anything with it that you can do in CSS. When you pick the button again, the popover disappears. It's also got light dismissed with the ESK key built in, just given to you for free for browsers, and that's everywhere now. So I've been using that a great deal in a recent project and coming tuned soon to CSS is a masonry layout, and there's been really interesting conversations between WebKit and Chrome about different ways to achieve this.
Each party believes that it's necessary to add to the web platform, but there are differences of opinion about how it should be implemented. Is it a kind
of grid, is it a layout method of its own? I'm too stupid to know what's right or wrong, because it's all about how hard it is to implement in browsers, etc. Excuse me, But what I really like is the conversations between all the interested parties, because not only is it really well thought out, people are arguing their case but in a really mannered, decent way. But all along people are saying, if we do it that way, that's too complicated, and it doesn't even matter if masonry is supported
at all. If developers don't understand this, they're always thinking along that priority of constituency. If we make it easy for us as browsing manufacturers, do we make it too hard for developers to actually do the thing we're trying to allow. And it's just a really great get up issue of yeah, what about this? And maybe you're right, what about this? I'm absolutely convinced
that they're going to arrive at the best solution. I don't know what it is because these people have mighty brains, but it's so refreshing to see Anchor positioning is also coming, which is coming soon. Do you want to describe what that is? Then? As I recall, it's basically the ability to
in a smart way position elements relative to one another. So, for example, we were talking about popovers, and you want the popovers to be positioned relative to some other element on the page, you can use anchors in order to achieve it. You know, we spoke about the fact that both like a tooltip instead of a yeah and when and it will be probably positioned within
the viewport, which is really hard to do. And by the way, you know, as Bruce mentioned, that both he and I worked at WICKS, Like half of wis code, tons and tons of code, was about implementing behavior You're kind of like anchor positioning in using just job script and CSS the existing the current job SCRIPTANCSS. So theoretically it could get rid of half
of wits's code. So I'm really excited about that. And another thing that I think Carson Gross from HTMX mentioned when he was in the show the ability to move elements in the dome without resetting them. So think about the fact that you can move a video from one page to from one part of the page and not part of the page, and the video will continue playing and
not reset itself to the beginning of the video. Stuff like that. Really, a lot of exciting things are happening and making the browser and the web itself much more of an application platform without needing to resort to really sophisticated frameworks, and also with that happening to resort to crust the old component libraries.
I was lot some research for my last job, and I looked at three different component libraries which had an accordion component which were full of crusty JavaScript that wasn't listening to the it wasn't checking whether you were hitting space or enter to open a thing, and wasn't setting all the accessibility property properties correctly. For the last four years five years in HTML, we've had the details elements where this is just given to you with all of the accessibility mappings built into the
browsers for free. It's time. If you haven't looked at the component libraries you're using for a couple of years, it's time to have a look and see how much of this stuff you can retire, because it's technical debt on yourself and it's more for your user to download, so it's hurting performance. Yeah, I've I discovered the details. So I was working on an application for my client and they said, wouldn't this be easier in the details? What's that? And I went and looked it up and I was like,
oh damn, I'm not writing this ever again, ever again. And I'll tell you what, chuck I live and breathe ht amount. I can't blame anybody for not following it because so much is going on in web standards.
And one of the reasons why I finished my last gig I'm starting a new on next month is I got tired of filling my brain with stuff about node and Docker and all the ephemera of build process and deployment process, and it was blocking my ability to actually understand what was being given to me for free. I just couldn't absorb the information. So I've chosen to go back to my roots and just go back to the frontiest of the front end stuff.
Yeah. Well, it sounds like there's a lot of cool stuff coming to the web platform, so maybe we should see if we can use it everywhere that that'd be real cool. And we go around in a back to where we started, like an urebuus of love. Right, I'm going to jump in with my picks real quick. We're already past time. There's another call I wanted to get on. It's a webinar presentation thing, so it's it's running without me, which is fine, but anyway, no, this is
fascinating stuff. I don't have a problem sticking around for a few minutes. But my pick, so I usually do a board game pick, and so I'm going to pick a game called Death Eater's Rising. If you've read or watched the Harry Potter movies, read the books. Effectively, it's a game where you build a team of wizards to fight off Voldemort's rise, and so
Voldemort shows up about halfway through the deck. You stick him in halfway through and then you just play untel he shows up, and then if you've defeated enough death Eaters and you can, you can defeat Baltimore and you play it with the cards and the wizards can all take damage and write and you can heal each other and anyway, it's a fun game, and so you have your team and you're working together with the other players that have their teams.
Board game geek waits it at two point seven to three or two point three seven sorry, So that's pretty approachable. It's a little bit on the complicated side for people who are just casual gamers, but you can definitely pick it up and it's a fun game. You can play it two to four players. We found that at four players, so you have a starting wizard. At four players, somebody gets a wizard that's not ideal for the team, and so we usually just play it with three people, but if one of
the kids wants to play it, then it makes it four. Then we just make it four and then we do what we can to help the other personnel. Let's see one other thing that I've been playing with lately. I usually don't do too many deeply technical picks, but I've been playing a lot with veat lately, and wow, it's magical. Like I'd get lost managing webpack or what have you. And so I didn't always love having to use Webpack. I switched over rails has import maps built in, and that mostly
works most of the time. But what I found is that veat gave me a couple of capabilities like hot module reloading and stuff that import maps just didn't quite you didn't have it. And then some of the older libraries their module set up just wasn't quite like you had to play with it a little bit to get it to work. And Beat seems to just mostly work. So I've been pretty happy with that. And yeah, I think that's all of the picks that I have, So let's go ahead and wrap it up.
Thanks for coming, Bruce, this was a ton of fun. Thank you both for having me and listen to me, and people on the other end of this whom I can't see, thank you too. All right, Well, until next time, folks, max out
