I remember the time I spent hours debugging a feature that worked on Solaris and Windows but failed to produce the right results on SGI. Turns out the SGI C++ compiler silently ignored the `throw` keyword! Just didn’t emit an opcode at all! Or maybe it wrote a NOP.
All I’m saying is, compilers aren’t perfect.
I agree about determinism though. And I mitigate that concern by prompting AI assistants to write code that solves a problem, instead of just asking for a new and potentially different answer every time I execute the app.
Oh boy, I have I've been working with offline-first web apps since the late 2000s... then the particular app I have in mind has been used as a PWA for the past 6-7 years.
I really, really, love building stuff for/on the web. When working with founders/clients we'd often start with building the MVP as a PWA, because of how easy it is to iterate and test. (https://untested.sonnet.io/notes/web-and-feedback-loops/)
That said, some reasons off the top of my head in random order:
- seemingly small but UX critical features breaking or not working at all (wake, audio, notifications, scroll breaking).
- most of the users don't know/haven't been taught they can install a site or assume that PWAs are inherently worse
- PWAs are harder to monetise (no super easy way to let the user pay a lifetime licence for the app, customers want super easy, and that's not for me to judge)
- critical, but non-obvious to a non-technical person (and thus difficult to explain) features are unstable or janky on iOS when running standalone/via home screen (example: wiping offline storage every few days).
In some ways things work better than, say 10 years ago, but at the same time there's the *unpredictability*. I really don't want to worry about my app breaking in some impossible to fix way next year. Not, when the app is meant to pay my rent.
Performance was rarely an issue, discounting experiments like running image recognition inside a "service worker" in JS, on iPhone 7 for an AR game I was messing with. That was in 2016 (before Pokemon Go came out and kind... of dumbed down the idea or AR).
I think the offline storage situation is improved with the latest manifest structure, although I haven’t experimented in depth. I know that at least one of my PWAs has local data going back a couple years at this point.
I really wish Apple had kept investing more fully in this space. So many of the pieces are there, but like you said, there are still assorted blockers.
It’s clear they still care about this space to a certain extent, since they have been fixing bugs and making improvements (screen-lock APIs and offline support, for example). But it could be so much better.
That's not at all what the person you responded to said. I'm not sure if you're intentionally misrepresenting their statement or if you're just reading too quickly or are under-caffeinated or whatever.
> ”They will not persist across many generations though”
Why not? Is there some tempering mechanism on epigenetic transfer? I could imagine that some sperm-conferred epigenetic markers could continue down the male descendants unbroken.
If I understand both correctly, a better answer to your question than sibling post is that yes, that could be imagined, but your dichotomy is not mutually exclusive, and the process described here is much more related to variable conditions of the environment and the parents’ health at the time of conception rather than to the replicable genetic structures.
Yeah I’d assume you’d eagerly load enough to make sure everything gets at least partially into the viewport, and maybe a fee more to optimize for network latency. And then perhaps track elements whose trailing ends are not in the viewport, and load more once those become fully visible?
Moving this sort of stuff out of JavaScript and arcane hacks allows the browser rendering engines to optimize these common patterns. This is sorta the opposite of syntactic sugar. The syntactic sugar is the libraries that implemented these patterns without rendering support.
Shall we call it syntactic umami perhaps? Or syntactic lipids?
https://zoo.dev