News for hackers. Stuff that matters.
Re:Floatplane – Linus Tech Tips launches their own video hos... by chongli on Monday December 16, 2019 @12:05PM (#21804616)
Why can’t we just remove user-hostile features like this from browsers? At this point I’m starting to feel like we need to start over. Create a new web, focused on the user, that doesn’t have any of this nonsense.
Re:Floatplane – Linus Tech Tips launches their own video hos... by beaconstudios on Monday December 16, 2019 @12:12PM (#21804701)
it makes sense to apply user-select: none on draggable components, or those where the text is not actually text such as icon fonts. But it's one of those instances where a tool that's legitimately useful in one small, specific instance is used more generally without due consideration (or in other examples such as `confirm()` on window exit, actively malicious). I'm sure a better solution for the legitimate use cases could be designed though.
Re:Floatplane – Linus Tech Tips launches their own video hos... by hunter2_ on Monday December 16, 2019 @01:44PM (#21805757)
> text is not actually text such as icon fonts

Which is also hostile. Why not use something like an img/svg?

Re:Floatplane – Linus Tech Tips launches their own video hos... by baddox on Monday December 16, 2019 @02:51PM (#21806488)
I believe the major advantages of icon fonts over SVGs were potentially smaller file sizes and better browser compatibility. I think the former is minor if it exists at all, and the latter is probably a much smaller concern now.
Re:Floatplane – Linus Tech Tips launches their own video hos... by beaconstudios on Monday December 16, 2019 @01:50PM (#21805809)
I don't know - I'm describing it, not justifying it.
Re:Floatplane – Linus Tech Tips launches their own video hos... by recursive on Monday December 16, 2019 @02:20PM (#21806114)
Fewer requests maybe?
Re:Floatplane – Linus Tech Tips launches their own video hos... by gridlockd on Monday December 16, 2019 @12:32PM (#21804930)
Not every text in a user interface is supposed to be selectable. Can you select the text on your buttons, your tabs, your dropdowns? Of course not, because it doesn't make sense.

If you think it shouldn't be possible to develop user interfaces that rival the desktop inside the browser, then just say so. If you merely believe existing web standards make this possible without "hacks" like "user-select:none", then you are mistaken.

By the way, I'm a "read with selection" guy myself and I find this behavior on paragraphs of text unacceptable. On the other hand, none of the text on that website is worth reading anyway.

Re:Floatplane – Linus Tech Tips launches their own video hos... by GuiA on Monday December 16, 2019 @01:11PM (#21805395)
> Not every text in a user interface is supposed to be selectable. Can you select the text on your buttons, your tabs, your dropdowns? Of course not, because it doesn't make sense.

It would make sense, and all text in a user interface should be user selectable and offer the same behaviors.

Maybe you need to copy and paste a lengthy error message. Maybe there’s a word you don’t understand you want to look up in a dictionary. Maybe the interface isn’t in your native language and you want to translate it.

The fact that most mainstream computing environments don’t offer this in 2019 doesn’t mean it’s the right thing to do, rather that our systems have regressed in some (many?) areas when it comes to usability.

Re:Floatplane – Linus Tech Tips launches their own video hos... by gridlockd on Monday December 16, 2019 @03:37PM (#21806944)
> It would make sense, and all text in a user interface should be user selectable and offer the same behaviors.

How would you know? You have never used such a system because it doesn't exist, how do you know it's better?

If you had ever implemented something like a drag and drop UI, a context menu, or even a a simple button using plain old HTML, you would've immediately noticed that selectable text interferes with user interaction. It's the first thing you disable and it's the reason why "user-select:none" must exist.

Re:Floatplane – Linus Tech Tips launches their own video hos... by GuiA on Monday December 16, 2019 @04:29PM (#21807425)
> How would you know? You have never used such a system because it doesn't exist

I have, it does, it's called Oberon, it was glorious.

Copying text from UI elements was also never an issue for me in GTK2 (can't speak for 3, haven't used it much), it was great (although I admit I don't know if there were a few places in the system where I couldn't copy text, it may not have been 100% the case).

When I'm working in terminal apps (more often than you can likely imagine) on Linux I can also expect to copy text everywhere, it's great.

I'd encourage you to use a diversity of computing systems, it'll broaden your perspective and imagination and sense of possibilities :)

Re:Floatplane – Linus Tech Tips launches their own video hos... by gridlockd on Tuesday December 17, 2019 @05:49AM (#21812408)
Pardon my ignorance, I assumed we were talking about actual GUIs, not (glorified) text interfaces.

I have used text interfaces, but they are inferior for most users and many types of applications.

> I'd encourage you to use a diversity of computing systems, it'll broaden your perspective and imagination and sense of possibilities :)

I suggest the same to you, but at the application level, not at the "computing system" level. There are a lot of possibilities with graphical user interfaces that aren't limited to text.

Re:Floatplane – Linus Tech Tips launches their own video hos... by Soft on Monday December 16, 2019 @12:48PM (#21805115)
I don't think there are that many situations where it is actually productive to prevent user from selecting and copying text even if it's just part of the UI. To focus on your example, copying user interface text might be useful for users who are not sufficiently proficient in the language that the app/website is written in and would like to copy the text into something like Google Translate. This is especially a problem with many mobile apps that prevent selecting text.
Re:Floatplane – Linus Tech Tips launches their own video hos... by SAI_Peregrinus on Monday December 16, 2019 @01:31PM (#21805606)
The worst bit is applications that prevent copying error messages, because they prevent copying all UI text. And then use complicated error codes. This makes searching for the error message/code excessively difficult!
Re:Floatplane – Linus Tech Tips launches their own video hos... by gridlockd on Monday December 16, 2019 @03:26PM (#21806823)
If there's even one important situation where it is necessary to disable text selection, then disabling text selection must be supported.

I gave you several examples of these. The text for many UI elements isn't supposed to be selectable, because it interferes with user interaction.

Your off-chance example where somebody is trying to copy-paste the text for translation because the application is in a foreign language is subordinate to this.

Good UX is about choosing the right tradeoffs between functionality and usability.

Re:Floatplane – Linus Tech Tips launches their own video hos... by recursive on Monday December 16, 2019 @02:21PM (#21806126)
I don't think it's that rare to have a UI element that's intended to be draggable and sometimes contains text.
Re:Floatplane – Linus Tech Tips launches their own video hos... by Guest0918231 on Monday December 16, 2019 @01:43PM (#21805752)
> Can you select the text on your buttons, your tabs, your dropdowns

Usually it's possible by just starting the selection beside the button and dragging across. For example, you can select a navigation button on HN easily this way, along with most sites. I use this all the time when I'm reading about products and want to copy the product name or model number, but it's part of a breadcrumb navigation. It would actually be nice if there was a browser shortcut, where if I hold "s" I can disable opening links during that time and select buttons like normal text.

Re:Floatplane – Linus Tech Tips launches their own video hos... by anderspitman on Monday December 16, 2019 @02:30PM (#21806243)
I've been thinking lately it would be fun to make a web browser that only implements a small percentage of the most useful HTML and CSS specs. Maybe no JS at all. Then start writing my personal sites to be compliant with that browser. Similar in concept to AMP but with very different driving incentives.
Re:Floatplane – Linus Tech Tips launches their own video hos... by nerdponx on Monday December 16, 2019 @12:10PM (#21804676)
Why can’t we just remove user-hostile features like this from browsers

I wonder about what kind of a performance decrease you'd expect from being able to blacklist or whitelist chunks of the web API, like how you can blacklist syscalls in some container platforms.

Re:Floatplane – Linus Tech Tips launches their own video hos... by ygjb on Monday December 16, 2019 @12:48PM (#21805110)
There are so many reasons why the web would be awful with granular prefs (and I say this as someone who has wanted it for JS in particular). First off, it depends on how you define your block/allow list.

Are they run-time prefs that can be toggled? There is UI/UX overhead, and related attack surface.

If they are run-time prefs, are they loaded when the browser is run, or on each page load/content type load? Do you have to maintain a list of prefs by domain? etc, etc, etc.

If they are compile time, then is it even worth doing for dramatic increase in complexity trying to support users with unusual configuration (e.g. THAT user that decides that preffing off JSON support is a good idea.)

How granular do you allow user prefs on this, and how do you account for the fact that a user may pref off an api/feature that you use as a part of exploit mitigation?

Do you want to log entries that are pref'd off so that users know what is making their favorite app fail?

What are the abuse cases for pref'd features?

How much attack surface is introduced by allowing pref'ing of features?

Does doing this actually contribute to usability on the web, or will it simply lead to a proliferation of "Please ensure that all features are pref'd on" pages, similar to the Javascript pages you often see when browsing without javascript.

Re:Floatplane – Linus Tech Tips launches their own video hos... by shotashotshota on Monday December 16, 2019 @01:53PM (#21805855)
I have longed for the universe where all and every JS/CSS stuff are done on the user side. Basically the only thing that the web provide is the very basic HTML and its up to the user to colour their experiences.

One would argue that there would be bloat -- having to install multiple extensions. But then visiting random websites is completely safe, and the only ones that we have to care about is the popular ones that many people have extensions for.

Re:Floatplane – Linus Tech Tips launches their own video hos... by seaish on Monday December 16, 2019 @12:16PM (#21804753)
You can. This is just CSS, so it's pretty easy to install Stylus on Firefox mobile and create a rule.
Re:Floatplane – Linus Tech Tips launches their own video hos... by input_sh on Monday December 16, 2019 @12:58PM (#21805224)
I know that I can and how to do that. The problem is that I shouldn't remove their stupid decisions to make their own damn website actually useful.
Re:Floatplane – Linus Tech Tips launches their own video hos... by teekert on Monday December 16, 2019 @02:00PM (#21805926)
I didn't check but I bet you can turn it off in Firefox, like that ridiculous block on pasting passwords. And that ridiculous no-zooming-allowed on mobile sites. One wonders who though of such bad ideas in the first place let alone the fact that actual people implement them.
Re:Floatplane – Linus Tech Tips launches their own video hos... by mal10c on Monday December 16, 2019 @12:57PM (#21805217)
Damn I miss my Geocities and <blink> tag!! (haha sorry, couldn't resist)
Re:Floatplane – Linus Tech Tips launches their own video hos... by Wowfunhappy on Monday December 16, 2019 @12:11PM (#21804689)
There's a sibling comment to yours which a number of people replied to, with a pretty good list of situations where you would want to disable text selection.