#dev 2019-08-24

2019-08-24 UTC
dansup and fluffy joined the channel; zakatonDiscord[m left the channel
#
[fluffy]
Oh yeah, Authl’s Flask bindings now support the (already-existing) asynchronous “login type” preview thing. See https://beesbuzz.biz/login/ for example
#
[tantek]
who wants to brainstorm answers to Dietrich's question? https://twitter.com/dietrich/status/1164318286542016513
#
@dietrich
@t @MozSF @benwerd @generativist @html5cat @NurtureGirl @feross @maira Bah. I didn't have this in my calendar, can't join tonight. What's the #indieweb strategy for a Google Calendar replacement? I'd love to set that up.
(twitter.com/_/status/1164318286542016513)
#
[tantek]
In particular "What's the #indieweb strategy for a Google Calendar replacement?"
#
[tantek]
I have some ideas for following up and wanted to hear what other people thought
#
[tantek]
what is an event
#
Loqi
An event is a type of post that in addition to a post name (event title) has a start datetime (likely end datetime), and a location https://indieweb.org/event
#
[tantek]
For any particular "Silo Application replacement", I feel there are a number of steps we take, as IndieWeb user/developers
#
[tantek]
1. own your data (primary content, responses, both published with standards and POSSE),
#
[tantek]
2. own your connections (federating responses to your primary content, webactions and backfeed),
#
[tantek]
3. own your experience (UX/reader where you can see and interact with your primary content, your responses, and others responses to you)
#
[tantek]
step 1 for events in particular, publishing /event posts with h-event, and lacking any FB automation, POSSEing perhaps to at least Twitter
#
[tantek]
step 2 for events, in addition to showing webmention /RSVPs, providing webactions to interoperate with other deployed standards (ICS) and with the dominant silo application (Google Calendar).
#
[tantek]
step 2.5 is improving step 1's POSSE with those webactions as needed (i.e. those missing from Twitter's own response buttons, like Add to Calendar / gCal)
#
[tantek]
I think I can summarize a bunch of 2 as "interoperate and bridge", for referring to interop with other open standards, and bridging via POSSE, backfeed, and silo-specific webaction links
#
[tantek]
I think “interoperable and bridge” are important aspects of the IndieWeb “strategy” that distinguishes use from the approaches taken by most other distributed/ decentralized web approaches, which is more like “fully replace”
#
[tantek]
Interoperate* and bridge
#
jgmac1106[m]
Build your community (or help build) would be up there with me with events. Starting each sentence with "Own“ stresses a self above all that may not resonate with all
#
jgmac1106[m]
I will also say I want Tantek to able to publish an event on his site. I can then RSVP to his site. Somehow this also shows on my calendar
#
jgmac1106[m]
Maybe the problem beings with the calendar inside the silo... Okay all chat no dev... Silencing self
#
jgmac1106[m]
Isn't that ActivityPub event system gettinf mad kickstarter steam? Can't remember name
#
dansup
mobilizon?
#
dansup
Pixelfed now federates with WordPress via ActivityPub! https://mastodon.social/@pixelfed/102669246880856712
#
aaronpk
are my photos showing up ok?
[jgmac1106] joined the channel
#
[jgmac1106]
dansup I think that's it. Except for the webactions to send to calendar Deitrich would need Known's event, rsvp inst bad
#
Loqi
dansup has 6 karma over the last year
#
[jgmac1106]
That is awesome
#
dansup
aaronpk: let me check!
#
dansup
aaronpk: Nope, I found a few pixelfed bugs, will ship a fix
#
[tantek]
[jgmac1106] the silo “Calendar” in this instance is the equivalent of the “reader”
#
dansup
aaronpk: ok so the Follow worked, now there is something wrong when fetching a post. This is very useful for fixing compatibility with non-mastodon AP implementations :D
#
[jgmac1106]
Ahh I thought you wanted interoperability with iCal of gCal
#
[tantek]
So when you say “my calendar”, think of “calendar” as just a special reader, or maybe “just” a specific channel or view in your Reader
#
[tantek]
Yes and interoperability refers to working with existing standards supporting solutions
#
[tantek]
iCal / .ics is like the RSS/Atom of calendaring
#
aaronpk
dansup: oh nice, you're making it load previous posts when you follow someone too?
#
[jgmac1106]
I was thinking as I talked about Known a calendar view of events would be doable
#
[jgmac1106]
Each entry a webmention
#
[tantek]
By supporting it, you’re able to interact with heterogeneous priori attempts at standards
#
[jgmac1106]
Or just an h-event organized by date
#
[tantek]
Yes and that’s the federation piece
#
[tantek]
They’re separate
#
dansup
aaronpk: yes, both that and searching one of your posts is failing so there is something wrong with the statusFetch helper
#
[tantek]
Just like we do webmentions with h-entry to federate comments and likes
#
aaronpk
there could also be something wrong with that part of my site, since mastodon doesn't fetch old stuff, and i was pretty much only testing with mastodon to get my posts to show up there
#
aaronpk
so let me know if something looks wrong with my site too
#
[tantek]
Known could be a calendar reader yes
#
[tantek]
So could Together
#
[tantek]
gCal is not a standard, it’s an events silo like Twitter is a notes silo
#
[jgmac1106]
Yeah that was what I meant with the silo being the problem. No commitment to standard
#
dansup
aaronpk: I found the issue, this explains so many bugs haha
#
[tantek]
And to answer your first question, no nothing else is federations events and RSVPs
#
[tantek]
federating* events and RSVPs
#
[tantek]
When a silo is the problem, that’s when we (IndieWeb) take a bridging approach, that was the point of the “and bridge” part of “interoperate and bridge”
#
[jgmac1106]
dansup the bug squasher
#
[tantek]
[jgmac1106] do the three approaches make distinct sense now or is there still confusion about which is which?
#
aaronpk
dansup: haha glad i could help!
#
[jgmac1106]
Yes they do but I think part of the draw of Mastodon is people want to belong.
#
[tantek]
That yes but makes no sense. mastodon doesn’t do events / calendaring
#
[jgmac1106]
So you you can have all that and be driving it from and to your site but there is a want for a community layer
#
[tantek]
So let’s stay focused on actual solutions today that people use and that are possible
#
[tantek]
And there’s no community layer on Google Calendar, it’s still super popular
#
[tantek]
So clearly that’s not a requirement
#
[jgmac1106]
I am saying that community layer is draw of meetup and other event sites
#
[tantek]
What besides Meetup? The others have all died
#
[tantek]
As silos do
gRegorLove joined the channel
#
[tantek]
Also Dietrich didn’t ask about meetup at all
#
[jgmac1106]
Facebook might still be kicking around
#
dansup
aaronpk: pixelfed is sending the wrong Accept, the reason I haven't noticed this is because I haven't tested against indieweb yet
#
[jgmac1106]
You are right getting off the task
#
[tantek]
Nor did he ask about FB
#
[tantek]
You’re trying to expand scope without a good reason
#
[jgmac1106]
So he wants a button that says, "Add to calendar"
#
[tantek]
That is my likely conclusion as well. That and maybe even a specific “Add to gCal” link like [schmarty] has on his event posts
#
[tantek]
The three IndieWeb approaches are: federate, interoperate, and bridge
#
[tantek]
We federate indie events and RSVPs natively site to site, peer to peer with h-event webmention h-entry p-rsvp
#
[tantek]
We can interoperate with “📆 Add to Calendar” link / button that sends .ics (like I said, it’s the RSS/Atom of calendaring)
#
[tantek]
And we can bridge by creating a custom “🗓 Add to gCal” link that has a proprietary calendar.google link with proprietary API query params
#
aaronpk
dansup: ahh yeah! i remember mastodon and others being very different in that regard
#
aaronpk
dansup: just posted a photo so assuming ownyougram still works, you should see it soon :)
#
aaronpk
aaand it's not. i bet i'm blocked
#
aaronpk
ok cheap workaround for now
#
aaronpk
dansup: that shoulda blasted my latest photo post to you! it actually as 5 images in it :)
#
dansup
aaronpk: I've found an unrelated bug I need to fix, its affecting federation :(
#
dansup
I guess the bug is related in a way, I'm glad I tested against your site or else it would have taken me longer to find it
[vendan] joined the channel
#
dansup
Array to String conversion in the COSTARs logic
[fluffy] joined the channel
#
dansup
aaronpk: it works now!
#
aaronpk
Sweet! Even got all 5 in there I see!
#
aaronpk
Hmm why no avatar tho?
#
dansup
pixelfed doesn't fetch remote avatars yet
#
aaronpk
Ah well that explains it :)
#
[fluffy]
kaniini sure has things to say quickly
#
dansup
we love to troll each other ;)
#
[fluffy]
wasn’t obvious, from the perspective of someone who doesn’t pay attention to any of the mastodon/pleroma/pixelfed dev core 🙂
#
[tantek]
dansup, it's still a good question. have you considered adding Webmention support (perhaps starting with sending) ?
#
[tantek]
(to Pixelfed)
#
dansup
[tantek]: yes! I plan to add that after v1
#
aaronpk
So in like 2025? 😉
#
dansup
lol, yeah that sounds about right :P
#
aaronpk
That was my attempt at a kaniini humor
#
dansup
lol
gRegorLove and vika_nezrimaya joined the channel
#
Loqi
[Tantek Çelik] Replacement is a good goal @dietrich. The #indieweb recognizes replacement may be impractical for a person or their friends in the short term. The indieweb strategy is to federate, interoperate, and build bridges to transition in parallel. Let’s...
#
@t
↩️ The #indieweb has #federated events and RSVPs using #Webmention and #microformats2 h-event. That Homebrew Website Club SF event was a demo thereof: https://tantek.com/2019/233/e1/homebrew-website-club-sf (note RSVPs) Quite good, yet as observed, insufficient for Google Calendar users https://tantek.com/t52B3
(twitter.com/_/status/1165138056661229568)
#
vika_nezrimaya
Do you present like posts in your readers? If yes, how? Asking because I'll probably end up dumping my like posts in the main feed, and I want to ensure they'll look nicely in your readers :3
#
vika_nezrimaya
What's the UX for interacting with a like post? can you like a like?
#
vika_nezrimaya
like-ception? O.O
#
vika_nezrimaya
sounds like something out of Facebook-inspired nightmare
#
aaronpk
I don't show a "like" button on like posts in Monocle, but there's nothing really stopping people from doing it
#
aaronpk
My plan with Monocle/Aperture is to show the actual thing liked, but that involves a bunch of new infrastructure to go fetch individual posts
#
vika_nezrimaya
What if my feed helps you a bit by presenting an archived copy of the liked post?
#
vika_nezrimaya
what
#
vika_nezrimaya
what the facebook just happened
gRegorLove joined the channel
#
aaronpk
this is Loqi memes!
#
aaronpk
But yeah that'd be one way to do it
#
aaronpk
the problem is I can't actually trust your site to say what someone else's site says, so I have to make a decision about whether to show it anyway and indicate that it's not canonical, or go fetch the original post
#
vika_nezrimaya
oh, right, trust problem
#
vika_nezrimaya
well I am trustworthy (except when my server crashes and muches data on the SD card :3)
#
aaronpk
if nobody spammed this would be a lot easier :-)
#
vika_nezrimaya
do we even have spam in the indieweb? I know about pingback spam, but what about webmentions?
#
aaronpk
There has been some "interesting" webmention spam
#
[tantek]
There's been one site doing it 😂 I think only to Jeremy Keith
#
vika_nezrimaya
Seems like I've missed it! >.<
#
vika_nezrimaya
all because I got into a bit of architecture astronomy combined with second system syndrome
#
vika_nezrimaya
aaaand I haven't updated my server in MONTHS.
#
vika_nezrimaya
Months-old Gentoo on a public-facing RPi.
#
vika_nezrimaya
Wait. Pagination on h-feeds - does rel="prev" correspond to a previous page (i.e. newer posts) or previous time (i.e. older posts)? Do h-feed consumers make a difference?
#
vika_nezrimaya
Or they just go for links until they slurp the whole h-feed, going backwards if they start on the last page?
[prtksxna] and gRegorLove joined the channel
#
aaronpk
haha you've stumbled across one of the oldest questions in computer science
#
aaronpk
but h-feed makes no assumptions about time ordering if that helps
#
vika_nezrimaya
aaronpk: good :3
#
vika_nezrimaya
then I'll make rel values correspond to pages, not post chronology
#
vika_nezrimaya
Ok, database queries seem to be BLAZING fast, that's a good sign
gRegorLove, [mapkyca], [jgmac1106], [prtksxna], djmoch and [snarfed] joined the channel
#
vika_nezrimaya
am I the first to think about somehow extending Microsub to work with Web Push? so I could have Notifications channel send an actual push notification to my phone?
#
vika_nezrimaya
I hope I'm not the first
#
@ohwaitiforgot
↩️ Aaaaand this reply is another test. I'm trying to get webmentions working. :)
(twitter.com/_/status/1165295082280558592)
[KevinMarks] and gRegorLove joined the channel
#
aaronpk
vika_nezrimaya: thatd be great! Right now I have a separate thing sending my notifications channel to my phone via Pushover
[KevinMarks] and [grantcodes] joined the channel
#
[grantcodes]
what is microsub notifier?
#
Loqi
Microsub Notifier is a Microsub client built purely to send notifications about new content in your channels https://indieweb.org/microsub_notifier
#
vika_nezrimaya
@grantcodes webhooks are great, but Web Push is a complete solution, allowing Push notifications to be delivered anywhere... as long as you're using a web-based reader and your device isn't a fridge that's older than my Gentoo install
#
vika_nezrimaya
and as I'm having a browser window open all the time on my PC, and I use a browser on mobile, I think that'd be a great solution, taking into the account that I'm rolling my own reader anyway
#
vika_nezrimaya
It'll be built into the reader, but the spec for registering pushes needs to be brainstormed - as it needs to transfer a JSON blob, but Microsub POSTs are form-encoded
#
vika_nezrimaya
can fridges even accept push notifications?
DazaiDiscord[m] left the channel
#
[grantcodes]
Yeah, web push is probably good, not really sure why I didn't think of making it an option on microsub notifier.
#
vika_nezrimaya
I guess it could be a race, who implements it faster
#
vika_nezrimaya
you got a headstart
#
vika_nezrimaya
'cause you already have a lot of Microsub stuff done
#
[grantcodes]
The main thing you need to do is poll your microsub endpoint, then convert the jf2 you get back to whatever format you need
#
vika_nezrimaya
JF2 is the only thing I don't like in Microsub... why don't use mf2 like everything else
#
[grantcodes]
Because it is way easier to write clients that handle the data without having to munge everything
#
[grantcodes]
The other thing that is interesting is actions in notifications, eg, it would be really nice to be able to mark stuff as read or click to reply, but that is difficult in a distributed world. I guess maybe a reader could handle it all, but then if every reader you use has notifications you end up with duplicates and other problems I'm sure
#
vika_nezrimaya
Because in the perfect world you're supposed to use only one reader
#
vika_nezrimaya
because it's the perfect reader for you
#
vika_nezrimaya
maybe you wrote it for yourself :wink:
#
vika_nezrimaya
Experimenting with JS progressive enhancement - prettifying dates with Javascript
#
[grantcodes]
Hmm don't think that's true. Different devices = different apps (and many more reasons)
#
vika_nezrimaya
oh, different devices
#
vika_nezrimaya
well, I'm kinda used to it...
#
vika_nezrimaya
y'know, crappy russian social networks and loads of notifications everywhere
#
vika_nezrimaya
I don't even bother to clear them anymore
#
vika_nezrimaya
Just clicking on what interests me
#
vika_nezrimaya
ok, my JS works, except it doesn't
#
vika_nezrimaya
um... how to fire up a function when all HTML is loaded? I'm not proficient in JS, it seems
#
vika_nezrimaya
one thing - no jQuery
KartikPrabhu joined the channel
#
[grantcodes]
Just put your JavaScript at the end of your html
#
[grantcodes]
Before the closing body tag
#
vika_nezrimaya
yeah, just did that
#
vika_nezrimaya
I was trying to find some sort of event
#
[grantcodes]
Putting it at the bottom is better. But window.onload is the event
#
vika_nezrimaya
There was a time when I ran my CMS daemon from screen. Here's a post from that simple time: "accidental Ctrl-C when trying to copy a log snippet from production server console = killed my blog"
#
vika_nezrimaya
Yay! My old posts start to appear in their full MF2 glory in my browser window
#
Loqi
does a happy dance!
#
vika_nezrimaya
My site starts to live again, and all the permalinks are saved too
#
vika_nezrimaya
I set up a quick legacy redirect...