We accept contributions from other sites (e.g., Vimeo, Dailymotion, etc) who wanted to replace their long tail of in the wild embeds prior to Flash removal.
IMO this was good practice to keep the web running smoothly at the time.
It is reminiscent of Windows 95's specific code to see if SimCity is running, and allocate memory differently if it was.
> Jon Ross, who wrote the original version of SimCity for Windows 3.x, told me that he accidentally left a bug in SimCity where he read memory that he had just freed. Yep. It worked fine on Windows 3.x, because the memory never went anywhere. Here’s the amazing part: On beta versions of Windows 95, SimCity wasn’t working in testing. Microsoft tracked down the bug and added specific code to Windows 95 that looks for SimCity. If it finds SimCity running, it runs the memory allocator in a special mode that doesn’t free memory right away. That’s the kind of obsession with backward compatibility that made people willing to upgrade to Windows 95.
from: https://www.joelonsoftware.com/2000/05/24/strategy-letter-ii...
It turns out the world was so small that Microsoft could, probably, inventory less than a hundred products that made 99% users happy.
Backwards compatibility like this is a mistake.
<embed src="http://www.youtube.com/v/dQw4w9WgXcQ"></embed>
… by roughly translating it into <iframe src="http://www.youtube.com/embed/dQw4w9WgXcQ"></iframe>
Probably also the <object> equivalent, maybe only that and not <embed>, I’m not sure. I never had a great deal to do with those two tags.I don’t know why it has to be done this way. I’d have thought that without this extra code it’d roughly fall back to being an iframe on the original URL, and then YouTube could just check if it’s in a frame and behave as an embed instead of the main UI. But there’s probably a reason why they’ve all done it this kind of way.
It's an erosion (however minor, by itself) of the idea of an open standard.
https://github.com/apple/password-manager-resources
Many of these sites are quite obscure.
For being "quite obscure", I've at least heard of most of these sites before. Banks with "maxlength: 8", you love to see it.
In this case, getting those companies to fix their broken code is unrealistic. Less realistic than just providing a whitelist anyway.
Develop Menu > Disable Site-specific Hacks
Firefox also ships a "system" add-on (https://github.com/mozilla-extensions/webcompat-addon) that has interventions and user-agent overrides for many websites. See for yourself in Firefox on about:compat.
Some technologies are so fundamental to the web experience that when they break, the user perceives the browser to be broken, not that technology.
[1]: https://github.com/WebKit/WebKit/commit/049188a35af6c67fa30c...
During this broad migration by the browser community away from supporting plugins within embed tags, there was likely some audits of how widely they were relied upon across the web, and compat hacks put in place to account for the most common uses.
It's very likely Youtube removed endpoints after the browser hacks were in place for some time.
That said for the most squirrely code in webkit you need to look to JSC where the perf critical and machine abusing code is stuck (though obviously minimized as much as possible). My most terrible contribution there is the parser which uses macros and templates together (parsing JS is extremely perf critical in real world page loading because the parser often has to deal with megs of code, all of which has to be parsed before you can consider executing it and in many places page loading is blocked on said execution)
"We've known each other for so long"
Well that is a good way of ensuring that the same class of problems will endlessly reappear, while also providing a broken utilitarian end-justifies-the-means rationale that is certain to be abused.
> The standards are important, but they're ultimately there to provide a nice UX and that's it.
No, standards are there to make interoperability possible, which overcomes the hazards of market network effect, leveling the field for more competing solutions, thus yielding a better <insert literally anything in the whole world, including UX>.
(I actually liked radar though, as bug trackers go - by far the best internal tool apple has imo)
You are wrong.
data:text/html,<embed src=https://example.com>
(Mind you, this shows that it works now, without commenting on whether it worked then, which I know not.)Where? To be clear, it doesn't matter—being wrong is wrong. Those other people, even if they exist, are wrong, too.
(I can half-understand not checking before you posted the original comment. But why wouldn't you, in response to someone letting you know that you are wrong—which was itself in response to you asking, by the way—take half as much time to just check as the amount of time it took to type out such an bewilderingly obnoxious followup?)
https://www.w3schools.com/tags/tryit.asp?filename=tryhtml5_e...
At large enough scale, 1 in a million is next Tuesday - https://learn.microsoft.com/en-us/archive/blogs/larryosterma...
In a way this realization is what's finally making Linux viable for gaming. Instead of expecting developers to bring compatibility and bug fixes, have the system provide it and suddenly you can even have an entire gaming console designed for PC gaming on Linux, thus also giving you enough momentum for developers to make adjustments so their game runs better on the compatibility layer.
Whereas "we'll tweak our OS to suit your app to ensure it doesn't break with an upgrade"? That just wins loyalty from the game devs, users, and everyone involved except purist-coder types.
It’s not tech debt, it’s a feature.
FOSS and new Microsoft: if it breaks, have you tried pulling the latest? Yes? Then it's a bug in your expectations.
I'm probably biased because I deal with a lot of Javascript where this sort of behaviour is rampant.
And I say this as someone who remembers the binders full of CDROMs that arrived, so not just "download this iso" modern day conveniences
Now how do you get that fixed software to every user who bought a SimCity CD or floppies? Remember, most of your users don't have a modem and there is no widespread internet infrastructure at the time of the Windows 95 release.
MacOS and Windows are both full of app-specific hacks to ensure that misbehaving but popular apps continue to work between system versions.
If Windows got a reputation for being incompatible with apps, people wouldn’t upgrade.
iOS doesn’t really have that problem. New phones are always going to come with new operating systems and if your app doesn’t run on the new OS, users are going to blame the app developers.
Also most of the incompatibility with apps and new operating systems comes from developers using unpublished APIs. Apple is very strict about not allowing developers to use unpublished methods [1].
[1] I refuse to use the term “private APIs”. An API is a documented method that the platform vendor documents and promises to support
And yes, it's ugly, but reality is ugly so we have to deal with it.
It's overall. The size of libraries in a linux system [1] has grown steadily over the years wirhout bringing anything useful.
The QT and GTK libraries are the perfect example of incompatibilities and bad design.
[1] Slackware which did not changed much in term of offered programs over the years.
Yes exactly! Technically easy, a Lawyers thing maybe?
Imagine Microsoft adding a magic “we’re the good guys” handshake to their OS that would all those anti-virus tool say “go ahead and do whatever you want”.
Doing that allowed Apple to not have to maintain 32 bit compatibility which allowed Apple to make the operating system smaller (all shared libraries have to be duplicated including in memory) and allowed Apple to completely remove 32 bit support in the later ARM processors.
Libraries being able to consume less memory and being able to either reduce the die size or add more features is a direct consumer benefit.
There is a reason that Apple was able to port the core of iOS and many of the APIs to watches, phones, tablets, set top boxes, monitors (the latest Apple monitor runs iOS on an iPhone 11 era processor with 64GB RAM).
Apple's approach to backward compatibility is very different from Microsoft's.
It's not uniquely a Microsoft thing, either. Nvidia's driver updates frequently (in fact almost always) have game-specific optimizations. Antivirus and firewall apps frequently have to make exceptions for certain apps. WINE and Proton operate on per-game optimizations. Input controller managers (like Steam's profiles) have different settings per game. DirectX itself does a lot of backward compatibility stuff, AND allow different versions to coexist on the same PC (vs the relatively tiny market that exists for Metal or Vulkan).
All these things contribute to PC gaming vastly outselling the tiny Mac gaming market. As a Mac user, I wish that weren't so! But MS's approach is way better for devs and users in that case, even at the cost of the Windows APIs and libs being huge with a decades-long tail.
Also seeing that the iOS game market dwarfs the PC game market in revenue and number of titles (if not quality), I think Apple made the right choice.
Microsoft has been unsuccessful trying to get Windows on ARM to be viable for years before Apple did it and has failed partially because of the behemoth that Windows is.
Speaking of Windows and backwards compatibility. There are at least 8 different ways to define a string in Windows depending on which API you are calling. String handling in C is one of the biggest causes of security vulnerabilities on any platform.
https://learn.microsoft.com/en-us/cpp/text/how-to-convert-be...
Microsoft can do this and just exclude the compatibility patches. All of those various windows versions and non-desktop OSes (eg windows phone, Xbox) are certainly the same thing. Porting an OS already means you’re picking what you want, and reusing the kernel. This isn’t that special.
Regarding maintainability, I’m not sure it’s “better”. It’s a liability to depend on mac software and update your mac. Ask how many photographers (or pick a profession) keep an old mac lying around for that one version of photoshop (pick your software) they need that doesn’t work on new macs. What’re the odds old mac is getting security updates and is well maintained?
(Also a nit, the monitor has 64gb of storage not ram).
Even further back, should Apple keep supporting OS 9? 68K processors?
How is the ARM transition for Windows working out no matter how hard Microsoft tries?
Shouid Apple also have kept PPC support in Macs forever? 68K support? OS 9 support? Why stop there, why not ship with Apple //e 65C02 support? I’m sure I lost some valuable AppleSoft basic programs over the years.
Windows on ARM runs faster on Macs than Windows PCs
https://www.lifewire.com/your-m1-mac-can-run-windows-faster-...
https://www.androidauthority.com/windows-on-arm-2023-predict...
> Most Windows on Arm products offer slower CPUs than today's flagship smartphones
Yes, Windows's backward compatibility carries a high cost. Nobody doubts that. But as a gamer, I would rather to be able to play games on a shitty OS than to have the latest, most vertically integrated all-in-one chip and stellar OS and be limited to a library of like 15 five-year-old titles.
As for the "right choice", eh, maybe from a business angle... but as a gamer, iOS games suck. They probably have that revenue mostly from lootboxes, not actual gameplay. I don't know that Apple should be applauded for turning video gaming into online gambling. That's not really a hardware/OS stack question anyway though, but a business decision. And to be fair, many of the actually curated titles (like the ones on Apple Arcade) are pretty decent -- though nothing close to the thriving indie scene on Steam/x86 Windows.
iOS is more like a console in that they're creating a new market segment, not necessarily competing with traditional PC gaming (which has taken a turn for the worse by adopting mobile lootboxes and such). On the other hand, OSX and Linux both tried the purist gaming route with their own APIs and got nowhere. It took WINE and Proton to really make the Steam Deck a viable platform (and barely that).
Do I like this situation? No, I'd rather just have games be properly cross-platform to begin with. I don't really understand how cross-platform works in Unreal and Unity, but if those engines can add native Apple Silicon support and make it easy for publishers to cross-publish, hopefully we'll see Macs on future titles alongside PC/PS/Xbox/Switch. Till then...
https://www.giffgaff.com/blog/mobile-gaming-overtakes-pc-and...
On top of that, you can carve out the percentage of “PC Gaming” that is “browser based” since you can run those on a Mac. The industry is moving toward browser based streaming games.
https://www.marketdataforecast.com/market-reports/game-strea...
There's nothing wrong with iOS (and mobile in general) having its own game ecosystem, but it's distinctly different from PC and console games. May I ask whether you're familiar with those ecosystems, like do you actually play on both? It's one thing to look at it from a pure dollars & business standpoint, but from the eyes of actual players, they're pretty different landscapes. Even among cross-platform franchises, there's a pretty big difference between (say) Diablo Immortal and Diablo 2/3. Once in a while there are actual cross-platform titles that are largely the same game (Fortnite, PUBG, etc.) but those aren't super common yet.
What I'm trying to say is that there is a huge library of existing and upcoming WinTel/x86 games that depend on Windows (and to a large extent, Steam) -- both because of architectural reasons but also other "cultural" reasons, like preferring mouse + keyboard input vs the touchscreen, or having a large screen for UI real estate (especially for strategy games).
Apple does not care about that segment. To be sure, they don't need to, between iOS revenue and their other income streams. It just saddens me because it means I'll have to keep a spare Windows PC lying around just to feed that habit, when the M1/M2 hardware is totally capable of playing those titles IF either they were ported (puts the onus on each game developer, especially hard for small indie studios) OR if Apple had better backward compatibility (some games will work with Rosetta, thankfully, but only if there was an OSX x86 port -- many don't even have that). Otherwise, ironically, that sort of gaming is better on Linux, despite its worse drivers and complex distributions, because of efforts like Proton that make per-game compatibility layers. Because the community took the time to implement backward compatibility with older APIs, choosing to support games rather than aiming for ideological purity.
Apple chose the other approach, and that may be fine for them as a business, it just sucks for us as gamers.
-------
As for streaming, yes, it's a great technology, but not a surefire fix. I've been using them for more than a decade, from OnLive to PSNow to Shadow to GeForce Now to xCloud, on everything from phones to gigabit fiber. They're wonderful technologies, but suffer many issues:
1) latency & bandwidth issues unless you're on a good and consistent connection, and LTE/5G isn't quite powerful enough to really make it reliable, WiFi is a mixed bag
2) no mods support yet since most services haven't virtualized that part of the filesystem yet, Shadow being the exception
3) graphics are middle of the road. Sure, it might be rendered on a RTX rig, but compression artifacts and jitter will frequently impact your experience
4) this is a big one: for some reason, publishers are constantly pulling their titles OFF of these services, and GeForce Now lost a bunch of AAA titles since it launched. Sometimes they reappear on some other streaming service, but not always.
5) the game streaming landscape is very quickly fragmenting, with games split between Xbox Game Pass, PSNow, GeForce Now, Luna, etc... it looks like they're trying to go for the streaming video model, with a subscription for each publisher (sadly) so you'll end up with a bunch of different subscriptions instead of being able to just rent a virtual rig by the hour/month and play all the games
-----
Look, I'm nobody, and I can't force Apple to care about PC gaming. I'm sure somebody there did the math and figured it wasn't worth it... especially because we're an audience that's very demanding in terms of power and customizability, and would probably be a PITA for them to support. Shrug. I just hope Apple Silicon sells enough that publishers will start porting games over on their own accord, and maybe ten years from now nobody will be making WinTel games anymore, and all the titles will seamlessly transition from the laptop to the watch, whatever. We're just not there yet.
The PC gaming market is a 28.6B a year market for software sells. The actual hardware sales have to be much smaller to the point where it would be even lower than that. Definitely not worth Apple sacrificing being able to move fast.