News for hackers. Stuff that matters.
Re:We're building a browser when it's supposed to be impossible by ohgodplsno on Tuesday April 11, 2023 @08:06AM (#35523956)
>Console emulators (especially of the HLE variety) seem to have a similar flow.

And emulators that have gone this path have all regretted it, because they end up making hacks to make <popular game> work, because everyone simply wants to play <popular game>. Dolphin is still paying the price of that method years down the line. Project64 took years to unfuck themlselves up, ZSNES is forgotten and overtaken by many more that have done the proper thing.

So, sure, you can get some initial usage. But making a browser isn't about being able to open twitter.com

Re:We're building a browser when it's supposed to be impossible by Kye on Tuesday April 11, 2023 @09:21AM (#35524755)
In this case it helps that the thing they're emulating isn't a moving target. Custom modules on cartridges can trip them up, but stuff like the sound chip and CPU are always the same or only have a few variations. The foundation of the web is still shifting sand despite efforts to develop some kind of standard web platform.
Re:We're building a browser when it's supposed to be impossible by troad on Tuesday April 11, 2023 @11:44AM (#35526783)
I feel like you may have misunderstood what kling is saying. He's not saying "we will cut any corner to get Twitter to load", he's saying "we look at what it would take to get Twitter to load, read through the relevant specs, and try our best to implement the required features cleanly and correctly".

Loading Twitter (etc.) is not really the goal, it's more of a prioritisation mechanism for tackling a huge spec. Actually getting Twitter to run is a nice reward for all that hard work though, and a series of such rewards keeps the contributors motivated in the marathon that is building a browser.

Re:We're building a browser when it's supposed to be impossible by ohgodplsno on Tuesday April 11, 2023 @01:09PM (#35528031)
No, I understand what Andreas is saying. But the reality is, when you read and implement specs for a specific website, you end up cutting corners, even accidentally. Maybe Twitter relies on a particular behavior of fetch() that was screwed up in Chrome 97 and has had to be kept for backwards compat this entire time. Maybe it uses some CSS that never got properly documented or specified.

By targeting a single website, you end up accidentally writing in those site-specific fixes _in_ your implementation. You only realize it's fucked up because you visited Twitter. but maybe it screws up another site. Maybe something else depends on a quarter of that functionality, and you've accidentally broken it.

Re:We're building a browser when it's supposed to be impossible by jonfw on Tuesday April 11, 2023 @01:36PM (#35528396)
Maybe so. Hopefully you’d find that out while looking at the spec for that particular function. If not, you may have to rewrite some code as you learn more. Life goes on
Re:We're building a browser when it's supposed to be impossible by vanviegen on Tuesday April 11, 2023 @01:44PM (#35528512)
It seems that GP already addressed your concern: "read through the relevant specs, and try our best to implement the required features cleanly and correctly"

Of course some errors will be made along the way. That's to be expected, regardless of the approach taken.

Re:We're building a browser when it's supposed to be impossible by com2kid on Tuesday April 11, 2023 @01:59PM (#35528742)
> ZSNES is forgotten and overtaken by many more that have done the proper thing.

When ZSNES did its thing, which, just to remind people, was back when Pentium IIs ruled the roost and CPUs topped out at 450mhz, doing things the proper way was not a choice because the proper way needed 3x the CPU power of doing things the ZSNES way that worked.

Dolphin became popular because it could actually play games, and I bet if they had instead spent an extra 3 or 4 years working on code that was "correct" without releasing anything, well odds are they wouldn't have such a large following and would not have attracted so many contributors.

Users do not benefit from "perfect code" that they never get to use because it is still in development.