#dev 2021-09-11

2021-09-11 UTC
Seirdy, KartikPrabhu1, Tirezias[d] and oodani joined the channel
#
capjamesg[d]
tantek re: mobile, offline first, auto-server-syncing… micropub-based… Could this be done with the web or would it be better to build something native to the mobile device?
#
capjamesg[d]
I’m curious how this would work on the web.
#
capjamesg[d]
TIL HTML5 offline storage is a thing.
jamietanna joined the channel
#
jamietanna
GWG sorry for the late reviews, some good stuff you've been raising :+1:
hendursa1 joined the channel
#
capjamesg[d]
aaronpk How does one render a video / audio component in Monocle? I have provided some in my "html" jf2 content but the text is being rendered instead.
#
capjamesg[d]
[KevinMarks] I'll probably do it with Feedparser because I'm using the library quite a bit.
#
[KevinMarks]
Adding h-feed to feedparser is one of those "I should get to that" tasks I've been procrastinating for years
#
capjamesg[d]
[KevinMarks] such support would be excellent.
#
capjamesg[d]
I am processing h-feeds separately but would love to have support built in.
#
capjamesg[d]
I have to check the content type then make a determination about whether a feed is rss/atom vs. a potential h-feed.
#
capjamesg[d]
I should probably add something into the DB with feed type because I already have a discovery function written.
#
capjamesg[d]
I have to document the DB anyway and write a seed program for the project.
#
[KevinMarks]
There is a bit of a mismatch in the data models which is what put me off as h-feeds are richer than rss/Atom.
#
[KevinMarks]
Also feed PTSD from Technorati
#
capjamesg[d]
Side note: I finally got around to fixing the charts on the IndieWeb Search index page. "There are 146,854 pages indexed across 715 domains on the IndieWeb search engine."
tetov-irc, [grantcodes] and Allie joined the channel
#
capjamesg[d]
Allie it depends on the size of your project.
#
capjamesg[d]
Static generators are great for multiple pages but they add a lot of overhead to a project.
#
Allie
we do *a lot* of these :D
#
Allie
way back in the day i'd probably just use wordpress for this tbh
#
Allie
but that is a lot of clientside overhead which i want to avoid
#
Allie
trying to see if i can find an example that's not significantly NDA'd :D
#
Murray[d]
Depending on how big a *lot* is, consider that an SSG will need to rebuild *everything* each time you make a change or add a new page. For 10s of pages, rebuild times are negligible, for 100s it's enough to make small changes feel slow, and for thousands it can get a little daunting. All of this can be mitigated with server-side caching and some SSGs are moving towards hybrid rebuild models that help a lot.
#
Murray[d]
From experience, the biggest issue with rebuilds is stakeholders who want to "just see a tweak for a second" or need a typo fixed "now". SSGs add lag time and I've had a few angry meetings with Marketing or Content as a result 😄 (We're still only talking minutes of time here, and yes this can be remedied with robust previewing practices and sign off workflows, but just something I've ran in to)
#
Allie
Murray[d]: minutes is very quick compared to all the other things that need to happen for the platform build :D
#
Allie
"due to the technical constraints of operating a virtual event platform at scale, that is an unreasonable requirement" is a common phrase i utter :D
#
Murray[d]
On the plus side, I really enjoy the combo of headless CMS + SSG from a content authoring perspective, and the decoupling means that Content teams can be more fluid about where/how they create/edit/manage their own work (as someone who used to run a Content team, this was immensely satisfying :D)
#
Allie
bah, i can't find an example which doesn't have privileged client information on it :D
#
Murray[d]
Yeah, if you're already deep in the weeds with a length deployment pipeline, then I doubt an SSG will add a meaningful additional cost
#
Murray[d]
*lengthy
#
Allie
welcome to virtual venues, it's ridiculous
#
Allie
Murray[d]: what headless CMSes do you like?
#
Murray[d]
From an authoring perspective, I prefer Craft CMS, just set up with headless preferences
#
Murray[d]
Headless support is increasingly being built in, so if you have a license you get a GraphQL API out of the box, though I've never actually used that (last time I was using Craft commercially was before that release, and we were using a third-party GQL plugin that was incredibly simple, and I believe partially used to base the new first-party feature off)
#
Allie
we're in a bit of a weird position where we effectively want (for the want of a better example) internally-hosted squarespace!
#
Allie
each event has it's own branding, and so the SSG needs to be able to apply per-event colours/fonts/etc.
#
Murray[d]
Yeah, that's the kind of flexibility I quite like for Craft, but it does take some setting up
#
Allie
but it also doesn't need any navigation/furniture, because that all comes with the platform itself
#
Allie
it's literally just a case of "put some arbitrary content on a nice responsive page, apply colours + logos"
#
Murray[d]
I used to work for a meetup organiser, and we just a dropdown list of "brands" in Craft that would then apply the rest (colours, logos etc). There's a third-party plugin that lets you conditionally show/hide some fields too, which was beneficial
#
Allie
... oh, i like that a lot
#
Murray[d]
Plus, Craft has the native "Matrix" field type that means you can build modularly: just set it up with different blocks for Text, Logo, Image, Table, Event Details etc. and then content editors can add, rearrange, all that stuff themselves
#
Allie
now, let's see how badly their licensing model breaks down for us... :D
#
Allie
ha, very badly
#
Allie
Murray[d]: cheers, i am goign to spend some time on this this week and i will no doubt report back my experiences
#
Allie
this is exactly why i asked here :D
#
Murray[d]
no worries. I'm currently going through a similar process at my work, I think we're literally going to build a WYSIWYG style Squarespace clone for our Marketing team at this rate 😄
#
Allie
Murray[d]: i would pay An Amount Of Money for that
#
Allie
we build a lot of microsites for conferences/etc
#
Murray[d]
(and we're entirely using SSGs like NextJS already, it's just providing authorial control that's the issue)
#
Murray[d]
heh, that's possibly the long term plan: build it internally, then productise it and ship 😄 We'll see, it's pretty far away from our core business so 🤷‍♂️
#
Allie
Murray[d]: the nice thing about productising it is that you can take other people's money to fund it ;)
#
Allie
we've had internal conversations about forking owncast's frontend and tearing out the streaming/CDN stuff (we have our own video CDN already) and using it as the base for a small conference player/interaction platform
#
Murray[d]
that would definitely be interesting; if I still worked at the meetup group I could see us considering a similar approach (actually makes me wonder if they will in the future)
#
GWG
jamietanna: I responded to your comments, thanks for looking.
#
GWG
jamietanna: We also have yet to settle the issue of auth requirements for token introspection
#
jamietanna
Very true. I still think we should align with OAuth2, and leave it up to implementers to decide how they manage it
#
jamietanna
Or did we say there would be a difficulty for some Resource Servers like Aperture?
hendursaga joined the channel
#
capjamesg[d]
Anyone up for testing if they get a webmention from me?
#
jamietanna
Go for it - if you send me one to my profile URL, I'll check webmention.io's dashboard
#
capjamesg[d]
Thanks. Two mins.
#
capjamesg[d]
Loved your salary page by the way jamietanna. jamietanna++
#
Loqi
jamietanna has 6 karma in this channel over the last year (11 in all channels)
#
capjamesg[d]
I just set up webmention.app and it's hard for me to verify it's working without creating a post and seeing if someone gets a Webmention 🙂
#
jamietanna
Yep, got that webmention!
#
capjamesg[d]
It's hooked up to all of my social pages so whenever I post a like, bookmark, etc. I should automatically send a webmention.
#
jamietanna
Thanks very much re salary - hoping to get more folks to share if possible, but worst case, people get to compare against mine
#
jamietanna
Nice one
jamietan1a joined the channel
#
[tantek]
capjamesg[d], re: native to the device, pretty sure everything I listed is doable via WebAPIs
#
[tantek]
And if / when any of us attempting those feature runs into any obstacles, we can chat through it here, and worst comes to worst, it’ll help inform a new API proposal for W3C (more likely help contribute to an existing effort in progress in WICG, lots going on there)
#
jamietanna
capjamesg[d] I see that each h-entry doesn't have its own `u-uid` / `u-url` so https://jamesg.blog/likes/ is notifying me that the whole page has changed - making each one have a custom URL (i.e. via a fragment) would scope that a bit better. I'm not sure if webmention.app does deduplication though
#
jamietanna
*deduplication in the sense that "if I've already sent this, and the content of that entry hasn't changed, don't send it
#
capjamesg[d]
jamietanna I actually have this in my notes.
#
capjamesg[d]
Does a feed of likes need to be marked up with u-like-of, etc.?
alex11 joined the channel
#
GWG
jamietanna: I think that we don't authenticate the current token verification process, so we should just make it optional.
#
[KevinMarks]
@allie [Murray] - would Micropub fit for that use case? An editor that knows certain post types and the backend that interprets them? We have a few examples of those already.
rpb, adi_onl and Seirdy joined the channel
#
jamietanna
We don't, but I think that was to make it easier. Because it should only be resource servers (i.e. my personal Micropub endpoint) they should be more comfortable being tightly coupled, rather than fully unauthenticated
#
jamietanna
I'd prefer we align with OAuth2 (requiring authentication) but leave it to people to decide what practicality they want
#
jamietanna
*they want for onboarding different apps / managing client credentials
#
jamietanna
Because the endpoint should only be used by resource servers, not i.e. a Micropub client
#
GWG
jamietanna: Then we need to decide how authentication works....do we just accept any token? Specific scope?
bneil joined the channel
#
jamietanna
My point is that I don't think we do need to decide for people - specifying that it requires an `Authorization` header is enough - people can use HTTP Basic / a Bearer token
#
GWG
jamietanna: Okay, wondering how to write it
jjuran, chee and tetov-irc joined the channel