-
Notifications
You must be signed in to change notification settings - Fork 8
/
index.html
181 lines (140 loc) · 12.3 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="pmk-styles.css">
<title>Public Media Kitchen Toolkit</title>
</head>
<body>
<div class="main">
<div class="intro">
<img src="media/pmk_logo-red_300w.png" title="Public Media Kitchen Beater" class="logo">
<p>There is too much duplication of effort in public media product development. We can do a better job sharing practices and things we build for ourselves that could be useful to others. The Public Media Kitchen Toolkit is a collection of interesting things we're all working on. The intention is first to inform but over time move to direct collaboration.<br/><br/>
<a href="public-media-potluck-january-2019.html">Click here for information about the next Public Media Potluck</a> - the Public Media Kitchen's in person meetup January 17-18th, 2019 in San Francisco, CA.</p>
<h1>The Toolkit</h1>
<p>Instructions for updating this list can be found in this <a href="https://github.com/PublicMediaKitchen/toolkit/">GitHub project's readme file</a>.</p>
</div> <!--end intro section -->
<div class="category">
<hr>
<h2>Streaming Media</h2>
<div class="listing">
<h3><a href="https://github.com/StreamMachine/StreamMachine">StreamMachine</a>: Next-generation streaming audio infrastructure for radio stations</h3>
<p>StreamMachine is an open-source streaming audio server aimed at pushing innovation for radio stations that have spent too many years running old technology like Shoutcast and Icecast. The project has two goals: emulating the traditional streaming experience and building support for new features that push the radio listening experience forward. Currently StreamMachine supports traditional Shoutcast-style streaming and HTTP Live Streaming. SCPR has run StreamMachine in production since 2012.</p>
</div>
<div class="listing">
<h3><a href="https://github.com/APMG/rateitapp/">RateIt App</a>: A Rails engine for rating items.</h3>
<p>Validates users using OAuth and the rated thing using injected plugins. Implementations of this ratings engine include the <a href="https://github.com/APMG/the-current-alexa">APM|MPR Alexa skill</a> and the APM Radio app (<em>coming to Public Media Kitchen February 2018</em>)</br></br>This is a <a href="https://knightfoundation.org/articles/building-the-future-what-kind-of-infrastructure-is-needed-to-bolster-public-interest-podcasting">Knight funded project</a> built by APM|MPR.</p>
</div>
<div class="listing">
<h3><a href="https://github.com/APMG/topmusic">Top Music</a>: A year-end list generated by your audiences' votes</h3>
<p>This app provides a user interface for allowing the display of a large number of items that can be selected by an authenticated user. There is code for importing songs and fetching album artwork and works with OAuth for authentication.</br></br>This is a <a href="https://knightfoundation.org/articles/building-the-future-what-kind-of-infrastructure-is-needed-to-bolster-public-interest-podcasting">Knight funded project</a> built by APM|MPR.</p></p>
</div>
</div> <!--end Streaming Media category -->
<div class="category">
<hr>
<h2>On-Demand Media</h2>
<div class="listing">
<h3><a href="https://github.com/ProjectResound">Resound</a>: A suite of applications to help with the storage, management, and distribution of digital audio</h3>
<p>The goal of the project is that it's plug-and-play with existing systems, and is easy to use for any user in any given organization. This is a Knight funded project built by SCPR in collaboration with NYPR, WHYY, and NPR-DS.</p>
</div>
<div class="listing">
<h3><a href="https://github.com/APMG/bragi-api">APM Go and Bragi API</a>: A personal playlist app and supporting backend API.</h3>
<p>The <a href="https://github.com/APMG/apmgo-ui">front end</a> of this project is a React based player that allows an authenticated user to play and archive audio from a variety of participating websites. The <a href="https://github.com/APMG/bragi-api">back end</a> of this project is an API that stores data about individual users, what audio files they have saved and whether they are in a new or archived state.</br></br>This is a <a href="https://knightfoundation.org/articles/building-the-future-what-kind-of-infrastructure-is-needed-to-bolster-public-interest-podcasting">Knight funded project</a> built by APM|MPR.</p>
</div>
</div> <!--end On-Demand Media category -->
<div class="category">
<hr>
<h2>Data Management</h2>
</div> <!--end Data Management category -->
<div class="category">
<hr>
<h2>IoT (Internet of Things)</h2>
<div class="listing">
<h3><a href="https://github.com/spyderboy/WYEP-Alexa-Skill">Alexa Skill for Music Stations</a>: An example Alexa Skill for playing live streams and calling Composer API to identify song info</h3>
<p>This is a simple skill that demonstrates live music streaming and interacting with the NPR Composer API, initially developed for WYEP</p>
</div>
<div class="listing">
<h3><a href="https://github.com/APMG/skill-share">Alexa Skill Share</a></h3>
<p>Developed by APM|MPR with funding from the <a href="https://knightfoundation.org/articles/building-the-future-what-kind-of-infrastructure-is-needed-to-bolster-public-interest-podcasting">Knight Foundation.</a></br>
The base code is <a href="https://github.com/APMG/skill-share">here.</a> </p>
<p>A small library to reduce boilerplate and enable sharing of state handlers and intents between skills. Easily compose intents to create a state handler, and compose state handlers to create an Alexa skill lambda handler. This library is currently up and running in a development version of the skill for <a href="https://github.com/APMG/the-current-alexa">The Current</a>.</p>
</div>
</div> <!--end IoT (Internet of Things) category -->
<div class="category">
<hr>
<h2>Content Management Systems</h2>
<div class="listing">
<h3><a href="https://github.com/APMG/ruby-slimdown">Slimdown</a> A library for structured, markdown based pages</h3>
<p>Slimdown is a simple gem to allow you to easily add static pages to your app via a folder full of Markdown files. There is also a <a href="https://github.com/APMG/php-slimdown">PHP version</a> available.</p>
</div>
<div class="listing">
<h3><a href="https://github.com/nprapps/interactive-template">NPR's Interactive Template</a> A comprehensive scaffolding for building interactive stories</h3>
<p>The Interactive Template provides a complete toolkit for building rich multimedia pages, fed from Google Sheets, Docs, CSV, JSON, and Markdown. Includes a live development server with utilities for bundling and compiling JavaScript and CSS (from LESS). Pages are deployed to Amazon S3.</p>
</div>
<div class="listing">
<h3><a href="https://github.com/nprapps/dailygraphics-next">Dailygraphics Next</a> A data visualization template from NPR Visuals</h3>
<p>The Dailygraphics rig is used by NPR to create data visualizations for stories using D3, powered by Google Sheets and published to S3. It includes a number of templates for different types of graphics, all of which are responsive and embeddable using Pym.js.</p>
</div>
</div> <!--end Content Management Systems category -->
<div class="category">
<hr>
<h2>Social Media & 3rd Party Platforms</h2>
<div class="listing">
<h3><a href="https://github.com/nypublicradio/audiogram/">Audiograms</a> A library for generating shareable videos from audio clips</h3>
<p>Unlike audio, video is a first-class citizen of social media. It's easy to embed, share, autoplay, or play in a feed, and the major services are likely to improve their video experiences further over time. WNYC's solution to this problem was this library. Given a piece of audio to share on social media, this can generate a video with that audio and some basic accompanying visuals: a waveform of the audio, a theme for the show it comes from, and a caption. For more backstory, <a href="https://medium.com/@WNYC/e648e8a5f2e9">read this post</a>.</p>
</div>
<div class="listing">
<h3><a href="https://github.com/APMG/oembed_proxy">oEmbed Proxy</a> Simple library to manage first party, embedly, and custom oembeds</h3>
<p>At MPR/APM, producers want to include content from tons of third party systems. Many of these support <a href="https://oembed.com/">oEmbeds</a>, a spec for content embedding. To handle these, we built the oEmbed Proxy which is a single place to support first party oembeds (where the provider supports oembeds natively), Embed.ly oembeds (where they built support for a pile of additional content providers), and "Fauxembeds (where we build our own embed providers for sites which do not support it). The oEmbed Proxy is highly extensible and makes it easy to add additional oEmbed providers.</p>
</div>
<div class="listing">
<h3><a href="https://github.com/nprapps/lunchbox">Lunchbox</a> Utilities for creating social cards and embeds</h3>
<p>Lunchbox is a combination of several tools used at NPR for creating social media cards: a watermarking tool, quote card generator, and fact list image creator.</p>
</div>
</div> <!--end Social Media & 3rd Party Platforms category -->
<div class="category">
<hr>
<h2>Mobile Apps</h2>
<div class="listing">
<h3><a href="http://www.wbur.org/news/2016/09/13/faq-about-the-new-wbur-listen-app">WBUR Listen App</a></h3>
<p>WBUR is unable to publicly open source the code for its mobile app. However, they are more than happy to share the code with anyone who works in public media. Just contact David Moore or Will Smith (available on the <strong>#public-media-kitchen</strong> Slack channel).</p>
</div>
</div> <!--end Mobile Apps category -->
<div class="category">
<hr>
<h2>Design Systems</h2>
<div class="listing">
<h3><a href="https://training.npr.org/digital/take-our-playbook-nprs-guide-to-building-immersive-storytelling-projects/">Hypothesis-Driven Design</a> From NPR Visuals</h3>
<p>A guide to creating immersive storytelling projects on editorial teams, from conception to publication.</p>
</div>
</div> <!--end Design Systems category -->
<div class="category">
<hr>
<h2>Marketing Methodologies / Case Studies</h2>
</div> <!--end Marketing category -->
<div class="category">
<hr>
<h2>Analysis</h2>
</div> <!--end Analysis category -->
<div class="category">
<hr>
<h2>Live Blogs</h2>
<div class="listing">
<h3><a href="https://www.scribblelive.com">Scribble Live</a>: Commercial liveblog tool</h3>
<p><a href="http://live.mprnews.org">Used</a> by MPR News. Has generally been a no fuss hosted service though there have been some speed bumps getting https setup properly.</p>
</div>
<div class="listing">
<h3><a href="https://www.sourcefabric.org/en/liveblog/">Sourcefabric Live Blog</a>: Opensource live blog</h3>
<p>Based on OSS Superdesk CMS.</p>
</div>
<div class="listing">
<h3><a href="https://github.com/adampash/slack-liveblog">Slack Live Blog</a> Slack-based live blog</h3>
<p>OSS project that uses Rails 4.2 and the <a href="https://github.com/aki017/slack-ruby-gem">slack-api</a> gem to generate a live blog fed from a Slack channel. Does not appear to be actively maintained.</p>
</div>
<div class="listing">
<h3><a href="https://etherpad.opennews.org/p/SRCCON2017-live-coverage-forms">Live Coverage Forms For (and From) the Immediate Future</a>: SRCCON 2017 session on live events coverage</h3>
<p>A deck about—and some examples of—experiments around live event coverage. Most of the software listed was not opensource or commercially available at the time of the presentation.</p>
</div>
</div> <!--end Live Blogs category -->
</div>
</body>
</html>