Live data from Hacker News

The Web Is Eating the Desktop (2017)

adamierymenko.com

141–150 of 163 posts

Re: The Web Is Eating the Desktop (2017)

#141
post #62

Earlier quoted context omitted.

I'm the author of this, and I don't completely disagree. I don't think the web engine is that bad of a UI layer, but it's nowhere near the best. If you don't like the trend toward web-ification of the desktop, don't blame developers or Electron. Blame OS vendors for refusing to field a portable API for the large common core of desktop app functionality, something for 2D GUIs analogous to OpenGL. Why do we have standa…

Operating systems have different features and conventions. And why would vendors care what cross platform technologies you use? I doubt the framework you want them to create would change much. Many Electron fans talk about how apps should look and feel exactly the same on every OS. They say web technologies are the best UI layer by far. And it isn't like Slack or Microsoft don't have the resources to make native apps…

Web technologies have become the most productive UI layer due to a lot of developer work on abstracting them via things like React and the many React-based view libraries.

The same kind of paradigm could be done with native-mode libraries but nobody has done it because all the momentum is behind web technology now.

My real argument was that fighting this trend may be pissing into a hurricane. All the momentum may be behind web tech, so maybe we should just focus on making it better as a UI layer and fixing its problems instead of developing native mode UI layers that nobody will use.

WASM may eventually liberate us from JavaScript. Another way to do that would be to add C/C++ level API hooks to web renderers like Chromium and WebKit to allow the DOM to be manipulated from native code. Then we could write a native UI toolkit using web view renderers with no JavaScript at all.

Re: The Web Is Eating the Desktop (2017)

#142

Earlier quoted context omitted.

This function is handled by the DOWN arrow in other text editors! I just tested a bunch: VS Code: UP Visual Studio: DOWN Notepad++: DOWN TextPAD: DOWN IntelliJ: ALT+DOWN MS Word: DOWN Sigh... I have no words. It's just so sad that I expected this. I literally pressed "DOWN", it didn't work, there's no drop-down GUI indicator, so I just assumed it was a missing feature. Instead, it's yet another feaure where the VS Co…

FWIW, it's up in vim. So maybe the VSCode guys all used vim before? :)

What I love about VI and vim is that every time it comes up, I can't help but bring up this little bit of history:

"Joy used a Lear Siegler ADM-3A terminal. On this terminal, the Escape key was at the location now occupied by the Tab key on the widely used IBM PC keyboard (on the left side of the alphabetic part of the keyboard, one row above the middle row). This made it a convenient choice for switching vi modes. Also, the keys h,j,k,l served double duty as cursor movement keys and were inscribed with arrows, which is why vi uses them in that way. The ADM-3A had no other cursor keys. Joy explained that the terse, single character commands and the ability to type ahead of the display were a result of the slow 300 baud modem he used when developing the software and that he wanted to be productive when the screen was painting slower than he could think."

Yeah. Let's copy what a specific terminal did in 1976. That doesn't actually fit any modern keyboard layout. Brilliant. That's the standard to aim for! Not the most popular computer system on earth, by any metric. Nope. That's not the standard. The standard is the ADM-3A terminal, which probably fell into disuse before any of the Windows Terminal developers were born...

Did I mention the 300 bits per second terminal being the key design constraint? Oh, I forgot to mention that while entering this text on my gigabit fibre connection.

You're reading this on a phone? Is it 5G? Then it's faster than my fibre.

Re: The Web Is Eating the Desktop (2017)

#143
post #139

The usual retort is "people use Electron because they only know web technologies". No, it's not only that. I've been programming GUI apps for 30 years, going through TurboVision, Delphi, MFC, WinForms, wxWidgets, Qt, WPF, native Android/iPhone, and probably 2 more I forgot about. They all suck terribly when compared to React/Vue/HTML/CSS. Creating a GUI app with web tech it's just so much more productive. It's like c…

Since you haven't provided any actual arguments, one would have to rely on your reputation to evaluate the claims you made, but since this is a new account with only one post, that's not providing any support either. For the record, I've also used Delphi, MFC, WinForms, Qt, native Android and iOS, but not TurboVision and very little wxWidgets. I didn't use React, nor Vue, but I am familiar with web development and we…

I didn't provide arguments because there are other articles explaining why reactive/declarative programming is superior. I just wanted to point out that there are experienced GUI programmers who find web tech better for this purpose, it's not just kids who only know JavaScript.

You really need to try React/Vue. Vue is actually much simple to get started with and understand if you just want to try it out.

Once you use a reactive GUI, there is no going back to manually managing controls state like in Qt.

> How can one return an from a function with a straight face?

People used to say that about Python, that no serious programmer would use a language with significant white space.

Re: The Web Is Eating the Desktop (2017)

#144
post #126

The usual retort is "people use Electron because they only know web technologies". No, it's not only that. I've been programming GUI apps for 30 years, going through TurboVision, Delphi, MFC, WinForms, wxWidgets, Qt, WPF, native Android/iPhone, and probably 2 more I forgot about. They all suck terribly when compared to React/Vue/HTML/CSS. Creating a GUI app with web tech it's just so much more productive. It's like c…

As someone with a similar background that only applies if we are speaking about CRUD forms, anything else Web is a joke versus native tooling for GUI design.

Disagree with you, I find the grandparents observations to be right on. Especially for layout, I haven't seen a layout system that can match html/css for all screen sizes.

The web is a bit rough around the edges in some spots but for the wide target base and productivity of the tools and frameworks nothing I've used previously comes close.

Re: The Web Is Eating the Desktop (2017)

#145

The usual retort is "people use Electron because they only know web technologies". No, it's not only that. I've been programming GUI apps for 30 years, going through TurboVision, Delphi, MFC, WinForms, wxWidgets, Qt, WPF, native Android/iPhone, and probably 2 more I forgot about. They all suck terribly when compared to React/Vue/HTML/CSS. Creating a GUI app with web tech it's just so much more productive. It's like c…

Agree, but at least use react native or nativescript Also the web has a superior distribution and sandboxing model

React native locks you into react. Their debugging tools are sub par, especially using two different JavaScript engines for production and debugging is a source of frustration. The platform has historically been unstable, requiring heavy investment to update the system with every new release.

I haven't used native script but my casual research is that it's in an even worst state.

Compare to a browser, which just fixes most of these issues, the wins provided are not worth the costs IMHO.

Re: The Web Is Eating the Desktop (2017)

#146

Earlier quoted context omitted.

These are not "random bugs" but deeply established Mac UI conventions. My point is not "Electron apps are buggy," it's that they are undermining an established set of UI conventions, without advancing a replacement. There's a virtuous cycle when apps use a platform's native components: apps get the standard UI behaviors for free, users can bring their knowledge from one app to another, and the platform owner can enha…

Okay I think I see what you're saying here. The terminology of reducing "UI vocabulary" threw me off some, since you could alternately describe it as an expansion of UI vocabulary: so many things don't have a convention yet that every developer is free to define their own (similar situation in e.g. video game UI where there's constant invention since a fixed widget set isn't getting re-used). > ... they are undermini…

> whether you more highly value cross-platform capabilities or specialization for a specific platform.

I'd argue that very few, if any, end users care that an application works and looks exactly the same on Windows vs. Mac vs. Linux. The typical end user has one platform they use, and they expect their applications to behave consistently with each other on that platform.

The people who tend to care about being consistent across platforms are 1. developers who don't want to write platform-specific code to properly support each platform, and 2. designers for whom platform conventions are inconvenient constraints and get in the way of the great vision they drew in Photoshop. In other words, not end users, who are usually the actual target market.

Re: The Web Is Eating the Desktop (2017)

#147
post #128

Earlier quoted context omitted.

Operating systems have different features and conventions. And why would vendors care what cross platform technologies you use? I doubt the framework you want them to create would change much. Many Electron fans talk about how apps should look and feel exactly the same on every OS. They say web technologies are the best UI layer by far. And it isn't like Slack or Microsoft don't have the resources to make native apps…

> Many Electron fans talk about how apps should look and feel exactly the same on every OS Don't you think it's a good idea to have consistent UI and UX cross platform? If a user switches between the mobile/mac/Windows/web version, everything should change? > And it isn't like Slack or Microsoft don't have the resources to make native apps. Considering Microsoft seemingly don't have the resources to make a functional…

> Don't you think it's a good idea to have consistent UI and UX cross platform?

No. Users don't typically switch platforms often. End users expect applications to be consistent with other applications on their platform. If every other application on my system uses ⌘Q to quit, and yours doesn't because you're trying to be consistent with some other platform I've never used, then yours is going to seem like it has the broken UI.

Re: The Web Is Eating the Desktop (2017)

#148
"Web" desktop software adds layers of abstraction and complexity to poorly emulate functionality that already exists in order to decrease the cognitive load of programmers learning paradigms they aren't familiar with. It's less about everything looking like a nail when you only know how to use a hammer, and more about not realizing that there's a better tool for the job. One that is less prone to errors and actually easier to learn to use.

That's fine, though. My plan for retirement is to make millions supporting desktop apps that can't be replaced because the "web for desktop" programmers have a ceiling on the level of app complexity they can handle. Line of business apps require 1 to 2 orders of magnitude more effort and so the things written before that paradigm are not economically feasible to replace.

If you thought knowing COBOL in 1999 was profitable, just wait 20 years until only a few old-timers know how to maintain the millions of custom WinForms or VB apps that make businesses work.

Re: The Web Is Eating the Desktop (2017)

#149

The webification of Desktop app GUI’s is the result of a total disregard for usability .. from a user’s point-of-view (not a developer’s point-of-view of what users >should As a user, I don’t care about the dev’s challenge of supporting multiple OS’s. These best experience comes when I load up a new application and can intuitively navigate it without the mental overload required trying to decipher a GUI layout which…

This may be beyond some people's comprehension, but where I work we're receiving huge amounts of push-back trying to move from green screen to Windows GUI apps. Yes, really. We tried explaining this to a "modern" developer and it's like we were speaking a different language. They couldn't get it, at all.

It works in a very different - and very keyboard-centric - way. Having to touch a mouse slows users down dramatically, and so they keep closing our "pretty" app and opening up another terminal session. Can you imagine using web apps without touching the mouse at all? Or even most GUI apps?

And the speed... the time it takes to navigate from one screen to the next is milliseconds. They'll be typing three or four screens in advance. And they'll have four to six terminal sessions open. There's no GUI app that comes close, and I'm not sure it's even possible.

So yes. Web as desktop is bad. Really bad. Backwards. Unusable. Broken. And the people who work on it can't even understand the problem - that user efficiency and speed are REALLY IMPORTANT. Until "modern" devs understand that sometimes the front-end of choice is "ncurses", we're going to continue to have lots and lots of problems.

Re: The Web Is Eating the Desktop (2017)

#150

Earlier quoted context omitted.

Okay I think I see what you're saying here. The terminology of reducing "UI vocabulary" threw me off some, since you could alternately describe it as an expansion of UI vocabulary: so many things don't have a convention yet that every developer is free to define their own (similar situation in e.g. video game UI where there's constant invention since a fixed widget set isn't getting re-used). > ... they are undermini…

> whether you more highly value cross-platform capabilities or specialization for a specific platform. I'd argue that very few, if any, end users care that an application works and looks exactly the same on Windows vs. Mac vs. Linux. The typical end user has one platform they use, and they expect their applications to behave consistently with each other on that platform. The people who tend to care about being consis…

I agree with your analysis, but there's a little more to it. Indirectly, there are two important ways in which end users benefit significantly:

1. Higher likelihood that the app will be available at all on their platform.

2. Companies/developers are able to direct resources more to features end users are actually interested in, vs spending on rebuilding for multiple platforms.

I think both Discord and VS Code are pretty solid examples of this. The rate at which they delivered their extensive feature sets to mac/win/linux felt like something totally new: I don't recall any other case of seeing such high quality, complex software show up for multiple platforms so suddenly in that way. (Of course I'm very intentionally saying 'felt' here—I have no objective measure)

Post reply on HN