#dev 2023-07-26
2023-07-26 UTC
epoch, prologic, Saphire, joshproehl, lockywolf, jjuran, GWG, bret and gnoo joined the channel
# [KevinMarks] Phanpy flows well, it puts reposts in a sideways scrolling cluster mixed in with the feed, it clumps like and reposts in notifications well.
# [KevinMarks] Elk was pretty good, but phanpy just feels better, not sure I can pin it down specifically. Both are a lot better than mastodon default.
# [KevinMarks] I haven't tried native apps, as I like web apps better
[timothy_chambe] joined the channel
# [timothy_chambe] Example of our early rebuilt version of the previous ActivityPub "test suite" being used: https://indieweb.social/@OpinionatedGeek@mastodon.social/110747313025171378
# Loqi [preview] [Geoff] @activitypubtestsuite A wee update. I've run the automated tests in the test suite @steve put up at https://aptestsuite.stevebate.dev/ and my in-development code has now successfully passed the automated C2S tests.I had to make some changes to the te... https://files.mastodon.social/media_attachments/files/110/747/282/968/646/758/original/16f47fcefb5bb11d.png
tei_, tei_1 and btrem joined the channel
# [KevinMarks] They were restoring the original tests I think
[pfefferle]1 joined the channel
eitilt, tei_, gRegor and gRegorLove_ joined the channel
# [timothy_chambe] Kevin is exactly right: "They were restoring the original tests I think." Our first task was simply to get the hold test up and running and translated into python to learn from what was there and to see the holes that needed filling or rethinking entirely.
gxt, geoffo and [davidmead] joined the channel
# capjamesg Is there an IndieWeb Foursquare?
# capjamesg Or rather Swarm.
btrem joined the channel
# [schmarty] capjamesg: currently there is Swarm + OwnYourSwarm
# [KevinMarks] you can publish checkins on your site, woudl an indieweb swarm crawl those and tell you where people are?
# Loqi A checkin is the action of checking into a location and sharing that information https://indieweb.org/checkin/
# [schmarty] yeah i guess the question is what you're looking to do. if publishing checkins, there isn't really a standalone micropub client for that.
# [schmarty] i've got some proof-of-concept pieces for building one where i've played w/ browser location API, crawling my own checkin posts to build out a list of "known" venues, and setting up a copy of Manton's Meridian project (https://latl.ong/) which does venue proximity lookups using openstreetmap data.
# [schmarty] i keep procrastinating on it because it feels like a big project _and_ because i'm conflicted about publicly posting my location anyway.
# [KevinMarks] known has a check UI, and some of the other micropub clients do I think
# [tantek] indeed: "isn't really a standalone micropub client for that". I collected some checkin/venue creation UX brainstorming on my "to implement" page/section here: https://indieweb.org/Falcon#Indie_Venues_and_Checkins (figuring out that UX is more important than the micropub-ness IMO)
# [tantek] see: https://indieweb.org/Falcon#Levels_of_access for my thoughts on that 🙂
# [schmarty] tantek: ooh thanks for this brainstorming link. UX has been one of the more fun sticking points.
# capjamesg I want something between Breakfast and Coffee and Swarm.
# [schmarty] i've had similar thoughts to a lot of these! levels of access may be the stickiest, for me. all content on my site is public for now. i have a separate site (also micropub-enabled) that is purely private. i have no in-between for select audiences.
# capjamesg The ease of Swarm, but the publishing of Breakfast and Coffee.
# capjamesg I’d like to be able to curate personal maps on b&c maybe.
# [schmarty] capjamegs: which features of Swarm in particular?
# [schmarty] checking in to a venue? seeing the check-ins of others? points, leaderboards, and gamification??
# capjamesg Like https://jamesg.blog/coffee/maps/san-francisco/
# capjamesg [schmarty] more the usability than the points etc.
# [schmarty] that's also a Google Maps feature
# [schmarty] (custom maps is also a Google Maps feature)
# capjamesg My setup involves adding lat longs to a CSV file.
# capjamesg Then using a Ruby script to generate markdown for them.
# capjamesg Then using my Python static site generator to generate the HTML 🤣
# [schmarty] capjamesg: you're describing Swarm as "easy to use" but not _what_ it is easy to to use _to do_.
# capjamesg I want to be able to check in with ease.
# [schmarty] haha perfect thank you :}
# capjamesg I like the UX of my setup and it would be nice to let others use it.
# [KevinMarks] The other thing Swarm does is only show your checkins to people you have in your list
# [KevinMarks] classic double opt-in connection rather than a following model
# [schmarty] capjamesg: i've gotta ask again - "[you] like the UX of [your] setup" - to do what? sharing links to maps with pinned locations?
# capjamesg [schmarty] Apologies, I’m on my phone. There may be a medium effect at play. Longer messages are easier to type on a physical keyboard.
# capjamesg Yeah sharing links to maps with pinned locations.
# capjamesg This is one of the features on my site I link to the most.
# capjamesg I should probably add breadcrumbs.
# [schmarty] fair enough. i've also thought too deeply about checkins so i might be hallucinating ambiguity where others would not. 😂 thanks for clarifying. capjamesg++
# capjamesg No worries. I think before anything I want to redesign my map experience.
# capjamesg Linking between pages isn’t great.
# capjamesg Oh!
# capjamesg One second…
# capjamesg Ah I can’t find it.
# [tantek] pet peeve: I really dislike that all (seemingly all) the calculator/conversion tools/sites on the web are 100% dependent on JS. Seems like a great opportunity to fairly easily demonstrate progressive enhancement, like literally handle every computation either clientside or via form submission. do such sites just not exist?
# capjamesg Breakfast and Coffee generates maps on category pages.
# capjamesg But it does so in an incredibly inefficient way.
# capjamesg I have been meaning to make a Levenshtein distance calculator. Progressive enhancement would be good to practice here.
# [schmarty] tantek: i weirdly prefer these to run in my browser so that they aren't sending data to someone else's server? of course with javascript's security model i have no guarantees about that 😕
# [KevinMarks] can you use the CSS validation stuff to do calculations?
# rubenwardy hosting a server costs money, static is cheaper. Makes more sense to use JS imo
# capjamesg Hm…
# capjamesg Is there a low data JS API?
# capjamesg There is right?
# [schmarty] tantek: this is one of the totally broken things about the web imo.
# capjamesg Ah maybe not.
# [KevinMarks] there are elements for it https://developer.mozilla.org/en-US/docs/Web/HTML/Element/output
# capjamesg My use case is I want to be able to say “hey, I have a poor connection, give me a small site.”
# [schmarty] hehe. how about a browser standard that requires the user to approve all network access from javascript? :}
# capjamesg I got a text saying I was about to hit my fair use cap on data (Instagram was a big contributor, but so too was Firefox, aka the web.)
# capjamesg I would love to be able to indicate to a site that I want a small web page if you have one.
# [schmarty] there are lots of tools where i want the data and computation to stay on my device, period. sending it to a remote server is a failure mode. so the classic "progressive enhancement" model of submitting forms is a violation.
# capjamesg Yeah 😅
# capjamesg [schmarty] yeah.
# capjamesg Side note: how can 4G work underground?
# capjamesg aaronpk++
# [KevinMarks] I think you could do certain types of calculation purely using form validation, but it would be a hack
# capjamesg [schmarty] what is the thing that is broken about the web?
# [schmarty] tantek: for some use cases, implementing that "fallback" would be a violation of privacy or security.
# capjamesg ++
# [schmarty] <noscript>"This site requires Javascript to function"</noscript>??? 😂
# capjamesg A checkbox like “do my calculation on my device”?
# capjamesg To whom was that addressed?
# capjamesg I presume [schmarty] 🤣
# [schmarty] capjamesg: i find it broken that the javascript "sandbox" is so permissive. extensions can mitigate bad behaviors a little, but generally allowing JS means trusting it not to do "bad things" which to me includes collecting telemetry, etc.
# [KevinMarks] If you use a form with GET you could make a service worker cache previous results so it works offline.
# capjamesg I do have a Fahrenheit to Celsius DNS server.
# capjamesg I find service workers really hard to comprehend. Any good introductory reads?
# [schmarty] disabling javascript makes things "safer" in the sense that there won't be any "invisible" network requests happening without user input. but then you _must explicitly_ send data to servers for any dynamic behavior.
# capjamesg Adactio’s offline example was nice but I still ran into issues.
# [KevinMarks] That's a bit weird though - you're still writing js but you have an html only webpage with the SW doing the js?
# [schmarty] capjamesg: i like chris ferdinandi's piece on it for CSS tricks: https://css-tricks.com/add-a-service-worker-to-your-site/
# Loqi service workers are scripts that run in the background, separate from tabs with the site open, and are commonly used for offline functionality and push notifications https://indieweb.org/service_worker
# capjamesg We need to get Loqi working on Discord.
# capjamesg (For what is prompts)
# capjamesg What is a service worker?
# [schmarty] tantek: i am all for having a service worker as progressive enhancement to let something work offline. if that service worker fails for any reason (there are many) then you're sending data to a server again - which can be a privacy/security failure.
# capjamesg Hmmmmmm!
# capjamesg Could I have a service worker serve low-data HTML?
# capjamesg Also…
# capjamesg I wonder if I should set up a readability.js proxy for traveling.
# [schmarty] tantek: good question. i have only dabbled with them on learning projects and haven't found a use-case for them for my personal site, yet.
# [schmarty] capjamesg: a service worker can fully muck with the request and response as long as the destination is a URL on your own site.
# capjamesg Then I can output only the HTML I care about (like reader mode, but the server is dealing with retrieving the HTML rather than my phone doing everything).
# capjamesg I wonder about a “low data” checkbox on my site.
# capjamesg I am trying to solve for two cases: no network connection, and a bad network connection.
# capjamesg In the former, full offline is key.
# capjamesg In the latter, being able to offer a minimal rendering experience is ideal.
# capjamesg How would I do that, technically?
# capjamesg Low data would be just the text and some in-line CSS for readability.
# capjamesg But I mean how to I determine low vs high speed connections?
# capjamesg ?
tei_ joined the channel
# capjamesg Oooh!
# capjamesg > Returns true if the user has set a reduced data usage option on the user agent.
# capjamesg For the saveData() property.
# [tantek] [schmarty] one possible use-case for your personal site would be using a service-worker to cache and handle the links from your home page to your own domain. so someone could load your home page, start reading it, and meanwhile a service-worker is caching your https://martymcgui.re/posts/ page, so then when that reader goes underground in the subway and taps your "(See all)" link, it instantly loads and displays! better UX!
# [schmarty] lol i keep forgetting that hidden meta description on my posts page 🙈 metacrap--
# [schmarty] Declarative TechniQuest sounds like a good fatberg startup name
# capjamesg I was going to ask what is a techniquest 🤣
# capjamesg What do you mean [tantek]?
# capjamesg I am going to write this on my whiteboard when I get home.
# capjamesg I want to get this right.
# capjamesg How do I implement with that approach?
# [schmarty] i currently don't think it's "worth it" to force visitors to cache my posts page content due to the way all my content is lumped together. it's likely to be 10+mb of cat gifs!! 😂
# Loqi progressive enhancement is the web development practice of building web pages, sites, apps so they are at least readable, and preferably allow for most if not all interactions, from any kind of browser, and optionally take advantage of additional capabilities (like various CSS & JS features) when available https://indieweb.org/progressive_enhancement
# [snarfed] timely re the checkins conversation: https://www.theverge.com/2023/7/26/23808274/meta-microsoft-amazon-overture-open-source-mapping
# [snarfed] "The Places dataset, in particular, represents a major, previously unavailable open dataset, with the potential to map everything from new businesses big and small to pop-up street markets located anywhere in the world...an up-to-date, comprehensive database of POIs [places of interest]."
# [schmarty] 🗺 👀
# capjamesg [tantek] what, specifically, would allow me to provide more for a user who is on a faster network connection in a progressively enhanced way?
# capjamesg We have ruled out user opt in and JS in this discussion so I am a tad confused 🙂
# capjamesg Suppose I have a blog post. That blog post loads various JS scripts to enable nice features.
# capjamesg Like dark mode.
# capjamesg (Already progressively enhanced 😉)
# capjamesg (JS allows me to opt in / out?, after doing preference checks, etc.)
# capjamesg I don’t even want to make any JS requests in the first place if a user is on a slow connection.
# [schmarty] capjamesg: sounds like the initial delivered HTML and CSS may already be the minimal low-data experience?
# capjamesg The thing is these are nice to haves! If they don’t load, the user’s experience isn’t impacted.
# rubenwardy I'd actually like to make a blog post with a lot of JS some time - thinking about teaching something in an interactive way
# rubenwardy like ncase.me
# capjamesg [schmarty] exactly!
# capjamesg ncase.me is awesome.
# [schmarty] there are some signals for browsers to specify they prefer reduced data but support is pretty bad. `prefers-reduced-data` CSS media query has zero support. `Save-Data` http header only works on a few browsers.
# capjamesg I remember reading about that CSS query.
gRegorLove__ joined the channel
# capjamesg Scotland train wifi too 😉
# [tantek] capjamesg, from main channel, read up on the winners of this contest and go view their source too: https://waxy.org/2023/07/the-tiny-awards-winner/
# sknebel (heh, just remembered https://github.com/tylertreat/comcast )
# [tantek] in particular, checkout https://brr.fyi/ and https://thehtml.review/ — both of which load very fast and function quite well without JS
# capjamesg Ah it was announced!
# [tantek] performance << Examples of tiny websites that have high performance: https://brr.fyi/ and https://thehtml.review/ via https://waxy.org/2023/07/the-tiny-awards-winner/
# Loqi ok, I added "Examples of tiny websites that have high performance: https://brr.fyi/ and https://thehtml.review/ via https://waxy.org/2023/07/the-tiny-awards-winner/" to the "See Also" section of /performance https://indieweb.org/wiki/index.php?diff=88750&oldid=88383
vilhalmer, tei_, tei_1, Soni, [tw2113_Slack_], IWSlackGateway, [benatwork], geoffo, [tantek] and pharalia joined the channel