Hacker News new | ask | show | jobs
by kardashev 3381 days ago
I think the reason using the browser for desktop UI is because graphics and UI programming is terrible. The computer architecture and operating systems we use today are built on tech that was before graphics existed.

That's why it's trivial to build a terminal app, but god help you if you want to create a window with a button or draw a line. GLEW, GLUT, Qt, OpenGL, and the rest are just kludges to deal with the fact that we're still working with tech from the 70's. Even those kludges are so terrible that companies like Github and Microsoft have resorted to using the browser to make things like Atom and Visual Studio Code.

It can be fixed, but I'm not sure anyone has the fortitude to redesign hardware and operating systems.

1 comments

What hardware or operating system changes do you think are necessary to improve the GUI development experience?
Imagine being able to create windows, draw, deal with io devices (keyboard, mouse, controller, etc.) and do OpenGL graphics type work with system calls.

That would allow (practically) any language to trivially create native apps with a GUI, at least trivially compared to today.

In Linux we could eliminate the multitude of complicated display servers and reduce latency in the system (making VR and AR easier to do). Windows has something similar to what I describe, but it's not very good, and has no builtin OpenGL-like system calls.

A standardized set of system calls for graphics, GUI, and IO would allow cross platform native apps to be trivially created. In principle there's no reason why MacOS, Windows, and Linux could not have such system calls added. The biggest problem is those systems have become very bloated from adhering to backwards compatibility.

I have also been waiting for the day... Maybe in a few years this Linux subsystem for Windows will start to mold things in this direction?