 So I'm, my name's Jake, I'm the president and founder of Agency Call 10 Up, and I'm going to talk a little bit about how we solve for content reuse and syndication as a common challenge we saw. So starting with problem definition here, so one thing we found in this era that some of you know may be a bit characterized by mergers, acquisitions, large media conglomerates, increasing consolidation in the media space, and even outside media in just regular newsrooms and large businesses and corporations, is that it's very common, in fact I would say it's more often the norm now not to have one website, not to have one publication, but for organizations to own multiple websites, multiple properties and publications, and to try to get the most out of their newsrooms, to try to get the most out of their staff, to try to spread their message, in the case of a business, as wide and far as possible, that they're often sharing and reusing content across those sites. So my incredibly complex graphic up here shows the concept that there's a major story, maybe it's a national story, maybe it's a story that has broad interest and appeal across multiple publications on one site, which becomes a canonical version of a story, and then there's copies of that story sent to multiple publications for sharing and syndication. So a couple of use cases, examples of this, looking at some of the customers we work with. So one of our customers is Main Today Media, they own the Portland Herald Press, which is the one you see on the left, as well as centralmain.com, which is a, they're sort of digital front, they're sort of targeting a newer audience, a newer generation with a slightly different brand, share a lot of assets between those two sites. One of the things that they commonly do across those two sites is share a lot of content. It's not all content is shared between the two sites, there's unique content on each property, but there's a lot of crossover in content, so you can see on the right side in Central Main, they have published a story that is actually canonically from Portland Herald Press on the left, and you can see, it's a little bit small I know on the screen, but the author on the centralmain version is actually a direct reference to the Portland Press Herald, which links directly back to that site. Common example we see in media publishing. Another common example we see working with a lot of large corporations, with a lot of large startups, a lot of large digital businesses, is they have newsrooms. They are effectively publishers as well, telling stories across multiple channels. In that space, one of the common characterizations we see is that they have multiple channels, sometimes in the case of a client of, like, say, Microsoft or Facebook, they have individual properties, each of which have their own newsrooms, each of which have their own story centers, sometimes they need to broadcast news that's been shared on the main corporate site, sometimes that news needs to make its way to a main news channel. In the case of Uber, in their blog network, they have blogs and channels targeting every single city as individual sites. They also have state level, they have regional level, and they're oftentimes publishing content that they want to send some version of to a number of cities that might be in a state, to a number of cities in a region, or sometimes even across their entire network of sites, if it's major news. There are also businesses whose entire purpose for being, like, say, the Associated Press or Press Association, is to distribute news, information and content to other channels. So, example of this that we've been working with lately, there's a company called Bloomjoy, they specialize in basically lifestyle, entertainment, stories in that sort of special interest space, and their entire business model is creating content that doesn't live on their own sites. They actually send out and distribute and syndicate to a whole network of publications, Huffington Post, you name it, to reuse their content. A couple other just quick examples. So, reusing just lies pages on your site, reusing content across multiple sites, common example of this, whether it's the about this corporation page, whether it's something like a privacy policy for GDPR, there's often a lot of evergreen content that may be updated frequently, may change over time, but is shared across a whole network of properties and reused over and over again. Another iteration of this problem is sometimes it's okay to just preview changes to an article or have a preview link, there's solutions for that in platforms like WordPress, but sometimes you need to stage a whole number of changes. There's ten different pages on your site you want to publish. You're about to post a whole series of stories and you have ten different articles that you want to publish all at once, all of which are carefully curated and designed. So being able to prepare a whole series of content, published, totally viewable, interconnected on one site, and then push that out all at once to a production site or a live site. Blogger networks cultivating and sharing, so networks of small or local publications or just special interests in blogs, they really want to promote a way for them to share content and promote each other's content and stories. Promoting stories from partner sites and groups, we work with organizations and have consulted with organizations like CalMatters in California that work with large journalistic institutions and want a good way and a relatively intuitive way to share their content out to be able to help publish their content and socialize their content on other sites. So after having solved this iterations, variations of this problem over and over again for a number of different customers, we had that moment of, like, wait, this is ridiculous. We may be reusing some tools, we may be reusing some of this technology, but we're doing this thing over and over again. We're getting asked over and over again about this. There's got to be a better way to do this. Surveyed the landscape, didn't feel great about the solutions that were out there, and so we decided to take our own stab at a solution that would not just help us, not just charge every customer for doing this over and over again, but could help our community solve. But we see, especially for publishing in media, as a significant gap in the ecosystem of the tool set, and we call that solution Distributor. So Distributor is a WordPress plugin that makes it easy to syndicate and reuse content across your website, whether in a single WordPress multi-site or across the web using technologies like the REST API. So one of the things that's very near and dear to our heart and our origin and our ethos at TenUp is this notion of user experience being first. We even describe engineering as a function of user experience. We say things like the worst user experience is a solution or a site that crashes, or a site that doesn't load, or something that doesn't work reliably when you press the button. But user interface, user experience is very central to how we think about the problems that we're trying to solve. So for us, when we looked at other solutions, and there were some out there, it's not that there weren't well technically architected solutions, it's not in some cases that there weren't interesting takes, some of which we took inspiration from in open source of solving this, but we really felt like what was lacking was a human-centric, a user experience design that really made this problem compelling, that made it feel like this wasn't painful to do, this wasn't unintuitive to do, but was in some ways an obvious way to solve this problem. So we put a lot of effort into carefully crafting a user interface that makes it quick and intuitive to push content to other sites, whether you're in the interface editing a story and deciding you want to share it, or whether you're on the front end of the site and you stumble across with that admin bar at the top, you stumble across a story you want to share. You can see it zoomed in here a little bit. So when you're browsing the site, if you're logged in with rights to share to other sites, and you stumble across a story, you get this little distributor item at the top in the admin bar, same menu appears if you're in any content type that you're editing in the admin, and it presents to you all the sites that you as an individual user have access to share content to, presents them all in this interface, gives you the choice to say just push this live or send it as a draft, I'll publish this later, or maybe I want to make some changes before I publish it. If there's more than I think a half dozen sites, it gives you a search box, you can quickly search and filter through the sites. It'll show you very obviously if it's a site that it's already been sent to to go and preview it. There's that again. So you can both have two modes, you can push to sites where you have permission, that's the looking at the article and saying send it over here. We also have an interface where you can peruse content in sites where you have permission and an established connection. So if you're going the other direction, you want to browse what your partners might have available for content, you want to see what's available to reuse. You can also pretty quickly scan those, you can shove it over and say skip this, I'm never interested in this story, get it out of the way, you can go ahead and pull it over into the site. It's not just text, we pull everything over when you share an article, we bring over metadata that's inside the story where we can, we correct the metadata, so for example like a featured image ID reference will fix, we bring over categories and taxonomy information, we even bring over media if you choose to into the remote site. One of the important features we thought to make this intuitive, to make this a more obvious solution, is that the plugin on both ends is information architecture aware. What that means is when you go to say I want to push this story, it checks the sites that are available that you have permission to push to and determines which of them support that content type. So most WordPress sites have posts on both ends and pages, that's pretty obvious, but let's say you have a custom post type like tickets for an event, or a custom post type like events, which is a common one that we see people sharing and wanting to share, it will actually actively check before it offers any sites to send it to that it also supports that content type and it's been registered and won't even present that site if it doesn't support that kind of content. So distributed copies receive updates from the original, so automatically when the original gets updated it knows all of the places where the story's been shared, it automatically shares out an updated copy, that's metadata, that's the post, that's the featured image, that's everything associated with the story and pulls it over from the canonical version. You can, if you can see that little, I think I've zoomed in version, see that little warring at the top, so when you go into the post, as you see on the screen, everything except the ability to like unpublish it and remove it is grayed out. You can't touch the story, it's very clear, this is a locked story. Gives you a little alert at the top, it tells you where it's from, you can click that link and go back and see the original version, lets you know this is gonna update and you can choose to, if you want to, choose an option to unlink it from the original story. So if your workflow is more like the version of the story but now I want to edit it, I want to change some of the text, I want to change some of the references, you can do that, you can also, if you realize you no longer want the edited version, if you realize it's telling you that the original story's been updated, you can also revert that back and restore the original connection, all of that's saved in the revision history like any other revision. So like I said, it works in two modes, if you have a multi-site, it's one common modality we see, two in that network, as an editor or an author or a writer, it also works entirely across the web using the REST API so you can set up and establish connections inside the plugin using a few different authentication methods including WordPress.com, API and OAuth access, you can set up connections entirely across the web so you can have websites that are not connected under a multi-site served, hosted, some are completely different and still create connections and share content. Is Gutenberg ready? All plugins, all modules, 10-up releases going forward, have Gutenberg support built in. It works, chose the messages and alerts, tells you over there on the sidebar, just like on the regular admin screen, when it was distributed, where it came from. We've solved for a number of problems having to do like you're sending from classic editor to Gutenberg, you're sending Gutenberg blocks to the classic editor, you're sending blocks that might not exist on the remote site, but a lot of effort was put into it. Search engine optimized, so this is one of those things that you only have to do once, get wrong once to realize that canonical meta tags are important, so it automatically handles things like canonical references under the hoods, you don't get an SEO penalty for sharing and replicating content, those get maintained. It's integrated with popular plugins like Yoast, so it overrides and interacts with its filters to make sure references are properly handled and it will even do things out of the box with reference to link back to the original site rather than trying to link to an author that might not exist on the remote site. Like all good plugins and WordPress itself, it's designed to be extended, we have hooks, filters throughout this for custom workflows, we've seen a lot of interesting examples of custom workflows, made it very easy to support things based on early feedback like I want to automatically send to these 10 sites every time I publish a story, if I put it in this category, send it to this site, we have customers who have some social integration, they really override the logic and the handling if it's a syndicated or reshared post for how it goes out to Twitter or Facebook and how it attributes the original source. It even has a modular connection type, so one of the things we're excited about with Distributor that we see as an opportunity for us is you can build connection types that you can create to other CMSs, to just AP feeds, to RSS feeds, so you can really extend this plug and out and you take advantage of its interface to interact with other CMSs or platforms using it as a starting point. For those of you that are either using the WordPress.com VIP platform or for whom this means something to you, we've gone through a whole process of vetting it with them to work inside both the WordPress.com infrastructure and the newer infrastructure, it's running on several sites in that infrastructure and supports their OAuth mechanisms. Lots of ideas on our roadmap, additional ways to authenticate across the REST API, one of the things we're really starting to experiment now with some of our publishers is this notion of takedown support, so thinking through different workflows when you delete a post, do you want to keep remote copies that are forked to actually issue a takedown and say, get rid of any version of the story forked, un-forked as a copy, take the story and all of its media down, being able to compare different versions more easily between forked and original canonical versions of stories, smarter handling of taxonomies and categories, more sophisticated versions around whether you want to pull over media or use the original versions of media so you're not recreating it, tighter integration with popular plugins so that it's aware of changing ID references or things like co-authors plus and popular solutions that do funny things in Meta to make sure it supports those out of the box. So that's Distributor plugin. DistributorPlugin.com is the site. Go download it there. We have little handouts at our booth table if you can't remember that URL. And that's my talk. All right. Thank you.