He notes how big tobacco authored the playbook for all disinformation, that everyone uses right now: "a denialist doesn’t want to convince you that smoking is safe, they just want to convince that it’s impossible to say whether smoking is safe or not."
Apple is intentionally making a "not truly shitty, just bad enough" browser to have us all eternally question whether PWAs, web apps and other open web technologies are inferior to apps. It's worth billions to them to do that. And, its awful that they are destroying a sphere where open culture could thrive and blossom while they do that.
I mean, in what world aren't "PWAs, web apps and other web technologies" inferior to real apps? I have complex real-time 3D video games that do things like fluid simulation and have dynamic maps that take fewer system resources than any Electron or QtWebkit/QtWebEngine app I've got. I can use CSS for GTK and actually-native Qt, and they don't wreck my system as hard. I see no benefits to PWAs; it sure seems like Apple's doing everyone a favor by making them less common, and I say this as a Linux user who kinda likes having more professionally-crafted apps. I'm pretty much the target audience for them, given that if they don't exist, people are still going to make apps for Mac and Windows. And yet, I would sacrifice every single one of them without a second thought. They don't add enough benefit to be worth it.
Creator of https://rpgplayground.com here, which features game tech running in the browser, so I definitely disagree with this statement :).
Here is a list of benefits that I see:
1. One build runs everywhere, Windows, Linux, Mac, Chromebook (used a lot in schools), Android, iOS, I even have someone running it on an XBox web browser.
2. No download and install, so barrier to entry is way lower. Also great for locked down systems. "Wanna play my game? Play it here"
3. Everyone runs the latest version.
4. Easy update scheme: I update the website, and everyone gets the latest version.
5. Not giving away % of revenue to platform owners.
I code in Haxe, so I could easily build a native version for any platform. But I am a one man shop, and maintaining all those versions and updates is way more work.
The world is all about trade-offs, and claiming PWA's are either superioir or inferior is a very naive way of decision making.
>1. One build runs everywhere, Windows, Linux, Mac, Chromebook (used a lot in schools), Android, iOS, I even have someone running it on an XBox web browser.
This also exists outside of web development (e.g. Qt)
>2. No download and install
The client must download the source code, same as any other platform. The installation part occurs when the user had to first install a web browser before being able to use your software. Outside of a monstrous application, installation is almost instantaneous these days.
>3. Everyone runs the latest version.
Nothing new here. For instance web browsers: They download in the background and silently install upon next restart. Also, running the latest version isn't necessarily an advantage, especially if it wasn't the end user who installed that latest version or otherwise has no control over whether it gets installed or when.
>4. Easy update scheme: I update the website, and everyone gets the latest version.
This might be the only advantage. Though, if such deployment is a requirement, setting up the necessary servers to facilitate the communication with the client isn't nearly as difficult or complex as it was even 5 years ago.
>5. Not giving away % of revenue to platform owners.
Unless you're talking about an iPhone app, then this isn't a requirement.
For games, sure, native is much better. But for any other app, which doesn't require a lot of rendering and simulation, PWAs are actually a great option.
You can have one codebase for both platforms. Through the use of Cordova you can actually use native apis very easily. Also, using PWAS gives you access to the thousands of useful packages in the npm ecosystem. How about the tens of thousands of themes you can use to enhance your app? Or things like Vuetify or TailwindUI to quickly craft attractive UIs
If you're not making an app which needs a lot of computational power I would say a PWA is a great option.
> But for any other app, which doesn't require a lot of rendering and simulation, PWAs are actually a great option.
Slack and Spotify are both resource-hungry applications that would benefit immensely from being native applications. Yet we are stuck with the worlds laggiest IRC client and an application that you’re actually better off running in the browser so it doesn’t destroy your SSD (again).
Electron is somewhat different than a PWA. They are not the same.
Electron packages up its own browser and something akin to a node process along with your code. There is effectively no sandbox on Electron. Last I played with it the minimum bundle size is ~80MB, depending on the platform and feature set and it runs somewhat larger on disk after install.
A PWA uses the existing browser on your device and must abide by the browser's sandbox and limitations. It's basically running as a page tab but skinned to look like a native application.
For both Slack and Spotify, I would prefer a PWA over electron. They work fine within the sandbox and then it's simply smaller/faster and your browser, the one major dependency, updates separately. That's less bandwidth to keep everything up to date, less resources both on disk and in ram. Given you advocate using the browser for Spotify, it seems that you would prefer it to be a PWA as well.
There are pros and cons to both approaches, but from a resource perspective, PWAs are potentially quite lean. The last PWA I published has a download footprint of about ~800k, uses ~3MB on disk, and ~30-50MB of ram when running, and ~1s load time on my phone. It's pretty much a big ball of javascript, light on pics or media other than the icon set - but runs an inventory system and allows some modest camera assist from the device. Contrast that to a React-Native application I produced of the same complexity at a previous employer, it was 30MB download, 50MB on disk, and even more ram, and 3 s load time on my phone. PWAs potentially open faster than similarly complex native app if the browser is already running and in memory - which is a common case.
> Given you advocate using the browser for Spotify, it seems that you would prefer it to be a PWA as well
Ideally I’d like us to stop trying to force every single application into the browser when they don’t belong there. I prefer to use Spotify on web over the electron app only because it’s only marginally less-bad there, I’d prefer it more if it was a native application like Apple Music is because all my music is on disk anyways.
That is kind of the exact opposite of the point I was making. Games would be fine as PWAs in theory: nobody expects video games to use few resources or to be power-efficient. Anything else isn't a good fit, because PWAs are ridiculously bloated for fundamental reasons even for basic applications.
Opening it up, fresh, it's taking 49.9MB of memory for me. For a tab I've had open for a while, of the same page, it's doing 60MB. And that's despite it not being a "web application": it's barely a web page! So here I am, doing exactly what everyone claims I should be doing, and using a web browser for my web content. And one of the most spartan sites on the internet, Hacker News, has mildly-active threads that take up 60MB of memory. For the tab. Not for the browser, for the individual tab.
The best Electron application I've ever came across launched with 100MB of memory consumption and pegs a CPU core. That's not even getting into how nearly every single Electron application puts 150MB+ on your hard disk, because that in particular isn't incredibly relevant.
Just trying to understand you... When I open it, it takes 6.37 (sometimes 6.18) MB of memory. I look at the 'Memory'-tab in the webdev tools in FF browser. For a second I thought uBlock or NoScript made a difference, but when I disable these I get the same result of around 6 MB. What am I missing?
Using about:performance for Firefox 88.0.1 on GNU/Linux. As far as I know, this is the most accurate way of measuring single-tab performance on Firefox.
I personally like having battery life and the ability to multitask. I don't think it's something that only non-technical users want, or even something particularly rare. Surely most users like their phones lasting longer on a single charge, given that's sort of the root of the discussion.
Memory consumption of that level has no noticeable impact on battery life.
There are bloated web apps that should be improved for sure, but they also exist with "native" languages.
The issue has always been runtime computations, PWAs are perfomant if you keep them low.
I wrote myself an ebook and webnovel reader PWA which tracks progress by pixels and percentage amongst other things. There is no noticeable difference between fbreader (native) and this angular app. I get the same amount of drain per hour as I repeatedly verified when I switched.
The very nature of HTML and CSS which are designed to display some text and maybe a few images make them ridiculously unsuited for literally anything else.
You as much as glance at a web page, and it causes a repaint and reflow of the page.
HTML+CSS is a layout system that has been refined and heavily used in many screen sizes for several decades now. Try to find an equivalent system that works from 4/8k down to 320px width in any native system.
I mean, there ARE downsides to using web tech, but as a flexible layout system that can gracefully describe very large ranges of targets I have not found it's equal.
> Try to find an equivalent system that works from 4/8k down to 320px width in any native system.
You probably mean literally every native system. Because it's not like native toolkits didn't exist on the same systems as HTML+CSS.
> a flexible layout system that can
There's significantly more that's required of UI than just layout. And HTML+CSS are horrendously bad for anything beyond a static page of text with images.
You just keep repeating that claim and don't bother to present an argument. There are plenty of effective dynamic web pages that are not painful to create as a counter point to your claim.
For layouts, I've used various toolkits including Qt, Java AWT and SWING, and Visual Basic way back when. Creating a GUI that scales gracefully on these, in my experience, is time consuming and highly difficult. Most everyone favors static layouts because of the challenges. Learning responsive design on a web page takes a bit of time but it has the tools to reasonably manage a variety of layouts on a wide range of screens.
I would even accept an individual native system's layout manager as a counter argument of something that is at least competitive. It really isn't an easy problem.
> You just keep repeating that claim and don't bother to present an argument.
These facts are obvious to anyone who has seen anything else besides just HTML+CSS.
Adding a simple box shadow on an element will trigger reflow in most browser engines [1] Efficiently animating anything that as much as breathes at layout is impossible. Efficiently displaying anything beyond a few hundred elements on a page? Equally impossible (and there are no virtual lists on the web).
But the actual argument is this: given "the most advanced and powerful layout system in the world that has no parallels anywhere else, it's so unique", why is it that most CSS frameworks struggle to implement anything beyond the most basic of controls (buttons, links, may be tabs)?
> Creating a GUI that scales gracefully on these, in my experience, is time consuming and highly difficult.
Ah yes. "Scales". Because this is the area that only HTML and CSS have to deal with. Because, you know, resizing windows didn't ever exist since the earliest days of GUIs.
However, being able to work at different sizes isn't what "scaling a GUI" means, or should mean. Desktop apps have been able to work at different sizes for close to 40 years now.
Yeah, that is until you don’t want a webpage as an app. Proper accessibility, controls, behaviors, memory usage.
I can only applaud Apple. Please do that Cordova stuff on your own phone. There are enough frameworks that aren’t that bloated if you really don’t want to develop for a platform
Many mobile apps just exist to browse a certain web site (HN, Reddit, etc) at which point making a native app makes little sense if you're just copying the design of a site. This also extends to desktop (Spotify, Steam, etc). The problem with Electron (or CEF or QtWeb*) is that it's running an independent rendering engine adding a significant overhead. If you're already running a browser even complex web apps such as a WebGL sculpter[0] add a minimum usage on the session. Of course there's the problem of persistently running a web browser which may lead to high energy consumption.
Is this page resource usage on the browser or the total? Else, you used the browser's (about:performance in Firefox) or you system's task manager to get this figure? If the later, that is exactly what I meant with engine overhead. You should consider that initial figure shared among tabs/apps.
Strange. It shows only 1.7MB on FF 89.0 (Linux, x64). That's why I thought you're checking the total memory. Then again the total in there is far smaller than what the system usage is, so this manager is unreliable.
Not to mention that PWAs/web apps, while being "open web technologies", are inferior in that [0] by default all the data/secret sauce is for all intents and purposes proprietary and outside the control of the user. Big whoops if you have an open web technology frontend if you cannot escape the platform, with your data, stay on an older version, etc.
[0] I'm aware of web apps that use local storage and other strategies to keep user data out of a silo, but these are the exception not the norm
The web is by far the most portable and secure application platform in history. There are definitely advantages to native apps, but you can't pretend that web apps don't have some major advantages.
> in what world aren't PWAs, web apps & other web technologies inferior to real apps?
Apple controls the iPhone ecosystem. That's how they're worse. It's the single most dictatorial move our industry has seen, and it's damaged our industry to the point we have to go through a single company to reach consumers.
The minute native Rust/WASM with custom painted UI and the ability to call device APIs lands, it's game over for app stores. Or it would be, if Apple would allow this stuff to exist on their platform. (They won't.)
No, it's not because of the iPhone ecosystem that PWAs are bad. It's not because of the iPhone ecosystem that web technologies are ridiculously bloated with no intention of actually fixing the problem. It's not because of the iPhone ecosystem that web apps are inferior to every other type of application you can find.
You can't blame every single problem on "the iPhone ecosystem."
I certainly don't like the iPhone or its software; this doesn't mean that it's somehow responsible for PulseAudio being bad. Not everything can be tied to the iPhone. Really!
I think in fine the PWA problem stems from a lack of education: some developers were exposed only to Javascript and think of it at the alpha and omega of programming. Ironically the web isn't even a platform for developing software to begin with. And because they can't be bothered to even try any other programming toolkit, they want everything else to come in the browser (GPU, SQL, USB, etc), duplicating existing OS functions in a weird half-assed, incomplete, buggy and security-wise questionable way. I don't know what the fix for that is, but probably taking what pure web developers say less seriously would be a good start (in this thread for example, the reference to NPM, a package manager known for the vulnerabilities it enable, is laughable).
Somilarly, the strategy for the Conservative Party in the UK for many years has been to systematically underfund the NHS so that the cracks start to show and they have to fly in with private healthcare or private healthcare insurance provisions. Many party members hate the NHS, but the UK public love it. So they're stuck making claims to support it, but in reality funding per head in real terms falls and falls.
I don't love the NHS. I think it has shown what happens when you combine the potentially endless expense of healthcare with the beauraucracy of government.
How many other countries justified their Covid lockdowns with statements like "we need to protect our healthcare service"?? Our healthcare service is to protect us.
I live in Wales, where the Labour party has been in power at all levels of government for decades, and the Welsh NHS is practically non-functional.
Personally, I think an ordered transition to something like every other European country has (a mix of very basic public healthcare and various levels of private healthcare) is the best way forwards.
Would you be surprised to learn that the NHS is cheaper (both in terms of cost per person treated and as a proportion of GDP) than the healthcare systems of France, Germany, Belgium, the Netherlands, Norway, Sweden, Japan? Its also way, way cheaper than what they have in the USA but I guess that isn't surprising.
Basically every comparable country has a more expensive healthcare system than the NHS. The NHS is incredibly efficient (or systematically underfunded, take your pick).
Yes, and it shows. Anything other than critical or emergency care is of a distinctly lower grade. I thought it would be a fun idea to do "healthcare tourism", where I fly in people from other countries to experience nationalised healthcare. US citizens in particular would be horrified.
It sounds like you should be voting for parties that want to put more funding into the NHS then, right? Its both way cheaper than its "competition" (healthcare in other countries) and apparently lower grade than you want?
To me it sounds like there is a super simple answer to that - don't vote tory.
The NHS is a money pit, with endless layers of middle managers and expensive consultants leeching off the system. I don't think that pouring more money into it will fix anything. I think it currently offers terrible value for money, when you take into account the general quality of healthcare you receive at all stages of your life. Do you have a niggling pain, sports injury, or condition that turns you from a fit active person into someone who can only perform average daily tasks? Tough, you have to wait until it's a real problem.
Edit: and to your "don't vote Tory" point - as I've already said, I live in a place (Wales) where the Labour party has controlled the Welsh NHS for decades, and we enjoy about the worst healthcare in Europe.
The NHS provides very comparable treatment to France and Germany in my experience, given that it is cheaper than both do you have any evidence to back up your claim that it is worse value for money?
I have also lived in Poland for a time, believe me if you think Wales is close to the worst healthcare in Europe you are blinded by your privilege.
I think you and I are used to different standards of evidence. I provided you the statistics showing you that the NHS is cheaper than any G7 country except Italy (which has substantially worse outcomes) you provide me with one guy living in Marabella. You see how I find the first more convincing?
Edit: to address your last point, the government in Wales is pretty much a function of the money they get from Westminster.
I can't speak to your personal experience, but picking on Germany - for a relatively small incrase in GDP spending on healthcare (11.7%, compared to the UK's 10%), Germany has three doctors per 1000 population. The UK has two. Germany has three times as many hospital beds compared to the UK. France has fairly similar numbers to Germany.
50% more doctors, and 3x the number of beds - I'd call that a whole lot better.
It's not deniable that the NHS is "cheaper", and I have not tried to do so. I am saying that the quality of care is not sufficient, and may even be less efficient than other (more expensive) healthcare systems.
Edit: The Euro Health Consumer Index puts UK healthcare at 16th out of 35, putting it below all of the "tier one" countries in the EU. You certainly can't argue that the NHS is providing comparable healthcare to countries like France and Germany, for a lower price.
As for the "Wales can only spend what Westminster gives them" argument - the Barnett formula assumes that the average taxable income to the government per head is the same across the UK. As this is not true, it actually results in relatively more tax revenue going to the nations (like Wales) than the taxes those nations raise, per capita (yes, I know you can make arguments about which expenses the central government defines as "local" and "national" spending, etc etc). Welsh Labour has squandered huge amounts of this money. If anything, I am in support of each nation only having access to the tax revenue that it generates, as that would very starkly show just how under-performing the Welsh economy is (and I say this because I want it to be better. Knowing what the problem is is the first step to fixing it.).
The need to avoid overloading the system exists regardless of whether it’s public, private, or a mixture of the two. Just look at New York and India for examples from very different cultures and political systems.
The UK spends less per capita on healthcare than almost any other G7 nation (except Italy) [1], while maintaining a good standard of care [2]. That suggests that compared to other countries:
We hear this all the time about stuff happening outside the USA. "oh x can't be happening because its different to my super-narrow experience of one country that I've randomly decided is universal".
Maybe it's the other direction, and Apple is trying to get website builders to realize that you can just serve an HTML page with a simple stylesheet, some images, and some forms, and it can be a great User Experience (UX).
The New York times consistently creates amazing online experiences using current tech, and the result requires fewer resources, is more accessible, and works significantly faster than any project of any people that whine about Safari on Reddit and HN.
A bit off topic, but I felt compelled to comment, because I have strong feelings about these "news experiences" on NYT and other websites (I think Wired has a few).
I think they are beautiful to look at, and perhaps they are smartly built. But personally they make it so much harder for me to absorb the actual content. In the climate change example, the text is large and framed in isolation from the other elements, to the point that it's difficult for me to parse the overall context of the article. The Joni Mitchell article is a bit better, but the text on the right is squished to the point that it feels stressful to read. I understand the goal is to frame the image on the left, but it feels like overkill.
When it comes to news I prefer the content to malleable and customizable (accessibility, content size, color pallet). I don't mind that these experiments exist, just pointing out that they are a bit anti-web in my opinion.
Yeah, their news are just text and images. But then they have these larger features that live at `/interactive/`. But I can agree with you that the interactivity can interfere with you trying to understand what's being presented.
You can't deploy Unreal Engine, Netflix, or Spotify as a nice experience with plain HTML. (Maybe if the web had evolved differently, but that's an alternate history without Steve Jobs purposely crippling the web.)
Apple are a bunch of crooks that want everything to be in the App Store so that they can control it and twist these other companies' arms. (Yours too, if you're an indie developer or startup.)
Apple gaslighted us into thinking this is okay, meanwhile we bleed money sitting in their stupid walled garden jail. (I'm sick and tired of people caring about what's good for Apple. They have more money than God, and they don't need our welfare. Especially not while they're breaking our backs.)
A nice step towards a better web would be to require that Apple allow non-Safari browsers on iPhone.
Why in the world would you want to run Unreal Engine, Netflix, or Spotify in a browser on your phone, a platform which is notable for being constrained in memory, processing power, and battery life? My original comment was a little glib, but if Apple's evil plan /really is/ to twist peoples' arms into not making software engineering decisions that are prima facie ridiculous, then more power to them tbh.
Apple are totalitarian assholes taking advantage of their market position. They've redefined computing as a "protected" function. (Read: protection = regulated and taxed)
I really wish it had been Microsoft that won instead. You'd all be complaining just like me.
Nobody should be genuinely surprised a trillion-dollar company is trying to defend it's walled garden. If only portable computing devices arrived before the business models evolved. I would love the flexibility of a desktop operating system on my mobile device.
> portable computing devices arrived before the business models evolved
> flexibility of a desktop operating system on my mobile device
There used to be powerful Palm and Windows PDAs with very capable operating systems and lots of complicated software. There were devices like the Nokia N900 (then the iPhone came and destroyed everything and everyone) and there still are handheld devices with full operating systems (like the GPD computers).
People just don't want those. Maybe you do, but for every you there are millions who don't. It's not about the business models.
I can think of the "desktop" apps that are actually a bundled web browser like Slack and Skype. I utterly detest them - slow and without proper native menus and memory hogs.
If only a native toolkit had been available to build the UI........ oh wait....
> Apple is intentionally making a "not truly shitty, just bad enough" browser to have us all eternally question whether PWAs, web apps and other open web technologies are inferior to apps.
It is a fact that a company which derives 99% of its revenue from hardware/apps is against PWA (Apple), and company that derives 99% of its revenue from the web (Google) is pushing PWA very hard.
However to me as a user what Apple is doing makes much more sense. If you care for the web, you should be doing exactly what Apple is doing and that is preventing web from touching your hardware as much as possible.
He notes how big tobacco authored the playbook for all disinformation, that everyone uses right now: "a denialist doesn’t want to convince you that smoking is safe, they just want to convince that it’s impossible to say whether smoking is safe or not."
Apple is intentionally making a "not truly shitty, just bad enough" browser to have us all eternally question whether PWAs, web apps and other open web technologies are inferior to apps. It's worth billions to them to do that. And, its awful that they are destroying a sphere where open culture could thrive and blossom while they do that.