{"id":3535,"date":"2018-01-25T11:28:26","date_gmt":"2018-01-25T11:28:26","guid":{"rendered":"https:\/\/nextcloud.com\/?p=3535"},"modified":"2018-01-25T11:28:26","modified_gmt":"2018-01-25T11:28:26","slug":"activitypub-the-new-standard-for-decentralized-networks","status":"publish","type":"post","link":"https:\/\/staging.nextcloud.com\/da\/blog\/activitypub-the-new-standard-for-decentralized-networks\/","title":{"rendered":"ActivityPub: the new standard for decentralized networks"},"content":{"rendered":"<p>Today, the World Wide Web gained a new standard: <a href=\"https:\/\/www.w3.org\/TR\/activitypub\/\" rel=\"noopener\" target=\"_blank\">ActivityPub.<\/a> The recommendation has been published by the responsible W3C workgroup after 3 years of work, started in no small part by Christopher Lemmer Webber, founder of the Mediagoblin project. Nextcloud uses ActivityPub, implementing it to handle Activity federation between servers, crucial for our <a href=\"https:\/\/nextcloud.com\/globalscale\" rel=\"noopener\" target=\"_blank\">Global Scale architecture.<\/a><\/p>\n<blockquote><p>And indeed, you may already be using ActivityPub now without realizing it.<\/p><\/blockquote>\n<p>&#8211;Christopher Lemmer Webber<\/p>\n<h2>Nextcloud and ActivityPub<\/h2>\n<p>Nextcloud implements ActivityPub to inform users about changes to their files, new calendar and so on between users on different Nextcloud servers since Nextcloud 12. This makes ActivityPub part of what makes <a href=\"https:\/\/nextcloud.com\/globalscale\" rel=\"noopener\" target=\"_blank\">Nextcloud Global Scale work!<\/a><\/p>\n<p><iframe loading=\"lazy\" width=\"560\" height=\"315\" src=\"https:\/\/www.youtube-nocookie.com\/embed\/I5wcLS9xxMw\" frameborder=\"0\" allow=\"autoplay; encrypted-media\" allowfullscreen><\/iframe><\/p>\n<p>The Activity app which implements ActivityPub will continue to be improved, as its role has expanded over the years to inform users about a lot of things beyond file changes. Its core developer, Joas, <a href=\"https:\/\/www.schilljs.com\/2018\/01\/10\/nextcloud-2018.html\" rel=\"noopener\" target=\"_blank\">blogged earlier about his todo list for the year,<\/a> including changes to the Activity App.<\/p>\n<div id=\"attachment_3536\" style=\"width: 310px\" class=\"wp-caption alignright\"><img decoding=\"async\" aria-describedby=\"caption-attachment-3536\" src=\"https:\/\/nextcloud.com\/media\/tutorial-2-300x141.png\" alt=\"\" width=\"300\" height=\"141\" class=\"size-medium wp-image-3536\" \/><p id=\"caption-attachment-3536\" class=\"wp-caption-text\">Illustration of how ActivityPub works from W3.org<\/p><\/div>\n<h2>What is ActivityPub<\/h2>\n<p>The origins of ActivityPub trace back to microblogging technology StatusNet, the former Laconia which was first widely implemented at identi.ca. Identi.ca has since migrated to pump.io, the successor to OStatus and the protocol it implements is essentially the base of ActivityPub. Evan Prodromou, the original author of Laconia and pump.io, designed the new protocol to use Activity Streams for commands and transfer data via a simple REST inbox API. The best place to get started to learn more about the protocol is on <a href=\"https:\/\/www.w3.org\/TR\/activitypub\/#Overview\" rel=\"noopener\" target=\"_blank\">the W3.org website.<\/a><\/p>\n<p>Christopher Lemmer Webber <a href=\"https:\/\/www.fsf.org\/blogs\/community\/victory-for-libre-networks-activitypub-is-now-a-w3c-recommended-standard\" rel=\"noopener\" target=\"_blank\">wrote a guest post<\/a> on the Free Software Foundation blog explaining some history and features of the protocol. It provides a server-server protocol for federation and a client-server protocol for users to connect to a server. The core idea of ActivityPub is to bring together decentralized social networks, gaining critical user mass while keeping data on separate servers.<\/p>\n<p>The popular Twitter alternative Mastodon is a prominent user, same goes for Mediagoblin which aims more at sharing photos and videos. And, then, Nextcloud of course!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Today, the World Wide Web gained a new standard: ActivityPub. The recommendation has been published by the responsible W3C workgroup after 3 years of work, started in no small part by Christopher Lemmer Webber, founder of the Mediagoblin project. Nextcloud uses ActivityPub, implementing it to handle Activity federation between servers, crucial for our Global Scale [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":3536,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[11,6,15],"tags":[],"class_list":["post-3535","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog","category-community","category-federation"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>ActivityPub: the new standard for decentralized networks - Nextcloud<\/title>\n<meta name=\"robots\" content=\"noindex, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<meta property=\"og:locale\" content=\"da_DK\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"ActivityPub: the new standard for decentralized networks - Nextcloud\" \/>\n<meta property=\"og:description\" content=\"Today, the World Wide Web gained a new standard: ActivityPub. The recommendation has been published by the responsible W3C workgroup after 3 years of work, started in no small part by Christopher Lemmer Webber, founder of the Mediagoblin project. Nextcloud uses ActivityPub, implementing it to handle Activity federation between servers, crucial for our Global Scale [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/staging.nextcloud.com\/da\/blog\/activitypub-the-new-standard-for-decentralized-networks\/\" \/>\n<meta property=\"og:site_name\" content=\"Nextcloud\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Nextclouders\/\" \/>\n<meta property=\"article:published_time\" content=\"2018-01-25T11:28:26+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/staging.nextcloud.com\/wp-content\/uploads\/2018\/01\/tutorial-2.png\" \/>\n\t<meta property=\"og:image:width\" content=\"765\" \/>\n\t<meta property=\"og:image:height\" content=\"360\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Jos Poortvliet\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@nextclouders\" \/>\n<meta name=\"twitter:site\" content=\"@nextclouders\" \/>\n<meta name=\"twitter:label1\" content=\"Skrevet af\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jos Poortvliet\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimeret l\u00e6setid\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutter\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/staging.nextcloud.com\/da\/blog\/activitypub-the-new-standard-for-decentralized-networks\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/staging.nextcloud.com\/da\/blog\/activitypub-the-new-standard-for-decentralized-networks\/\"},\"author\":{\"name\":\"Jos Poortvliet\",\"@id\":\"https:\/\/staging.nextcloud.com\/da\/#\/schema\/person\/061c9fde0989e7d5630a97b67cce52ee\"},\"headline\":\"ActivityPub: the new standard for decentralized networks\",\"datePublished\":\"2018-01-25T11:28:26+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/staging.nextcloud.com\/da\/blog\/activitypub-the-new-standard-for-decentralized-networks\/\"},\"wordCount\":361,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/staging.nextcloud.com\/da\/#organization\"},\"image\":{\"@id\":\"https:\/\/staging.nextcloud.com\/da\/blog\/activitypub-the-new-standard-for-decentralized-networks\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/staging.nextcloud.com\/wp-content\/uploads\/2018\/01\/tutorial-2.png\",\"articleSection\":[\"Blog\",\"Community\",\"federation\"],\"inLanguage\":\"da-DK\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/staging.nextcloud.com\/da\/blog\/activitypub-the-new-standard-for-decentralized-networks\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/staging.nextcloud.com\/da\/blog\/activitypub-the-new-standard-for-decentralized-networks\/\",\"url\":\"https:\/\/staging.nextcloud.com\/da\/blog\/activitypub-the-new-standard-for-decentralized-networks\/\",\"name\":\"ActivityPub: the new standard for decentralized networks - Nextcloud\",\"isPartOf\":{\"@id\":\"https:\/\/staging.nextcloud.com\/da\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/staging.nextcloud.com\/da\/blog\/activitypub-the-new-standard-for-decentralized-networks\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/staging.nextcloud.com\/da\/blog\/activitypub-the-new-standard-for-decentralized-networks\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/staging.nextcloud.com\/wp-content\/uploads\/2018\/01\/tutorial-2.png\",\"datePublished\":\"2018-01-25T11:28:26+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/staging.nextcloud.com\/da\/blog\/activitypub-the-new-standard-for-decentralized-networks\/#breadcrumb\"},\"inLanguage\":\"da-DK\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/staging.nextcloud.com\/da\/blog\/activitypub-the-new-standard-for-decentralized-networks\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"da-DK\",\"@id\":\"https:\/\/staging.nextcloud.com\/da\/blog\/activitypub-the-new-standard-for-decentralized-networks\/#primaryimage\",\"url\":\"https:\/\/staging.nextcloud.com\/wp-content\/uploads\/2018\/01\/tutorial-2.png\",\"contentUrl\":\"https:\/\/staging.nextcloud.com\/wp-content\/uploads\/2018\/01\/tutorial-2.png\",\"width\":765,\"height\":360,\"caption\":\"Illustration of how ActivityPub works from W3.org\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/staging.nextcloud.com\/da\/blog\/activitypub-the-new-standard-for-decentralized-networks\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/staging.nextcloud.com\/da\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"ActivityPub: the new standard for decentralized networks\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/staging.nextcloud.com\/da\/#website\",\"url\":\"https:\/\/staging.nextcloud.com\/da\/\",\"name\":\"Nextcloud\",\"description\":\"Regain control over your data\",\"publisher\":{\"@id\":\"https:\/\/staging.nextcloud.com\/da\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/staging.nextcloud.com\/da\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"da-DK\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/staging.nextcloud.com\/da\/#organization\",\"name\":\"Nextcloud\",\"url\":\"https:\/\/staging.nextcloud.com\/da\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"da-DK\",\"@id\":\"https:\/\/staging.nextcloud.com\/da\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/staging.nextcloud.com\/c\/uploads\/2022\/10\/nextcloud-logo-blue-transparent.svg\",\"contentUrl\":\"https:\/\/staging.nextcloud.com\/c\/uploads\/2022\/10\/nextcloud-logo-blue-transparent.svg\",\"width\":\"1024\",\"height\":\"1024\",\"caption\":\"Nextcloud\"},\"image\":{\"@id\":\"https:\/\/staging.nextcloud.com\/da\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/Nextclouders\/\",\"https:\/\/x.com\/nextclouders\",\"https:\/\/www.linkedin.com\/company\/10827569\/\",\"https:\/\/youtube.com\/nextcloud\",\"https:\/\/www.instagram.com\/nextclouders\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/staging.nextcloud.com\/da\/#\/schema\/person\/061c9fde0989e7d5630a97b67cce52ee\",\"name\":\"Jos Poortvliet\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"da-DK\",\"@id\":\"https:\/\/staging.nextcloud.com\/da\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/1c6de64891ee8c4902e1ac198f26ea5fb202d8bbaa7bce35b6a184610bbe4a3d?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/1c6de64891ee8c4902e1ac198f26ea5fb202d8bbaa7bce35b6a184610bbe4a3d?s=96&d=mm&r=g\",\"caption\":\"Jos Poortvliet\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"ActivityPub: the new standard for decentralized networks - Nextcloud","robots":{"index":"noindex","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"og_locale":"da_DK","og_type":"article","og_title":"ActivityPub: the new standard for decentralized networks - Nextcloud","og_description":"Today, the World Wide Web gained a new standard: ActivityPub. The recommendation has been published by the responsible W3C workgroup after 3 years of work, started in no small part by Christopher Lemmer Webber, founder of the Mediagoblin project. Nextcloud uses ActivityPub, implementing it to handle Activity federation between servers, crucial for our Global Scale [&hellip;]","og_url":"https:\/\/staging.nextcloud.com\/da\/blog\/activitypub-the-new-standard-for-decentralized-networks\/","og_site_name":"Nextcloud","article_publisher":"https:\/\/www.facebook.com\/Nextclouders\/","article_published_time":"2018-01-25T11:28:26+00:00","og_image":[{"width":765,"height":360,"url":"https:\/\/staging.nextcloud.com\/wp-content\/uploads\/2018\/01\/tutorial-2.png","type":"image\/png"}],"author":"Jos Poortvliet","twitter_card":"summary_large_image","twitter_creator":"@nextclouders","twitter_site":"@nextclouders","twitter_misc":{"Skrevet af":"Jos Poortvliet","Estimeret l\u00e6setid":"2 minutter"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/staging.nextcloud.com\/da\/blog\/activitypub-the-new-standard-for-decentralized-networks\/#article","isPartOf":{"@id":"https:\/\/staging.nextcloud.com\/da\/blog\/activitypub-the-new-standard-for-decentralized-networks\/"},"author":{"name":"Jos Poortvliet","@id":"https:\/\/staging.nextcloud.com\/da\/#\/schema\/person\/061c9fde0989e7d5630a97b67cce52ee"},"headline":"ActivityPub: the new standard for decentralized networks","datePublished":"2018-01-25T11:28:26+00:00","mainEntityOfPage":{"@id":"https:\/\/staging.nextcloud.com\/da\/blog\/activitypub-the-new-standard-for-decentralized-networks\/"},"wordCount":361,"commentCount":0,"publisher":{"@id":"https:\/\/staging.nextcloud.com\/da\/#organization"},"image":{"@id":"https:\/\/staging.nextcloud.com\/da\/blog\/activitypub-the-new-standard-for-decentralized-networks\/#primaryimage"},"thumbnailUrl":"https:\/\/staging.nextcloud.com\/wp-content\/uploads\/2018\/01\/tutorial-2.png","articleSection":["Blog","Community","federation"],"inLanguage":"da-DK","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/staging.nextcloud.com\/da\/blog\/activitypub-the-new-standard-for-decentralized-networks\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/staging.nextcloud.com\/da\/blog\/activitypub-the-new-standard-for-decentralized-networks\/","url":"https:\/\/staging.nextcloud.com\/da\/blog\/activitypub-the-new-standard-for-decentralized-networks\/","name":"ActivityPub: the new standard for decentralized networks - Nextcloud","isPartOf":{"@id":"https:\/\/staging.nextcloud.com\/da\/#website"},"primaryImageOfPage":{"@id":"https:\/\/staging.nextcloud.com\/da\/blog\/activitypub-the-new-standard-for-decentralized-networks\/#primaryimage"},"image":{"@id":"https:\/\/staging.nextcloud.com\/da\/blog\/activitypub-the-new-standard-for-decentralized-networks\/#primaryimage"},"thumbnailUrl":"https:\/\/staging.nextcloud.com\/wp-content\/uploads\/2018\/01\/tutorial-2.png","datePublished":"2018-01-25T11:28:26+00:00","breadcrumb":{"@id":"https:\/\/staging.nextcloud.com\/da\/blog\/activitypub-the-new-standard-for-decentralized-networks\/#breadcrumb"},"inLanguage":"da-DK","potentialAction":[{"@type":"ReadAction","target":["https:\/\/staging.nextcloud.com\/da\/blog\/activitypub-the-new-standard-for-decentralized-networks\/"]}]},{"@type":"ImageObject","inLanguage":"da-DK","@id":"https:\/\/staging.nextcloud.com\/da\/blog\/activitypub-the-new-standard-for-decentralized-networks\/#primaryimage","url":"https:\/\/staging.nextcloud.com\/wp-content\/uploads\/2018\/01\/tutorial-2.png","contentUrl":"https:\/\/staging.nextcloud.com\/wp-content\/uploads\/2018\/01\/tutorial-2.png","width":765,"height":360,"caption":"Illustration of how ActivityPub works from W3.org"},{"@type":"BreadcrumbList","@id":"https:\/\/staging.nextcloud.com\/da\/blog\/activitypub-the-new-standard-for-decentralized-networks\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/staging.nextcloud.com\/da\/"},{"@type":"ListItem","position":2,"name":"ActivityPub: the new standard for decentralized networks"}]},{"@type":"WebSite","@id":"https:\/\/staging.nextcloud.com\/da\/#website","url":"https:\/\/staging.nextcloud.com\/da\/","name":"Nextcloud","description":"Regain control over your data","publisher":{"@id":"https:\/\/staging.nextcloud.com\/da\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/staging.nextcloud.com\/da\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"da-DK"},{"@type":"Organization","@id":"https:\/\/staging.nextcloud.com\/da\/#organization","name":"Nextcloud","url":"https:\/\/staging.nextcloud.com\/da\/","logo":{"@type":"ImageObject","inLanguage":"da-DK","@id":"https:\/\/staging.nextcloud.com\/da\/#\/schema\/logo\/image\/","url":"https:\/\/staging.nextcloud.com\/c\/uploads\/2022\/10\/nextcloud-logo-blue-transparent.svg","contentUrl":"https:\/\/staging.nextcloud.com\/c\/uploads\/2022\/10\/nextcloud-logo-blue-transparent.svg","width":"1024","height":"1024","caption":"Nextcloud"},"image":{"@id":"https:\/\/staging.nextcloud.com\/da\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/Nextclouders\/","https:\/\/x.com\/nextclouders","https:\/\/www.linkedin.com\/company\/10827569\/","https:\/\/youtube.com\/nextcloud","https:\/\/www.instagram.com\/nextclouders\/"]},{"@type":"Person","@id":"https:\/\/staging.nextcloud.com\/da\/#\/schema\/person\/061c9fde0989e7d5630a97b67cce52ee","name":"Jos Poortvliet","image":{"@type":"ImageObject","inLanguage":"da-DK","@id":"https:\/\/staging.nextcloud.com\/da\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/1c6de64891ee8c4902e1ac198f26ea5fb202d8bbaa7bce35b6a184610bbe4a3d?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1c6de64891ee8c4902e1ac198f26ea5fb202d8bbaa7bce35b6a184610bbe4a3d?s=96&d=mm&r=g","caption":"Jos Poortvliet"}}]}},"featured_media_url":"https:\/\/staging.nextcloud.com\/wp-content\/uploads\/2018\/01\/tutorial-2.png","_links":{"self":[{"href":"https:\/\/staging.nextcloud.com\/da\/wp-json\/wp\/v2\/posts\/3535","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/staging.nextcloud.com\/da\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/staging.nextcloud.com\/da\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/staging.nextcloud.com\/da\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/staging.nextcloud.com\/da\/wp-json\/wp\/v2\/comments?post=3535"}],"version-history":[{"count":0,"href":"https:\/\/staging.nextcloud.com\/da\/wp-json\/wp\/v2\/posts\/3535\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/staging.nextcloud.com\/da\/wp-json\/wp\/v2\/media\/3536"}],"wp:attachment":[{"href":"https:\/\/staging.nextcloud.com\/da\/wp-json\/wp\/v2\/media?parent=3535"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/staging.nextcloud.com\/da\/wp-json\/wp\/v2\/categories?post=3535"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/staging.nextcloud.com\/da\/wp-json\/wp\/v2\/tags?post=3535"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}