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