Re:ActivityPub could be the future
by tambourine_man on Friday July 27, 2018 @01:35PM
(#17627644)
I don’t think XML was the reason for XMPP not catching on.
Facebook could use a format based on brainfuck and we would have to support it.
> age of JSON
Yeah, modern and shiny JSON. IT is now a subdivision of the fashion industry. Suck it up ;)
Re:ActivityPub could be the future
by PurpleRamen on Friday July 27, 2018 @11:27AM
(#17626654)
> how can you do namespaces in JSON for example?
For what is this neccessary?
Nsmespaces allow XML file formats flexible and extensible in interesting ways: each namespace is tied to an independent schema, allowing for a very natural nesting of validatable XML in arbitrary formats. The namespaces avoid name collision between XML tags from different schemas. The grandparent gave a good example of this kind of nesting.
JSON is incapable of the same kind of nesting because there are no explicit namespace to identify nested data formats and to avoid name collisions.
XML namespaces do offer some nice possibilities. But the lack of official JSON namespaces doesn't prevent you from doing something like:
{
"built_in": "value",
"org.example.my_extension": "value"
}
If you want to validate it, you might need to jump through some JSON schema hoops, of course.It seems that would make JSON likely more verbose than XML.
Re:ActivityPub could be the future
by PurpleRamen on Friday July 27, 2018 @12:24PM
(#17627121)
Yes, it's a nice option for some settings. But why is it neccessary in this context? Where there is a defined data-exchange format which would not have name collisions happen?
XMPP as an extensible protocol (it's even in the name!) relies on XML namespaces to avoid collisions between extensions. Were it to use something like JSON, extensions would all have to be aware of each other so that no naming collisions or other awkward behaviour can occur.
Damn, let's ditch all the XML protocols then, XHTML first :D
What does "age of JSON" means exactly? Those are two different technologies for different purposes.
Even if XMPP tried to move to JSON, how can you do namespaces in JSON for example?
You want ActivityPub in XMPP ? Just take Pubsub and put Atom in it, those are two stable and proven technologies, they fits perfectly (it's just one namespace in another) and with many many benefits.
Here is a news feed built on top of XMPP Pubsub https://nl.movim.eu/?node/pubsub.movim.eu/Movim, and yes there's also an Atom 1.0 feed generated from it, because it's easy to just extract the (validated) Atom content from Pubsub and put it back to a proper HTTP page.