Hacker News new | ask | show | jobs
by hoodoof 3686 days ago
I was recently thinking that operating systems should ditch their custom desktops in favor of a browser based UI.

Microsoft tried this idea out and it didn't work a few years back but it still seems to me that a browser based OS UI would be far more effective than things like Gnome and KDE and all that stuff.

Edit: well I guess Google had the same idea long ago and called it ChromeOS - browser as OS interface.

5 comments

> I was recently thinking that operating systems should ditch their custom desktops in favor of a browser based UI.

Here's the really funny thing though, if you just think about it for a second:

Whether browsers become as powerful as operating systems, or operating systems become as convenient (for users and developers) as browsers,

The end result will be exactly the same.

Yep. Consider how we use browsers vs. native apps right now:

- I can open a browser and say type twitter.com and get the exact same experience on ANY device, right away, along with all my data. This is good.

or

- IF a native app is available, I have to download it first, and then, I just have to launch that app directly every time I want to use it. I get a far more responsive UI, better integration into the rest of the operating system, and the native app can support more offline capability than it could if it was running in a browser. This is good too.

Now obviously what browsers are missing is the UI responsiveness, efficient hardware performance, and OS integration.

What native apps are missing is the convenience of typing in a web address, and they're more difficult for developers to provide the same experience on every OS.

Where we stand right now, it will take WAY more work to get web apps on the same level as native apps. Lots of wheels to reinvent.

It will take far less work to make the discoverability and acquisition of native apps as convenient as typing in a web address. So why not work towards that instead?

> Now obviously what browsers are missing is the UI responsiveness, efficient hardware performance, and OS integration.

> It will take far less work to make the discoverability and acquisition of native apps as convenient as typing in a web address.

I don't see that as the case at all. The UI libraries are just the tip of the iceberg.

In fact, I think CSS is better suited to hardware acceleration with modern GPUs than these native libraries, which date back to the '90s, are. That's because they're declarative instead of based on imperative systems like GDI that were designed for rendering on old CPUs.

Just compare using Facebook/Twitter/Reddit in a browser vs. their respective native apps on any device.

Other than the initial discovery/download delay for native apps, the web apps currently have no advantage over the native versions.

If people could instantly start using a native app just by typing say "Facebook" what reason would they have to go into their browser? Does anyone currently even do that? Go back to the website after they've installed the app?

My contention isn't that the browsers of today are superior to native apps. My contention is that a properly architected browser can make better use of modern hardware than native apps coded to legacy frameworks can.
As a counterpoint these "imperative systems" don't need hardware acceleration to be responsive. (why the hell does responsive mean "looks good on my phone" nowadays?)
Drawing everything on CPU and overdrawing/changing state like crazy (in kernel mode, even, for GDI!) is very much not responsive and not efficient. It only seems that way because (1) graphically, those apps are so simple, as the systems were designed for '90s hardware; (2) desktop CPUs are so fast that you can be really slow and still remain responsive.
Imagine I want to display a menu in a browser. The right behavior for a menu is to open in such a way that it's visible. Normally menus expand down and to the right, but if there's not enough space in these directions, they will expand in up and/or left. Try to move a Windows app so that its menu is very close to the bottom of the screen -- it will start opening its menus up. (Not to mention that they open outside of the app's window.)

In a browser menus are not like that. Normally they're imitated with CSS: a JavaScript or even a CSS selector swaps CSS classes from visible to invisible. There's no support for real menu behavior; you either have to do this all by yourself (probably pre-build the menu offscreen to measure it and then decide where to place it) or give up and use sub-par menus-like imitations And this is the only glitch here; there's lots of them (submenu behavior, shortcuts, behavior of text fields, etc.) In the standard GUI these things are implemented for you and polished long time ago; in browsers they simply do not exist.

And CSS is not that good even as a high-level layout engine.

We would have to probably ditch the content creation applications we have right now too. I mean, Electron and web based apps are nice for stuff like a weather widget, simple music player or a gallery application, but I don't see it being used for 3D editing applications, audio editing applications and similar uses. There aren't even any good UI frameworks for doing html desktop like looking applications, most are designed for mobile with their big buttons and touch optimization.
I can think of 3 web-based creation tools that are quite powerful: * SoundTrap for audio editing: https://soundtrap.com * Clara.io for 3d modeling: https://clara.io * OnShape for CAD modeling: https://onshape.com

They shine especially on collaboration and sharing functionalities.

> 3D editing applications

You can do 3D editing on the web, at least in a fairly basic way.

http://threejs.org/editor/

> I was recently thinking that operating systems should ditch their custom desktops in favor of a browser based UI.

Why?

> it still seems to me that a browser based OS UI would be far more effective than things like Gnome and KDE and all that stuff.

How so? My needs haven't changed. I still need a UI that provides a searchable launch menu, some quick-launch buttons, window management, etc. Rendering a bunch of things through a browser doesn't do that for me any better than rendering those things through some C libraries.

because we're on the topic of cross-platform UI frameworks.
Fine, fine. But why specifically a browser-based UI? I'd think you'd make a jump like that to solve a particular problem. From hoodoof's reply, they think that current Linux desktop design is "shit", and that the solution could be to replace the desktop with a different piece of technology. Not a sentiment that I agree with, but it's a reasonable answer to my question.

Still, taken as a given: Linux desktop design could use some work. Or at least the themes and icon sets.

>>Why?

Because somehow websites end up (can end up) looking great, but all those Linux desktops look shit. Things don't line up, the margins and spacing are wrong. It looks like it's made from a set of ill fitting phony knockoff lego bits that don't fit together.

If web browsers make it possible to design slick interfaces then the Linux desktop folks should get onto that quick smart.

Having said that, I guess that's what ChromeOS is eh?

There isn't anything inherent to web design that makes it better-suited to creating "slick" interfaces. There's a lot of the culture of web design that I want to stay the hell away from my desktop, though.

To me, the web is for goofing off. It's where I'll read an article, post some comments somewhere, and leave. The desktop's where I get things done. I like Mate's interface (ditched Gnome at 3.x because I didn't like the new direction). KDE isn't terrible, but I feel like it gets in my way a little bit more.

> It looks like it's made from a set of ill fitting phony knockoff lego bits that don't fit together.

I remember when I would've described Linux desktops like that (about 15 years ago). You can still replicate that if you get too creative with your choice of themes and such, but I haven't found it distracting to what I use my computers for in....well, close to the last decade. Then again, I'm not a designer, so I tend not to notice or be bothered by some things that'd throw others into fits.

> Having said that, I guess that's what ChromeOS is eh?

It's neutered Linux. It's pretty enough, I suppose.

The linux folks are the least likely to switch. We love our comman line, text editors, launchers and window managers, thank you very much [1].

[1] http://reddit.com/r/unixporn

The web is hacky and getting anything to look and feel just right is a pita more often than not. So people use band aids like bootstrap, sass, react, angular, jade, custom build systems requiring lots of set up... frankly speaking I'm baffled people put up with piling up layers and layers of abstraction and somehow consider it easier and, god forbid, the future of the desktop. Seems like a great example of 'easy vs simple'.