>Servers that do not support the 3dModel object type will reject the Activity; in this case, the 3dModel will be sent as a Link instead, containing the canonical URL of the model’s web page, and the 3D preview will not be included.
Alternatively, you can send same objects to everyone but make sure that they has content and attributedTo properties. This will allow other platforms to display them as posts even if they don't know about the 3dModel type
>Our Actor objects are just as defined in the ActivityPub standard; they are mapped to our instance Users. >Only activities from actual real users of an instance are federated
It's better to use standard types for actors. In your case Person seems to be appropriate.
@manyfold I think property-based interop is often better than type-based interop and that the former should be more popular among developers. It is easier to design new applications this way. Unfortunately, today many servers would refuse to process objects of unknown types, even if all properties needed for conversion are present. You can see how different objects are processed in this table:
@silverpill ooh thanks, I’ll read up on content and attributedTo! The standard Person is indeed the intent for the actor, I think I’ve just worded that badly :)
@manyfold@helge The choice of type depends on your priorities. Note is supported by Mastodon and other popular implementations, Document is only supported by some. Custom type will likely be rejected by almost everyone, but I think your use case justifies a new type, and generally property-based interop is worth pursuing because it will benefit everyone.
@silverpill@helge so is the general idea that instead of using a custom object type, you use a standard one (like Document) and add custom properties to it that other software can handle if they want and know how to?
@helge@silverpill ah, yes, I was looking at that table earlier! Still getting my head around the Right Way, but definitely want to do this as correctly and interopably as I can!
For domain-specific projects like Manyfold - yes, it's pragmatism vs best practice. You get better interop if you choose Note.
For general purpose implementations, it's both (and I consider microblogging services general purpose, similar to RSS feed readers). Property based approach works really well for processing incoming Create activities. If object is attributed to an actor and has content, microblogging application should display it as a post, I don't see any reason to do otherwise.
In other situations, however, type based approach is preferable: activities, tags, attachments.
Wouldn't you say that the choice of property vs type based interop is one of pragmatism vs best-practice rn? Where the pragmatic choice is the one that will make general interop increasingly harder, not easier?
"Here's my as:Document which is really something else and you can figure that out in your if-then-else constructs based on the properties"
Esp. while still lacking good solid mechanisms/practices to convey the semantics of a msg. Except hand-wavy "It's LD".