jen

🐀

  • she/they

the host

hi im jen

aka @jen@c.im or theonlycrate/exb0t/boygiriswag @ twitter


polymath
@polymath

Years ago I worked at the BBC and while I rarely got to do anything audience-facing, I was allowed to indulge a smol pet-project while building the developer portal.

The website itself is locked behind a staff-only login, but my nonsense is buried within the stock banner photo that anyone can access — try clicking the laptop screen...


vogon
@vogon

this rules

also shoutout to the use of Fibonacci Numbers with Caramel Sauce, one of the example programs in Chef


beige-alert
@beige-alert

This is amazing it scrolls it highlights it copies and pastes, it accepts typing!


polymath
@polymath

the only reason this is so fully-featured is that it's literally a browser <textarea> tag, hidden from assistive tech, deformed with a matrix, and blurred with a filter. it's maybe a dozen lines of code altogether (if you don't count the screen contents).

one day i aspire to teach Big Tech about the forgotten art of Just Putting A Text Box In so that we can all go back to being unimpressed by basic usability features, but in the meantime i will give thanks that i've passed the point in my career where i have to toil away in the 400kB JS/CSS3 "perfect text box" library mines where the scrollbars are glitchy and tab doesn't work

anti-software software club? sign me up!


You must log in to comment.

in reply to @polymath's post:

As someone who is currently learning web development through class in my computer programming course, this absolutely broke my brain. Like, I was thinking about how crazy one could get with the tools available...but that is one of the most impressive things I have seen with web design. I am really going to have to figure out how this was done!

This came about because the original stock photo had the most garishly-highlighted dummy code on it and it was very distracting — we had to replace it with something, so while this might seem like a lot of effort for no value most managers would recognise, a good chunk of that effort was going to have to happen anyway.

Also: it pleases me greatly that they've clearly updated this page at least once since I left and they apparently chose to leave my silly easter egg in along with all the code samples. I suppose really I should refresh it a few times and see if they added any.

in reply to @vogon's post:

in reply to @polymath's post:

i wish. i really wish. i could just put a textbox in.

but if you want to do anything remotely interesting with your text, you need something custom.

like, for formatting. you can use markdown, but that's weird and obtuse and people will type stuff that just doesn't show up right. you at minimum need to have some way to preview your thing before you post it, that makes it a bit better. it's still not super nice for non-technical users. stars disappear, newlines go away. you have to teach all the website users "put two spaces after your line to get a newline below". and if you want to do syntax highlighting or anything to make it easier to write, you can no longer just use a textbox.

for collaborative editing, you need to show people's cursors. but you can't show people's cursors in a textbox because you can't measure text in a textbox to even know where to put the cursor. now you need more than a textbox.

for nice ui, you want to be able to drag stuff around or insert at mentions or whatever. and now you need more than a textbox.

most people end up using contenteditable. but you can't just use contenteditable. contenteditable is impossible and broken and different in every browser. so, you have to use a library that handles the contenteditable and gives you a textbox. but contenteditable is broken and different in every browser, so unless you're google making google docs, there are weird edge cases that break in your textbox because the right arrow works slightly different in this browser or you can't get your cursor on a thing in the other browser or it inserts random junk in the html because it's a barely documented, non-standardized feature.

i wish i could just use a textbox. i really do. i hope someday, someone figures out a good way to do extensible, standardizable richtext editing and we can just have that in the browser. and then when you just insert a textbox, you get all the fancy stuff for free. and then everyone can just use a textbox.

I guess where I land on that kind of thing is, you can almost always Just Put A Textbox In for your MVP. Twitter launched without auto-completion for usernames or hashtags or anything. Wikipedia ran for years without a visual editor. It still doesn't have live collaborative editing. At least for v1, the question is whether you can convince the product owner to compromise their Grand Vision™️ for the sake of ever shipping anything.

Then, once it's up and running, "make the textbox fancy" becomes just another card in your backlog, to be prioritised against everything else you want to do. It's not about never building bespoke UI components, it's about realising how much effort it'll take to do a proper job of it, and only doing it when that effort genuinely couldn't be better expended elsewhere in the project — which is a pretty high bar for most normal-sized teams.