[HN Gopher] Text Editing Hates You Too (2019)
       ___________________________________________________________________
        
       Text Editing Hates You Too (2019)
        
       Author : airstrike
       Score  : 78 points
       Date   : 2024-12-03 19:48 UTC (3 hours ago)
        
 (HTM) web link (lord.io)
 (TXT) w3m dump (lord.io)
        
       | urbandw311er wrote:
       | I enjoyed this. The part explaining the need to store a line
       | affinity bit for carets was not something I've ever considered
       | before.
        
       | joshmarinacci wrote:
       | A new abstraction would be greatly beneficial.
        
       | zsjkadj wrote:
       | That was insightful.
        
       | dsego wrote:
       | Do we actually need text editing support all conceivable edge
       | cases? I guess I don't care how the cursor behaves as long as
       | it's mostly predictable and consistent. Users would adapt, I must
       | not use or care about skinned emojis much (seems like a fad
       | anyway), but I use sublime text and wouldn't really care how it
       | handles them at all.
        
         | bigstrat2003 wrote:
         | I agree. Specifically, emojis are not text and I don't really
         | care what edge cases they introduce. It's neat if someone wants
         | to put the work in, but that's not the meat of "text editing"
         | and isn't really worth worrying about.
        
           | samatman wrote:
           | Emoji are text in all the ways that matter to a programmer.
           | There are codepoints in Unicode which aren't textual, but
           | emoji are not among them.
           | 
           | Emoji don't introduce any edge cases of their own. If your
           | software can't join a skin tone to a thumbs up, it also will
           | fall apart on composing many scripts used by hundreds of
           | millions of people.
           | 
           | So if you really want to get all kids-these-days about emoji,
           | go ahead, but support Unicode properly. You'll get correct
           | emoji handling as a consequence of that anyway, and you can
           | still signal whatever message you're intending to send here
           | about yourself in some other way.
        
           | keybored wrote:
           | That doesn't change anything as long as there are scripts
           | that use the same building blocks that emojis use.
        
         | duped wrote:
         | Emoji is just the easiest way to present these problems to an
         | English-reading audience. For the several billion people
         | reading and writing non-latin scripts where the "edge cases"
         | are important for legibility/correctness, yes, we need text
         | editors that can handle them.
        
           | dsego wrote:
           | I'm proposing it can be done at one layer above or in a
           | different abstraction. There seems to be a point of
           | diminishing returns, I mean if your text editor doesn't
           | handle knotted cords from the inca empire why even bother.
        
         | biwills wrote:
         | I'd say it's less about covering all edge cases and more about
         | showing that text editors are insanely complex, and it doesn't
         | take long to find edge cases that text editors with 10s/100s of
         | millions of users have.
        
         | tajpulo wrote:
         | And which blocks of Unicode exactly would you exclude from
         | support and what complexity reduction do you exactly expect
         | from it?
         | 
         | In my experience, the complexity comes from the reality of how
         | we write in different writing systems. I think this is
         | inevitable.
        
         | yen223 wrote:
         | Even if you could pretend that everything is ASCII, text
         | editing is still a very complex subject once you get into the
         | weeds. You could probably write a book just on handling text
         | overflow
        
         | Analemma_ wrote:
         | Someday I want to write a lengthy essay on the software-
         | specific variant of the "Seeing Like a State" problem where
         | certain programmers-- angry that the Real World is actually
         | quite complicated-- demand that the world be made simpler to
         | accommodate their wishes for an easier job and cleaner code
         | architecture. This comment is a great example of this
         | phenomenon, as are stupid proposals like "abolish time zones
         | and make everyone live on UTC because I don't like writing
         | time-and-date code".
        
           | dsego wrote:
           | But why not make the world simpler? Eg. let's simplify those
           | writing systems that are causing issues. Not everything needs
           | to be encoded as text strings. Good thing you mention UTC,
           | because guess what, time zones are a simplification, real
           | local time is on a continuous spectrum.
        
             | Analemma_ wrote:
             | Because that's authoritarian and ghoulish? The thought of
             | forcibly changing (or eliminating) a writing system that
             | may have been in use by millions of people for centuries
             | with no issues, to satisfy the demands of a bunch of web
             | developers who don't want to add some more if-else branches
             | to their text rendering code, gives me the heebie-jeebies.
             | And it wouldn't even save most programmers any effort: for
             | 99.9% of us, this stuff is all abstracted away by libraries
             | anyway.
             | 
             | I suspect you might be over-indexing on the specific
             | example of emojis and skin tone modifiers that the article
             | used, but on the Unicode implementation level that's just
             | the same modifier characters that several real languages
             | need to use to be encoded properly. It's not a useless
             | frivolity.
        
               | dsego wrote:
               | Not sure why writing systems couldn't be improved and
               | simplified for the digital age. It would reduce software
               | complexity and be more efficient and economical.
        
       | biwills wrote:
       | This reminds me of Marijn Haverbeke's, the author of CodeMirror
       | and Prosemirror, blog post about making the first version of
       | CodeMirror
       | 
       | https://codemirror.net/1/story.html
        
       | valtism wrote:
       | Even "simple" interfaces-popovers, date pickers-inevitably become
       | spiralling fractals of complexity, each layer folding into
       | another the longer you look at them. Text editing would be
       | crazier, even more so than what is described here.
        
       | dang wrote:
       | Related:
       | 
       |  _Text editing hates you too (2019)_ -
       | https://news.ycombinator.com/item?id=27236874 - May 2021 (182
       | comments)
       | 
       |  _Text Editing Hates You Too_ -
       | https://news.ycombinator.com/item?id=21384158 - Oct 2019 (282
       | comments)
        
         | airstrike wrote:
         | Related related:
         | 
         |  _Text rendering hates you (2019)_ -
         | https://news.ycombinator.com/item?id=36478892 - June 2023 (119
         | comments)
         | 
         |  _Text Rendering Hates You (2019)_ -
         | https://news.ycombinator.com/item?id=30330144 - Feb 2022 (154
         | comments)
         | 
         |  _Text Rendering Hates You_ -
         | https://news.ycombinator.com/item?id=21105625 - May 2019 (170
         | comments)
        
       | keybored wrote:
       | I want to learn the stenography input method (like Plover). Time
       | would be the biggest factor as I'm sure there are enough good-
       | enough keyboards that aren't much more expensive than some fancy
       | mechanical keyboard.
       | 
       | Imagine if programmers were stenographers and computing wasn't
       | born/grew up in an age with slow teletypes. Maybe most computer
       | code would be keyword/word-heavy (because that's what stenography
       | is good at) instead of symbol.. heavy.
        
         | smitelli wrote:
         | If some developer out there has adopted a stenography keyboard,
         | I suspect they write Java code with it.
        
         | Analemma_ wrote:
         | I think actual stenography, like court transcribers use,
         | wouldn't be a great fit for programming, because it is designed
         | specifically around the use case of spoken English (or
         | whatever), and relies on shorthand for phonemes to achieve
         | speedups. It doesn't really have allowances for punctuation and
         | other things that are specific to programming syntax.
         | 
         | But there's been a steady increase in the popularity of chorded
         | keyboards with a small number of keys, which is kind of like
         | stenography but probably more suitable to writing code. I don't
         | really like them myself (I prefer a 60% keyboard with macros
         | and layer modifiers over memorizing a bunch of chords), but
         | some people swear by them. I assume there are projects to do it
         | in software as well if you don't want a fancy new keyboard. I'd
         | look in that direction if you want to check this out.
        
       | mattpallissard wrote:
       | > For extra credit, you can try to figure out what's going on
       | here:
       | 
       | I've spent a few minutes staring at this section and still
       | haven't figured it out. Anyone smarter than I care to shed some
       | light?
        
       ___________________________________________________________________
       (page generated 2024-12-03 23:00 UTC)