SlideShare ist ein Scribd-Unternehmen logo
1 von 77
Downloaden Sie, um offline zu lesen
PodcastTracker.com:
HOW I BUILT A PODCAST TRACKING WEBHOW I BUILT A PODCAST TRACKING WEB
APP WITH DRUPALAPP WITH DRUPAL
by Mark Koester (@Int3c)
SLIDES:SLIDES:
https://rawgit.com/markwk/building-
podcasttracker.com-presentation/master/index.html
MY YEAR IN PODCAST LISTENING (2016 PREVIEW)MY YEAR IN PODCAST LISTENING (2016 PREVIEW)
MY YEAR IN PODCAST LISTENING (2016 PREVIEW)MY YEAR IN PODCAST LISTENING (2016 PREVIEW)
MY YEAR IN PODCAST LISTENING (2016 PREVIEW)MY YEAR IN PODCAST LISTENING (2016 PREVIEW)
MY YEAR IN PODCAST LISTENING (2017 PREVIEW)MY YEAR IN PODCAST LISTENING (2017 PREVIEW)
OUTLINEOUTLINE
Self-Tracking & Quanti ed Self
Media Tracking
Can I Track My Podcast Listening?
The Prototype & The Scraper
For the Love of Cron
What I've Learned?
I'M A DIGITAL DOCUMENTARIST.I'M A DIGITAL DOCUMENTARIST.
I am . I'm a tech entrepreneur, a
(mostly), a and...
Mark Koester web
developer writer
... AND AN OBSESSIVE TRACKER!... AND AN OBSESSIVE TRACKER!
QUANTIFIED SELF: WHAT IS IT?QUANTIFIED SELF: WHAT IS IT?
Def 1: Tracking raw data to try and draw correlations
and ways to improve our lives from it.
Def 2: Measuring or documenting something about
your self such that it gains meaning.
WHAT DO I TRACK...?WHAT DO I TRACK...?
HEALTH & FITNESSHEALTH & FITNESS
Steps (Apple Watch)
Blood Pressure
Weight (digital scale and manual logging)
Heart Rate & Heart Rate Variability
Running & Cycling (Strava)
Sleep (AutoSleep app)
Supplements and Medicine (RoundHealth)
Strength Workouts (FitBod)
Daily Standing
TIME & PRODUCTIVITYTIME & PRODUCTIVITY
Computing Time (RescueTime)
Project Time (Toggl)
Mobile Screen Time (Moment app)
Tasks (Todoist)
Habits and Goals (via Streaks, Habitica, Productive)
Creative Written Words (Mac Word Counter app)
LEARNING & MEDIA CONSUMPTIONLEARNING & MEDIA CONSUMPTION
Books Read (GoodReads)
Articles Read (Pocket, Evernote)
TV and Movie Watching (Trakt.tv)
Music (Last.fm)
OTHER RANDOM STUFFOTHER RANDOM STUFF
NEW Photos Taken and Where ( )
Money & Finances (Mint)
Location (Moves app, Reporter App)
PhotoStats.io
EXPLORING AND VISUALIZING MY DATA:EXPLORING AND VISUALIZING MY DATA:
EXAMPLESEXAMPLES
A Year in Numbers: My Data From 2017
Media Tracking
Book Reading: GoodReads.com
Article Reading: Pocket, Evernote...
Music Listening: Last.fm
TV and Movies with Trakt.tv
MISSING MEDIA TRACKING:MISSING MEDIA TRACKING:
.
.
.
.
PODCASTSPODCASTS
Can I Track My Podcast Listening like GoodReads,
Trakt.tv, or Last.Fm?
PROBLEM: WHAT ABOUT TRACKING MY PODCAST LISTENING? IS IS POSSIBLE? HOW?PROBLEM: WHAT ABOUT TRACKING MY PODCAST LISTENING? IS IS POSSIBLE? HOW?
POCKET CAST APPPOCKET CAST APP
Limitations: No log of listening history, no export, no
breakdown of stats.
There is currently no app or web service to track your
podcast listening.
.
.
So let's build one!
How I Built a Podcast Tracking Web App with Drupal
The Prototype & The Scraper
INITIAL FEATURE LISTINITIAL FEATURE LIST
1. Basic data structure around Podcast Channels +
Episodes
2. Sync and update list of podcast episodes from an RSS
feed.
3. Logger to mark that you subscribe to a channel and
that you listened to an episode.
Starting Position: Panopoly Distro
Content Type: Podcast Channel
Content Type: Podcast Channel
Content Type: Episode
Entity Reference: Episode => Podcast
Storing Duration? Options...
https://www.drupal.org/project/interval
https://www.drupal.org/project/hms_ eld
Episode Page
Flag: Subscriptions and Listens
Flag: Logging an Episode Listen
Importing with Feeds: Podcast RSS creates Episodes
Python Scraper: Importing Initial Directory of Podcasts
Import Podcasts with RSS Feeds
Custom Code to Process and Add Additional Podcast
Data like cover image and other info from RSS Channel
Custom Code to Better Parse RSS Episode Duration
Info
Custom Code to Import OPML
Views: Listing of Subscribed Podcasts
Views: Listing of Latest Episodes from Subscribed
Podcasts
Views: Listens (+ export)
Views: My Total Listening Time
Views: My Total Listening Time
Views: Listens by Channel
For the Love of Cron
Cron Processes to Keep Things Up to Date
More Site Features and Improvements
RAW EXPORT OF MY PODCAST LISTENINGRAW EXPORT OF MY PODCAST LISTENING
VISUALIZING: MY YEAR IN PODCAST LISTENING (2017 (1))VISUALIZING: MY YEAR IN PODCAST LISTENING (2017 (1))
VISUALIZING: MY YEAR IN PODCAST LISTENING (2017 (2))VISUALIZING: MY YEAR IN PODCAST LISTENING (2017 (2))
VISUALIZING: MY YEAR IN PODCAST LISTENING (2017 (2))VISUALIZING: MY YEAR IN PODCAST LISTENING (2017 (2))
FUTURE FEATURESFUTURE FEATURES
Improved / Custom Design
API First?
Drupal 8?
Mobile App with React Native
PodcastTracker.com:
WHAT I'VE LEARNED?WHAT I'VE LEARNED?
DEVELOPMENT TIMEDEVELOPMENT TIME
The initial version took about 20 hours to build, and
since then I've spent about another 20-30 hours of
development.
STATS LOGGEDSTATS LOGGED
As of early Jan 2018, over 300 days worth of podcast
listening has been logged.
PodcastTracker.com:
WHAT I'VE LEARNED?WHAT I'VE LEARNED?
WHERE CAN YOU FIND ME?WHERE CAN YOU FIND ME?
Personal Blog:
Linkedin:
Github:
Professional Portfolio:
Twitter:
AVAILABLE FOR HIRE:AVAILABLE FOR HIRE:
Builder for Web and Mobile, Drupal Dev, CTO, Technology Consultant
www.markwk.com
linkedin.com/in/markwkoester
markwk
Int3c.com/portfolio
@markwkoester

Weitere ähnliche Inhalte

Ähnlich wie PodcastTracker.com: How i built a podcast tracking web app with Drupal

Introduction to Podcasting
Introduction to PodcastingIntroduction to Podcasting
Introduction to PodcastingMax LaMura
 
Podcasting Presentation
Podcasting PresentationPodcasting Presentation
Podcasting PresentationINF Industries
 
Music Personalization At Spotify
Music Personalization At SpotifyMusic Personalization At Spotify
Music Personalization At SpotifyVidhya Murali
 
Introduction to Podcasting
Introduction to PodcastingIntroduction to Podcasting
Introduction to PodcastingGeoffrey Colon
 
How to launch a podcast from an idea. Repeatedly!
How to launch a podcast from an idea. Repeatedly!How to launch a podcast from an idea. Repeatedly!
How to launch a podcast from an idea. Repeatedly!Henrik de Gyor
 
Word Press And Podcasting
Word Press And PodcastingWord Press And Podcasting
Word Press And PodcastingThom Allen
 
NPR API Usage and Metrics
NPR API Usage and MetricsNPR API Usage and Metrics
NPR API Usage and MetricsDaniel Jacobson
 
NPR's Digital Distribution and Mobile Strategy
NPR's Digital Distribution and Mobile StrategyNPR's Digital Distribution and Mobile Strategy
NPR's Digital Distribution and Mobile StrategyDaniel Jacobson
 
Stealing the Best Ideas from DevOps: A Guide for Sysadmins without Developers
Stealing the Best Ideas from DevOps: A Guide for Sysadmins without DevelopersStealing the Best Ideas from DevOps: A Guide for Sysadmins without Developers
Stealing the Best Ideas from DevOps: A Guide for Sysadmins without DevelopersTom Limoncelli
 
NJEA Podcasting Workshop
NJEA Podcasting WorkshopNJEA Podcasting Workshop
NJEA Podcasting Workshopheinricb
 
signmesh snapshot - the best of Spotify
signmesh snapshot - the best of Spotifysignmesh snapshot - the best of Spotify
signmesh snapshot - the best of Spotifysignmesh
 
Mapping the Guardian's tags to the web of data
Mapping the Guardian's tags to the web of dataMapping the Guardian's tags to the web of data
Mapping the Guardian's tags to the web of dataMartin Belam
 
Last.fm API workshop - Stockholm
Last.fm API workshop - StockholmLast.fm API workshop - Stockholm
Last.fm API workshop - StockholmMatthew Ogle
 
IS20090 - Week 6 - Podcasts (14th Oct. 2009)
IS20090 - Week 6 - Podcasts (14th Oct. 2009)IS20090 - Week 6 - Podcasts (14th Oct. 2009)
IS20090 - Week 6 - Podcasts (14th Oct. 2009)is20090
 
Deezer and Spotify for brands and labels
Deezer and Spotify for brands and labelsDeezer and Spotify for brands and labels
Deezer and Spotify for brands and labelsPlayApp
 

Ähnlich wie PodcastTracker.com: How i built a podcast tracking web app with Drupal (20)

Introduction to Podcasting
Introduction to PodcastingIntroduction to Podcasting
Introduction to Podcasting
 
Podcasting Presentation
Podcasting PresentationPodcasting Presentation
Podcasting Presentation
 
Music Personalization At Spotify
Music Personalization At SpotifyMusic Personalization At Spotify
Music Personalization At Spotify
 
Introduction to Podcasting
Introduction to PodcastingIntroduction to Podcasting
Introduction to Podcasting
 
Semweb at the BBC
Semweb at the BBCSemweb at the BBC
Semweb at the BBC
 
Pod
PodPod
Pod
 
How to launch a podcast from an idea. Repeatedly!
How to launch a podcast from an idea. Repeatedly!How to launch a podcast from an idea. Repeatedly!
How to launch a podcast from an idea. Repeatedly!
 
Podcasting
PodcastingPodcasting
Podcasting
 
Word Press And Podcasting
Word Press And PodcastingWord Press And Podcasting
Word Press And Podcasting
 
NPR API Usage and Metrics
NPR API Usage and MetricsNPR API Usage and Metrics
NPR API Usage and Metrics
 
Podcast
PodcastPodcast
Podcast
 
NPR's Digital Distribution and Mobile Strategy
NPR's Digital Distribution and Mobile StrategyNPR's Digital Distribution and Mobile Strategy
NPR's Digital Distribution and Mobile Strategy
 
Stealing the Best Ideas from DevOps: A Guide for Sysadmins without Developers
Stealing the Best Ideas from DevOps: A Guide for Sysadmins without DevelopersStealing the Best Ideas from DevOps: A Guide for Sysadmins without Developers
Stealing the Best Ideas from DevOps: A Guide for Sysadmins without Developers
 
NJEA Podcasting Workshop
NJEA Podcasting WorkshopNJEA Podcasting Workshop
NJEA Podcasting Workshop
 
signmesh snapshot - the best of Spotify
signmesh snapshot - the best of Spotifysignmesh snapshot - the best of Spotify
signmesh snapshot - the best of Spotify
 
Mapping the Guardian's tags to the web of data
Mapping the Guardian's tags to the web of dataMapping the Guardian's tags to the web of data
Mapping the Guardian's tags to the web of data
 
Last.fm API workshop - Stockholm
Last.fm API workshop - StockholmLast.fm API workshop - Stockholm
Last.fm API workshop - Stockholm
 
IS20090 - Week 6 - Podcasts (14th Oct. 2009)
IS20090 - Week 6 - Podcasts (14th Oct. 2009)IS20090 - Week 6 - Podcasts (14th Oct. 2009)
IS20090 - Week 6 - Podcasts (14th Oct. 2009)
 
Deezer and Spotify for brands and labels
Deezer and Spotify for brands and labelsDeezer and Spotify for brands and labels
Deezer and Spotify for brands and labels
 
Podcasting in Education
Podcasting in EducationPodcasting in Education
Podcasting in Education
 

Kürzlich hochgeladen

Software Engineering - Introduction + Process Models + Requirements Engineering
Software Engineering - Introduction + Process Models + Requirements EngineeringSoftware Engineering - Introduction + Process Models + Requirements Engineering
Software Engineering - Introduction + Process Models + Requirements EngineeringPrakhyath Rai
 
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit MilanWorkshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit MilanNeo4j
 
^Clinic ^%[+27788225528*Abortion Pills For Sale In soweto
^Clinic ^%[+27788225528*Abortion Pills For Sale In soweto^Clinic ^%[+27788225528*Abortion Pills For Sale In soweto
^Clinic ^%[+27788225528*Abortion Pills For Sale In sowetokasambamuno
 
^Clinic ^%[+27788225528*Abortion Pills For Sale In birch acres
^Clinic ^%[+27788225528*Abortion Pills For Sale In birch acres^Clinic ^%[+27788225528*Abortion Pills For Sale In birch acres
^Clinic ^%[+27788225528*Abortion Pills For Sale In birch acreskasambamuno
 
Food Delivery Business App Development Guide 2024
Food Delivery Business App Development Guide 2024Food Delivery Business App Development Guide 2024
Food Delivery Business App Development Guide 2024Chirag Panchal
 
architecting-ai-in-the-enterprise-apis-and-applications.pdf
architecting-ai-in-the-enterprise-apis-and-applications.pdfarchitecting-ai-in-the-enterprise-apis-and-applications.pdf
architecting-ai-in-the-enterprise-apis-and-applications.pdfWSO2
 
Auto Affiliate AI Earns First Commission in 3 Hours..pdf
Auto Affiliate  AI Earns First Commission in 3 Hours..pdfAuto Affiliate  AI Earns First Commission in 3 Hours..pdf
Auto Affiliate AI Earns First Commission in 3 Hours..pdfSelfMade bd
 
Modern binary build systems - PyCon 2024
Modern binary build systems - PyCon 2024Modern binary build systems - PyCon 2024
Modern binary build systems - PyCon 2024Henry Schreiner
 
StrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi.pdf
StrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi.pdfStrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi.pdf
StrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi.pdfsteffenkarlsson2
 
How to install and activate eGrabber JobGrabber
How to install and activate eGrabber JobGrabberHow to install and activate eGrabber JobGrabber
How to install and activate eGrabber JobGrabbereGrabber
 
Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024Andreas Granig
 
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024MulesoftMunichMeetup
 
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024SimonedeGijt
 
BusinessGPT - Security and Governance for Generative AI
BusinessGPT  - Security and Governance for Generative AIBusinessGPT  - Security and Governance for Generative AI
BusinessGPT - Security and Governance for Generative AIAGATSoftware
 
Salesforce Introduced Zero Copy Partner Network to Simplify the Process of In...
Salesforce Introduced Zero Copy Partner Network to Simplify the Process of In...Salesforce Introduced Zero Copy Partner Network to Simplify the Process of In...
Salesforce Introduced Zero Copy Partner Network to Simplify the Process of In...CloudMetic
 
Evolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI EraEvolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI Eraconfluent
 

Kürzlich hochgeladen (20)

Software Engineering - Introduction + Process Models + Requirements Engineering
Software Engineering - Introduction + Process Models + Requirements EngineeringSoftware Engineering - Introduction + Process Models + Requirements Engineering
Software Engineering - Introduction + Process Models + Requirements Engineering
 
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit MilanWorkshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
 
^Clinic ^%[+27788225528*Abortion Pills For Sale In soweto
^Clinic ^%[+27788225528*Abortion Pills For Sale In soweto^Clinic ^%[+27788225528*Abortion Pills For Sale In soweto
^Clinic ^%[+27788225528*Abortion Pills For Sale In soweto
 
Abortion Clinic In Springs ](+27832195400*)[ 🏥 Safe Abortion Pills in Springs...
Abortion Clinic In Springs ](+27832195400*)[ 🏥 Safe Abortion Pills in Springs...Abortion Clinic In Springs ](+27832195400*)[ 🏥 Safe Abortion Pills in Springs...
Abortion Clinic In Springs ](+27832195400*)[ 🏥 Safe Abortion Pills in Springs...
 
Abortion Clinic Pretoria ](+27832195400*)[ Abortion Clinic Near Me ● Abortion...
Abortion Clinic Pretoria ](+27832195400*)[ Abortion Clinic Near Me ● Abortion...Abortion Clinic Pretoria ](+27832195400*)[ Abortion Clinic Near Me ● Abortion...
Abortion Clinic Pretoria ](+27832195400*)[ Abortion Clinic Near Me ● Abortion...
 
Abortion Clinic In Pretoria ](+27832195400*)[ 🏥 Safe Abortion Pills in Pretor...
Abortion Clinic In Pretoria ](+27832195400*)[ 🏥 Safe Abortion Pills in Pretor...Abortion Clinic In Pretoria ](+27832195400*)[ 🏥 Safe Abortion Pills in Pretor...
Abortion Clinic In Pretoria ](+27832195400*)[ 🏥 Safe Abortion Pills in Pretor...
 
^Clinic ^%[+27788225528*Abortion Pills For Sale In birch acres
^Clinic ^%[+27788225528*Abortion Pills For Sale In birch acres^Clinic ^%[+27788225528*Abortion Pills For Sale In birch acres
^Clinic ^%[+27788225528*Abortion Pills For Sale In birch acres
 
Food Delivery Business App Development Guide 2024
Food Delivery Business App Development Guide 2024Food Delivery Business App Development Guide 2024
Food Delivery Business App Development Guide 2024
 
architecting-ai-in-the-enterprise-apis-and-applications.pdf
architecting-ai-in-the-enterprise-apis-and-applications.pdfarchitecting-ai-in-the-enterprise-apis-and-applications.pdf
architecting-ai-in-the-enterprise-apis-and-applications.pdf
 
Auto Affiliate AI Earns First Commission in 3 Hours..pdf
Auto Affiliate  AI Earns First Commission in 3 Hours..pdfAuto Affiliate  AI Earns First Commission in 3 Hours..pdf
Auto Affiliate AI Earns First Commission in 3 Hours..pdf
 
Modern binary build systems - PyCon 2024
Modern binary build systems - PyCon 2024Modern binary build systems - PyCon 2024
Modern binary build systems - PyCon 2024
 
StrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi.pdf
StrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi.pdfStrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi.pdf
StrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi.pdf
 
How to install and activate eGrabber JobGrabber
How to install and activate eGrabber JobGrabberHow to install and activate eGrabber JobGrabber
How to install and activate eGrabber JobGrabber
 
Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024
 
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024
 
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
 
BusinessGPT - Security and Governance for Generative AI
BusinessGPT  - Security and Governance for Generative AIBusinessGPT  - Security and Governance for Generative AI
BusinessGPT - Security and Governance for Generative AI
 
Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...
Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...
Abortion Clinic In Johannesburg ](+27832195400*)[ 🏥 Safe Abortion Pills in Jo...
 
Salesforce Introduced Zero Copy Partner Network to Simplify the Process of In...
Salesforce Introduced Zero Copy Partner Network to Simplify the Process of In...Salesforce Introduced Zero Copy Partner Network to Simplify the Process of In...
Salesforce Introduced Zero Copy Partner Network to Simplify the Process of In...
 
Evolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI EraEvolving Data Governance for the Real-time Streaming and AI Era
Evolving Data Governance for the Real-time Streaming and AI Era
 

PodcastTracker.com: How i built a podcast tracking web app with Drupal