• 0 Posts
  • 141 Comments
Joined 3 years ago
cake
Cake day: June 28th, 2023

help-circle
  • You have it mostly backwards. XML has like 40+ types that are all standardized. JSON only has the basic JS types. XML is a superset of JSON when it comes to types.

    How would you represent a double float, or binary data, or a datatime in JSON. You would have to use strings in JSON. In XML you would use the xsd:double, xsd:binary, and xsd:dateTime.

    JSON only works if you think in JavaScript. For languages with more complete / complex data systems it does not do unless you resort to the string thing.

    For your information:

    Easier to read: https://www.ibm.com/docs/en/jfsm/1.1.2.1?topic=queries-xsd-data-types

    The official spec: https://www.w3.org/TR/xmlschema-2/

    As for validation I think “right tool for the right job” is the best approach here. How do you know your validator is validating correctly? That’s the beauty of XML. Validation is part of the spec. XML is more complicated, but only because it’s more capable than json. Just like protobuf is more complicated than JSON. It’s also more complicated and not centered on JSON types.





  • It’s all about friction. As long as the user has to pick an instance they will always hesitate to pick any federated service. The average user will always choose the path of least resistance.

    Proprietary services spend a lot of time trying to reduce friction, and it works.

    The only solution I can think of would be a three part one:

    1. The main app of a federated service automatically rotates between a pool or reliable, reputable, non-extremist instances where the user can log in with an email and password.
    2. The federated service makes it trivial to migrate accounts amongst instances.
    3. the user can log into their instance threw any other instance perhaps threw oauth.

    This would of course require some federated account login system. Hard but not impossible. It could be some sort of Casandra style ring based account service where nodes are part of the ring.

    This eliminates the new user friction.

    1. Download app
    2. Sign up
    3. Login

    It works anywhere any time with corpo style low friction. You don’t need to think about instances at all till you are ready to.