@reiver ⊼ (Charles) :batman:

c2pa

Hmmm... C2PA uses JSON-LD.

#C2PA #JSONLD

洪 民憙 (Hong Minhee)

My stance on #ActivityPub's adoption of JSON-LD: Since we've already decided to use JSON-LD, I hope we do it properly. However, if we hadn't used JSON-LD from the beginning, things would have been much less complicated.

#JSONLD #fedidev

Marie Muller

📣 Appel à candidatures #SemWebPro !

La conférence semweb.pro est LA journée annuelle de présentations et de rencontres dédiées au #webSémantique dans le monde professionnel 🤓

Elle a lieu chaque année à Paris 📍

Le comité de programme souhaite intégrer de nouveaux membres ! Vous nous rejoignez ?

Candidature avant le 30 avril à contact@semweb.pro 📧

#semweb #websem #linkeddata #linkedopendata #knowledgegraph #thesaurus #ontology #RDF #SPARQL #SHACL #OWL #JSONLD

@semwebpro @logilab

Apr 11, 2025, 11:07 · · · 1 · 0
Marcel Otto

🚀 New Releases! Along with the roadmap update, I'm happy to announce:

- JSON-LD.ex v1.0 with JSON-LD 1.1 support
- RDF.ex v2.1 with rdf:JSON literal support
- Grax v0.6 with a new JSON type and support for ordered lists based on rdf:List

These updates lay groundwork for the DID implementation and future developments. Please refer to the respective CHANGELOGs for a comprehensive list of the changes.

#rdf #jsonld #elixir #myelixirstatus

@reiver ⊼ (Charles) :batman:

Currently, the way I am determining if content is valid ActivityPub / ActivityStreams content is —

№1:

Determining if it is valid JSON.

№2:

Checking if it has a "type" field.

And that is it.

#ActivityPub #ActivityStreams #DeSo #FediDev #FediDevs #Fediverse #JSONLD

@reiver ⊼ (Charles) :batman:

Dealing with JSON-LD would be easier in many ways if everything was defined inline.

Rather than having to get the content from a URL in the context, parse it, etc.

#ActivityPub #ActivityStreams #DeSo #FediDev #FediDevs #Fediverse #JSONLD

@reiver ⊼ (Charles) :batman:

3/

ActivityPub & ActivityStreams are based on JSON-LD — a format that is not (non-programmer) human-legible & human-writable

Maybe we need an alternative way of encoding ActivityPub & ActivityStreams in situations where (non-programmer) humans might read it or write it

Maybe the INI file data format? Or something else that is friendly to (non-programmer) humans?

#ActivityPub #ActivityStreams #FediDev #FediDevs #Fediverse #HumanLegible #HumanWritable #INI #JSON #JSONLD #OpenSocial #SocialWeb

@reiver ⊼ (Charles) :batman:

2/

I agree that an open protocol is better and more important than just an application.

But I also think that an open file data format is better and more important than just an open protocol.

I.e.,:

file data format ≫ protocol ≫ app

...

#ActivityPub #ActivityStreams #FediDev #FediDevs #Fediverse #HumanLegible #HumanWritable #INI #JSON #JSONLD #OpenSocial #SocialWeb

@reiver ⊼ (Charles) :batman:

1/

JSON-LD is not (non-programmer) human-legible format because — JSON is not (non-programmer) human-legible format.

JSON-LD and JSON are both also not (non-programmer) human-writable.

...

#ActivityPub #ActivityStreams #FediDev #FediDevs #Fediverse #HumanLegible #HumanWritable #INI #JSON #JSONLD #OpenSocial #SocialWeb

@reiver ⊼ (Charles) :batman:

This feels so wasteful —

Including the same content twice — once in "content" and again in "contentMap".

#ActivityPub #ActivityStreams #FediDev #FediDevs #Fediverse #JSONLD #OpenSocial #SocialWeb

@reiver ⊼ (Charles) :batman:

9/

And just for the record —

Just like everyone else I contacted about their 'discoverable' flag being defaulted to 'false' —

He wasn't aware of the 'discoverable' flag existing (just like everyone else I contacted).

He didn't want to be hidden (just like everyone else I contacted).

He changed it to 'true' (just like everyone else I contacted).

#ActivityPub #ActivityStreams #DeSo #Discoverable #FediDev #FediDevs #Fediverse #FediverseUX #JSONLD #Mastodon #SocialWeb

Feb 18, 2025, 22:25 · · · 0 · 0
@reiver ⊼ (Charles) :batman:

8/

As it is now, I think the 'discoverable' flag is broken.

And, I think the whole user-experience (UX) around the 'discoverable' flag is poor.

And, I think Fediverse software treating a 'false' value for 'discoverable' as "not discoverable" (rather than "not discoverable" or "no choice made") has hugely negative consequences for the user-experience (UX) of the Fediverse

#ActivityPub #ActivityStreams #DeSo #Discoverable #FediDev #FediDevs #Fediverse #FediverseUX #JSONLD #Mastodon #SocialWeb

@reiver ⊼ (Charles) :batman:

7/

So now I have to DM Ben to tell him that his 'discoverable' flag is set to false

He (just like everyone else I contacted) will likely not even be aware that the 'discoverable' flag exists

And (just like everyone else I contacted) wished it wasn't set to false

And then (just like everyone else I contacted) struggle to find where he can set it to true

And then set it

#ActivityPub #ActivityStreams #DeSo #Discoverable #FediDev #FediDevs #Fediverse #FediverseUX #JSONLD #Mastodon #SocialWeb

@reiver ⊼ (Charles) :batman:

6/

As it is now, the 'discoverable' flag seems broken to me.

Because 'false' doesn't actually mean 'false'.

'false' (in practice) means both "not discoverable" and "no choice made". And this is a very unfortunate situation —

Because the idea of a 'discoverable' flag is a good idea — but this problem with the meaning of 'false' and the UX consequences a big deal.

#ActivityPub #ActivityStreams #DeSo #Discoverable #FediDev #FediDevs #Fediverse #FediverseUX #JSONLD #Mastodon #SocialWeb

@reiver ⊼ (Charles) :batman:

5/

JSON and has a 'null'. That could have been used for the 'discoverable' flag.

We could have had so that:

'discoverable' set to 'true' meant that the user explicitly chose to be discoverable.

'discoverable' set to 'false' meant that the user explicitly chose to not be discoverable.

And 'discoverable' set to 'null' meant that the user has not explicitly made a choice.

#ActivityPub #ActivityStreams #DeSo #Discoverable #FediDev #FediDevs #Fediverse #FediverseUX #JSONLD #Mastodon #SocialWeb

Feb 18, 2025, 14:56 · · · 1 · 0
@reiver ⊼ (Charles) :batman:

4/

With other conceptions, this lack of choice — this lack of setting a value — isn't as muddled.

With optional-types (which are also called "option-types" and "maybe-types") when something isn't assigned a value it is represented as 'nothing' / 'none'.

In relation-databases, this is represented as 'null'.

#ActivityPub #ActivityStreams #DeSo #Discoverable #FediDev #FediDevs #Fediverse #FediverseUX #JSONLD #Mastodon #SocialWeb

@reiver ⊼ (Charles) :batman:

3/

As it is right now, the 'discoverable' flag does not communicate whether the user actually made a 'true' or 'false' choice.

If it is 'true' we know they made a choice.

But if it is 'false' it either means the user chose 'false' or the user didn't make a choice. BUT WE CANNOT TELL THE DIFFERENCE.

#ActivityPub #ActivityStreams #DeSo #Discoverable #FediDev #FediDevs #Fediverse #FediverseUX #JSONLD #Mastodon #SocialWeb

@reiver ⊼ (Charles) :batman:

2/

There are a HUGE number of people who (unknown to them) have their 'discoverable' flags set to 'false' who —

№2:

Do NOT know that they have a 'discoverable' flag —

And do NOT know that their 'discoverable' flag was automagically set to 'false' —

And do not understand the consequence of having their 'discoverable' flag set to false.

#ActivityPub #ActivityStreams #DeSo #Discoverable #FediDev #FediDevs #Fediverse #FediverseUX #JSONLD #Mastodon #SocialWeb

@reiver ⊼ (Charles) :batman:

1/

A problem with the 'discoverable' flag (in Mastodon and any other Fediverse software that added it) is —

There are a HUGE number of people who (unknown to them) have their 'discoverable' flags set to 'false' who —

№1:

Did NOT set their 'discoverable' to 'false' themselves.

Mastodon assigned it for them without ever asking them before hand and getting consent.

#ActivityPub #ActivityStreams #DeSo #Discoverable #FediDev #FediDevs #Fediverse #FediverseUX #JSONLD #Mastodon #SocialWeb

Feb 18, 2025, 14:34 · · · 1 · 0
@reiver ⊼ (Charles) :batman:

Could ActivityPub / ActivityStreams be used to synchronize files across separate machines / computers / devices‽

I think the answer is, YES.

The inbox-outbox system could enable you to send messages between separate machines / computers / devices.

The 'messages' transfer the changed 'blocks' / 'chunks' that make up a file, notify about deletions, file creations, etc

Existing Activity Types might be sufficient to do this

#ActivityPub #ActivityStreams #FediDev #FediDevs #Fediverse #JSONLD