
A Mac Podcast App You Can't Have - steve228uk
http://stephenradford.me/the-mac-podcast-app-you-cant-have/
======
gallerdude
I've had one semester of Computer Science, and have zero clue of how people do
stuff like this.

How does he get the UI working so fast and looking so good? How do you
_reverse engineer an API_ \- this seems like some hacker stuff you'd see in
Halt & Catch Fire, in my mind anyways.

I'm sure I'll get there, but right now there's a major disconnect between the
C investment calculator text program I made, and these super functional,
beautiful works of art.

~~~
vivekseth
There _is_ a major disconnect! You’re studying computer science and wondering
how it applies to software engineering. When I studied CS (graduated a year
ago) we never went over things like building a GUI, reverse engineering an
API, or designing a UI. Those are software engineering topics. By the time I
graduated I learned how to do those things, but it was by learning them on my
own. If you want to learn these things you’ll need to take the initiative
yourself.

Here are some links to get you started:

1\. [http://lancenewman.me/reverse-engineering-the-tinder-
api/](http://lancenewman.me/reverse-engineering-the-tinder-api/)

2\. [https://www.raywenderlich.com/151741/macos-development-
begin...](https://www.raywenderlich.com/151741/macos-development-beginners-
part-1)

3\. [https://medium.com/@erikdkennedy/7-rules-for-creating-
gorgeo...](https://medium.com/@erikdkennedy/7-rules-for-creating-gorgeous-ui-
part-1-559d4e805cda)

~~~
slg
It seems like many if not most computer science students are actually
interested in software engineering and not CS. It is a shame that more schools
don't offer separate software engineering programs or at least make the
distinction between the two more apparent to prospective students.

I am sure I wasn't the only 17 year old told I should get a CS degree if I
wanted to be a software developer. Meanwhile the most value I have gotten out
of the CS classes that taught me to write a loop in MIPS or two build a XOR
gate out of NAND gates is commiserating about those experiences with fellow CS
grads. I would have much rather had a class about reverse engineering an API
or other less theoretical and more vocational classes.

~~~
chii
Knowing how a loop is implemented in MIPS means your now have enough knowledge
to debug assembly, and perhaps do low level performance optimisations. It's
not useless, just not directly and immediately. You won't be able to lean on
any foundational work if you hadn't learnt it, and you'll have a super hard
time doing complex things later, like reverse engineering.

~~~
slg
What percentage of developers ever have to debug assembly or do low level
performance optimizations? I am 10 years into my career and I have only
professionally seen assembly code once. We have abstracted most of these low
level things out of the normal life of most developers. That isn't to say it
isn't important for some, but there are a lot more developers who would
benefit more from a class on design principles than a class on assembly.

------
skinnymuch
That's cool that he was able to get a whole Mac app finished. Unfortunate that
none of it seems to be open sourced, at least the non-private API parts. But
maybe he plans to use the code to monetize something different in the future.

On the other hand, for best iOS/Mac podcast app, I haven't been completely
happy with any for years. New ones with smart speed - great feature, but I
like one feature above all else.

My favorite app was Instacast for iOS because it let me add time stamped
bookmarks/notes. Audible has something similar. None of the apps mentioned in
Product Hunt or his blog post seem to support this. Such a bummer. I paid for
Instacast 5 before it was removed. It started crashing at launch on iOS 10
however.

Edit: I recognize not many people, likely a single digit percentage of podcast
app users would care for bookmarking/notes (thanks Void_)

~~~
Void_
Do a lot of people share this pain? It sounds like a very niche problem to me
(as a macOS dev).

But if those bookmarks/notes is a problem to a lot of people, then it might
just be worth looking into.

~~~
skinnymuch
Nope, doubt it's a feature many people care about. I should specify that in my
comment now actually. Thanks.

~~~
oneeyedpigeon
Imagine if you could share the notes. And the notes could be structured. And
you could tweak your player to react to notes in various ways. We could have
crowd-sourced ad-'blocking' on podcasts!

~~~
skinnymuch
Hah. That is true.

Actually I have extensive time stamped notes for hundreds of podcast episodes
including their ads starting and ending, but personally I'm against ad
blocking. I've been in the process of removing those parts before publishing
my bookmarks/notes.

~~~
oneeyedpigeon
I think I agree, much as I hate ads! There is something about podcast ads that
I find much more acceptable than most other forms; the only slight downside is
they tend to be quite repetitive, both within shows, and across them.

It would certainly be useful to have notes for a whole range of other benefits
e.g. making it much easier to search an old episode for a specific topic.

~~~
skinnymuch
That's actually why I started tracking the ad times. The same podcasts I
listen to usually rotate through the same ads. So I would end up skipping them
and noting it for fav episodes that I might come back to. Same issue ads on
YouTube or Hulu when they become repetitive. I'm trying to not be against ad
blocking, but when that happens, it's almost impossible to not be annoyed.

And yeah the other use cases help for sure!

------
mark212
My suggestion to the developer would be to talk to the Pocket Casts people
about offering the desktop client as an in-app purchase and share those
revenues (easily traceable) with the dev. Maybe they could create a special
authorization key that would allow access to the unofficial API without
locking that account. The app gets a desktop version and the dev gets some
revenue for his trouble, and Pocket Casts has some increased income to support
any additional load on its servers (plus profits).

Just a thought. Tell me why I'm wrong / horribly naive / etc

~~~
criddell
One snag may be the collection of metrics. Marketing people seem to have
realized that there's a burgeoning market that they haven't destroyed yet and
they seem determined to correct this oversight. If they decide that they need
to monitor listeners or make sure they can't skip ads, then third party
clients are going to never happen.

------
badprose
I recently tried turning the PocketCasts webplayer into an app on chrome and
while it worked well, it had a major flaw. I'm stuck at my computer! If I
wanted to get a cup of water, check the mail, put clothes in the dryer,
whatever, I would have to pause the podcast, or leave it on and lose part of
the story. This is fine when I had radio, since I can dip in and out and it
doesn't matter much. But if I'm listening to something with a deep plot like
Serial or that Halo thing, I don't want to miss a thing.

~~~
hammock
Spotify just needs to host more podcasts... I have become obsessed with how
convenient it is to cast Spotify to my wifi speakers, phone, computer and back
and forth. Easy to switch where it's playing by changing in the the mobile or
desktop UI. Constantly switching between phone/speakers when moving around the
house, or leaving the house.

~~~
codfrantic
'Podcastaddict' also has google Cast functionality.

~~~
noxToken
One of the few free apps that I've donated to! Quality podcasting app that has
been receiving non-trivial updates for years.

~~~
camiller
Agreed, and I have donated as well. I especially like the advanced sorting
options they have added reciently.

------
criddell
I wonder if he could define the minimal API that his application needs, then
write adapters for different podcast services. Maybe one day Pocket Casts will
have a public API or perhaps be willing to officially license him to use their
private API. Or maybe he should spend next weekend and write the backend part
himself. He certain seems to have the talent to do so.

------
scott113341
I use PocketCasts in conjunction with BeardedSpice [1] to forward media key
commands. It works very well!

[1]
[https://github.com/beardedspice/beardedspice](https://github.com/beardedspice/beardedspice)

------
mintplant
Well that's disappointing. Don't mind me, just quietly shelving the Pocket
Casts API client I was working on...

------
ericzawo
You know, it really is insane Apple continues to push this "we're a music
company" narrative, especially with the release of The Defiant Ones. iTunes
has been a car accident for over a decade, and the release of Apple Music has
only further exemplified that the whole thing needs an overhaul.

~~~
itg
What's wrong with Apple Music? I switched over from Spotify because it has
better integration with iOS and it has a similar library and neither service
has a distinguishing feature that makes it really stand out.

~~~
jakebasile
Apple Music has some things Spotify doesn't have, some out of the control of
Spotify Inc, some they choose to ignore:

\- Siri integration (this is Apple's fault, no reason not to open SiriKit to
music services)

\- An Apple TV App (This is on Spotify, it's been asked for forever)

\- An Apple Watch App (This is also on Spotify, but there are rumors it's
coming soon)

But there are some real downsides to Apple Music vs Spotify:

\- Apple Music's playlists aren't as good, community playlists are tough to
find. I've found links to Spotify playlists filled with interesting music, no
luck for Apple Music.

\- Apple Music's radio is subjectively worse. Repeats far too often.

\- iTunes is a travesty and I'm forced to use it to listen on my desktop. It's
slow, ugly, tough to navigate, terrible to search. It does 500 things and none
of them well.

\- The Apple Music app on iOS isn't much better. UI is scattershot and it is
tough to do some things that shouldn't be.

\- No cross-device play state sync. For example, if I start listening to a
playlist on Spotify I can start at the same point in the song and pick up
exactly where I was on any other device.

\- Social integration - I can send Spotify previews to people via Facebook
Messenger, and Spotify integrates with other social stuff. Apple Music is all
by itself.

I think a big issue that Apple will run into is that they insist on tying
releases of Apple Music to iOS releases. Spotify can release new versions
whenever they want, but because Apple didn't announce something like cross
device state sync there's no chance I'll get it until at least next year.

I have both Spotify and Apple Music, but I'm not 100% happy with either.

~~~
criddell
> Social integration - I can send Spotify previews to people via Facebook
> Messenger, and Spotify integrates with other social stuff. Apple Music is
> all by itself.

What about Ping? Doesn't it allow this kind of sharing?

------
sillysaurus3
Is there any reason not to just release it anyway? Users know the risks with
using an unofficial app. Even though they reached out via Twitter with a
polite "No," why not counter with a polite "I understand the issues, but I'd
still like to release this"?

It sounds like Pocket Casts are rather overstating their case. The dev put a
lot of work into it. Unless they get a lot of traction, none of the concerns
seem to matter much. And if they do get traction, it informs Pocket Cast what
they should be building.

~~~
StavrosK
Probably the "getting people's accounts locked" part, which might be too big a
risk.

~~~
sillysaurus3
Sure, but users understand the risks. If the dev throws up a splash screen
saying "Proceed at your own risk. Your account might get locked," then they
can't be held morally accountable for that.

I don't know. It would've been an interesting experiment to carry to its
natural conclusion.

~~~
StavrosK
On one hand, I agree with you, on the other hand, I'm 100% sure some users
will send angry emails to PocketCasts and demand refunds because this third-
party app didn't work well (or they couldn't figure something out, or any
number of things).

------
pikepory
I use Pocket Casts in its own window with Fluid[1]. It's too bad it doesn't
support media keys, but someone could create a Chrome extension to control
playback, similar to how it's done with Google Play Music.

[1] [http://fluidapp.com/](http://fluidapp.com/)

~~~
rrdharan
I do the same thing, with Overcast.

------
swyx
ok i listen to a lot of podcasts and fundamentally dont understand why there
is this small group of people who have this deep desire for a desktop podcast
client. I don't question that these people exist, but I just don't understand
why they prefer desktop over mobile especially when headphones are
wireless/you can connect to bluetooth speakers. mobile dominates in every
aspect.

~~~
ajmurmann
I've given up on finding a good desktop app. I'd like one though. When I'm in
my home office I want to use the speakers built into my thunderbolt display
and not the phone speakers or headphones. In practice I'm playing podcasts via
phone and music via laptop/thunderbolt display. That's because Google Play
Music since perfectly and is good for music, but the iPhone podcast app
doesn't.

~~~
chipotle_coyote
I admit that the times I want to play podcasts over my iMac speakers, I use
Rogue Amoeba's "Airfoil Satellite" running on the Mac so I can airplay to it.
Obviously this is a macOS/iOS-specific solution, but it works well enough.

Having said that, in practice I tend to just play podcasts over a Bluetooth
speaker (a JBL Flip for years, but as of yesterday a Bose SoundLink Mini II,
as the Flip's battery life is down to well under an hour and it was time for a
replacement/upgrade).

------
JustSomeNobody
I've been a happy PocketCasts user for years so maybe a bit biased here, but I
think they handled this really well.

------
delgaudm
I agree that it does continue to be a problem. I've yet to find a suitable
solution for recommendations that adequately surface more obscure titles.
Likewise when you have a subscription / Premium podcast it gets even harder as
things like Google Play dont seem to support custom feeds, at least in the
Android App. It makes it all the more difficult to monetize and spread your
Podcast.

Slightly off topic, but I'm a recurring voice actor on the NoSleep Podcast,
featured prominently in the imaging on this post. Thanks for Listening!

~~~
swyx
that's pretty random! how did you get to be a voice actor? side gig or main
gig?

------
toyg
If I were him I'd try to work out some sort of contracting deal where he sells
them the codebase and agrees to support it for X years, for a reasonable
price. They would get a finished and polished app with zero effort, while
maintaining control on the internal api; and he would get a nice runway to
work on this and other projects.

------
mastax
If you use the PocketCaster Chrome app, media keys work fine:
[https://chrome.google.com/webstore/detail/pocketcaster/jmlel...](https://chrome.google.com/webstore/detail/pocketcaster/jmlelgnlpdinbjemiclfmgcpbpdjlhff?utm_source=chrome-
app-launcher-info-dialog)

------
onesneakymofo
Why not use Electron to wrap the Web player?

~~~
Rjevski
Why not just use the web player in this case? Wrapping it in this garbage
called Electron will not magically make it any better.

~~~
onesneakymofo
I know it's resource-heavy, but at least you can start tying your own
dedicated hotkeys inand sending out notifications from it. And you can build
your own features that make it its own similar to Google Music Desktop Player

Plus you don't have to worry about Pocket Casts breathing down your neck
because it's still through their system.

~~~
Rjevski
The issue is, accepting Electron will encourage more people to make such
garbage apps. We need to firmly say no until this fad dies off and people get
back to writing proper apps.

------
wdhilliard
Does anybody know who is actually hosting this content? Does pocket casts host
the media files, or is it just a search platform for content hosted elsewhere?
Seems like you could end up in a bunch of legal problems considering the
number of people trying to own this market right now

------
333c
This is something that is severely lacking in my life. The iOS podcasts app is
just okay, and the Podcasts section of iTunes on macOS is very bad.

It would be amazing if someone came up with a free or one-time-cost macOS
podcast app, and it would be even better if it were open source.

~~~
swyx
can i just ask why you want this on desktop so badly vs just continuing on
your mobile? its not like your phone ceases to exist when you are working on
your desktop? just trying to better understand the psyche of users like
yourself.

~~~
333c
I like to have certain things available on both platforms. If I am using my
laptop, I don't want to have to pull out my phone to listen to podcasts. I
want to be able to play and pause on my computer.

I use email and messaging on both platforms, and I wish I could do the same
with podcasts.

~~~
kitsunesoba
This sounds a lot like my own usage habits. If I'm using a computer of any
sort, I don't want to have to pull out my phone for hardly anything. My phone
is for times when a more capable machine isn't readily available.

------
problems
Just release it anyways, their problem that they don't have a public api, not
yours. Sometimes you gotta break some rules to do something great.

------
tracker1
I'm not sure why a Podcast app really needs an independent service, wouldn't
it be easy enough to sync against a configuration stored on dropbox/drive,
etc? Unless you are following a _LOT_ of podcasts, or on a _LOT_ of devices,
it should be easy enough. (Or "self-host" to Azure/AWS/GCP tables/dynamo)

For that matter, electron and/or react-native could make it easy enough to
create such an application.

------
sjs382
I just wish that PocketCasts web player would also sync playlists.

------
ndynan
You know there is whitespace when a user goes and builds your app for you.....
Some product managers from PocketCasts should be reading this thread.

------
travmatt
I'm surprised I haven't heard Downcast mentioned here yet - it's by far my
favorite podcast app. iOS and desktop versions that sync together well.

~~~
chrisrhoden
It's the first recommendation that the article mentions and then dismisses.

~~~
travmatt
ahh that should teach me to read the article :) but I do disagree with 'the UI
could use some work', and I've never found I need the marginal time removed by
smart speed.

------
eludwig
I realize that this is about Mac podcast apps (hopefully you won't mind a
quick diversion), but I'd like to quickly plug my favorite iOS podcast app:
Castro (no relation, just a happy user)

I tried Overcast and really loved the features (smart speed, etc.) but I
didn't love the queue handling. It's not that there was anything wrong with
Overcast in that regard. It certainly works fine (it's a great app), but it
didn't map to the way I listen to podcasts.

Castro is ideal if you only have a few hours a week to listen to the
occasional podcast and you don't always listen to every episode of every
podcast. All other podcast apps (disclaimer: that I know of) have an on/off
relationship with podcasts. You are either subscribed or you are not. If you
are, you can specify how many of the podcast episodes to automatically
download and put in your queue. So if you like to listen to occasional
episodes of, say, a hundred podcasts, you will use a TON of storage.

Castro has a triage model. When you subscribe to a podcast, you can have the
app automatically either queue it up immediately (like the traditional method)
or have it appear in your inbox (along with a notification), which is a kind
of temporary time-based view of recent arrived episodes, or you can have it
put in the archive, which is where all of the older episodes eventually go.
You can always queue up an episode from any of these locations.

The best part is that only things that you put (or specify to automatically
add, which I never do) in the "listening to now" queue are actually
downloaded. So if you keep that list at 5 podcasts, then only those 5 are
downloaded. Very nice and a perfect match for my use.

~~~
hammock
Castro is discussed in the OP article..

~~~
Karunamon
In passing in one paragraph. This is much more substantial and has convinced
me to try it out.

