#dev 2024-04-12

2024-04-12 UTC
scottishstoater, ttybitnik, sp1ff, [aseelsultan8_4], [0x3b0b], lockywolf, gRegorLove_, jeremycherfas, jacky, dallaslu, geoffo and [Ros] joined the channel
#
starrwulfe
Snarfed -> re Threads API: If I read this correctly, it looks like a separate `GET` would be needed for the conversation and the metrics (\#of likes/reposts/etc) would be needed per post if I was trying to build something to POSSE things back to my site in this case, correct?
scottishstoater, [contact898], jacky and AramZS joined the channel
#
[snarfed]
starrwulfe probably yes
claudinec_away, jacky, axi0m and gRegor joined the channel
#
pomdtr
Hey, glad to be here!
#
pomdtr
I'm trying to build an indieauth server/client library for https://val.town, and I would love to have your feedback once I have a working version for it.
#
pomdtr
The val town community has been experimenting with auth for a while, but indie feels like a perfect match.
#
IWDiscord
<p​omdtr>
#
IWDiscord
<p​omdtr>
[qubyte] and jacky joined the channel
#
[snarfed]
pomdtr++ sounds great!
#
Loqi
pomdtr has 1 karma over the last year
scottishstoater, gRegor and gRegorLove_ joined the channel
#
cheerabbits
has there been any exploration into marking up _interactive_ posts, or... like marking up posts that are a piece of computer art (for instance using <canvas/>)?
#
capjamesg
cheerabbits[d] I love your website design!
#
capjamesg
Can you give an example of the type of interactive element you want to mark up?
#
cheerabbits
capjamesg[d] thank you! so at the moment i only have this one test post i did years ago when i had this idea but found it difficult to pull off with wordpress https://chee.party/2022/07/04/4324/ it's just a little p5 example thing i was using to test
#
cheerabbits
but now that i have ported it to eleventy + i have a lot more control + these kinds of one-off things are a lot easier to do, i plan on posting entries that use <canvas> and AudioContext for a (sometimes interactive) audiovisual experience, but that are still an individual post that appears in the main feed
[aciccarello] joined the channel
#
cheerabbits
i think it is a unique discrete type of post in the vein of a photo or video post, and it's something that can only really exist in the web. a multimedia experience post
#
jacky
cheerabits: I guess the header of https://aaronparecki.com/ with the clickable boxes could count?
#
cheerabbits
oh that's cute !
gerben joined the channel
#
cheerabbits
yeah i guess in the non-h-entry context there are things like this https://www.galaxykate.com/apps/Prototypes/LTrees/
#
cheerabbits
or like this candle thing on jenn schiffer's recent post https://livelaugh.blog/posts/threejs-orange-candle/ if it was directly inside the page and not an iframe embed
#
cheerabbits
[edit] or like this candle thing on jenn schiffer's recent post https://livelaugh.blog/posts/threejs-orange-candle/ if it was directly inside the page and not an iframe embed
#
capjamesg
I think your interactive posts can be h-entries.
#
[snarfed]
yeah interactivity isn't something we've gone deep on in the indieweb specifically, but there's obviously tons of precedent on the web in general. https://worrydream.com/ , https://neal.fun/ , https://www.explainxkcd.com/wiki/index.php/Category:Interactive_comics , tons of others
#
capjamesg
If they are meant to be part of a feed.
#
[snarfed]
capjamesg++ right!
#
Loqi
capjamesg has 47 karma in this channel over the last year (186 in all channels)
#
cheerabbits
yeah! at the moment i have it as a h-entry and the canvas + script are going inside the e-content, with a special text note (also in a <noscript>) to indicate it's a javascript-only experience if it ends up in, say, an atom feed
#
cheerabbits
i'm also thinking that for some of them (when it is not specifically interactive, but is still an individual piece of live computer art) i would add a fallback <video>, but i am not sure whether or not to add a u-video on that because the post is not exactly a video post, the video is just a backup plan
#
capjamesg
I'm not sure feed readers will show anything other than text / images / _maybe_ video.
#
capjamesg
I think a good practice is a fallback / tag / mention of something like "[Multimedia]" in a post title that indicates to the reader that the post is best viewed on your website.
#
cheerabbits
yeah, the feed reader experience will simply be the link to the web-version and a note explaining this is a web browser-only experience. similar to when a feed entry is an excerpt
#
cheerabbits
i've been trying out with a few newsreaders to see if they'll render the content of a <noscript> tag. some do, but it's not enough of them to rely on it. so i'll include a special piece of plumbing for these kinds of posts that just renders a piece of fallback text informing the reader that they'll have to head to the page
#
chee
[snarfed]: the xkcd interactive comics is a *great* example, because those are just like this: an interactive entry in a list of posts
emigre joined the channel
#
cheerabbits
i suppose the thing though i am wondering about is if it might be helpful to have a way to indicate that a post is a multimedia post like this. like how u-photo and u-video tell us that it is a photo or video post. maybe i should indicate in some way in addition to e-content that this is not just an article or note
[Al_Abut], scottishstoater, [tantek] and btrem joined the channel
#
btrem
update from a post from a week and a half ago (sorry for delay) regarding deploying a static site uploaded to netlify https://chat.indieweb.org/dev/2024-04-02/1712088100062900
#
btrem
Netlify does not provide an index of image files a la Apache autoindex. So my upload of images in a subdirectory means there's nothing in the root, hence my 404 errors. Which is not surprising, and I should have realized that.
#
btrem
I'm not sure how useful my update is. Someone would have to know to look ahead from the date of my question to see the answer. But it feels wrong not to post the answer.
#
[aciccarello]
So it sounds like netlify doesn't give you a way to explore what files are uploaded?
#
btrem
Apparently not.
#
btrem
Not the end of the world, but not exactly intuitive, either. Especially coming from the Apache world.
#
[aciccarello]
Since netlify focuses mainly on static sites, I would think they expect you to generate links to those relative paths before you upload the files
#
btrem
Could be.
#
btrem
I have the images in its own project, served via a subdomain. That way I don't have to commit them to the website's github repo.
#
btrem
So there are no links in the subdomain website to the images. They are linked from the apex domain's site. And I wanted to make sure the images were there before I moved the domain's ns records. Anyways, small bump in the road.
#
btrem
On a related topic, has anyone used Netlify's responsive image cdn feature? It provides transforms for a source image into different sizes and formats. I'm currently using an 11ty node module and producing a <picture> element. AFAICT, Netlify uses accept headers to serve avif or webp if the browser accepts them, otherwise it sends the source image.
#
[aciccarello]
I haven't used their image CDN but I might consider it.
#
[aciccarello]
I have all my photos in my git repo right now. My repo is about 2 GB now
[KevinMarks] joined the channel
#
btrem
I know accept-headers are frowned upon in some of these parts. But the main criticism is that it makes web caches, esp. proxy caches, inefficient. If Netlify wants to take that hit, it doesn't affect me.
#
btrem
[aciccarello]: that's a lot of bytes.
#
btrem
Do you have them in different sizes and formats?
#
[aciccarello]
No, just one size and I reduce them to 2048 px or less before uploading.
#
[aciccarello]
I am considering using the 11ty images plugin to generate different versions though. That would be at build time
#
btrem
If you let netlify do it, it would *not* be at build time.
#
btrem
It would be done when the images are served.
#
btrem
At least, as I understand it.
#
btrem
Oh, sorry, I misread that.
#
btrem
Yes, 11ty image plugin is at build time. Sorry.
#
btrem
Warning: it can really slow down the initial build time. My site takes a couple of minutes for the initial build; if I disable the plugin, it takes about 5 /seconds/. :)
#
btrem
Rebuilds in --watch mode happen pretty quickly either way.
#
[aciccarello]
I would definitely want to try setting up caching of the image builds and checking the build impact
#
[aciccarello]
Generating _all_ images every time would almost certainly take a long time for me.
#
btrem
The cache definitely helps. A lot. But on the initial build (i.e., after starting the build/server), it still takes a while because it has to check whether the image already exists or not.
#
btrem
So I'm using the cache. And my initial build takes a bit under 2 minutes if memory serves (see what I did there?). :-D
#
btrem
But I'm willing to undergo that pain because it reduces bandwidth quite a bit, and makes the site snappier.
#
btrem
The more I think about this (Netlify image cdn), the less I understand how it works. I can see how accept-headers can be used to determine the image format, but how does it handle image size? I think I'd have to specify the size in the special url. But at the moment I simply offer the browser four sizes, and let /it/ pick.
#
btrem
BTW, I really wish I could offer different formats in an <img> element, without the rigamarole of the <picture> element. (I never do "art direction"; I only use it to offer avif and webp versions of jpegs.)
#
btrem
Netscape-- for saddling us with the void <img> element.
#
Loqi
Netscape has -1 karma over the last year
#
btrem
Or was it Mosaic back then?
#
btrem
Screw it. Mosaic--
#
Loqi
Mosaic has -1 karma over the last year
#
[aciccarello]
I wish we could just provide one image and use progressive rendering to stop downloading when the resolution is enough.
#
btrem
Got 'em both, now. :-D
#
btrem
I don't offer different resolutions, so I've never considered that. My photography is not that fancy. ;-)
#
[aciccarello]
I mostly would like it for my post previews which show featured images at a smaller size
#
btrem
If it's smaller sizes, than don't you want to offer different /sizes/ for your images? As opposed to different resolutions of the same-sized image. NB: there's a lot I don't understand about photos, so I might be missing something that is obvious to you.
#
[KevinMarks]
[aciccarello] JPEG 2000 had that feature, but patents prevented it from being widely adopted.
#
btrem
Isn't Jpeg 2000 the basis for either avif or webp? Or am I imagining that?
#
[aciccarello]
JPEG XL was supposed to be the successor but it seems like usage has stalled https://cloudinary.com/blog/how_jpeg_xl_compares_to_other_image_codecs
#
[aciccarello]
avif is based on video codecs I don't think it supports progressive rendering
#
btrem
Speaking of intellectual property law, are patent issues why only Apple uses HEIC? That complicates my photo -> web workflow.
#
[aciccarello]
Chrome removed support for jpeg xl. I don't think any browser implemented support for partial downloads https://caniuse.com/jpegxl
#
btrem
I just read the cloudinary blog article you posted, and I see that, indeed, there are patent issues surrounding HEIC. patents--
#
Loqi
patents has -1 karma over the last year
#
[tantek]
re: "to offer avif and webp versions of jpegs" and the empty img element, theoretically you're supposed to be able to use the object element to provide multiple choices (best first, then the lowest common denominator nested deepest)
#
capjamesg
Maybe I should try to invent an image compression format.
#
capjamesg
Open source it.
#
[aciccarello]
Apparently Google's developed a way to more efficiently compress JPEG files after learning from JPEG XL.
[snarfed] joined the channel
#
[snarfed]
[tantek] is that an alternative to srcset?
#
[tantek]
snarfed, nah, it's how <object> was designed in HTML4 😄
#
[snarfed]
oh sure but in practice, now, would you use srcset instead
#
[tantek]
snarfed, perhaps yeah. btrem wanted something "without the rigamarole of the <picture> element."
gRegor joined the channel
[Joe_Crawford] joined the channel
#
[Joe_Crawford]
I love that this is a safe space for complaining, 30 years after the fact, about the `<IMG>` tag. I'm all for strong opinions about HTML tags, by the way.
#
[tantek]
the thing that annoys me about srcset is that the syntax is not memorable if you don't use it every day, i.e. having to look it up every time
#
[tantek]
whereas object, each piece is simple (does one thing) and is memorable for what it does. e.g. data= is like src= from img. and then nesting is how you do fall back.
#
[tantek]
I'm not a fan of microsyntaxes in attributes 😛
#
[Joe_Crawford]
Stuffing CSS or a scripting language into a style or event handler is enough. But there's really no end to it. base64 encoded data urls for example. It's a living. 🙂
#
[tantek]
the differences is, "Stuffing CSS or a scripting language into a style or event handler" are not microsyntaxes, they are actual separate syntaxes useful elsewhere and *re-used* for inside an attribute
#
btrem
[tantek]: I'm not a fan of srcset, either, because, like you, I have to look it up every time I use it. I guess I figure that as long as it's already complicated, why not add image type to each srcset attribute, so you can offer avif/webp/jpeg via an <img> element.
#
btrem
In for a dime, in for a dollar. :)
#
btrem
[Joe_Crawford]: I complain about html elements from 30 years ago all the time. I usually keep it to myself, but not always. Cf. the sgml discussion from a week and a half ago: https://chat.indieweb.org/dev/2024-04-02
#
gRegor
I'm still upset what they did to my boy <blink>
#
gRegor
haha of course someone made a web component: https://github.com/vanillawc/wc-blink
#
[Joe_Crawford]
Yep, I'm in the right place. I still think `<nobr></nobr>` deserved proper ratification.
#
btrem
gRegor: :-D
#
[qubyte]
I love that JS still has `String.prototype.blink`
#
btrem
[Joe_Crawford]: there was someone in usenet ciwa* who
#
[qubyte]
(I can practically hear everyone popping open a console to verify)
#
btrem
...wanted <nobr> to be part of html.
#
btrem
(sorry, accidentally hit enter mid-sentence)
#
btrem
And with that, I'm off to my paying job. See 'ya next time, indieweb.
#
[Joe_Crawford]
That JavaScript implementations have vast and ornate cruft hardly needs restating but it's worthwhile nonetheless. 🙂
#
[qubyte]
Heh, it’s not even that bad in JS. It just tends to show up because JS is so (relatively) small.
#
[tantek]
I mean, then there's the cruft that gets proposed to add to JS 🙈
#
[qubyte]
Like the X I sometimes see people staple to the end of it. Terrible stuff.
scottishstoater joined the channel
#
capjamesg
[tantek] I have written a mock of the web source trust tool using Wikipedia we discussed.
#
capjamesg
I thought about recursively parsing the categories to search for ones pertaining to questions of the veracity of a source but that didn't feel as optimal as directly classifying the categories.
ttybitnik joined the channel