Activity Streams/Primer/Service type
The Service
type in the Activity Vocabulary is defined as Represents a service of any kind. This can be somewhat confusing, especially since the English word "service" has at least 9 different definitions (thanks @trwnh).
In the context of social network application, a Service
most often is used for server-side software implementations. Here, "server" typically means a software application that is running all the time, and is accessible over the Internet during that time.
For example, a Mastodon server that provides API access, federation protocol, and a Web interface, would be a Service
. Note that the Mastodon server has different roles, but we treat it as a single "service".
The service does not have to be a literal single piece of software running on a single computer. WordPress.com, for example, is a blog-hosting service that we could treat as a single Service
.
The generator
property of an Object
may be a Service
, although this would more likely be a Application
. Similarly, the instrument
property of an Activity
may be a service.
A Service
can also be an ActivityPub actor, in which case it has the full set of AP properties, such as inbox
, outbox
, etc.
Guidance for publishers
- Use
Service
types where an actor type can be used. - Use
Service
types forinstrument
. - Use
Service
forgenerator
, although this would more likely be anApplication
. - Don't use
Service
for other types of service (like a catering service) in Activity Streams 2.0 without careful documentation. If needed, use multi-typing to specify the type of service.
Guidance for consumers
- Treat
Service
as an Internet software service, unless otherwise defined. - Some account services use
Service
for an automated account or "bot".