{"id":7259,"date":"2019-04-14T02:00:22","date_gmt":"2019-04-14T09:00:22","guid":{"rendered":"http:\/\/softwareengineeringdaily.com\/?p=7259"},"modified":"2021-10-11T05:52:46","modified_gmt":"2021-10-11T12:52:46","slug":"podsheets-open-source-podcasting","status":"publish","type":"post","link":"https:\/\/softwareengineeringdaily.com\/2019\/04\/14\/podsheets-open-source-podcasting\/","title":{"rendered":"Podsheets: Open Source Podcasting"},"content":{"rendered":"<h2 id=\"8cc8\" class=\"graf graf--h4 graf-after--h3 graf--subtitle\"><a href=\"http:\/\/podsheets.com\">Podsheets<\/a> is a set of <a href=\"https:\/\/github.com\/crablar\/podsheets\">open source tools<\/a> for podcast hosting, publishing, ad management, community engagement, and\u00a0more.<\/h2>\n<div class=\"uiScale uiScale-ui--regular uiScale-caption--regular u-flexCenter u-marginVertical24 u-fontSize15 js-postMetaLockup\">\n<div class=\"u-flex0\">\n<p id=\"f2d3\" class=\"graf graf--p graf-after--h4\">Podsheets is influenced by our experience managing Software Engineering Daily, a full-time podcast business.<\/p>\n<p id=\"346f\" class=\"graf graf--p graf-after--p\">Software Engineering Daily is a podcast that airs 5 times per week. With 4 ads per show and 50 business weeks per year, we have 1000 podcast ads that we manage per year. Podcast ad sales is an inefficient market, and the tooling around managing ads for the individual podcaster is poor.<\/p>\n<p id=\"95e5\" class=\"graf graf--p graf-after--p\">Difficulties in the podcast ecosystem also exist for new podcasters. It is still very confusing to get started as a podcaster. Podcasting should be as easy as blogging but remains far from it.<\/p>\n<p id=\"f054\" class=\"graf graf--p graf-after--p\">Podsheets serves the use cases of all podcasters\u200a\u2014\u200afrom beginners to full-time professionals.<\/p>\n<p id=\"68b1\" class=\"graf graf--p graf-after--p\">In this document, we outline the landscape of podcasting. We describe the major corporate players, the workflow of a podcaster, and the mechanics of running a podcast business.<\/p>\n<p id=\"09d5\" class=\"graf graf--p graf-after--p\">Next, we present Podsheets, a set of open source tools for podcasters.<\/p>\n<p id=\"30c1\" class=\"graf graf--p graf-after--p\">Finally, we give our predictions for how the media landscape will shift in the coming years, creating a need for more open source media publishing tools.<\/p>\n<h3 id=\"bc2f\" class=\"graf graf--h3 graf-after--p\">The State of Podcasting<\/h3>\n<p id=\"6c94\" class=\"graf graf--p graf-after--h3\">Podcasting has been having a renaissance over the last five years.<\/p>\n<p id=\"4432\" class=\"graf graf--p graf-after--p\">In 2014, the launch of Serial coincided with improvements to cellular bandwidth in the US. It was now possible to stream podcasts from your phone easily and cheaply. There was great content to listen to, and the improved infrastructure made it listenable.<\/p>\n<p id=\"4591\" class=\"graf graf--p graf-after--p\">Still, podcasting remained in a fractured stalemate for five years after the launch of Serial. This was due to the fact that Apple had first-mover advantage as the dominant podcast index, but Apple opted not to capitalize on that fact. This is understandable, as Apple\u2019s core competency is futuristic hardware, and its resources are allocated to business lines such as self-driving cars and augmented reality glasses.<\/p>\n<p id=\"6cb3\" class=\"graf graf--p graf-after--p\">In 2019, Spotify acquired Gimlet (a source of premium podcast content) and Anchor (the most popular, simplest podcast host).\u00a0<span class=\"markup--quote markup--p-quote is-other\" data-creator-ids=\"81463f02d1da\">Spotify is making a play at consolidating the market of podcasting. Spotify has a clear path to becoming the \u201cYouTube of podcasts\u201d, which we should all celebrate as a long time coming.<\/span><\/p>\n<p id=\"b008\" class=\"graf graf--p graf-after--p\">At the same time, we recognize the hunger for decentralized media platforms. The centralization of video content within YouTube has driven conspiracy theory, ad fraud, and other problems that are difficult for a centralized player to solve. These problems manifest for text as well, and Twitter CEO Jack Dorsey has spoken enthusiastically about the potential for blockchain technology to improve trust for applications such as Twitter.<\/p>\n<p id=\"1e16\" class=\"graf graf--p graf-after--p\">Podcasts have suffered and benefited from the lack of centralization. As the podcast world swings towards a centralized marketplace, there is a need for a countermovement towards open, decentralized infrastructure.<\/p>\n<h3 id=\"3281\" class=\"graf graf--h3 graf-after--p\">The Players<\/h3>\n<p id=\"131b\" class=\"graf graf--p graf-after--h3\">Below is an overview of the types of players in the podcasting ecosystem.<\/p>\n<p id=\"a759\" class=\"graf graf--p graf-after--p\">Today\u2019s ecosystem is fragmented and messy. The line between podcast networks, ad agencies, and production studios is blurry.<\/p>\n<h4 id=\"78c6\" class=\"graf graf--h4 graf-after--p\">Podcasters<\/h4>\n<p id=\"03a1\" class=\"graf graf--p graf-after--h4\">Individual podcasters range from small, unmonetized podcasts to individuals with millions of listeners.<\/p>\n<p id=\"9ef4\" class=\"graf graf--p graf-after--p\">The staff for an individual podcaster may include ad sales, editing, scheduling, and technical operations such as website management. The individual podcaster might hire these people on full- or part-time basis.<\/p>\n<p id=\"2bf7\" class=\"graf graf--p graf-after--p\">To sell ads, a podcaster often works with a podcast ad agency. The podcaster might join a podcast network to consolidate inventory with other podcasters.<\/p>\n<p id=\"4ca1\" class=\"graf graf--p graf-after--p\">Some podcasts, such as Software Engineering Daily, manage all their ad sales in-house. This requires demanding sales activities such as prospecting, account management, close management, and client services.<\/p>\n<h4 id=\"1dc6\" class=\"graf graf--h4 graf-after--p\">Podcast Production Studios<\/h4>\n<p id=\"9b58\" class=\"graf graf--p graf-after--h4\">NPR, Gimlet, and Vox Media are examples of podcast production studios. These companies own physical studio space to produce high quality audio content on a regular basis.<\/p>\n<h4 id=\"14f5\" class=\"graf graf--h4 graf-after--p\">Podcast Networks<\/h4>\n<p id=\"3e6d\" class=\"graf graf--p graf-after--h4\">Earwolf, Nerdist, and Podcast One are examples of podcast networks. A podcast network combines the inventory available across multiple podcasts in order to sell more efficiently to advertisers.<\/p>\n<h4 id=\"d77d\" class=\"graf graf--h4 graf-after--p\">Spotify<\/h4>\n<p id=\"7ae2\" class=\"graf graf--p graf-after--h4\">Spotify is perfectly positioned to become the YouTube of podcasts.<\/p>\n<p id=\"887a\" class=\"graf graf--p graf-after--p\">With its acquisition of Anchor, Spotify has a real chance at capturing the creation, distribution, hosting, and automated monetization of podcasts.<\/p>\n<p id=\"bd01\" class=\"graf graf--p graf-after--p\">With its acquisition of Gimlet Media, Spotify gains high quality content, established production processes, and sales teams. Gimlet was co-founded by Alex Blumberg, whose roots in NPR give Spotify knowledge of the entire history of the modern audio space.<\/p>\n<h4 id=\"d96b\" class=\"graf graf--h4 graf-after--p\">Apple<\/h4>\n<p id=\"0564\" class=\"graf graf--p graf-after--h4\">Apple maintains the central index of podcasts.<\/p>\n<p id=\"7cee\" class=\"graf graf--p graf-after--p\">Other podcast indexes are usually built by scraping Apple. Compared to its available resources, Apple has invested almost nothing into podcasting over the last five years. Its biggest milestone is a detailed analytics tool that lets podcasters see detailed data on when users are dropping off from podcasts.<\/p>\n<p id=\"00d9\" class=\"graf graf--p graf-after--p\">Apple Podcast Analytics is a seemingly simple tool, but not trivially easy to build and deploy. It could be a bellwether for more vigorous technical investments.<\/p>\n<p id=\"4aff\" class=\"graf graf--p graf-after--p\">In any case, Apple could have acted sooner. Apple could have poured money into podcasting at any point in the last 5 years. Why hasn\u2019t Apple become the Spotify of podcasts?<\/p>\n<ul class=\"postList\">\n<li id=\"7e5d\" class=\"graf graf--li graf-after--p\"><strong class=\"markup--strong markup--li-strong\">Apple could be apathetic about podcasts.<\/strong>\u00a0When you are managing the iPhone supply chain and building self-driving cars, it\u2019s hard to care about mp3 files and RSS feeds.<\/li>\n<li id=\"57a6\" class=\"graf graf--li graf-after--li\"><strong class=\"markup--strong markup--li-strong\">Apple could be enthusiastic about the fractured state of the ecosystem.<\/strong>\u00a0Apple is a subtly rebellious company, and podcasts are perhaps the most rebellious content medium today.<\/li>\n<li id=\"7b31\" class=\"graf graf--li graf-after--li\"><strong class=\"markup--strong markup--li-strong\">Apple could be marshalling the troops for its own grab at the YouTube of podcasts.<\/strong>\u00a0Apple is easing into high-quality original content production for TV. If Apple has a desire to expand into a multimedia network, it has that option.<\/li>\n<\/ul>\n<p id=\"0679\" class=\"graf graf--p graf-after--li\"><span class=\"markup--quote markup--p-quote is-other\" data-creator-ids=\"81463f02d1da\">Apple has been historically willing to pursue last-mover advantage.<\/span>\u00a0Perhaps we will see more investment in podcasting from Apple in the near future.<\/p>\n<h4 id=\"4a4a\" class=\"graf graf--h4 graf-after--p\">YouTube<\/h4>\n<p id=\"9e07\" class=\"graf graf--p graf-after--h4\">YouTube is relevant because searching for individual podcast episodes is currently immature.<\/p>\n<p id=\"3926\" class=\"graf graf--p graf-after--p\">As an example, try searching Google for podcasts where Seth Godin talks about his childhood. Seth Godin has been on many podcasts, and has written many blogs. It is easy to find the blogs where he talks about his childhood. But the podcasts are much harder.<\/p>\n<p id=\"f1ce\" class=\"graf graf--p graf-after--p\">Many podcasts are not transcribed, so there is not a good index of what is said on that podcast episode\u200a\u2014\u200aunless someone proactively transcribes the audio. YouTube automatically transcribes the videos that are uploaded. This allows YouTube to offer contextual ads as well as closed captioning.<\/p>\n<p id=\"598a\" class=\"graf graf--p graf-after--p\">In order to get your podcast on YouTube, you need to convert each audio file into a video and upload it to YouTube. Most podcasters don\u2019t want to bother with this.<\/p>\n<p id=\"14ca\" class=\"graf graf--p graf-after--p\">To summarize: YouTube has the best search engine for individual podcast episodes\u200a\u2014\u200aexcept that many podcasts are not on YouTube.<\/p>\n<p id=\"da26\" class=\"graf graf--p graf-after--p\">If you are not a YouTube Red subscriber, your video will stop playing when you lock the screen on your phone. In order to exclusively\u00a0<em class=\"markup--em markup--p-em\">listen<\/em>\u00a0to a YouTube video, you need to be a YouTube Red subscriber.<\/p>\n<h4 id=\"bb12\" class=\"graf graf--h4 graf-after--p\">Podcast Ad\u00a0Agencies<\/h4>\n<p id=\"18f8\" class=\"graf graf--p graf-after--h4\">Individual podcasters who do not want to sell ads but do want to have advertisements can enlist the help of a podcast ad agency. The biggest advertisers in the podcast space (Squarespace, Audible, ZipRecruiter, etc) purchase inventory through these agencies.<\/p>\n<p id=\"3671\" class=\"graf graf--p graf-after--p\">Agencies have huge informational advantage because they see both sides of the market in real time. They see the volume of inventory in different podcast segments, CPMs, CPCs, and CLTVs.<\/p>\n<p id=\"e3c7\" class=\"graf graf--p graf-after--p\">The big ad agencies are viciously exploitative of their leverage over podcasters. The perversions of podcast ad sales are beyond the scope of this document. But it is important to note that podcast agency ad sales is an inefficient market.<\/p>\n<p id=\"b66d\" class=\"graf graf--p graf-after--p\">Regarding ad sales, consolidation towards Spotify is a coin flip\u200a\u2014\u200ait could make things worse for podcasters or could make things better.<\/p>\n<p id=\"aacf\" class=\"graf graf--p graf-after--p\"><strong class=\"markup--strong markup--p-strong\">Podcasters should have a viable option for managing their own ad inventory.<\/strong><\/p>\n<p id=\"71bf\" class=\"graf graf--p graf-after--p\">This explains the eponymous \u201csheet\u201d in Podsheets. Software Engineering Daily (and many other podcasts) maintains a detailed spreadsheet for managing inventory.<\/p>\n<p id=\"1be9\" class=\"graf graf--p graf-after--p\">We\u2019ll discuss the importance of the podcast spreadsheet, and our vision for podcast production and ads management later in the document.<\/p>\n<h4 id=\"b666\" class=\"graf graf--h4 graf-after--p\">Other Players<\/h4>\n<p id=\"9925\" class=\"graf graf--p graf-after--h4\">Google Podcasts, Overcast, Pandora, Libsyn, and other products in the space also represent important facets of this ecosystem. The above list of players is not comprehensive.<\/p>\n<h3 id=\"9f1d\" class=\"graf graf--h3 graf-after--p\">Influencer Marketing Predicts The Future Of Podcast Marketing<\/h3>\n<p id=\"2827\" class=\"graf graf--p graf-after--h3\">The best podcast ads are personal testimonials that are spliced into the episodes.<\/p>\n<p id=\"6d90\" class=\"graf graf--p graf-after--p\">Podcast ads are a form of influencer marketing. This is in stark contrast to the world of TV commercials, which are produced wholly by the product companies themselves.<\/p>\n<p id=\"4dcf\" class=\"graf graf--p graf-after--p\">Influencer marketing has not consolidated into automated auctions in the way that advertising platforms like Facebook and Google ads have consolidated. Influencer marketing has matured into a fractured, inefficient ecosystem that bears many similarities to the podcast ecosystem.<\/p>\n<p id=\"e6e6\" class=\"graf graf--p graf-after--p\">We can look at the social media influencer marketing space as a leading indicator of where the podcast market is headed, and a few points are worth considering:<\/p>\n<ol class=\"postList\">\n<li id=\"3996\" class=\"graf graf--li graf-after--p\">Influencer marketing agencies take an enormous cut from both the advertisers and the influencers.<\/li>\n<li id=\"2378\" class=\"graf graf--li graf-after--li\">Influencers who have been in business for a few years realize they can make more money (and better sponsored content) if they deal directly with brands.<\/li>\n<li id=\"9f11\" class=\"graf graf--li graf-after--li\">As influencers have become more savvy, the market for influencer SaaS tools has expanded to serve the needs of influencers. These SaaS tools let an influencer operate like a personalized multimedia platform without the need for agency middlemen.<\/li>\n<\/ol>\n<p id=\"cc6b\" class=\"graf graf--p graf-after--li\">As of March 2019, the influencer ecosystem is evolving even further, with adoption of technologies such as Patreon and Discord.<\/p>\n<h3 id=\"2a6c\" class=\"graf graf--h3 graf-after--p\">How To Manage A Podcast With\u00a0Ads<\/h3>\n<p id=\"75ba\" class=\"graf graf--p graf-after--h3\">Software Engineering Daily has 5 shows per week, 4 ads per show, 50 weeks per year, for a total of 1000 podcast ads. We manage our ad inventory and show production process in a spreadsheet, which is shown below.<\/p>\n<figure id=\"b762\" class=\"graf graf--figure graf-after--p\">\n<div class=\"aspectRatioPlaceholder is-locked\">\n<div class=\"aspectRatioPlaceholder-fill\"><\/div>\n<div class=\"progressiveMedia js-progressiveMedia graf-image is-canvasLoaded is-imageLoaded\" data-image-id=\"0*XMoTeZ8AXOJOmepR\" data-width=\"1600\" data-height=\"722\" data-action=\"zoom\" data-action-value=\"0*XMoTeZ8AXOJOmepR\" data-scroll=\"native\"><canvas class=\"progressiveMedia-canvas js-progressiveMedia-canvas\" width=\"75\" height=\"33\"><\/canvas><img decoding=\"async\" class=\"progressiveMedia-image js-progressiveMedia-image\" src=\"https:\/\/cdn-images-1.medium.com\/max\/1600\/0*XMoTeZ8AXOJOmepR\" data-src=\"https:\/\/cdn-images-1.medium.com\/max\/1600\/0*XMoTeZ8AXOJOmepR\" \/><\/div>\n<\/div>\n<\/figure>\n<p id=\"8a56\" class=\"graf graf--p graf-after--figure\">As we sell podcast ads, we schedule them onto episodes in our upcoming show calendar. Our inventory (on the right) is updated as we schedule ads (on the left).<\/p>\n<p id=\"642f\" class=\"graf graf--p graf-after--p\">Here is a list of complexities we deal with related to advertising:<\/p>\n<ul class=\"postList\">\n<li id=\"1fa1\" class=\"graf graf--li graf-after--p\"><strong class=\"markup--strong markup--li-strong\">Prospecting:\u00a0<\/strong>how do we find potential companies who want to buy our ads?<\/li>\n<li id=\"fd93\" class=\"graf graf--li graf-after--li\"><strong class=\"markup--strong markup--li-strong\">Lead management:<\/strong>\u00a0how do we work a prospect through the sales process and eventually close a deal?<\/li>\n<li id=\"8c1e\" class=\"graf graf--li graf-after--li\"><strong class=\"markup--strong markup--li-strong\">Close management:<\/strong>\u00a0once a deal is closing, how do we issue the contract?<\/li>\n<li id=\"cb65\" class=\"graf graf--li graf-after--li\"><strong class=\"markup--strong markup--li-strong\">Accounting:\u00a0<\/strong>how do we issue invoices and get paid?<\/li>\n<li id=\"f0ca\" class=\"graf graf--li graf-after--li\"><strong class=\"markup--strong markup--li-strong\">Transparency:\u00a0<\/strong>how does an advertiser know that we are airing our ads when we say we will?<\/li>\n<li id=\"ed9b\" class=\"graf graf--li graf-after--li\"><strong class=\"markup--strong markup--li-strong\">Reporting:\u00a0<\/strong>how do we communicate statistics around our ads and episodes?<\/li>\n<li id=\"e634\" class=\"graf graf--li graf-after--li\"><strong class=\"markup--strong markup--li-strong\">Account management:<\/strong>\u00a0how do we retain an advertiser and keep them happy?<\/li>\n<li id=\"462e\" class=\"graf graf--li graf-after--li\"><strong class=\"markup--strong markup--li-strong\">Ad scheduling:<\/strong>\u00a0how does an advertiser pick which episodes to air their ads on?<\/li>\n<li id=\"f4dc\" class=\"graf graf--li graf-after--li\"><strong class=\"markup--strong markup--li-strong\">Ad insertion:\u00a0<\/strong>how do we communicate to our podcast editor which ads to insert and at what timestamps?<\/li>\n<\/ul>\n<p id=\"9d8d\" class=\"graf graf--p graf-after--li\">We address these complexities through a combination of spreadsheets, emails, CRMs, accounting tools, Slack workflows, and contractors. With Podsheets, we hope to consolidate much of this work into a single technology.<\/p>\n<p id=\"2cf1\" class=\"graf graf--p graf-after--p\"><strong class=\"markup--strong markup--p-strong\">We do not expect to replace everything\u200a\u2014\u200abut we have a clear vision for a set of tools that are custom built for podcasters to manage their media businesses.<\/strong><\/p>\n<p id=\"e916\" class=\"graf graf--p graf-after--p\">At Software Engineering Daily, we work hard to sell our podcast ad inventory. But we are sacrificing a lot of value because we are struggling with our tooling, and struggling with an undeveloped advertising ecosystem.<\/p>\n<p id=\"c0af\" class=\"graf graf--p graf-after--p\">When we splice in podcast ads, that podcast ad is usually going to be in the podcast audio for the lifetime of the podcast. At Software Engineering Daily, we do not use \u201cdynamic insertion\u201d. But we would like to.<\/p>\n<p id=\"7712\" class=\"graf graf--p graf-after--p\">Dynamic insertion allows podcasters to easily change the ads that are spliced into their podcast episodes. Dynamic insertion can mean two things:<\/p>\n<ul class=\"postList\">\n<li id=\"94c5\" class=\"graf graf--li graf-after--p\"><strong class=\"markup--strong markup--li-strong\">A podcaster manually changes the ads that are spliced into an episode.\u00a0<\/strong>Example: podcaster releases episode X on January 3rd. 6 months later, podcaster changes the ads which are spliced into that episode. This can be useful for podcasts with \u201cevergreen\u201d content.<\/li>\n<li id=\"5a56\" class=\"graf graf--li graf-after--li\"><strong class=\"markup--strong markup--li-strong\">Podcast ads are inserted on-the-fly based on the persona of the listener.\u00a0<\/strong>Example: you listen to 4 episodes of Software Engineering Daily in a row about Bitcoin. Then you start listening to an episode about JavaScript. When you load this episode, we insert an ad for a Bitcoin-related product just before you start listening.<\/li>\n<\/ul>\n<p id=\"8b89\" class=\"graf graf--p graf-after--li\">Dynamic insertion is an important consideration for the future of podcasting, as we explain later in this post.<\/p>\n<h3 id=\"5b73\" class=\"graf graf--h3 graf-after--p\">Podcast Surveillance<\/h3>\n<p id=\"7b2f\" class=\"graf graf--p graf-after--h3\">Before we discuss Podsheets, one more point around the downsides of podcast market consolidation towards platforms like Spotify and YouTube.<\/p>\n<p id=\"d3b1\" class=\"graf graf--p graf-after--p\">When you listen to a podcast on a naive podcast player, there is usually not a system monitoring what words you are hearing. In its most basic form, a podcast player is a dumb mp3 player reading from dumb RSS infrastructure.<\/p>\n<p id=\"5425\" class=\"graf graf--p graf-after--p\">Many podcast consumers like things this way. Podcast feels distinctly like radio or old school television. When you listen to a podcast about topic X on a dumb podcast player, you do not immediately start seeing display ads around the Internet for X.<\/p>\n<p id=\"3406\" class=\"graf graf--p graf-after--p\">Let\u2019s understand why this is the case.<\/p>\n<p id=\"cdb3\" class=\"graf graf--p graf-after--p\">There is no transcript that has been aligned with timestamps in the audio. Because of this, there can be no natural language processing over this stream of audio. You cannot see improved search results, ad targeting, or content recommendations based on the content you listen to.<\/p>\n<p id=\"58f5\" class=\"graf graf--p graf-after--p\">Depending on who you are, this is a benefit or a disadvantage. As blockchain technology improves, the Internet will offer a more granular range of surveillant media outlets. Some people will choose surveillance + convenience, other people will choose privacy.<\/p>\n<p id=\"4f3c\" class=\"graf graf--p graf-after--p\">Until we have blockchain-powered media, podcasting remains one of the few bastions of semi-private media consumption.<\/p>\n<p id=\"2ca9\" class=\"graf graf--p graf-after--p\">Today, podcasting is not surveillant because the infrastructure is immature. Transcription and audio alignment powered by deep learning remains expensive. As these costs drop, podcasting will become increasingly surveilled.<\/p>\n<p id=\"9e74\" class=\"graf graf--p graf-after--p\">Today\u2019s podcast infrastructure is decentralized, and not heavily surveilled. Market consolidation into companies like Spotify and YouTube will increase that surveillance.<\/p>\n<h3 id=\"66d9\" class=\"graf graf--h3 graf-after--p\">Podsheets<\/h3>\n<p id=\"9bbb\" class=\"graf graf--p graf-after--h3\">Podsheets is an open source platform for podcasters.<\/p>\n<p id=\"25c8\" class=\"graf graf--p graf-after--p\">Podsheets will allow a podcaster to accomplish the following:<\/p>\n<ul class=\"postList\">\n<li id=\"5578\" class=\"graf graf--li graf-after--p\">Host their podcast\u2019s audio files, website content, and RSS feed on a backing storage medium of their choice<\/li>\n<li id=\"fa34\" class=\"graf graf--li graf-after--li\">Manage the audio files to do updates in their ads and other dynamic insertions<\/li>\n<li id=\"eea6\" class=\"graf graf--li graf-after--li\">Manage ad inventory and communicate that inventory to potential advertising customers<\/li>\n<li id=\"562e\" class=\"graf graf--li graf-after--li\">Allow for a podcaster to offer subscriptions or donations<\/li>\n<li id=\"eded\" class=\"graf graf--li graf-after--li\">Give every podcast its own social network for its listeners<\/li>\n<\/ul>\n<p id=\"6ddf\" class=\"graf graf--p graf-after--li\">We believe the following about our users:<\/p>\n<ul class=\"postList\">\n<li id=\"f822\" class=\"graf graf--li graf-after--p\">Podsheets should feel like a simple, vertical solution for a nontechnical podcaster<\/li>\n<li id=\"72a2\" class=\"graf graf--li graf-after--li\">Podsheets should feel like a modular toolset for a technical podcaster<\/li>\n<li id=\"d234\" class=\"graf graf--li graf-after--li\">Podsheets should feel like decomposable media platform software for a developer<\/li>\n<\/ul>\n<h3 id=\"a557\" class=\"graf graf--h3 graf-after--li\">Current State of Podsheets<\/h3>\n<p id=\"726d\" class=\"graf graf--p graf-after--h3\">As of 3\/20\/19, Podsheets is a simple tool for hosting a podcast. It fulfills the minimum needs for a podcaster.<\/p>\n<p id=\"7b83\" class=\"graf graf--p graf-after--p\">Here is the interface for publishing and editing an episode.<\/p>\n<figure id=\"91a8\" class=\"graf graf--figure graf-after--p\">\n<div class=\"aspectRatioPlaceholder is-locked\">\n<div class=\"aspectRatioPlaceholder-fill\"><\/div>\n<div class=\"progressiveMedia js-progressiveMedia graf-image is-canvasLoaded is-imageLoaded\" data-image-id=\"0*Hj-q0ZT1L77Rr7d2\" data-width=\"1428\" data-height=\"792\" data-action=\"zoom\" data-action-value=\"0*Hj-q0ZT1L77Rr7d2\" data-scroll=\"native\"><canvas class=\"progressiveMedia-canvas js-progressiveMedia-canvas\" width=\"75\" height=\"41\"><\/canvas><img decoding=\"async\" class=\"progressiveMedia-image js-progressiveMedia-image\" src=\"https:\/\/cdn-images-1.medium.com\/max\/1600\/0*Hj-q0ZT1L77Rr7d2\" data-src=\"https:\/\/cdn-images-1.medium.com\/max\/1600\/0*Hj-q0ZT1L77Rr7d2\" \/><\/div>\n<\/div>\n<\/figure>\n<p id=\"13a8\" class=\"graf graf--p graf-after--figure\">Here is the public website view.<\/p>\n<figure id=\"5e5f\" class=\"graf graf--figure graf-after--p\">\n<div class=\"aspectRatioPlaceholder is-locked\">\n<div class=\"aspectRatioPlaceholder-fill\"><\/div>\n<div class=\"progressiveMedia js-progressiveMedia graf-image is-canvasLoaded is-imageLoaded\" data-image-id=\"0*i1up4ZIAKWx-XxA7\" data-width=\"1049\" data-height=\"735\" data-action=\"zoom\" data-action-value=\"0*i1up4ZIAKWx-XxA7\" data-scroll=\"native\"><canvas class=\"progressiveMedia-canvas js-progressiveMedia-canvas\" width=\"75\" height=\"52\"><\/canvas><img decoding=\"async\" class=\"progressiveMedia-image js-progressiveMedia-image\" src=\"https:\/\/cdn-images-1.medium.com\/max\/1600\/0*i1up4ZIAKWx-XxA7\" data-src=\"https:\/\/cdn-images-1.medium.com\/max\/1600\/0*i1up4ZIAKWx-XxA7\" \/><\/div>\n<\/div>\n<\/figure>\n<p id=\"6418\" class=\"graf graf--p graf-after--figure\">Our design is minimalistic because podcasting is a minimalistic system. A podcast hosting tool is simply an interface for publishing and editing an RSS feed of text and audio files.<\/p>\n<p id=\"bb80\" class=\"graf graf--p graf-after--p\">Podsheets is built in React and Node. The audio files are stored in Google Cloud Storage. <a href=\"http:\/\/podsheets.com\">Our\u00a0podsheets.com live version of the site is on Heroku.<\/a><\/p>\n<p id=\"36e9\" class=\"graf graf--p graf-after--p\"><a href=\"https:\/\/github.com\/crablar\/podsheets\">Podsheets is open source on GitHub.<\/a><\/p>\n<p id=\"ee32\" class=\"graf graf--p graf-after--p\">The rest of this section describes a specification for Podsheets. We will explain the name \u201cPodsheets\u201d and describe the features that an open source podcast hosting platform needs to compete with closed source companies.<\/p>\n<p id=\"ec28\" class=\"graf graf--p graf-after--p\"><strong class=\"markup--strong markup--p-strong\">We argue that podcasting can be improved by the introduction of open source tools that empower a podcaster to the same extent as closed source platforms.<\/strong><\/p>\n<p id=\"7ba0\" class=\"graf graf--p graf-after--p\">There are many parallels between the world of open source software and podcasts. Podcasting feels free and open. Podcast content is useful and rebellious.<\/p>\n<p id=\"32ca\" class=\"graf graf--p graf-after--p\">We hope to build a community of people who are excited about open source podcasting.<\/p>\n<p id=\"cc01\" class=\"graf graf--p graf-after--p\">To build Podsheets, we need help from many types of people: designers, writers, engineers, podcasters, podcast listeners, and QA testers. If you want to get involved,\u00a0<a class=\"markup--anchor markup--p-anchor\" href=\"https:\/\/findcollabs.com\/project\/IQNarf2tJ8Un4esfoXck\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" data-href=\"https:\/\/findcollabs.com\/project\/IQNarf2tJ8Un4esfoXck\">follow our FindCollabs project and see our roles for contribution.<\/a><\/p>\n<h3 id=\"b539\" class=\"graf graf--h3 graf-after--p\">Spreadsheets: The Ultimate Tool For Media\u00a0Planning<\/h3>\n<p id=\"0f51\" class=\"graf graf--p graf-after--h3\">Advertising is how most podcasters make their living.<\/p>\n<p id=\"eb07\" class=\"graf graf--p graf-after--p\">Paid subscriptions and donations are also important to the podcasting ecosystem, and we will explore those monetization options later in the post. This section is about the tooling that Podsheets will offer for advertising-based podcasters.<\/p>\n<p id=\"5c78\" class=\"graf graf--p graf-after--p\">Advertising allows podcasters to run their own media company. One beauty of podcast advertising is that it can connect small audiences with products that those audiences have a genuine need for. Podcasters can find advertisers that do not compromise their views.<\/p>\n<p id=\"345f\" class=\"graf graf--p graf-after--p\"><strong class=\"markup--strong markup--p-strong\">Podcasters need a way to manage their own ad inventory.\u00a0<\/strong>Without the option to self-manage, podcasters will turn to centralized solutions such as Spotify and media agencies.<\/p>\n<p id=\"3a0c\" class=\"graf graf--p graf-after--p\">Why the name \u201cPodsheets\u201d?<\/p>\n<p id=\"0c31\" class=\"graf graf--p graf-after--p\">We believe that managing the ad inventory of a podcast is best handled by a dynamic spreadsheet view that would allow podcasters to change their scheduled ads by simply changing a row in a spreadsheet-like view.<\/p>\n<p id=\"ad0d\" class=\"graf graf--p graf-after--p\">Advertising is central to the life of a podcaster. A podcaster needs to find ad deals and manage the production of their advertising content. The advertising needs to be harmonious with the podcast content.<\/p>\n<p id=\"9be0\" class=\"graf graf--p graf-after--p\">Many podcasters are solo entrepreneurs. They do not have employees. They are doing\u00a0<em class=\"markup--em markup--p-em\">everything<\/em>\u00a0themselves. A dynamic spreadsheet allows a podcaster to manage the podcast along with their advertising.<\/p>\n<p id=\"48f5\" class=\"graf graf--p graf-after--p\">Our perspective on the importance of the podcast spreadsheet comes from personal experience of running Software Engineering Daily. We have scheduled roughly 3000 ads across all of our episodes.<\/p>\n<p id=\"2ec5\" class=\"graf graf--p graf-after--p\">Let\u2019s revisit the spreadsheet we use to plan our podcast episode calendar.<\/p>\n<figure id=\"a24c\" class=\"graf graf--figure graf-after--p\">\n<div class=\"aspectRatioPlaceholder is-locked\">\n<div class=\"aspectRatioPlaceholder-fill\"><\/div>\n<div class=\"progressiveMedia js-progressiveMedia graf-image is-canvasLoaded is-imageLoaded\" data-image-id=\"0*1JJN6pX40taspvIH\" data-width=\"1600\" data-height=\"722\" data-action=\"zoom\" data-action-value=\"0*1JJN6pX40taspvIH\" data-scroll=\"native\"><canvas class=\"progressiveMedia-canvas js-progressiveMedia-canvas\" width=\"75\" height=\"33\"><\/canvas><img decoding=\"async\" class=\"progressiveMedia-image js-progressiveMedia-image\" src=\"https:\/\/cdn-images-1.medium.com\/max\/1600\/0*1JJN6pX40taspvIH\" data-src=\"https:\/\/cdn-images-1.medium.com\/max\/1600\/0*1JJN6pX40taspvIH\" \/><\/div>\n<\/div>\n<\/figure>\n<p id=\"af75\" class=\"graf graf--p graf-after--figure\">This spreadsheet is used for:<\/p>\n<ul class=\"postList\">\n<li id=\"614d\" class=\"graf graf--li graf-after--p\">Planning our show schedule<\/li>\n<li id=\"c6a2\" class=\"graf graf--li graf-after--li\">Budgeting and scheduling ads<\/li>\n<li id=\"d700\" class=\"graf graf--li graf-after--li\">Communicating our upcoming shows to advertisers who may want to buy targeted ads on those shows<\/li>\n<li id=\"a592\" class=\"graf graf--li graf-after--li\">Notating edits that we need to communicate to our audio editor<\/li>\n<\/ul>\n<p id=\"2e0f\" class=\"graf graf--p graf-after--li\">Experienced podcasters who I have spoken to all have a similar spreadsheet, Trello board, or show management tool.<\/p>\n<h3 id=\"bcfe\" class=\"graf graf--h3 graf-after--p\">Podcasters Need Dynamic Insertion<\/h3>\n<p id=\"7494\" class=\"graf graf--p graf-after--h3\">Podsheets will allow the spreadsheet view to be tied to the current state of a given podcast episode.<\/p>\n<p id=\"3daa\" class=\"graf graf--p graf-after--p\">This will enable easy dynamic podcast ad management. It also gives a place for podcast editors, hosts, producers, and operations members to collaborate.<\/p>\n<p id=\"e077\" class=\"graf graf--p graf-after--p\"><strong class=\"markup--strong markup--p-strong\">Self-managed, dynamic ad insertion allows a podcaster to control their own media platform and earn more money.<\/strong><\/p>\n<p id=\"0a53\" class=\"graf graf--p graf-after--p\">It\u2019s important to emphasize how much money a podcaster is giving up without dynamic insertion. This is because podcasts are \u201cevergreen content\u201d. Listeners are often seeking out episodes that are 1\u201310 years old. Listeners who hear these episodes are listening to old ads, which are not paying a podcaster any more.<\/p>\n<p id=\"9da3\" class=\"graf graf--p graf-after--p\">Let\u2019s illustrate with an example.<\/p>\n<p id=\"6e7a\" class=\"graf graf--p graf-after--p\">Below is a row from our Software Engineering Daily management spreadsheet. This row is an episode from 2\/1\/2018, which was an\u00a0<a class=\"markup--anchor markup--p-anchor\" href=\"https:\/\/www.google.com\/url?q=https:\/\/softwareengineeringdaily.com\/2018\/02\/01\/how-to-change-an-enterprises-software-and-culture-with-zhamak-dehghani\/&amp;sa=D&amp;ust=1553894294542000\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" data-href=\"https:\/\/www.google.com\/url?q=https:\/\/softwareengineeringdaily.com\/2018\/02\/01\/how-to-change-an-enterprises-software-and-culture-with-zhamak-dehghani\/&amp;sa=D&amp;ust=1553894294542000\">interview with Zhamak Deghani<\/a>. We had 4 ads scheduled on that show: OutSystems, Datadog, Microsoft, and GoCD.<\/p>\n<figure id=\"a1c2\" class=\"graf graf--figure graf-after--p\">\n<div class=\"aspectRatioPlaceholder is-locked\">\n<div class=\"aspectRatioPlaceholder-fill\"><\/div>\n<p><img decoding=\"async\" class=\"graf-image\" src=\"https:\/\/cdn-images-1.medium.com\/max\/1600\/0*UDonewSlSozN0t0P\" data-image-id=\"0*UDonewSlSozN0t0P\" data-width=\"801\" data-height=\"14\" data-action=\"zoom\" data-action-value=\"0*UDonewSlSozN0t0P\" \/><\/p>\n<\/div>\n<\/figure>\n<p id=\"d344\" class=\"graf graf--p graf-after--figure\">Below is a chart showing the last 3 months of listens to our interview with Zhamak.<\/p>\n<figure id=\"2464\" class=\"graf graf--figure graf-after--p\">\n<div class=\"aspectRatioPlaceholder is-locked\">\n<div class=\"aspectRatioPlaceholder-fill\"><\/div>\n<div class=\"progressiveMedia js-progressiveMedia graf-image is-canvasLoaded is-imageLoaded\" data-image-id=\"0*ErIbh4_8Xrwfmf20\" data-width=\"1365\" data-height=\"306\" data-action=\"zoom\" data-action-value=\"0*ErIbh4_8Xrwfmf20\" data-scroll=\"native\"><canvas class=\"progressiveMedia-canvas js-progressiveMedia-canvas\" width=\"75\" height=\"16\"><\/canvas><img decoding=\"async\" class=\"progressiveMedia-image js-progressiveMedia-image\" src=\"https:\/\/cdn-images-1.medium.com\/max\/1600\/0*ErIbh4_8Xrwfmf20\" data-src=\"https:\/\/cdn-images-1.medium.com\/max\/1600\/0*ErIbh4_8Xrwfmf20\" \/><\/div>\n<\/div>\n<\/figure>\n<p id=\"7419\" class=\"graf graf--p graf-after--figure\">Most podcast ads are sold on a 6\u201336 week performance basis. When we sell Software Engineering Daily ads that are permanently embedded in the audio file, the advertiser is only judging us based on the performance over the next 6\u201336 weeks.\u00a0<em class=\"markup--em markup--p-em\">This means that the downloads that we get after 36 weeks are not monetized.<\/em><\/p>\n<p id=\"c8ba\" class=\"graf graf--p graf-after--p\">Over the last 3 months, we have had 206 listens to this episode. At a $25 CPM (lower bound pricing for a podcast with a technical audience), that\u2019s $5 we left on the table. We have roughly 1000 episodes in our back catalog, which means that we could have earned $5000 in additional ad sales if we could have easily sold and dynamically inserted this new ad inventory.<\/p>\n<p id=\"ffb5\" class=\"graf graf--p graf-after--p\"><strong class=\"markup--strong markup--p-strong\">Podcasters with a large back catalog need a way to dynamically change the ad inventory.<\/strong><\/p>\n<p id=\"024e\" class=\"graf graf--p graf-after--p\">The only available solutions are closed source, expensive products such as\u00a0<a class=\"markup--anchor markup--p-anchor\" href=\"https:\/\/www.google.com\/url?q=https:\/\/megaphone.fm&amp;sa=D&amp;ust=1553894294544000\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" data-href=\"https:\/\/www.google.com\/url?q=https:\/\/megaphone.fm&amp;sa=D&amp;ust=1553894294544000\">Megaphone<\/a>. Megaphone hosts the shows for some of the biggest podcasters in the world, including Malcolm Gladwell.<\/p>\n<figure id=\"6fbb\" class=\"graf graf--figure graf-after--p\">\n<div class=\"aspectRatioPlaceholder is-locked\">\n<div class=\"aspectRatioPlaceholder-fill\"><\/div>\n<div class=\"progressiveMedia js-progressiveMedia graf-image is-canvasLoaded is-imageLoaded\" data-image-id=\"0*6M-qRcSjq2GqYAZM\" data-width=\"1156\" data-height=\"302\" data-action=\"zoom\" data-action-value=\"0*6M-qRcSjq2GqYAZM\" data-scroll=\"native\"><canvas class=\"progressiveMedia-canvas js-progressiveMedia-canvas\" width=\"75\" height=\"18\"><\/canvas><img decoding=\"async\" class=\"progressiveMedia-image js-progressiveMedia-image\" src=\"https:\/\/cdn-images-1.medium.com\/max\/1600\/0*6M-qRcSjq2GqYAZM\" data-src=\"https:\/\/cdn-images-1.medium.com\/max\/1600\/0*6M-qRcSjq2GqYAZM\" \/><\/div>\n<\/div>\n<\/figure>\n<p id=\"3990\" class=\"graf graf--p graf-after--figure\">The relationship between a podcaster and a closed source hosting and dynamic insertion platform is similar to the relationship between YouTubers and YouTube.<\/p>\n<p id=\"24e0\" class=\"graf graf--p graf-after--p\">We are lucky to live in a time when the centralized options such as Megaphone and YouTube allow so many small media platforms to thrive. But we need options that are more portable, and are not overseen by monolithic institutions.<\/p>\n<p id=\"115f\" class=\"graf graf--p graf-after--p\">Podcasters make much more money from dynamic insertion.<\/p>\n<p id=\"f57d\" class=\"graf graf--p graf-after--p\"><strong class=\"markup--strong markup--p-strong\">To the extent that dynamic insertion technology is centralized, podcasting will be centralized.<\/strong><\/p>\n<h3 id=\"f50d\" class=\"graf graf--h3 graf-after--p\">Podsheets Dynamic Insertion<\/h3>\n<p id=\"71aa\" class=\"graf graf--p graf-after--h3\">How would dynamic insertion work in Podsheets?<\/p>\n<p id=\"ea0e\" class=\"graf graf--p graf-after--p\">Let\u2019s revisit the Software Engineering Daily spreadsheet from earlier, zooming in on a week in March 2018.<\/p>\n<figure id=\"8858\" class=\"graf graf--figure graf-after--p\">\n<div class=\"aspectRatioPlaceholder is-locked\">\n<div class=\"aspectRatioPlaceholder-fill\"><\/div>\n<div class=\"progressiveMedia js-progressiveMedia graf-image is-canvasLoaded is-imageLoaded\" data-image-id=\"0*vtYWd9kxFULrIssZ\" data-width=\"961\" data-height=\"199\" data-action=\"zoom\" data-action-value=\"0*vtYWd9kxFULrIssZ\" data-scroll=\"native\"><canvas class=\"progressiveMedia-canvas js-progressiveMedia-canvas\" width=\"75\" height=\"15\"><\/canvas><img decoding=\"async\" class=\"progressiveMedia-image js-progressiveMedia-image\" src=\"https:\/\/cdn-images-1.medium.com\/max\/1600\/0*vtYWd9kxFULrIssZ\" data-src=\"https:\/\/cdn-images-1.medium.com\/max\/1600\/0*vtYWd9kxFULrIssZ\" \/><\/div>\n<\/div>\n<\/figure>\n<p id=\"769c\" class=\"graf graf--p graf-after--figure\">As a reminder, these ads are no longer generating any revenue for Software Engineering Daily. But the episodes are still getting listens.<\/p>\n<p id=\"6b2c\" class=\"graf graf--p graf-after--p\">Those ad deals were made in January 2018, and we were paid by the end of March. By the time the month of June started, we were in talks with some of these sponsors to renew their ads, and other sponsors chose not to renew.<\/p>\n<p id=\"8bcf\" class=\"graf graf--p graf-after--p\">Now let\u2019s imagine we enter into a negotiation with Audible. Audible wants to buy 2,000 podcast episode listens at a cost of $25 CPM, coming out to a total cost of $50. In an ideal world, we would be able to serve those podcast ads on any episodes that get listens\u200a\u2014\u200a<em class=\"markup--em markup--p-em\">including old episodes<\/em>.<\/p>\n<p id=\"b3eb\" class=\"graf graf--p graf-after--p\">Editing old episodes requires splicing out the ads in the old audio file and splicing in the new ads to the file. This is a time-consuming process to do in an audio editing tool like Audacity or GarageBand.<\/p>\n<p id=\"3a25\" class=\"graf graf--p graf-after--p\">For each audio file you would want to edit, you would need to do the following:<\/p>\n<ol class=\"postList\">\n<li id=\"c7e6\" class=\"graf graf--li graf-after--p\">Find the start and end timestamp of the old ad you want to replace.<\/li>\n<li id=\"ce96\" class=\"graf graf--li graf-after--li\">Remove audio from the old ad<\/li>\n<li id=\"4626\" class=\"graf graf--li graf-after--li\">Compare the length of time of the old ad to the length of time of the new ad. If the new ad is longer, you will need to move the post-ad portion of your podcast audio file to a later start point based on the difference in time between the old and new ad. If the new ad is shorter, you will do the same movement in the opposite direction.<\/li>\n<li id=\"b8b3\" class=\"graf graf--li graf-after--li\">Insert the new ad in the space between the two portions of the podcast audio file.<\/li>\n<\/ol>\n<p id=\"bf72\" class=\"graf graf--p graf-after--li\">Closed-source tools like Megaphone include a script that lets you dynamically insert ads easily. Such a script can be created with\u00a0<a class=\"markup--anchor markup--p-anchor\" href=\"https:\/\/www.google.com\/url?q=https:\/\/ffmpeg.org\/&amp;sa=D&amp;ust=1553894294548000\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" data-href=\"https:\/\/www.google.com\/url?q=https:\/\/ffmpeg.org\/&amp;sa=D&amp;ust=1553894294548000\">FFmpeg<\/a>, an open source tool for editing media files.<\/p>\n<p id=\"2813\" class=\"graf graf--p graf-after--p\">Podsheets will require a similar script for doing this ad splicing.<\/p>\n<p id=\"39c3\" class=\"graf graf--p graf-after--p\">In Podsheets, we should be able to change the ads inserted in a particular episode as simply as changing the entry in our spreadsheet, illustrated below.<\/p>\n<figure id=\"b780\" class=\"graf graf--figure graf-after--p\">\n<div class=\"aspectRatioPlaceholder is-locked\">\n<div class=\"aspectRatioPlaceholder-fill\"><\/div>\n<div class=\"progressiveMedia js-progressiveMedia graf-image is-canvasLoaded is-imageLoaded\" data-image-id=\"0*lve0jzojynh0ntQG\" data-width=\"962\" data-height=\"204\" data-action=\"zoom\" data-action-value=\"0*lve0jzojynh0ntQG\" data-scroll=\"native\"><canvas class=\"progressiveMedia-canvas js-progressiveMedia-canvas\" width=\"75\" height=\"15\"><\/canvas><img decoding=\"async\" class=\"progressiveMedia-image js-progressiveMedia-image\" src=\"https:\/\/cdn-images-1.medium.com\/max\/1600\/0*lve0jzojynh0ntQG\" data-src=\"https:\/\/cdn-images-1.medium.com\/max\/1600\/0*lve0jzojynh0ntQG\" \/><\/div>\n<\/div>\n<\/figure>\n<p id=\"dd56\" class=\"graf graf--p graf-after--figure\">Under the covers, this change to the spreadsheet interface should trigger our FFmpeg script to run and replace the ads from these podcasts.<\/p>\n<p id=\"2d18\" class=\"graf graf--p graf-after--p\">In addition, our system should register that these episodes now have an Audible ad. Our stats tracking system should aggregate the new listens that these episodes get, so that we can easily evaluate the number of listens we have received across the Audible campaign.<\/p>\n<p id=\"db00\" class=\"graf graf--p graf-after--p\">One downside of this system is that it requires podcasters to notate the timestamps of the initial ads in their episodes. For podcasters who can afford it, this notation exercise can be outsourced to digital knowledge workers, or to podcast audio editors.<\/p>\n<p id=\"6f98\" class=\"graf graf--p graf-after--p\">The example of a podcaster easily changing 5 ads is simple but powerful.<\/p>\n<p id=\"f5c3\" class=\"graf graf--p graf-after--p\">On top of this spreadsheet-plus-podcast-editing interface, a podcaster could write macros to run their own creative campaigns.<\/p>\n<p id=\"1415\" class=\"graf graf--p graf-after--p\">For example:<\/p>\n<ul class=\"postList\">\n<li id=\"6fc3\" class=\"graf graf--li graf-after--p\">Serve ads to users in specific geographies based on IP address<\/li>\n<li id=\"f273\" class=\"graf graf--li graf-after--li\">Serve ads on all episodes about a specific topic<\/li>\n<li id=\"cf1c\" class=\"graf graf--li graf-after--li\">Make all the ad schedules across your entire inventory the same, so that you could quickly run bulk campaigns on short notice<\/li>\n<li id=\"8abb\" class=\"graf graf--li graf-after--li\">Make all your episodes ad-free, or run your own personal calls-to-action when you do not have ad inventory to sell<\/li>\n<li id=\"0f7f\" class=\"graf graf--li graf-after--li\">Dynamically serve super cheap \u201cremnant\u201d advertising when you do not have any other ad inventory to sell<\/li>\n<\/ul>\n<p id=\"470e\" class=\"graf graf--p graf-after--li\">Additionally, such a spreadsheet creates a flexible shared interface. A podcaster could make this spreadsheet public, allowing advertisers to buy ads on episodes in a \u201cself-service\u201d fashion. The Podsheets ecosystem could develop other rich interfaces to allow a podcaster to broadcast their advertising options and explain their process for working with advertisers.<\/p>\n<h3 id=\"9d0f\" class=\"graf graf--h3 graf-after--p\">Decentralized Advertising<\/h3>\n<p id=\"99be\" class=\"graf graf--p graf-after--h3\">If you are not a podcaster, the ability to dynamically manage your ad inventory may not sound like a killer feature.<\/p>\n<p id=\"2d91\" class=\"graf graf--p graf-after--p\">Understand that advertising is how podcasters make most of their money. That is not likely to change in the near future. Podcasters need advertisers. Podcasters need technology to manage their advertisements.<\/p>\n<p id=\"ede1\" class=\"graf graf--p graf-after--p\">Why are there so many frictions in podcast advertising?\u00a0<em class=\"markup--em markup--p-em\">Podcast advertising is decentralized.<\/em><\/p>\n<p id=\"68d1\" class=\"graf graf--p graf-after--p\">Podcasters can and should manage their own ad inventory.<\/p>\n<p id=\"ef2b\" class=\"graf graf--p graf-after--p\">The world of podcasts is in a different universe than the rest of the Internet. Podcast advertising has moved us beyond the bureaucracy of advertising agencies, the menacing opacity of corporate advertising duopolies, and the ineffectiveness of one-size-fits-all advertising units.<\/p>\n<p id=\"f0f6\" class=\"graf graf--p graf-after--p\">With Podsheets, we can build a tool for empowering podcasters\u200a\u2014\u200aand paint a picture for how other media formats can decentralize as well.<\/p>\n<h3 id=\"1ba1\" class=\"graf graf--h3 graf-after--p\">The Future of\u00a0Media<\/h3>\n<p id=\"3d1a\" class=\"graf graf--p graf-after--h3\">Podcasting represents the future of media.<\/p>\n<p id=\"f0c1\" class=\"graf graf--p graf-after--p\">Consider the following three aspects of the podcast ecosystem:<\/p>\n<ul class=\"postList\">\n<li id=\"eba1\" class=\"graf graf--li graf-after--p\"><strong class=\"markup--strong markup--li-strong\">Consumers are extremely happy with the state of podcasting.<\/strong>\u00a0There is no shortage of content. Listeners are finding comfort and joy in their podcast listening habits.<\/li>\n<li id=\"de64\" class=\"graf graf--li graf-after--li\"><strong class=\"markup--strong markup--li-strong\">Content producers have control of their content.\u00a0<\/strong>In contrast to Facebook, Twitter, and YouTube, it is almost impossible to get de-platformed or de-monetized as a podcaster.<\/li>\n<li id=\"d02b\" class=\"graf graf--li graf-after--li\"><strong class=\"markup--strong markup--li-strong\">Advertisers are seeing excellent results.<\/strong>\u00a0Most podcast advertising is highly measurable direct response campaigns with ads read by the host. This format resonates with consumers.<\/li>\n<\/ul>\n<p id=\"2027\" class=\"graf graf--p graf-after--li\">Every constituent in podcasting is happy. Podcasting\u2019s decentralized nature allows the actors to operate independently. The podcast ecosystem has self-organized into a beautiful, chaotic, positive sum environment.<\/p>\n<p id=\"3347\" class=\"graf graf--p graf-after--p\">Centralized platforms like YouTube, Twitter, and Facebook have enabled all of us to connect with each other. Centralization allows for economies of scale that would not exist in a fragmented, decentralized ecosystem. But that centralization also comes at a cost.<\/p>\n<p id=\"6876\" class=\"graf graf--p graf-after--p\">We need centralized platforms.<\/p>\n<p id=\"c502\" class=\"graf graf--p graf-after--p\">We need Twitter to create a town square for us all to connect within. We need Facebook to onboard new Internet users with a system that is more intuitive than the open web. We need Google to unify our intellect.<\/p>\n<p id=\"585c\" class=\"graf graf--p graf-after--p\">But we also need decentralization.<\/p>\n<p id=\"2436\" class=\"graf graf--p graf-after--p\">Decentralized technologies give us fresh, fertile ground to play with on the Internet. To see this in action, look no further than podcasts. The decentralized model of podcasting will spread across other mediums, notably video and social networking.<\/p>\n<p id=\"e77f\" class=\"graf graf--p graf-after--p\">In the long term, Podsheets should allow podcasters to move up the stack, and own their own entire platforms, all built on open source software.<\/p>\n<h3 id=\"daea\" class=\"graf graf--h3 graf-after--p\">A Social Network For Every\u00a0Podcast<\/h3>\n<p id=\"cf4d\" class=\"graf graf--p graf-after--h3\">Software Engineering Daily is built on WordPress. We use WordPress to publish our podcast episodes and share basic text and audio information with our listeners.<\/p>\n<p id=\"0fd3\" class=\"graf graf--p graf-after--p\">WordPress was built as a publishing tool, not a social network. Software Engineering Daily has a community of 30,000 frequent listeners\u00a0and\u00a0150,000+\u00a0occasional\u00a0listeners, and they want to connect with each other. Two years ago, our community started working on an <a href=\"https:\/\/github.com\/SoftwareEngineeringDaily\">open source platform<\/a> called\u00a0<a class=\"markup--anchor markup--p-anchor\" href=\"http:\/\/softwaredaily.com\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" data-href=\"https:\/\/www.google.com\/url?q=http:\/\/softwaredaily.com&amp;sa=D&amp;ust=1553894294557000\">Software Daily<\/a>.<\/p>\n<figure id=\"3152\" class=\"graf graf--figure graf-after--p\">\n<div class=\"aspectRatioPlaceholder is-locked\">\n<div class=\"aspectRatioPlaceholder-fill\"><\/div>\n<div class=\"progressiveMedia js-progressiveMedia graf-image is-canvasLoaded is-imageLoaded\" data-image-id=\"1*vAub6oEExn8Gh-bGLQQbEw.png\" data-width=\"1556\" data-height=\"1226\" data-action=\"zoom\" data-action-value=\"1*vAub6oEExn8Gh-bGLQQbEw.png\" data-scroll=\"native\"><canvas class=\"progressiveMedia-canvas js-progressiveMedia-canvas\" width=\"75\" height=\"58\"><\/canvas><img decoding=\"async\" class=\"progressiveMedia-image js-progressiveMedia-image\" src=\"https:\/\/i0.wp.com\/cdn-images-1.medium.com\/max\/1600\/1*vAub6oEExn8Gh-bGLQQbEw.png?ssl=1\" data-src=\"https:\/\/i0.wp.com\/cdn-images-1.medium.com\/max\/1600\/1*vAub6oEExn8Gh-bGLQQbEw.png?ssl=1\" data-recalc-dims=\"1\" \/><\/div>\n<\/div>\n<\/figure>\n<p id=\"1c8e\" class=\"graf graf--p graf-after--figure\">Software Daily gives us the following tools that we cannot offer through WordPress:<\/p>\n<ul class=\"postList\">\n<li id=\"e894\" class=\"graf graf--li graf-after--p\">Comments, forums, and profiles that allow users to connect with each other<\/li>\n<li id=\"8b78\" class=\"graf graf--li graf-after--li\">Advanced indexing and search functionality<\/li>\n<li id=\"538d\" class=\"graf graf--li graf-after--li\">Subscription offerings, so that users can pay us to opt out of advertising<\/li>\n<li id=\"2e45\" class=\"graf graf--li graf--startsWithDoubleQuote graf-after--li\">\u201cRelated Links\u201d, a wiki-like feature that allows users to add additional resources<\/li>\n<\/ul>\n<figure id=\"461a\" class=\"graf graf--figure graf-after--li\">\n<div class=\"aspectRatioPlaceholder is-locked\">\n<div class=\"aspectRatioPlaceholder-fill\"><\/div>\n<div class=\"progressiveMedia js-progressiveMedia graf-image is-canvasLoaded is-imageLoaded\" data-image-id=\"0*HzcmXXUrkpfNdLye\" data-width=\"1150\" data-height=\"935\" data-action=\"zoom\" data-action-value=\"0*HzcmXXUrkpfNdLye\" data-scroll=\"native\"><canvas class=\"progressiveMedia-canvas js-progressiveMedia-canvas\" width=\"75\" height=\"60\"><\/canvas><img decoding=\"async\" class=\"progressiveMedia-image js-progressiveMedia-image\" src=\"https:\/\/cdn-images-1.medium.com\/max\/1600\/0*HzcmXXUrkpfNdLye\" data-src=\"https:\/\/cdn-images-1.medium.com\/max\/1600\/0*HzcmXXUrkpfNdLye\" \/><\/div>\n<\/div>\n<\/figure>\n<p id=\"7aa3\" class=\"graf graf--p graf-after--figure\">Software Daily also has mobile apps. This allows us to offer a logged-in experience to podcast listeners so we can customize their experience based on what episodes they listen to. Our mobile apps can be used to listen to our episodes without ads using our paid subscription feature.<\/p>\n<figure id=\"8847\" class=\"graf graf--figure graf-after--p\">\n<div class=\"aspectRatioPlaceholder is-locked\">\n<div class=\"aspectRatioPlaceholder-fill\"><\/div>\n<div class=\"progressiveMedia js-progressiveMedia graf-image is-imageLoaded is-canvasLoaded\" data-image-id=\"0*B6MUIuCyrIBN1Zo8\" data-width=\"300\" data-height=\"533\" data-scroll=\"native\"><canvas class=\"progressiveMedia-canvas js-progressiveMedia-canvas\" width=\"42\" height=\"75\"><\/canvas><img decoding=\"async\" class=\"progressiveMedia-image js-progressiveMedia-image\" src=\"https:\/\/cdn-images-1.medium.com\/max\/1600\/0*B6MUIuCyrIBN1Zo8\" data-src=\"https:\/\/cdn-images-1.medium.com\/max\/1600\/0*B6MUIuCyrIBN1Zo8\" \/><\/div>\n<\/div><figcaption class=\"imageCaption\">Software Daily iOS\u00a0app<\/figcaption><\/figure>\n<p id=\"b56b\" class=\"graf graf--p graf-after--figure\">This functionality would be a useful option to any podcaster with a substantial community. Software Daily is completely open source and could be reconfigured to work for any podcast.<\/p>\n<p id=\"0fb8\" class=\"graf graf--p graf-after--p\"><strong class=\"markup--strong markup--p-strong\">In the future, Podsheets could allow a quick and easy way to spin up your own social network for your podcast.<\/strong><\/p>\n<figure id=\"71d3\" class=\"graf graf--figure graf-after--p\">\n<div class=\"aspectRatioPlaceholder is-locked\">\n<div class=\"aspectRatioPlaceholder-fill\"><\/div>\n<div class=\"progressiveMedia js-progressiveMedia graf-image is-canvasLoaded is-imageLoaded\" data-image-id=\"0*effB9kLZ34zSuJCd\" data-width=\"280\" data-height=\"497\" data-scroll=\"native\"><canvas class=\"progressiveMedia-canvas js-progressiveMedia-canvas\" width=\"42\" height=\"75\"><\/canvas><img decoding=\"async\" class=\"progressiveMedia-image js-progressiveMedia-image\" src=\"https:\/\/cdn-images-1.medium.com\/max\/1600\/0*effB9kLZ34zSuJCd\" data-src=\"https:\/\/cdn-images-1.medium.com\/max\/1600\/0*effB9kLZ34zSuJCd\" \/><\/div>\n<\/div><figcaption class=\"imageCaption\">Software Daily Android\u00a0app<\/figcaption><\/figure>\n<p id=\"063b\" class=\"graf graf--p graf-after--figure\"><span class=\"markup--quote markup--p-quote is-other\" data-creator-ids=\"81463f02d1da\">This standalone podcast social network could also serve as a tool for a podcaster to organize events, manage donations, build an email list, sell e-commerce, and any other functionality that requires a user login.<\/span><\/p>\n<h3 id=\"38ad\" class=\"graf graf--h3 graf-after--p\">The Coming Disaggregation<\/h3>\n<p id=\"b6d6\" class=\"graf graf--p graf-after--h3\">Open source software has disaggregated the infrastructure layer. But open source does not replace the proprietary layer. It gives users another option. We have Linux\u00a0<em class=\"markup--em markup--p-em\">in addition to<\/em>\u00a0Windows. We have Android\u00a0<em class=\"markup--em markup--p-em\">in addition to<\/em>\u00a0iOS.<\/p>\n<p id=\"1e73\" class=\"graf graf--p graf-after--p\">The same phenomenon is coming to the application layer. We will see open source, easily manageable alternatives to YouTube, Instagram, and Netflix. Text publishing has already been disaggregated by WordPress. Audio publishing has been disaggregated by podcasts.<\/p>\n<p id=\"0da6\" class=\"graf graf--p graf-after--p\">With Podsheets, we hope to give podcasters an alternative to the centralized networks. But it is an adjunct alternative, not a complete replacement. A podcaster does not need to opt out of the centralized ecosystem completely to use Podsheets.<\/p>\n<p id=\"5d10\" class=\"graf graf--p graf-after--p\">As the cost of computing and storage drops to zero, the media landscape will change in favor of the creators. Raw resources will not be scarce, but creativity and entrepreneurship will always be scarce.<\/p>\n<p id=\"4fc1\" class=\"graf graf--p graf-after--p\">Video has not been disaggregated yet, possibly due to the size of video files. Social networks have not<em class=\"markup--em markup--p-em\">\u00a0<\/em>been disaggregated yet, perhaps because of the importance of strong recommendation systems, search algorithms, and other complexities that are required to make a decent social network.<\/p>\n<p id=\"793f\" class=\"graf graf--p graf-after--p\">Eventually, video creators and social media influencers will want tools to build and manage their own platforms. In the limit, every media company becomes a social media company. And every social media company wants its own platform.<\/p>\n<p id=\"812c\" class=\"graf graf--p graf-after--p graf--trailing\">The golden age of decentralized media starts with podcasting. Let\u2019s hope it never ends.<\/p>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Podsheets is a set of open source tools for podcast hosting, publishing, ad management, community engagement, and\u00a0more. Podsheets is influenced by our experience managing Software Engineering Daily, a full-time podcast business. Software Engineering Daily is a podcast that airs 5 times per week. With 4 ads per show and 50 business weeks per year, we<\/p>\n","protected":false},"author":1,"featured_media":7260,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"Podsheets: Open Source Podcasting","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false}}},"categories":[14],"tags":[],"class_list":["post-7259","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-podcast"],"jetpack_publicize_connections":[],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Podsheets: Open Source Podcasting - Software Engineering Daily<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"http:\/\/softwareengineeringdaily.com\/2019\/04\/14\/podsheets-open-source-podcasting\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Podsheets: Open Source Podcasting - Software Engineering Daily\" \/>\n<meta property=\"og:description\" content=\"Podsheets is a set of open source tools for podcast hosting, publishing, ad management, community engagement, and\u00a0more. Podsheets is influenced by our experience managing Software Engineering Daily, a full-time podcast business. Software Engineering Daily is a podcast that airs 5 times per week. With 4 ads per show and 50 business weeks per year, we\" \/>\n<meta property=\"og:url\" content=\"http:\/\/softwareengineeringdaily.com\/2019\/04\/14\/podsheets-open-source-podcasting\/\" \/>\n<meta property=\"og:site_name\" content=\"Software Engineering Daily\" \/>\n<meta property=\"article:published_time\" content=\"2019-04-14T09:00:22+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-10-11T12:52:46+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2019\/04\/odsheets.png?fit=1550%2C972\" \/>\n\t<meta property=\"og:image:width\" content=\"1550\" \/>\n\t<meta property=\"og:image:height\" content=\"972\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Jeff\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@software_daily\" \/>\n<meta name=\"twitter:site\" content=\"@software_daily\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jeff\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"25 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"http:\/\/softwareengineeringdaily.com\/2019\/04\/14\/podsheets-open-source-podcasting\/#article\",\"isPartOf\":{\"@id\":\"http:\/\/softwareengineeringdaily.com\/2019\/04\/14\/podsheets-open-source-podcasting\/\"},\"author\":{\"name\":\"Jeff\",\"@id\":\"https:\/\/softwareengineeringdaily.com\/#\/schema\/person\/6365c4c1ff0b8cf742afe4279ddcc5bd\"},\"headline\":\"Podsheets: Open Source Podcasting\",\"datePublished\":\"2019-04-14T09:00:22+00:00\",\"dateModified\":\"2021-10-11T12:52:46+00:00\",\"mainEntityOfPage\":{\"@id\":\"http:\/\/softwareengineeringdaily.com\/2019\/04\/14\/podsheets-open-source-podcasting\/\"},\"wordCount\":4992,\"publisher\":{\"@id\":\"https:\/\/softwareengineeringdaily.com\/#organization\"},\"image\":{\"@id\":\"http:\/\/softwareengineeringdaily.com\/2019\/04\/14\/podsheets-open-source-podcasting\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2019\/04\/odsheets.png?fit=1550%2C972&ssl=1\",\"articleSection\":[\"Podcast\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"http:\/\/softwareengineeringdaily.com\/2019\/04\/14\/podsheets-open-source-podcasting\/\",\"url\":\"http:\/\/softwareengineeringdaily.com\/2019\/04\/14\/podsheets-open-source-podcasting\/\",\"name\":\"Podsheets: Open Source Podcasting - Software Engineering Daily\",\"isPartOf\":{\"@id\":\"https:\/\/softwareengineeringdaily.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"http:\/\/softwareengineeringdaily.com\/2019\/04\/14\/podsheets-open-source-podcasting\/#primaryimage\"},\"image\":{\"@id\":\"http:\/\/softwareengineeringdaily.com\/2019\/04\/14\/podsheets-open-source-podcasting\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2019\/04\/odsheets.png?fit=1550%2C972&ssl=1\",\"datePublished\":\"2019-04-14T09:00:22+00:00\",\"dateModified\":\"2021-10-11T12:52:46+00:00\",\"breadcrumb\":{\"@id\":\"http:\/\/softwareengineeringdaily.com\/2019\/04\/14\/podsheets-open-source-podcasting\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"http:\/\/softwareengineeringdaily.com\/2019\/04\/14\/podsheets-open-source-podcasting\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"http:\/\/softwareengineeringdaily.com\/2019\/04\/14\/podsheets-open-source-podcasting\/#primaryimage\",\"url\":\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2019\/04\/odsheets.png?fit=1550%2C972&ssl=1\",\"contentUrl\":\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2019\/04\/odsheets.png?fit=1550%2C972&ssl=1\",\"width\":1550,\"height\":972},{\"@type\":\"BreadcrumbList\",\"@id\":\"http:\/\/softwareengineeringdaily.com\/2019\/04\/14\/podsheets-open-source-podcasting\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/softwareengineeringdaily.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Podsheets: Open Source Podcasting\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/softwareengineeringdaily.com\/#website\",\"url\":\"https:\/\/softwareengineeringdaily.com\/\",\"name\":\"Software Engineering Daily\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/softwareengineeringdaily.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/softwareengineeringdaily.com\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/softwareengineeringdaily.com\/#organization\",\"name\":\"Software Engineering Daily\",\"url\":\"https:\/\/softwareengineeringdaily.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/softwareengineeringdaily.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2024\/01\/cropped-sed_website_banner.png?fit=549%2C169&ssl=1\",\"contentUrl\":\"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2024\/01\/cropped-sed_website_banner.png?fit=549%2C169&ssl=1\",\"width\":549,\"height\":169,\"caption\":\"Software Engineering Daily\"},\"image\":{\"@id\":\"https:\/\/softwareengineeringdaily.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/software_daily\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/softwareengineeringdaily.com\/#\/schema\/person\/6365c4c1ff0b8cf742afe4279ddcc5bd\",\"name\":\"Jeff\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/softwareengineeringdaily.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/69ae5c01bd43f01c2564f8f85218a6b6?s=96&d=retro&r=pg\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/69ae5c01bd43f01c2564f8f85218a6b6?s=96&d=retro&r=pg\",\"caption\":\"Jeff\"},\"url\":\"https:\/\/softwareengineeringdaily.com\/author\/jeff\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Podsheets: Open Source Podcasting - Software Engineering Daily","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"http:\/\/softwareengineeringdaily.com\/2019\/04\/14\/podsheets-open-source-podcasting\/","og_locale":"en_US","og_type":"article","og_title":"Podsheets: Open Source Podcasting - Software Engineering Daily","og_description":"Podsheets is a set of open source tools for podcast hosting, publishing, ad management, community engagement, and\u00a0more. Podsheets is influenced by our experience managing Software Engineering Daily, a full-time podcast business. Software Engineering Daily is a podcast that airs 5 times per week. With 4 ads per show and 50 business weeks per year, we","og_url":"http:\/\/softwareengineeringdaily.com\/2019\/04\/14\/podsheets-open-source-podcasting\/","og_site_name":"Software Engineering Daily","article_published_time":"2019-04-14T09:00:22+00:00","article_modified_time":"2021-10-11T12:52:46+00:00","og_image":[{"width":1550,"height":972,"url":"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2019\/04\/odsheets.png?fit=1550%2C972","type":"image\/png"}],"author":"Jeff","twitter_card":"summary_large_image","twitter_creator":"@software_daily","twitter_site":"@software_daily","twitter_misc":{"Written by":"Jeff","Est. reading time":"25 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"http:\/\/softwareengineeringdaily.com\/2019\/04\/14\/podsheets-open-source-podcasting\/#article","isPartOf":{"@id":"http:\/\/softwareengineeringdaily.com\/2019\/04\/14\/podsheets-open-source-podcasting\/"},"author":{"name":"Jeff","@id":"https:\/\/softwareengineeringdaily.com\/#\/schema\/person\/6365c4c1ff0b8cf742afe4279ddcc5bd"},"headline":"Podsheets: Open Source Podcasting","datePublished":"2019-04-14T09:00:22+00:00","dateModified":"2021-10-11T12:52:46+00:00","mainEntityOfPage":{"@id":"http:\/\/softwareengineeringdaily.com\/2019\/04\/14\/podsheets-open-source-podcasting\/"},"wordCount":4992,"publisher":{"@id":"https:\/\/softwareengineeringdaily.com\/#organization"},"image":{"@id":"http:\/\/softwareengineeringdaily.com\/2019\/04\/14\/podsheets-open-source-podcasting\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2019\/04\/odsheets.png?fit=1550%2C972&ssl=1","articleSection":["Podcast"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"http:\/\/softwareengineeringdaily.com\/2019\/04\/14\/podsheets-open-source-podcasting\/","url":"http:\/\/softwareengineeringdaily.com\/2019\/04\/14\/podsheets-open-source-podcasting\/","name":"Podsheets: Open Source Podcasting - Software Engineering Daily","isPartOf":{"@id":"https:\/\/softwareengineeringdaily.com\/#website"},"primaryImageOfPage":{"@id":"http:\/\/softwareengineeringdaily.com\/2019\/04\/14\/podsheets-open-source-podcasting\/#primaryimage"},"image":{"@id":"http:\/\/softwareengineeringdaily.com\/2019\/04\/14\/podsheets-open-source-podcasting\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2019\/04\/odsheets.png?fit=1550%2C972&ssl=1","datePublished":"2019-04-14T09:00:22+00:00","dateModified":"2021-10-11T12:52:46+00:00","breadcrumb":{"@id":"http:\/\/softwareengineeringdaily.com\/2019\/04\/14\/podsheets-open-source-podcasting\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["http:\/\/softwareengineeringdaily.com\/2019\/04\/14\/podsheets-open-source-podcasting\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"http:\/\/softwareengineeringdaily.com\/2019\/04\/14\/podsheets-open-source-podcasting\/#primaryimage","url":"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2019\/04\/odsheets.png?fit=1550%2C972&ssl=1","contentUrl":"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2019\/04\/odsheets.png?fit=1550%2C972&ssl=1","width":1550,"height":972},{"@type":"BreadcrumbList","@id":"http:\/\/softwareengineeringdaily.com\/2019\/04\/14\/podsheets-open-source-podcasting\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/softwareengineeringdaily.com\/"},{"@type":"ListItem","position":2,"name":"Podsheets: Open Source Podcasting"}]},{"@type":"WebSite","@id":"https:\/\/softwareengineeringdaily.com\/#website","url":"https:\/\/softwareengineeringdaily.com\/","name":"Software Engineering Daily","description":"","publisher":{"@id":"https:\/\/softwareengineeringdaily.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/softwareengineeringdaily.com\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/softwareengineeringdaily.com\/#organization","name":"Software Engineering Daily","url":"https:\/\/softwareengineeringdaily.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/softwareengineeringdaily.com\/#\/schema\/logo\/image\/","url":"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2024\/01\/cropped-sed_website_banner.png?fit=549%2C169&ssl=1","contentUrl":"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2024\/01\/cropped-sed_website_banner.png?fit=549%2C169&ssl=1","width":549,"height":169,"caption":"Software Engineering Daily"},"image":{"@id":"https:\/\/softwareengineeringdaily.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/software_daily"]},{"@type":"Person","@id":"https:\/\/softwareengineeringdaily.com\/#\/schema\/person\/6365c4c1ff0b8cf742afe4279ddcc5bd","name":"Jeff","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/softwareengineeringdaily.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/69ae5c01bd43f01c2564f8f85218a6b6?s=96&d=retro&r=pg","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/69ae5c01bd43f01c2564f8f85218a6b6?s=96&d=retro&r=pg","caption":"Jeff"},"url":"https:\/\/softwareengineeringdaily.com\/author\/jeff\/"}]}},"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"https:\/\/i0.wp.com\/softwareengineeringdaily.com\/wp-content\/uploads\/2019\/04\/odsheets.png?fit=1550%2C972&ssl=1","jetpack_shortlink":"https:\/\/wp.me\/p7GuoD-1T5","_links":{"self":[{"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/posts\/7259"}],"collection":[{"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/comments?post=7259"}],"version-history":[{"count":0,"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/posts\/7259\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/media\/7260"}],"wp:attachment":[{"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/media?parent=7259"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/categories?post=7259"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/softwareengineeringdaily.com\/wp-json\/wp\/v2\/tags?post=7259"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}