#[snarfed]take a comparable indieweb community-built micropub client. realistically, you have to auth online against your site and get a token before you can start authoring locally/offline
#[tantek]which is why I said not designed from a protocol perspective
#[snarfed]these are more proprietary, but needing an account or site is comparable
#[snarfed]anyway. they're both worthy examples of existing mature apps that are local first, offline first, with full undo/unpublish support
#[snarfed]if you don't like that they require a site first (wordpress) or account (quip), that's ok. but it doesn't negate the rest
#Loqi[[tantek]] One of the reasons I want to approach this from UX-first design is IDK if any existing plumbing actually has enough protocols to support this UX. And I absolutely do not want to limit my UX by what an existing protocol can or cannot do (tail wags dog...
#[tantek]correct, requiring a site/account first is literally not *local first*
#[KevinMarks]So you're extending the use before login principle, but can that be done? So you only create an account when you want to use. More than one device?
#[snarfed]no account first is another great idea! i just think we can decouple it
#[tantek]local first IMO literally means *local* *first*, not "after you connect to the network *again* and create an account"
#[tantek]not sure how you can accept a network connection requirement as allowed in a literal local *first*
#[snarfed]you're welcome to, if you look at the broader offline first community, that's not how the rest of them interpret it, nor (i expect) many people here
#[tantek]I think when you provide the sideload install example, it becomes super obvious
#[tantek]just because some (or even most) people have become desensitized doesn't make it right
#[snarfed]eh. we disagree. i think it will be easier and more productive for the community to think through and iterate on these ideas without conflating them
#[KevinMarks]It gets a bit tricky with something like scuttlebut, where you can run it alone but it isn't exactly useful until you connect to others. You can create stuff with your private key, but why?
#[snarfed]trust me, i understand what you're saying. we're disagreeing, not miscommunicating
#[tantek]certainly local first means nothing else comes first (including any account creation hoops), otherwise the meaning of first is pointless
#[tantek]offline first means access any offline ready resources first before asking the network for them
#[tantek]of course it's possible that an app/site has zero offline ready resources, in which case all it can do is show a "sorry, you're offline" page
#[tantek]in particular offline first means don't make the user wait for some crappy network just to check to see if maybe a 10 year old blog post changed or not before showing them the cached copy 😛
#[snarfed]ok. some of our disagreement stems from the broader community's definition of offline first then, which is stronger than yours, and closer to local first
#[snarfed]they use offline first to mean authoring offline first as well as just reading stored resources
#[tantek]e.g. adactio.com is smart about this and shows you the cached copy instead of waiting for the network
#[snarfed]and "first" is generally interpreted as first in a given usage session, not ever
#[snarfed]totally fine if we want to define differently. just trying to understand the disconnect
#[tantek]snarfed, can you cite something for that "broader community's definition"? last time I researched this there was no agreement like that, just lots of different opinions (mostly by people who don't actually build stuff 😛 )
#[tantek]so I kinda reject any such appeal to community authority 😛
#[tantek]have not seen any two builders agree frankly
#[tantek]more like one builder and then a bunch of yes-people which doesn't really say anything
#[snarfed]heh. it's early days. there's definitely some agreement, and some disagreement. as we see here
#[tantek]right, I'm asking for specifics on the agreement, since you're asking for specific distinctions between local first and offline first
#[snarfed]so would you tolerate account first any more in offline first than in local first? especially if we're talking about apps for authoring, not just reading?
#[snarfed](imho the authoring use cases are more interesting here)
#[tantek]I think offline first is potentially much more permissive of lots of other practices yeah
#[tantek]because "offline" itself is a network-relative term
#[snarfed]i just want us to be able to experiment and iterate on offline first authoring techniques without also requiring account optional, which is arguably harder
#[snarfed]or, offline first is compatible with acct required. whatever words you want
#[tantek]offline first is deferential to (repeated) presumptive network access, and one form of that access *could* be an account (or not), that's the big difference
#[tantek]and ^^^ please if you could with a stub. There's a bunch of direct refs to it on the wiki but apparently not a page! And I'm assuming people have used it for IndieWeb publishing which is why it's already mentioned on the wiki
#[KevinMarks]Wow, tiddlywiki has grown since I last tried it
#[snarfed]actually i doubt people have used quip for indieweb publishing. you can publish public pages with it but in a limited way, kind of like publicly viewable google docs. it's not really a web publishing tool
#[snarfed]also added revision history, reverting, comparing, etc to the wordpress app section
#[tantek]the number of existing references to Quip on the wiki make me think there's non-trivial chance that people are using it to post or edit IndieWeb things
#[snarfed]lgtm! quip definitely intends to be offline first, by our definition, but not local first
#[jgmac1106]for the wordpress, example I just recorded four videos to walk my students through, unrelated, but Automattic, hiding the free options..almost a point where it gets predatory...without explicit tutorials my students can not get through onboarding and figure out the free option
#[jgmac1106]...it is still free, so I understand, but when you watch young students,English languange learners, etc navigate through 5-7 chances to pay....
#[jgmac1106]whatever you folks call it being able to do stuff, save stuff, and later share stuff is really important to our Ghana OER project
#[jgmac1106]especially when not just networks but power could be gone
[Marlin_Forbes], [Aaron_Klemm], strugee, nst^, [Michael_Beckwit, [KevinMarks], swentel, superjen96, cweiske and [tantek] joined the channel; mblaney left the channel
#Loqi[Alex Kearney] I'm at my first Homebrew Website Club in three years, and It's the San Francisco Meetup in the Mozilla office! I feel like I've made a pilgrimage to a spiritual centre of the indieweb.
All of us indie-folks are really fortunate that the indieweb is ... https://kongaloosh.com/data/2020/2/5/2020-02-05--23-59-50.jpg
[LewisCowles] joined the channel
#[LewisCowles]Avoiding the tail wags dog problem, will leave you solving two problems though. Adoption of each novel protocol needed
#[LewisCowles]There are examples like tiddly wiki of not requiring a URL, which can use existing protocols and do not require an account
#[LewisCowles]accountfirst-- and an example Tiddly wiki as an example of offline first, local first, non-account requiring software. There is of course the bootstrap step of get a copy, however all software falls prey. The benefits is that there is no tech beyond a modern browser required. There are many downsides (I dislike it's user-experience), but I respect the heck out of it
#[LewisCowles]aand I get to the bottom and see tiddlywiki mentioned 😞
#[tantek]nah, it'll likely lead to development of *a* novel protocol between this front end and my personal site, and feature requests for anything that's missing from Micropub, which is a good way to inform additions to a protocol!
simons and gxt joined the channel
#[LewisCowles]tantek… I was going through reading messages since I left. Should have finished before mentioning tiddlywiki
#[LewisCowles]It’s certainly more doable than encouraging adoption of a completely novel protocol. Still much work though.
#[LewisCowles]Had you given thought to stretching others protocols, by adding use cases to things which fit?
#[LewisCowles]It upsets some for sure, and care must be taken.
#[LewisCowles]As long as it’s valid (technically doesn’t crash spec tests); I’ve found it’s a path of lesser resistance to stay in commodity land as long as possible.
simons and [Rose] joined the channel
#[tantek]I'd rather focus on UX rather than optimizing for any protocol concerns at all up front.
#[tantek]The key is to get the desired UX working, without worrying about protocol implications. Once the UX proof has been built, then there's plenty of time to translate that into what protocol(s) may be needed and/or features to existing protocol(s).
#[tantek]I tried to accommodate by using the post also in the channel checkbox but unless everyone does that, it doesn't really work. easier to just ignore Slack threads here.
[jgmac1106] joined the channel
#[tantek](also aside [LewisCowles] using Slack threads doesn't really work well for cross-IRC understanding because they all get put "at the bottom" anyway)
#[LewisCowles]apologies. Was trying to maintain context hoping it would keep the `replied to a thread: ` which I see
simons and TGiske joined the channel
#[jgmac1106]what can I do to figure out why my tokens do not work to log into alltogethernow.io or indigienous? I can log into aperture fine no problem but niot any social readers
#[jgmac1106]I have deleted and reinstalled the IndiePub plugin a few times but that doesn't fix it
#swentelhmm auto send drafts to server when the device comes online might be a good feature
#swentelin indigenous that is, although I like to double check the post before sending :)
#[grantcodes]I guess noone has made something along those lines in the indieweb world yet because the efforts outweigh the benefits for me compared to something that only works online
#[jgmac1106]technically, and only for blog posts, Known is close, but you would have to be logged in, but if I write offline my post is saved as a draft, not logged in and you are done, and only for arrticles no autosave on anything else
#[grantcodes]Actually I guess my chatbot would work offline. Just leave a note in it and depending on your chat app it will send when you're online again
[calumryan] and [KevinMarks] joined the channel
#[KevinMarks]That reads well. Is it worth adding the ui examples we talked about for local first to the wiki page?
shakeel, jolvera, simons, jenelizabeth, superjen96, TGiske, mattsseDiscord[m and [Michael_Beckwit joined the channel
#sknebelPSA: if you use Wikimedia map tiles, they're currently heavily limiting external usage and it's unclear if they'll change their policy about that going forward
[grantcodes] and [schmarty] joined the channel
#[schmarty]tantek: I'm late to the party on this discussion but email clients definitely are accountfirst! It may be a one-time setup and thus easy to forget over a lifetime of use but I know of no mail client that lets you open it up and get writing before you have configured an email address! 😂
[Rose] joined the channel
#aaronpkI think I have to turn off registrations on ownyourswarm
#Loqiaaronpk: GWG left you a message 3 hours, 49 minutes ago: Can you look at my Quill PR? It is one line and it's annoying me.
[jgmac1106], [KevinMarks], [manton], simons, chrisaldrich, Arcosruth and [snarfed] joined the channel
#[snarfed][tantek] i realized where some of our local first/offline first disagreement yesterday may have come from
#[snarfed]the "first" in offline first only means first within a given session, not first as in from the very beginning, since you have to be online to install the app/load the site. (based on the wiki page and our shared understanding here)
#[snarfed]in contrast, you defined "first" in local first as from the very beginning, not just in a given session. hence, some confusion
#[snarfed]you included lots more worthy goals in your post. i wonder if you might want to lean toward a new umbrella term for them, and de-emphasize local first. maybe your overall UX goal could be called something like "user first"
[LewisCowles] joined the channel
#[LewisCowles]that was what I thought was intended and seemed to be what was written on tantek website
#[snarfed][LewisCowles] right! the two different meanings of "first" are obviously confusing. not a big deal though
#[LewisCowles]I’d taken it to mean the canonical supplier could go away, I supply the static assets and would be able to continue to use the application regardless of remote backends
#[snarfed]right, that's both, since the canonical supplier could be either online or offline (eg sideloaded)
#[tantek]"canonical supplier could be either online or offline" was the default pre-internet, that's the point. You bought a piece of software, installed it and used it, ZERO dependency on the supplier from then on. Even bug fix releases were a nice to have, and *optional* (user chosen) to install or not
#sknebelaaronpk: maybe add a "from-form" param? Or check if client asks for HTML
#[LewisCowles]tantek I think it’s a noble goal. I’m guessing from what I read it will need to be siloed to a mobile platform to avoid scripting, or compromise to get undo / redo
#aaronpkoh that's true, I was just gonna add a hidden param on the webmention form
#[tantek][schmarty] some have definitely become that way for sure, like Apple Mail. It's kinda useless IMO (both MacOS and iOS)
#[tantek]like if you happen to click a mailto link and it opens up asking you to setup config info I'm like what? no, I did not give you permission to start me down some admintax userflow WTF force quit go away
#[tantek]maybe all I wanted was to copy/paste the mailto link? or maybe *part* of it? e.g. a complex mailtolink that had an encoded subject or body, maybe I wanted a mail client to open up a new message with those things prefilled in that I could copy paste out.
#aaronpkand I absolutely would prefer to have a new mail dialog appear with the send button disabled so that I could copy the text into my actual email app
#[tantek]which is setup to open in a mail program obviously
#[schmarty]but i haven't taken the time to figure out how to change my default mailto: handler so any time i accidentally click a mailto: URL Geary pops up like "hello please configure me"
#aaronpkcan't wait to finish building a moderation queue to see how many webmentions are pending
#[tantek]do open a mail folder with a list of messages to view?
#[tantek]or a stupid config dialog to block everything?
#[tantek]Mail apps like Eudora and Entourage did this correctly. view the darn thing you clicked on. Apple Mail does not.
#[tantek]this is why I have zero patience for accountfirst assumption UIs
#[tantek]when you actually work through the user flow, it's quite user hostile / distracting from the actual task the user is trying to accomplish
#[tantek]I might even go so far as to say accountfirst is a dark pattern
#aaronpkantipattern maybe, "dark pattern" is reserved for more malicious intents
swentel joined the channel
#[LewisCowles]I think tantek meaning is because it’s not innately required to perform the desired action. It’s problematic to call it either TBH. I can think of many legitimate situations and benefits to having an accountish thing
#[LewisCowles]mostly to cope with bad actors though, so I realise it’s problematic
#aaronpkOf course sending email requires an account, but using the app to do things other than sending should not require setting up an account, that's the difference
#[tantek]I think there is a malicious intent — to force user down a pathway to start creating a profile and surveilling them
#[tantek]this: "using the app to do things other than sending should not require setting up an account"
#aaronpkI don't think that's always the case, depends on the app
#[tantek]thus "force account setup on launch" is bad design, period
#[tantek]unless you're trying to inflate your user numbers
#[tantek]I remember when launching an app would start you with a blank document you could immediately start editing, creating. Not force you through the cognitive load and distraction of creating an account.
#[snarfed]"never attribute to malice what can be adequately explained by stupidity"
#[tantek]nah, laziness would have left the user flow model alone
#[tantek]so there is intention, perhaps stupid intentions, but more likely to be malicious at this point, given most such "apps" are VC funded and looking for account numbers growth etc.
#aaronpkoo I just realized there is a social media app that doesn't require signing up to start using
#[LewisCowles]in another slack people are debating having a stranger they don’t know comitted
#[snarfed]i agree with all of this from a UX perspective
#[snarfed]having said that, i expect our home grown indieweb client apps here are mostly (all?) still account/site first because it's significantly easier to implement for our use cases, since you don't have to implement local storage. you just use the micropub or microsub server as the storage
#aaronpkYep also why I think it's more laziness than malicious
#[snarfed]yes, no account first (yes it needs better framing) is still a worthy goal! just worth remembering the implementation burden for context, at least for indieweb specifically
#swentelhmm yeah, being able to 'see' something in the indigenous app might trigger more people maybe :)
#[tantek]"just" ... use network dependencies as storage = data loss when apps crash, phones crash, network goes offline etc. too frustrating to bother reimplementing such an experience. that's a non-starter for me snarfed.
#[tantek]swentel yes! even adding feeds to follow could be done with 100% local storage, zeroaccount!
#[tantek]that's how "desktop" RSS readers used to work
#[snarfed]yes! again, very worthy UX goal. in practice, afaik we have no local first micropub or microsub clients yet, which is somewhat telling. i'm all for us trying to build them though!
#[tantek]snarfed I'm more likely to build a local first client, *then* add micropub support to it and figure out where are the UX/protocol mismatches
#Loqiaaronpk has 57 karma in this channel over the last year (212 in all channels)
#[snarfed]i'm still kinda liking "user first" for tantek's collection of UX goals. or maybe something else w/similar positive framing. need a good simple term for it all together
#[tantek]there's the ethical aspect of "user first", and there is the task-centric/focused aspect of "user task first", where a design focuses on why the user took an action and is built to make that as smooth and efficient as possible, more than the personal/profit motives of the app creators
#swentelhmm this might trigger too many ideas for the app again, I need to watch out for that :)
#swentel(although I like that it can fully work offline now though)
#[tantek]swentel, capture them on a "Working On" or "Brainstorming" section on /Indigenous !
#[schmarty]i am still pretty proud of https://kapowski.schmarty.net/ for letting folks build GIF photo posts (and even create in-reply-to) with no account. they can even save the resulting HTML to paste in elsewhere later!
#[schmarty]i am very curious to see how new designs focused on localfirst/offlinefirst work as progressive enhancement.
#[schmarty]if JS is unavailable it's unlikely any localfirst capabilities will function.
#[schmarty](other than a plain HTML form which can be worked in for as long as you like as long as the browser keeps state)
#[tantek]today's browsers do keep state! (at least Firefox, quite robustly from my personal experience)
#[tantek]ironically the only time I see such form state "lost" is because the site has JS that interferes/screws up
#[tantek][schmarty] I'd also distinguish external JS vs inline-JS in the page
#[tantek]I *often* see failures to load external JS. Like every day (LieFi, underground, spotty coverage etc.). However I also see local scripts that "just work".
#[tantek]I think form state preservation is an enhancement though, and wonder if it is something authors should be able to make explicit declaratively
#Loqigiving credit is a collection of cultural practices related to acknowledging and attributing text, hyperlinks, quotes, utterances to others, typically by name, as a way of recognizing their contribution(s) https://indieweb.org/credit
#[tantek]^^^ [fluffy] you may be interested in that aspect, which is orthogonal to any particular post type
#[fluffy]Like, the specific thing I was trying to do was have a bookmark post that also was a “like” of where I got it from
#[fluffy]I ended up doing it as a repost of the original thing but that only works for this particular situation.
#[fluffy]on that, um, note, here’s my ‘notes’ page: http://beesbuzz.biz/blog/chatter/ — I’m mostly trying to figure out the best balance of visibility and concision when presenting things like that.
#[fluffy]Presentational aspects aside, is it “valid” (from an indieweb interop perspective, ignoring PTD) to have a post that’s both u-bookmark-of original URL and u-like-of the “via” URL?
#[snarfed]sure. posts that are/do multiple things are definitely allowed
#[snarfed]in practice, indieweb tools like webmention receivers will often interpret your post as just one of those things, eg via PTD, but that may be ok
#[tantek]it's not "invalid" per se, it's just not supported or even specified what should happen. and the general philosophy is, if you haven't figured out how some markup *should* be consumed, then better to not bother actually publishing it
#[tantek]brainstorming about new markup possibilities makes sense, however publishing it then leaves creates a kind of "markup debt" that anyone looking to consume it later has to figure out if they should care about existing unspecified uses or not
#[tantek]IMO using "u-like-of" to convey via is a stretch at best, more likely confusing
#[tantek]hence why I pointed to the /credit page for past thoughts on via, and a place to add more brainstorming
#[jgmac1106]on another question I had a thought since we can translate twitter lists into feeds but not searches, could you have a list after a feed but only serve up feeds for a specifically filtered work, like a hashtag?
#[jgmac1106]for now I use h/t in plain text for credit
#[fluffy]Is there a microformat that people are using for this? like u-via or something. The /credit page just shows like… how people are doing it in post bodies as old bloggy convention.
#[fluffy]I guess there’s h-cite although setting that up in my current templates would be ‘interesting’
#[snarfed]tantek's q still applies: think about your expected consuming use case first, and if you don't have a specific one in mind, maybe wait on the markup
#[fluffy]My expected consuming use case is propagating the link while also sending a webmention to the person I got it from to tell them “hey thanks”
#[fluffy]similar to doing a like-and-retweet on Twitter
#[jgmac1106]could do what tantek does and he allows people to copy an hcite from his page for that url, I just saw that today, like the idea
#[snarfed]ah, you don't need mf2 markup for that though, the link alone is enough to send a wm
#[fluffy]But that would appear as a reply, wouldn’t it?
#[snarfed]no, since it wouldn't have u-in-reply-to
#[fluffy]okay so anyway to put a pin in this conversation, it seems like it’s okay, then, to have a single post be both a bookmark of one thing and a like-of of another thing? and there’s no particular reason to have a microformat for a ‘via’?
#[snarfed]eh you may have found a reasonable use case for a new mf. feel free to try to push it through!
#ZegnatI can see both the reasoning for a new mf, as well as for like when what you want to convey is the idea of like-and-retweet. Maybe this is on the line. I don’t think I have run into this usecase myself
#[fluffy]I assume if I just start sending out u-via mentions, webmention.io will just treat those as mentions, right? Or does it automagically propagate the u-* class?
#[fluffy]I guess I could look at the webmention.io source
#[fluffy]yeah looks like webmention.io treats all unknown microformats as mention-of
#[fluffy](which is probably where folks started to get the idea of adding u-mention-of to things)
#[snarfed]hey aaronpk any chance you still have the query you ran for me back in 2017 to collect all domains that wm.io had received a mention for? would you mind running it again? not urgent!
#bekoGotta admit. I touched Hugo (SSG) and it sure has it's charm. Just wonder about interactive stuff. Running a test by my migrating another website of mine.
#[jgmac1106]<-- puts aturn off notifications please policy in his syllabi
#[schmarty]beko: i'm a fan of hugo! love the speed, and power of the templating language (once i got used to it). i ended up creating a bunch of infrastructure around it to make my site dynamic (posting via micropub, displaying context for things i reply to, displaying webmentions, sending webmentions, ...)
#beko[schmarty]: so I'll bug you with questions soon(tm) :)
#[tantek]since we were discussing local/offline support, debating differences etc., I'm curious, who here has built/deployed a service worker to their site, and for what use-cases? Please add yourselves! (pretty sure it's more than just adactio and me 🙂 ) https://indieweb.org/service_worker#Indieweb_Examples
#[tantek]hmm there's a bit more here but I can't tell which of it is running and which is aspirational https://indieweb.org/offline cc:KartikPrabhu [LewisCowles]
#KartikPrabhuyeah no service workers yet, but definitely interested in doing those
#[tantek]thinking of moving those Service Worker examples to Offline examples
#[tantek]I'd rather be feature-centric than plumbing-centric in terms of documenting
#[tantek]I guess that's kinda meta though I'm guessing devs would care more? Thoughts?
#KartikPrabhudev should be good since the service-worker plumbing is the only way at the moment to do the offline/local feature
#[jgmac1106][Rose] I was adding another show to my video page and it has me thinking, wow I do put feeds everywhere, I have rel=alternate links in my header to places everywhere, links to webpages with feeds in my h-card cuz why not, feeds for every single video show on my video page, and feeds to common hashtags in the footer of my Known blog
#[jgmac1106]also list my seeds as well as my feeds, no real point to that except it rhymed.