My apologies for not allowing the previous suggestion...cool down before bringing another one up .
No problem. (I think the previous suggestion has run its course, anyway; I'll either implement it in a way that doesn't affect desktop users, or, more likely, put it behind a new setting.)
I created a
thread thread yesterday about having an additional quote button to quote just the poster comment within a pyramid or multiple quote post.
I saw. It's a nice suggestion.
I'm a desktop user, so it's not always easy for me to appreciate how much more difficult certain things must be for mobile users. But, it's easy for me to imagine that trimming quotes must be a real pain in the ass.
I'll think carefully about your idea. Thanks for sharing it.
(The below thoughts aren't directed at you, they're just me thinking about your suggestion, and ranting at nobody in particular.)I'd like to do
something about this (assisted quote-trimming), but I'm not sure what...
The thing is, Bitcointalk is
really awkward (for me) to work on. I don't have any privileges that an ordinary user wouldn't have: I don't have special access to code, theymos, or anything else. I'm literally just a dude with
this download.
When a suggestion like this comes up, I (against my better judgment, because it's normally a waste of time) tend to think of the problem first in terms of what
I'm capable of doing (that is, without regard for
outside constraints): in this case, I think the direction I'd head in, at least initially, is probably a selection-aware quote button that can unparse the selected HTML back into BBCode (and if I couldn't get the unparsing to work well, then I'd probably explore client-side parsing the
quotefast BBCode to create some kind of BBCode <-> HTML mapping, and if I couldn't get
that to work well, then I'd change the server-side BBCode parser to emit and embed the mapping data).
A from-scratch BBCode (un)parser might seem like way too much work, but it doesn't even register on my pain scale (I mean, on projects where I'm the lead and can control things; for Bitcointalk, where I'm programming mostly in the dark, I wouldn't even attempt it). In fact, it's the kind of work that I really
miss having a reason to do: I hate solving problems by reaching for someone else's work or stitching together incompletely understood dependencies (and, more and more, I see modern programmers that couldn't code their way out of a paper bag without pulling in 10 dependencies; ask them to do something like write a C99 program to calculate the image histogram of a PNG file, and most will quickly find their way to a solution, but ask them to repeat that same exercise, only this time using just what's provided by the standard library, and once you get past the why-reinvent-the-wheel stuff, you'll see the blood drain from their face as they realize that they're going to have to admit that they can't even
try, at least not in front of you, because without the dependencies/packages they've been relying on, they actually have no idea where to even begin. If you have the good fortune to bump into a programmer that, with the right documentation in front of them,
doesn't struggle with the task and is quick to point out that even the standard library can be avoided, then pay them well and keep them close: people that have explored their craft to that extent are
rare and the work they're capable of doing basically can't be done by the other types).
Anyway, I'm rambling, the point is that after I've thought about how I would
like to solve a problem, I then have to basically throw the full-strength solution out of the window, and instead come up with some kind of tortured compromise that somehow possesses both the property that it doesn't depend sensitively on the surrounding code and the rest of the system (which I can't clearly see), and also the property that it should be small/tidy enough for theymos to be willing to actually set aside the time to review and merge it. Unfortunately, the best that I can do, given those constraints, is often just to find some kind of semi-solution that, all things considered, actually works fairly well, but not perfectly. (And, in those situations, where I've managed to thread the needle just so, it's more than a little annoying when someone who
isn't operating under the same constraints that I am, points out that it's not a perfect solution.)