Live data from Hacker News

The Web Is Eating the Desktop (2017)

adamierymenko.com

61–70 of 163 posts

Re: The Web Is Eating the Desktop (2017)

#61

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…

For comparison the best UI building experience I ever has was with Motif. There was a high degree of orthogonality, each dialog box could have Rows or Columns, and those could both contain either Rows or Columns. You go down the tree until you have your foundation elements, buttons and the like. It was so easy. And after that it was just filling in the callback functions for the events.

Re: The Web Is Eating the Desktop (2017)

#62

Electron is a large step backwards in usability and software quality. Spotify has its own context menus which don't support arrow keys or type select. GitHub Desktop has a "Select All" which doesn't actually Select All, only what's been paged in. VSCode doesn't confirm key equivalents by highlighting the menu bar. All of them blink the cursor even without typing focus. All of them steal focus at launch. Our UI vocabu…

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 standard 3D libraries, standard APIs for files and I/O, standard networking APIs, but no standard GUI API?

... because OS vendors still want to try to herd developers into building apps for only their platform. Developers (myself included) respond with "fuck you" and use web technologies.

There is also Qt, but it's fairly antiquated. It doesn't use or support the reactive UI paradigm, and after using React I can't go back. Every other GUI coding paradigm I've seen degenerates into spaghetti code.

All the other options (other than Qt or web technologies) falls down in the area of accessibility, making it not usable for serious work.

Re: The Web Is Eating the Desktop (2017)

#63

Earlier quoted context omitted.

VS Code is my favourite software of all time, no need to use the menu bar with the command pallete and the excellent custom keybinds. It completely gets out of the way it is still more feature rich than any IDE through extensions. A blinking cursor is a small price to pay, I haven't even noticed that. I know it's not meant to be good being written in mostly TypeScript, but it just is.

An example of why it matters: hit command-S to save your file. Native apps confirm the save by highlighting the menu bar until the save is complete. VSCode does not indicate to the user when the save is complete. I've had saves require 15+ seconds, and they are not atomic , so you must be careful to not use the file (compile, git, etc) until the save is finished, which is hard to know. I've personally lost data this…

A tab in vscode has a dot in it if the contents are modified since last save.

If a save is complete, that dot will go away. If there is no dot, the file is unmodified.

Re: The Web Is Eating the Desktop (2017)

#64

Electron is a large step backwards in usability and software quality. Spotify has its own context menus which don't support arrow keys or type select. GitHub Desktop has a "Select All" which doesn't actually Select All, only what's been paged in. VSCode doesn't confirm key equivalents by highlighting the menu bar. All of them blink the cursor even without typing focus. All of them steal focus at launch. Our UI vocabu…

VS Code is my favourite software of all time, no need to use the menu bar with the command pallete and the excellent custom keybinds. It completely gets out of the way it is still more feature rich than any IDE through extensions. A blinking cursor is a small price to pay, I haven't even noticed that. I know it's not meant to be good being written in mostly TypeScript, but it just is.

VS Code has some of the worst product quality I've seen from Microsoft in quite a while. It doesn't hold a candle to IntelliJ or Visual Studio. Even directly comparable "lightweight" editors like ISE are far superior.

Random examples of bad behaviour in commonly used parts that would affect just about every user:

If you try to search & replace, it'll refuse to remember "replace in selection". It'll reset every time, destroying your entire file instead of replacing just in the selected block.

If you do enable this feature, it'll change what you've selected, because... why?

Even with the feature enabled, the "search preview" will highlight matches outside the selection block! WTF?

There's no memory for recent searches, so if you've just spent ten minutes carefully crafting a regex and you accidentally click the wrong thing, then it is gone forever.

The recent files list isn't a list of recent files.

The console overwrites itself sometimes, resulting in gibberish output. It's particularly bad with PowerShell that uses Write-Progress. I've sat around for nearly an hour waiting for a process to complete, when in fact it was prompting me to continue. I couldn't see the prompt because it had overwritten it (incorrectly).

Someone thought that manually editing JSON files is a suitable GUI for configuring basic settings.

Ctrl scroll up/down doesn't change the zoom (or font size).

Unlike most Microsoft editors like the PowerShell ISE or Visual Studio, MS Word, and most third party text editors, block select isn't alt-drag but middle-button-drag instead. No middle button on your mouse? No block select for you!

It's unfortunate that many new Microsoft languages are supported in VS Code only. It feels like a huge step backwards that's being forced onto an enormous community.

Re: The Web Is Eating the Desktop (2017)

#65

Earlier quoted context omitted.

VS Code is my favourite software of all time, no need to use the menu bar with the command pallete and the excellent custom keybinds. It completely gets out of the way it is still more feature rich than any IDE through extensions. A blinking cursor is a small price to pay, I haven't even noticed that. I know it's not meant to be good being written in mostly TypeScript, but it just is.

VS Code has some of the worst product quality I've seen from Microsoft in quite a while. It doesn't hold a candle to IntelliJ or Visual Studio. Even directly comparable "lightweight" editors like ISE are far superior. Random examples of bad behaviour in commonly used parts that would affect just about every user: If you try to search & replace, it'll refuse to remember "replace in selection". It'll reset every time,…

> There's no memory for recent searches, so if you've just spent ten minutes carefully crafting a regex and you accidentally click the wrong thing, then it is gone forever.

It has this now, although the click target is some teensy text.

(I also find the search very frustrating, like it replacing the search with your current selection sometimes)

Re: The Web Is Eating the Desktop (2017)

#66

Earlier quoted context omitted.

> The last GUI program I wrote in Lazarus worked out to a 24 megabyte executable, because I left the debug information in. It used MySQL and did a lot of computing with gear information. I didn't have to sign the code, or ask ANYONE's permission to deploy it. I agree with this in some context, I bought the device, I own it and I should be able to use it as I see fit. However not all uses are equal. Take my elderly mo…

My limited experience with App stores is that there are usually a large number of "fake" apps that are indistinguishable from the real thing. Has this been addressed on the platforms you're familiar with?

That's a fair comment. But I believe the number of these is probably a small percentage given the size of the stores (at least for Apple). At least in the case of my mother, she has somewhere to go to when there is a problem.

I am not discounting the personal computer as a utility, but app stores and restrictions for some are not a hinderance either. With a mac (I am not sure about windows, I gather with ARM it is not possible), the ability to be in a hybrid mode suits most cases.

A mobile device at least from an Apple perspective is not a general computing device. Android on the other hand is more general purpose. But even with Apple's case there are ways to deploy your own app to your own device.

At least in the desktop space there is a choice, and it's not bad thing.

Re: The Web Is Eating the Desktop (2017)

#67
I'm early in the tinkering/prototyping phase of a developer tool (not a text editor) that is native AppKit, and it'll stay that way if/when I release it.

I actually find myself a lot more productive (i.e. can build a given feature faster) with Xcode+Swift+AppKit than VSCode+Typescript+React+Electron[0], and the near-unanimous disdain for Electron-based apps here gives me a lot of confidence that being a truly native app might actually be its own selling point.

[^0]: I learned to program in the early iOS days, spending 3–4 years tinkering around before moving to web dev for the past ~7 years. This is my first project using Swift.

Re: The Web Is Eating the Desktop (2017)

#69

I've been using a Chrome OS laptop to run a business, including developing software. No issues.

This intrigues me, mostly because my mom works for Google and that's all she has for work and it looks painful to me. Granted, I've not used a Chrome OS laptop, but I greatly prefer a desktop app to a web app. And I don't think I could get by having to use Google Docs instead of Microsoft Office. I've tried to do that on my computer and really disliked the experience. Also, what does R, J, and M mean in your library…

I think it's valid to like desktop apps, not saying it should be the only option, just that it can be done quite painlessly. It's family names in our family :)

Re: The Web Is Eating the Desktop (2017)

#70

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…

Most of that is true (well, except for web frameworks bring great; I don't think anything about web development achieves greatness) but, where Apple is concerned, much of the problem is the short release cycle they moved to about a decade ago. It's not remotely worth it to me carefully to build a desktop app for a platform that I can't count on staying the same for more than a year. Actually, it's not even a question…

Yes, I understand that. The applications I’m thinking of are those that either have a longer shelf-life and/or are business applications. In Finance, for example, many important vendors have been rolling-out trading front-ends based on web frameworks (maybe Electron for all I know). They are absolutely terrible, again, because of the lack of standard UI usability rules. Combine that with very poor documentation, and non-existent training and it’s a disaster.
Post reply on HN