#dev 2019-04-16

2019-04-16 UTC
jjuran, [jgmac1106], eli_oat, [tantek], gRegorLove, KartikPrabhu and [Rose] joined the channel
#
[Rose]
aaronpk++
#
Loqi
aaronpk has 65 karma in this channel over the last year (236 in all channels)
#
[Rose]
I meant to +1 that request, but forgot to go look for it πŸ˜„
#
aaronpk
next up: muting users because boy do I need that feature
#
[Rose]
And in today's awesome skills: accidentally deleted all of my compass data, and I have no backup
#
[Rose]
Doh, well, it could be worse
#
[Rose]
How do people backup their compass data?
ingoogni joined the channel
#
Ruxton
[Rose]: pretty sure you'd be covered by backing up the mysql DB and the 'storage' folder in compass
#
aaronpk
Oh no!
#
aaronpk
I store mine in git since it's just files
#
aaronpk
you could also just rsync it to some other computer
#
aaronpk
i made it store everything as files so you'd be able to use really any tool to back it up
#
aaronpk
you could even put the storage folder in Dropbox heh
t joined the channel
#
Ruxton
smart :)
#
[Rose]
The problem with git: I have to manually add the files
#
[Rose]
Maybe rsync, but deleting the whole directory for compass still would have been bad
krychu, KartikPrabhu, voxpelli, gRegorLove, ludovicchabant and willnorris joined the channel
#
Ruxton
[Rose] just write a script that adds, commits and pushes every hour/30minutes?
[Rose] joined the channel
#
[Rose]
That seems to be the ideal solution πŸ˜„
#
[Rose]
I created a git repo, but somehow did things wrong
#
[Rose]
I'll repair that once I'm home, then I can have a script
[kevinmarks] joined the channel
#
[kevinmarks]
[aaronpk] - monocle ui suggestion - put the backlink into the title area for the channel rather than atop the content so you don't have to scroll back up to go back
voxpelli_, ingoogni, [tantek], krychu, [Rose], [dougbeal] and [jgmac1106] joined the channel
#
GWG
Morning
#
Loqi
guten morgen
Guest86399, KartikPrabhu, plindner[m], grantcodes[m], myfreeweb, astrojuanlu[m], Rixon, jgmac1106[m], ketudb[m], voss[m], zoglesby, PatrickMNiedziel, jamietanna|wwwjv, jjuran and [jgmac1106] joined the channel
#
aaronpk
[kevinmarks] i tried that, but that presented a whole host of other UI challenges
#
aaronpk
there's already a bug when the title is more than one line, and doing that just compounded the issue
eli_oat, [kevinmarks], Guest48517 and [eddie] joined the channel
#
[eddie]
[grantcodes] If you are around I an very curious about your thoughts here: https://github.com/indieweb/micropub-extensions/issues/11#issuecomment-483658170 the idea of having some vague "not set" visibility seems really not user friendly. For a technical audience I think we can understand what "not setting" a property can do with the server defaulting things, but I don't know that a non-technical user base is going to feel comfortable with that.
[grantcodes] joined the channel
#
[grantcodes]
Yeah I was just about to comment but probably better here
#
[eddie]
haha yeah I figured we could discuss in chat and then record in github πŸ™‚ haha
#
[grantcodes]
Not sure I agree with you, based mainly on the idea that still the majority of clients will just use content=whatever and not send anything about visibility so the user will have to know their defaults anyway
#
[eddie]
that's currently, I think the hope would be in the not too distant future all Micropub clients would have visibility settings
#
[eddie]
the only reason visibility hasn't been defined before now is because most people have made everything public
#
[grantcodes]
All is a big ask, especially when there is the w3c spec that can't be updated at the moment
#
[eddie]
Sure, all is a bit broad reaching
#
[eddie]
I really think as more users join the IndieWeb and more of them are less technical, clients that require the user to know things like their server defaults will overwhelm or scare non-technical users away leading towards the majority of clients being used having user friendly options
snarfed joined the channel
#
[eddie]
so I'm sure clients will stick around without things like visibility, but I think the majority used will likely end up with things like that because self-selecting usability
#
[grantcodes]
I agree with that from the UI side of things
#
[eddie]
Okay, so we agree on the UI, where do we disagree?
#
[eddie]
πŸ™‚
#
[grantcodes]
On the fact that the client should send it. If it is a default it shouldn't need to
#
[eddie]
Gotcha. So I conceptually agree if you have a dropdown that defaults to "Public" (because the server said that was the default visibility) you wouldn't HAVE to include visibility=public in the request
#
aaronpk
It's almost impossible to get "everyone" to do anything the same so we'll always be in a situation where clients won't send it
#
[grantcodes]
Yeah, I think a server advertising defaults makes sense. Then the client can choose to use it or not use it
#
[eddie]
correct, but I think the question is what is recommended
#
aaronpk
but I agree that if a client supports the property it should probably always expose it to the user
#
[eddie]
I just think with things like visibility/privacy, if a client supports visibility, it is helpful to be better safe than sorry by both providing a UI that says the visibility (even if it's a default visibility) and then when sending a request, including that string in the Micropub request
#
aaronpk
I don't think there's any value in telling a client to not send the property if it knows the selected option matches the default
#
[eddie]
as it doesn't add that many bytes and prevents potential issues in the server
#
[grantcodes]
I don't really disagree with any of that either
#
[grantcodes]
My issue is more to do with the fact that everying is decentralized means we have to always assume there will be clients that will not send any of this default stuff, and just use the bare minimum. So it needs to be designed with this in mind.
#
[eddie]
I agree
#
[eddie]
πŸ™‚
#
[grantcodes]
I agree that it would be good practice to show the user their default server settings in a client, but if there are still clients that don't do it the user will need to know their default.
#
[eddie]
I think ultimately, a user will know/learn their default, or if they have a bad experience with a client that doesn't support visibility, they won't use it again
zoglesby, myfreeweb, grantcodes[m], astrojuanlu[m], plindner[m], ketudb[m], voss[m], Rixon, jamietanna|wwwjv, jgmac1106[m], PatrickMNiedziel, ludovicchabant and jackjamieson joined the channel
#
[grantcodes]
Cool I think we're in agreement, just looking at it from different sides πŸ˜›
#
[eddie]
How is this for summary for GitHub?
#
[eddie]
* If a server supports visibility, it SHOULD communicate with the client what the default is.
#
[eddie]
* There will always be clients in the wild that don't support visibility, in those cases the server MUST default visibility to whatever it deems appropriate.
#
[eddie]
* If a client supports visibility, it SHOULD send the visibility in the Micropub request, even if it is the default option.
#
[grantcodes]
I think there are probably lessons to be learned from headless cms's and the likes that generate a ui from a schema of sorts. That is pretty close to this idea
#
[eddie]
ohhh yeah, that's an interesting idea
#
[eddie]
I don't specifically know of any headless CMS', any you know of that I can take a look at later?
[schmarty] joined the channel
#
[schmarty]
like netlify CMS?
#
[grantcodes]
Yes, netlify is my main experience
#
[eddie]
oh widgets!
#
[grantcodes]
More the idea that each post type has a bunch of properties and what type of ui component to use for each one
#
[eddie]
ohh interesting
silot joined the channel
jackjamieson joined the channel
#
[grantcodes]
I think looking at https://github.com/indieweb/micropub-extensions/issues/8#issuecomment-483678263 there are a couple of changes I would make, that would make it more complex, but more future proof
#
Loqi
[EdwardHinkle] So initially brainstorming this: you definitely don't want to simplify the syndicate-to object because that is needed. I also don't know that you would want to complicate the category array by making the strings be objects, because then you're just a...
#
[grantcodes]
I would change all options to be an object with a value and name
#
[grantcodes]
And I would add a name to each property
#
[grantcodes]
So servers could do stuff like define that categories should be displayed as tags, not categories
#
[grantcodes]
I'm also not sure about the `max-values` thing. I think in mf2 it is pretty much either 1 or infinite?
#
[grantcodes]
Also default should probably always be an array
#
[eddie]
haha yeah I was writing a post changing max-values to multiple: true or false
#
[eddie]
hmm interesting. I thought about all options being an object with both a value and a name, but then it seemed duplicative for things like categories, but maybe it's not that bad since categories is really technically big enough it probably still needs to be in it's own query
#
aaronpk
omg that example is a little overwhelming
#
sknebel
You should look at json schema like languages, because you're designing something like that...
#
aaronpk
i was about to say that ^^
#
sknebel
I also wonder how realistic it is for clients to correctly make UI from Schemas
#
Loqi
I agree
#
aaronpk
yeah that seems like an edge case to me
#
[eddie]
I don't really thing it should make UI from schemas
#
[eddie]
but UI options are definitely important
#
[eddie]
so like I probably wouldn't say we should make syndication always be a select field
#
aaronpk
this is really worrying me a bit
#
[eddie]
but looking at the UI APIs helps inform things like the options, defaults, multiple values accepted, etc
#
aaronpk
this seems like going down a really deep rabbit hole for unknown value
#
sknebel
So Prototype early
#
aaronpk
rather than try to define a whole schema thing that solves all possible use cases, can you point to a specific issue that your'e having with the existing landscape and make a suggestion that could address just that issue?
#
[eddie]
so the issue brought up by [grantcodes] was that dealing with syndicate-to values, categories and visibility are all very different data structures currently
#
aaronpk
what is the specific problem caused by that?
#
[eddie]
this was an attempt to merge those, with the idea that it could be compatible with future properties as well
#
aaronpk
there is very little value in making changes to the spec to just "look nice" unless it has some actual user benefit
#
[eddie]
I think the concern is we're starting to add more and more properties and values and the more we add if each one is it's own unique snowflake, that causes issues
#
aaronpk
ok but i fail to see how that then results in this schema
#
[eddie]
I don't feel 100% that this is something that has to happen but I can see potential benefit from it
jackjamieson joined the channel
#
[eddie]
https://github.com/indieweb/micropub-extensions/issues/8#issuecomment-483613353 mentions specific issues: some fields accept multiple values, some accept single values, and some allow new values and other have to be predefined
#
Loqi
[grantcodes] So I think there are at least 2 ways we would need to show full support for a property: 1. The basic property is supported and accepts any value, e.g. things like `summary` and `category` can accept pretty much anything, but would be nice to know ...
#
aaronpk
i guess i don't see why that's a problem
#
aaronpk
ultimately the UI is going to treat all these properties completely differently anyway, so i don't see why making a schema to tell the client what kinds of values are supported that also is consistent with itself helps at all
#
[eddie]
That's fair. It was just a brainstorm based on his github comment. If we feel this is too heavy we can just look at listing supported properties and returning things like the default
#
[grantcodes]
It is already proven to be useful with categories and sydicate-to though?
#
aaronpk
go back to the beginning of the problem, what actual user or UI challenges exist right now?
#
[eddie]
so in that thread 1) A client should only present UI for properties that a server support 2) A client needs to be able to show the user predefined options as well as show any defaults the server will do (like the default visibility)
#
[eddie]
I think the things such as if new value are supported or multiple values are supported is more an optimization so that instead of writing code that only matches "if syndicate-to" instead you can write code for if multiple values accepted
#
[eddie]
So that is more developer help in that you can reuse code
#
[eddie]
If you were to trim things down for only the 1 and 2 I listed above (supported properties, predefined options and default visibility) you end up with something a bit simpler like this: https://gist.github.com/EdwardHinkle/01f95dfda4f15487abc20ce253ddcb2b
#
aaronpk
at least that one doesn't make my eyes bleed
gRegorLove joined the channel
#
sknebel
I think I've had similar ideas in the past, my problem statement would be along the lines of:
#
sknebel
I add new properties to my micropub endpoint, or use one that has properties not all clients support, but I want to use existing (ideally the same) micropub client(s)
#
sknebel
so the client needs to learn about properties its creator hasn't considered, and provide at least some level of UI for them
#
aaronpk
That sounds like a different problem and one that's much harder to solve
#
aaronpk
it sounds like we're talking about clients hiding fields when they know the server doesn't support them
#
sknebel
then you don't need all of that extra stuff
#
aaronpk
i would never expect a client to be able to make up a UI for properties it doesn't know about. That's like form generator territory and is not a sustainable plan
#
[eddie]
Well, as sknebel said, in grant's comment there was the idea of new fields/properties having the same structure so it's more easily supported
#
[eddie]
So there was an element of that in the brainstorm
#
aaronpk
I am wary of optimizing for that use case
#
sknebel
okay, if that's not the core I'm not sure what use the schema-like aspects are
#
aaronpk
that shouldn't be the priority
#
sknebel
aaronpk: and that's why I use SSH and vim to post to my site...
#
sknebel
I mean that
#
aaronpk
I mean i definitely hand edit some posts too
#
[eddie]
Sure, it's an idea but not one that has to take priority
#
[eddie]
and that's why when you asked for use case I listed 1 and 2
#
[eddie]
because I think those are the absolute priority of that github issue. hiding unsupported fields and having the data and defaults for the supported ones
jackjami_ joined the channel
#
aaronpk
Let's focus on those
#
sknebel
yeah, then the more complex proposals probably belong in their own issue
#
aaronpk
it was starting to sound like the conversation was taking a major detour from those goals
#
[eddie]
well I don't know if two posts are a major detour
#
[eddie]
lol, but I think it's fair enough to refocus and create a seperate issue if continued though on the other front is wanted
#
[grantcodes]
I think what eddie has proposed is where it all may end up, if all the different valid issues are merged together, althought a bit of a leap to go straight there
#
aaronpk
Here's an example of where form generator territory falls on its face. Show me any modern app that lists the text "public" "private" "unlisted" in its UI. More often it's indicated by some sort of icon. Look at twitter and Swarm for easy examples. There's virtually no way to reliably do that in a way where clients can show that UI when they weren't written to support it natively
#
[eddie]
For sure, you never want the majority of your UI to be form generated
#
[eddie]
if anything it would be do your UI the way you want for known properties and include a small section at the bottom that can include any not currently known and optimized fields
#
aaronpk
so its way more important for a client to know whether to show that element
#
[eddie]
absolutely
#
sknebel
yes, two different scenarios
jackjami_ joined the channel
#
sknebel
(and I'm assuming aaronpk is defining anything that contains a form generator as "not modern" :P ... but again, if I'm looking for "I want use my private posts implementation without handediting data files", "not modern" will do just fine)
#
[grantcodes]
Also very much depends on the type of UI you want
#
sknebel
(I should probably just downrank micropub for my site instead of trying to use it as the primary posting tool)
#
[eddie]
sknebel exactly. I think modern is best, workable is good
#
[eddie]
I really think the best long-term scenerio is optimize for the fields you know about, but make other fields available
#
[eddie]
One scenerio where this happens: I have channels in my site
#
[eddie]
no Micropub supports channels
#
[eddie]
so I end up using syndication where it's not REALLY meant because it can send a custom command back to my server
#
[grantcodes]
I think aaronpk is thinking more of silo type posting interfaces, whereas I am thinking more of a cms type interface, the majority of which can absolutely can be managed by a form generator
#
[eddie]
it would be much nicer if most Micropub apps had an optional area at the bottom that might not look the best, but had a list of channels that I could select and be sent back to my site
#
sknebel
[eddie]: yes, that's the case I'm thinking of too
#
aaronpk
I guess I just don't think that we should be recreating CMS type interfaces as micropub clients
#
[eddie]
I agree, CMS type interfaces are not the ideal Micropub clients
#
aaronpk
there will *always* be exceptions that will be unable to be supported by clients even if we make up some seemingly perfect generic schema thing
#
[eddie]
sure, there will always be exceptions, but that doesn't mean we should have some flexibility in a server telling a Micropub client about it's own simple data it would like back
#
[eddie]
sknebel: awesome. That gives me something to base the new GitHub issue on use-case wise
#
[grantcodes]
I'm not sure defining what sort of ui is good or bad for clients is useful for the spec though. Is that not kind of the point of being able to use different clients? Different strokes for different folks and all that
#
[eddie]
grantcodes++ Yes, for sure
#
Loqi
grantcodes has 21 karma in this channel over the last year (37 in all channels)
#
aaronpk
Right but making a form schema part of the spec essentially is telling app developers they have to build a flexible UI that the server controls
#
aaronpk
which IMO is not reasonable to ask
gRegorLove joined the channel
#
aaronpk
like I would not feel comfortable asking manton to add support for this to the micro.blog iOS client
#
[eddie]
I think the key is not the server defining the UI as much as defining some types of data it might allow the user to choose and return
#
sknebel
you're free to ignore that spec extension in your clients
[schmarty] joined the channel
#
[schmarty]
as someone who built form-builders for a living for a few years i encourage folks not to do this, haha.
#
[grantcodes]
I think a better example is not your own personal property, but all the experimental ones that multple people support, like visibility, post-status, location-visibility. All that stuff is implemented by a bunch of people, but then there are very few clients that support them.
#
aaronpk
My point is that you're not going to create a good user experience by treating all these properties generically
#
aaronpk
the client needs to actually understand what they mean in order to present them right
#
[eddie]
But is the idea of a fallback so bad? You know about 3 out of 5, so you treat 3 out of 5 the way you know and you fallback the 2 unknown ones to a way that is functional?
#
aaronpk
Yes because it will look ugly
#
aaronpk
and also is a lot more work for app developers to do that
[tantek] joined the channel
#
[grantcodes]
It's more work for developers to individually handle ui for every single property
#
aaronpk
I'm all for apps hiding UI elements they know the server doesn't support, but I really don't think it's a good idea to go the other way
#
aaronpk
And in any case those are two completely different issues and we should address them separately
#
[eddie]
Yes, agreed
#
[eddie]
They need seperate tickets
snarfed joined the channel
#
[eddie]
however I think apps can built UI that fits the platform that matches a few basic criteria. For example: predefined options with multiple selections? Quill's syndication list. Predefined options with new values allowed? Quill's tags text field with autocomplete. Want to do that on iOS? There are UI conventions that match those requirements as well.
#
[grantcodes]
I also think there is a bit of overlap in the ideas and critisisms here that isn't necessarily valid. If there is a "schema" of sort. That doesn't necessarily mean that clients have to become automatically generated, the two are not equal
#
[grantcodes]
In general the more data available to client, the better the user experience can become
#
[schmarty]
(until that data becomes ambiguous, conflicting, or overconstrained)
#
[grantcodes]
Sure, just saying something is better than nothing. It's up to a client if it uses it or not
#
[eddie]
For those following along at home, we have split the GitHub issues, the new one for adding support for unsupported properties to clients is now https://github.com/indieweb/micropub-extensions/issues/21
#
Loqi
[EdwardHinkle] #21 Query for unsupported properties
#
gRegorLove
reads scrollback
#
[eddie]
lol have fun
#
gRegorLove
The server returning the default is interesting, though with IBC I've been adding it as an account settings, so the UI will always default to that and can be changed per-post.
#
[eddie]
I think that makes sense in a client that is more specialized
#
[eddie]
For example, one day I want to create a "watch post" client for logging what I watch. I would likely want to set a visibility default per show
#
[eddie]
or if you had a client that did listen posts, if it knew it was a private feed podcast, it could automatically default to sending private visibility as to not spoil the private feed
#
aaronpk
Some of this can/should be up to the server too tho
#
gRegorLove
I think if server returned a default, IBC would update your account setting each time you log in
#
[eddie]
One thing I like about the server sending default is that allows me to force a default based on client_id. So when approving IndieAuth, I could choose a visibility for that client and then all posts from that client could end up a specific visibility
#
sknebel
that specific example feels more like something the server should enforce
#
sknebel
although it's of course nice for UX if the client shows accurately what will happen
#
[eddie]
Yes, both of those is true
#
[eddie]
It's nice to see it but it's also good to have the server enforce it
#
aaronpk
another point about the new issue, i would very much encourage you to look at related prior art before making up things from scratch
#
aaronpk
i'm sure [schmarty] can point to several ;-)
#
[eddie]
That is helpful, and I agree. It was an initial brainstorm and I think one nice thing that came out of it is grantcodes linked to some headless CMS APIs which are some nice prior art for how some existing platforms are doing this stuff.
#
[eddie]
definitely anything schmarty knows of would be good to add to the list to see what does and doesn't work
#
[schmarty]
Yeah, headless CMSes are great examples of this because they are usually "config-driven".
#
aaronpk
i am also glad to see issue #8 focus on the simpler (and IMO more important) issue
#
[eddie]
I agree #8 > #21
#
[schmarty]
Rails and Django form helper libraries are also similar
#
[schmarty]
The stuff I worked on was for research projects and never released, unfortunately. Or fortunately. Yes, fortunately.
#
[schmarty]
The system was called FormBuilder and we wrote XML definitions that mapped onto Java Server Pages classes to create form entries and map them to database schema and relations.
#
[eddie]
Also interestingly Micro.blog has been adding more fields and while I don’t think it should be required if Manton wanted to add support for other properties this is a page perfect for it. Accessed through a gear button is this page https://eddiehinkle.com/media/e9c4b22178ba8f7e00d05f9b58fc50c1.png
#
[schmarty]
It honestly sounds a lot like what you're describing, haha, cuz we used it as a layer to make extensible testing websites to test other systems on.
#
[eddie]
[schmarty] That sounds like you have some good pitfalls experience. Obviously you might feel like "this shouldn't happen at all", but if you feel like you see a balance between "do it all the way" and "don't even touch it", I think those insights would be helpful
#
[eddie]
a way to provide some additional functionality without going too far
gRegorLove joined the channel
#
[schmarty]
I encourage folks to experiment before writing any big proposal docs :)
#
[eddie]
fair enough
#
[eddie]
I do think there is benefit to brainstorming, yes, even brainstorming code, before coding as others have different experiences
#
[schmarty]
Definitely try to solve smaller specific problems first rather than trying to spec a generalized system.
#
[eddie]
Thanks. I'll work on those
#
[schmarty]
I'm kind of more interested in a strong set of client-side libs/patterns/widgets to make more, composable clients.
#
sknebel
[schmarty]: you talked abount wanting to make a bunch of specialized clients before, right?
#
[schmarty]
Yep! I prefer a diaspora of varied clients over adding coordination layers between clients and servers at the moment.
#
sknebel
I considered a bunch of UI or microclients and some server logic to chain them too. E.g. have submitted posts default to private, but have a quick shortcut to change it's visbility or add permissions
KidReese777 joined the channel
#
[eddie]
That's interesting sknebel
#
[eddie]
This week I've been trying to port my old posts into my newest post format so I'm able to add Micropub update support
#
[grantcodes]
I know it's not popular around this parts but I made a react component that sounds sort of similar to that idea
#
sknebel
I think aaronpk has a few of his editing things actually inline to the site (e.g. for tags?) but use micropub(?), but a link would be a start too
#
[eddie]
once I do that, it's interesting to default posts to private since with the post list query, you could have as you said, mini clients that can query the existing posts and then edit some specific specialized attributes
#
aaronpk
i actually do that with quill blog posts most of the time. i have quill post as a draft to my site, then go use either my site's UI or hand-edit the file to do some final touch-ups before publishing
#
sknebel
don't even need post list query if you e.g. do the "pass a link to the post as a query param" thing
#
[eddie]
sknebel: that's true. So your first client would take the url returned by the Micropub endpoint and pass that along to the next with something like ?url=postUrl
#
aaronpk
hah you could do that if your server returned that other client's URL as the 201 micropub response
jjuran joined the channel
#
snarfed
so re the questions from last week, starting at https://chat.indieweb.org/dev/2019-04-11#t1555004634348000 ...
#
Loqi
[snarfed] i have a narrow niche use case for the proxy html+mf2 pages that bridge services like bridgy and bridgy fed render for silo posts
#
snarfed
i can easily add html meta and/or JS redirects to bridgy [fed] mf2 pages
#
snarfed
maybe the main q for this group is, the webmention spec currently says discovery should "follow redirects," but doesn't say whether html meta redirects count. should it?
#
snarfed
JS redirects almost certainly wouldn't, so maybe i'll just go with those...?
#
snarfed
sad for js;dr people though
#
aaronpk
i'm not sure about the meta redirect question
#
aaronpk
but a JS redirect seems like a safe alternative
#
aaronpk
that redirect is essentially a progressive enhancement feature anyway
#
snarfed
sure, ok
snarfed, jackjamieson, tbbrown, [tantek] and jjuran joined the channel
#
[tantek]
wow scrollback
#
[tantek]
I think I agree with aaronpk's pushbacks in general
#
[tantek]
Please don't lower the barriers to making crappy UI by default (schema generated forms)
#
[tantek]
because then that's what you'll get, and then be overwhelmed with that kind of crappy UI dominating clients
#
[tantek]
so yes there *is* harm in doing crappy UI as a fallback
[eddie] joined the channel
#
[eddie]
I just think we might in general be upselling our current UI efforts (Indigenous for iOS absolutely included!). I think most of our current UIs could likely be generated by a schema form
#
[eddie]
I don't think schema HAS to mean the UI is crappy, but of course if that's all you rely on, you'll never get a nice UI like Swarm. But I think there is a middle ground
#
[tantek]
I disagree - I think you're underestimating how hard it is to generate decent UIs from schema forms
#
[eddie]
Maybe we're talking about two different things?
#
[tantek]
"HAS to" is irrelevant here, existing examples are all crappy.
#
[tantek]
I think there *could be* better UIs, but "could be" UI is a very bad basis to design formats, protocols, standards
#
[eddie]
I'm talking about a JSON object that talks about attributes
#
[tantek]
Much more effective to design formats, protocols, standards for existing actual UIs that are good
#
[eddie]
but not necessarily defining the UI elements
#
[tantek]
I'm talking about real world UI examples, lacking that, it doesn't make sense to model it in a spec
#
[tantek]
It may make sense for personal developer experimentation, but not standardization
#
[tantek]
BTW, you may want to look into XForms and how they tried to do that in the early 2000s
#
[eddie]
experimentation of course, always has to take place before any type of standardization
#
[tantek]
as in W3C XForms, if you're not familiar with it, it too failed
#
[eddie]
When I look at our real world UI examples, I can see the exact same UI coming from the attributes we're talking about
#
[tantek]
"can see" is different from does
#
[eddie]
because the attributes don't exist
#
[eddie]
so if I have my server return these attributes and modify Quill to be able to support these items, does that count as real world example? If I don't change Quill's UI?
#
[tantek]
sort of? I mean that's more direct experimentation
#
[tantek]
I mean real world examples of *anyone* doing schema based UI/form construction, in any field, for any product, that doesn't suck
#
[tantek]
if you have to code (the examples) yourself, you're not really providing examples, you're incubating/experimenting
#
aaronpk
Quill is also not a shining example of a desirable UI. It gets by, but I originally made it as a test app.
#
[eddie]
But that's the point. Having some attributes for fields is not going to prevent good UI. Good UI being hard prevents good UI. All of our Micropub clients likely need a lot of work to get there
#
[eddie]
and having some fallback UI does not mean, you can't make good UI
#
[tantek]
it does. having crappy fallback UI means devs don't bother to make good UI
#
[eddie]
devs who don't want to make good UI will never make good UI
#
[tantek]
this is why so many sites started looking like Bootstrap
#
[tantek]
it was crappy fallback UI, so people stopped putting nearly *any* effort into good UI
#
[tantek]
devs who don't want to make good UI will make an awkward copy of someone else's good UI, which TBH in many cases is better than a generic crappy UI.
#
aaronpk
I think there's another higher level thing here that I'm instinctively pushing back on, which is that these efforts regularly get criticized for trying to emulate existing social media behaviors but just distributed, and trying to then also do that in a generic templated way even further entrenches these apps in this mode
#
[tantek]
there's also the downside that Micropub itself could get labeled as being to blame for the crappy UI, kinda like how CSS was blamed for crappy uncreative layouts until the CSS Zen Garden came along and opened people's eyes
#
[eddie]
"these efforts" meaning, IndieWeb? Specific specs?
#
[tantek]
aaronpk, this is my semi-irregular pitch for this fix/enhancement to webmention.io πŸ™‚ https://github.com/aaronpk/webmention.io/issues/122
#
Loqi
[tantek] #122 Webmention.io /api target= param should accept protocol relative URL to return http + https...
#
[tantek]
I'm depending on it to show RSVPs to my HWC indie events πŸ˜„
#
[eddie]
it makes more sense if there is a higher level issue at play
#
aaronpk
IndieWeb + Mastodon yes
#
[eddie]
ahh gotcha. I guess for some reason you feel that having some attributes that help define some field behavior becomes "templated", but nothing says you can't break the template, but by having a few couple types of templated data allows for servers to provide data it might want returned.
#
[eddie]
I don't feel that this should be 100% schema driven forms here
#
[eddie]
but I also think the server can provide some data configuration hints that allows a client to support additional fields
gRegorLove joined the channel
#
jacky
attempts to catch up
#
aaronpk
Yeah it's a slippery slope thing. Of course you could make a nice product even with the templated JSON structure by not treating it as a declaration of the UI, but it's far easier not to do that, so will more likely than not result in not so great apps
#
[tantek]
eddie, maybe take a look at how @supports works in CSS - it the kind of thing you're looking for?
#
[eddie]
So @supports doesn't really match what we're talking about. That's really just a boolean on if a given property is supported
#
[eddie]
it is similar to the query for support properties, although @supports doesn't provide any contextual information about the css queries, where as we would need contextual information for Micropub properties
#
[eddie]
but I think what you guys have an issue with is the query for unsupported properties which is nothing like @supports
#
[eddie]
I guess I just don't think the attributes we're discussing make it THAT much easier than it currently is to build a Micropub app, and thus wouldn't have much effect on the quality of Micropub apps (which are not horrible, but are also not pieces of art yet). and I think anyone that would be willing to put time into a Micropub app to make it really nice right now, would do the same thing regardless of having some JSON hints as to what type of dat
#
[eddie]
Well, I'm heading out for the day. So you are free of this debate πŸ™‚ I am absolutely not locked on the technical approach to this problem, but I do think the problem it's trying to solve is helpful and useful.
#
[tantek]
I have a feeling we may be misunderstanding some key nuances. Maybe this would work better as part of an in-person Micropub brainstorming session?
#
[tantek]
I do think there is more work to do in the general area of how do we evolve client and server capabilities in a manner which is backwards/forwards compatible and enables rapid iteration (co-evolution) of both.
#
[tantek]
!tell eddie which next IWCs are you going to, and hopefully aaronpk is also going to and maybe you could propose a session on this and some of the challenges you've encountered with evolving your Micropub implementation(s)?
#
Loqi
Ok, I'll tell them that when I see them next
#
[eddie]
I am hoping to go to Summit, but I have to finish arranging plans for a family trip before I see if it interferes with attending the Summit. I definitely think it ultimately is more around iteration of Micropub clients/servers than dictating UI, and you might be right, it is likely better a session at an IWC
#
Loqi
[eddie]: [tantek] left you a message 3 minutes ago: which next IWCs are you going to, and hopefully aaronpk is also going to and maybe you could propose a session on this and some of the challenges you've encountered with evolving your Micropub implementation(s)?
#
[eddie]
(As well as empowering servers where they might want to do something unique that not every server and client wants to support on their own)
#
[eddie]
Thanks for that redirection tantek. I think it’s helpful and hopefully something that could be discussed at an IWC in the view of Micropub evolution rather than UI dictation
#
jacky
so random note
#
jacky
I started looking into using https://indieweb.org/chat-names as a tool for vouch
#
jacky
all of the URLs I found there were written as `http://`
#
jacky
which I think it's a result of usernames being based on one's _hostname_ as opposed to their full URL
#
jacky
something to consider / note if you're using it!
KartikPrabhu and [tantek] joined the channel
#
gRegorLove
the chat names template is older and only takes the domain name as the parameter and builds an http link
#
gRegorLove
Good test of following redirects for now, heh
#
[tantek]
indeed πŸ™‚
[Michael_Beckwit joined the channel
#
[tantek]
aaronpk do you have any idea how this issue went so off the rails of or how to bring it back to getting IndieAuth support into Gitea? https://github.com/go-gitea/gitea/issues/3837
#
Loqi
[solderjs] #3837 Simpler UX for OAuth2 login with GitHub
#
[tantek]
or is it all just a lesson learned in needing better docs to explain IndieAuth better to developers outside the community?
#
[tantek]
I'm trying to figure out how I can help here