Snell on Apple Podcasts

Six Colors: “Leaving big, bad Spotify aside, consider Overcast or Castro or Pocket Casts. These independent apps are likewise prevented by Apple’s policies from doing what Apple is doing. Even if they could figure out a way to implement Apple’s per-podcast subscription approach, they would have to hand Apple its cut, which is basically the same cut that Apple’s taking from Apple Podcasts Subscriptions.

You knew it was only a matter of time before Apple created its own Podcast service. They’ve had the plumbing for years by serving the largest podcast directory in world. It’s still there and it’s still free, for now.

If I were a podcaster I’d worry about that benevolence continuing forever. Talk about an easy to Sherlock industry. With Apple holding the keys to the directory, a new paid service, and the most popular podcast player it would leave me going hmmmmmm, if I had a podcast or a podcast network.

For those, like Snell, who have invested years of blood, sweat, and tears to build their own networks I have to imagine they’ll have some restless nights trying to decide if they should just go with the flow and move their catalogs to Apple Podcasts 100%, keep their podcasts on their own network, or do a 50/50 split between their network and Apple’s.

An observation. At one point the podcasts I listened to were all ad supported. I have to believe advertisers, for some reason, decided the money they were paying for podcast advertising wasn’t paying off. Most of the tech podcasts I listen to began offering memberships. Those memberships may include special stuff for subscribers, as Snell points out.

That to me was a signal of a change in the podcast market. Advertising dollars were drying up or, at the very least, not as lucrative, so business models changed.

Enter Spotify and now Apple. We expect Facebook to announce their own podcast network. Being an indie is going to become as difficult as being an indie app developer or blogger who makes a living from their website. I fear we’ll see a lot of podcasts we love disappear as soon as they no longer make a living for their hosts.

In the end it would be really nice for Apple to offer a way for podcasts to use their own payment systems for subscribers. I’ve thought about this for indie app developers too. Having a way to provide Apple approved payment providers would be amazing. This would give players like Stripe or PayPal the ability to qualify as a payment provider for Apple Podcasts and the App Store. That alone would open the App Store and Podcast ecosystems to a new world of possibilities, not to mention possibly putting more money into the pockets of developers and podcasters.

On the client side Apple could provide a payment kit, possibly StoreKit, that allows for multiple payment providers to be selected by app developers for in app purchases. That framework would also provide third party podcast apps with a way to subscribe, download, and play podcasts from Apple Podcasts. Even if it means podcast players need to do work to support this system at least they’d be given the choice to support the framework or not. More choice is better, right?

As for the definition of a Podcast. I don’t think Apple or Spotify’s service meet the definition of a Podcast. To many of us a Podcast is an MP3 file delivered to a client via inclusion in an RSS feed. It’s not simply spoken word delivered by a proprietary service. It’s specifically connected to the open RSS format. That may seem a bit pedantic but that’s how we feel about it. To layer a service on top of that is fine. But to call it a podcast seems disingenuous.

Development Fresno

Bitwise Workforce Training

A wonderful bouquet of flowers.By now I’ve been a Professional Software Developer for well over 30 years. But like everyone in this industry I always have something new to learn. Things change rapidly.

I recently took a Beginning HTML class through Bitwise Workforce Training. Yes, I took a beginning HTML class. I could poke around HTML and CSS enough to make a mess but I never really understood how to properly build a page. I don’t plan on becoming a full time web developer but having the ability to create a great page for one of my iOS Apps is really important. How else will folks learn about my work?

Our class was a wonderful mix of folks from all walks of life and I absolutely loved it for that. There were things I knew about computers I could pass on to others and others already knew a bit about CSS and HTML so they passed on tips to me. Everyone was smart and ready to learn.

That’s important. Come ready to learn. The class is structured to be a practical guide to building a website with a few pages and our instructors made it clear we were only scratching the surface of HTML and CSS and the real learning would come when we were out on our own. Practical. Like the real world you learn the basics and figure out the rest through exploration. This is perfectly suited for me. I learn best by doing.

The class paid off for me after the first two sessions. I am the developer of an iOS feed reader called Stream. I was in the middle of an update to replace my Article viewing code with 100% HTML. The HTML I needed to create was quite simple but to someone without proper grounding in HTML and CSS I was struggling. After my first two classes I had enough knowledge, after asking a few follow-up questions, to build the HTML I needed to ship the update to my app.

If you’re interested in learning in a structured – yet practical – way consider taking a Workforce Training class.

I’d also like to give a shout-out to a couple folks. Gabby Moreno, our intrepid instructor, and Jen Lewis, her assistant. Between the two of them they managed to help everyone. They’re very kind, smart, and most off all, patient.

Development Life

Software Craftsman

Better Programming (Nick Hodges): There’s no shame in being a craftsman — quite the opposite. We all admire the capabilities of, say, a carpenter that uses their practiced skills to build beautiful furniture or cabinets. I certainly admired my friend who hung that church door with such mastery, creating great beauty with amazing expertise.

I love the idea of being a craftsman. When I was a young lad I was into woodworking. At one point I wanted to make it my career until some adult talked me out of it.

I wish I hadn’t listened. I was never a good student. I didn’t finish college. I got into computering instead. I shall adopt a new title.

Rob Fahrni – Software Craftsman


Old Man

I like working in the yard. It’s good exercise, fun when you see the finished work, and gives me time to listen to podcasts.

Here’s the old man process for working in the yard.

Step one: Apply liberal amounts of old man gel to knees.

Step two: Slide on knee sleeves. These provide warmth, stability, and the pressure helps with swelling.

Step three: Pre medicate. You know you’re gonna have pain and swelling. Get ahead of it.

Step four: Remember to grab your headphones!


Development Stream

How I use Stream

I created Stream because I wanted a simple reverse chronological timeline of feeds. Dave Winer calls it a River of News. That’s also how Stream got its name. A stream is just a small version of a river – yes, that’s an oversimplification, but you get the idea.

Anywho, I just wanted to share how I use Stream. There is, of course, no wrong way to use it. Just use it your way.

When I announced Stream 1.0 was shipping I mentioned it was a complement to your existing feed reader. That’s why I want to talk about how I use it.

I use Stream for feeds that only update a few times a day. I don’t use it for feeds, like say, the New York Times. It’s just too much to consume without the folder organization system of other feed readers.

When I decided I should trim out feeds that published many, many, articles a day I exported my feeds list as OPML, removed the busy feeds from Stream, manually removed the lightweight feeds from the OPML I’d exported, imported the trimmed OPML into Feedbin, connected Unread to my Feedbin account on iOS and connected it to NetNewsWire on the Mac.

Wow. That sounds like a lot of work, but it wasn’t. Now I have my very casual list of bloggers I love to read. It’s still 162 feeds, but most of those feeds post rarely and the ones that post most often, like Kottke and Daring Fireball, only post a few times a day. It makes using Stream a real joy.

If you’re curious about my feeds feel free to checkout my OPML file.


Apple FOMO

FOMO is what Apple depends on. We are all hypercritical about certain things. A lot of Apple podcasters are hypercritical about their hardware. They buy the latest greatest and say it’s the best evar! Then the new one ships and the one they have is complete crap. 😄

Meanwhile I’m using a 2015 MacBook Pro and it is perfectly fine. I have a 2019 MacBook Pro at work and quite frankly I don’t notice a difference.

Of course I’ll get a new computer at some point. It will happen when I can no longer upgrade the OS. That’s how I roll. And even then it may not be the current year model.


Irrational Rob

I love writing software. I especially love writing my own software. When I’m doing my own thing the day zooms by. I’m energized afterward. Ready to get back to work on it.AHHHHHH!

I’ve been doing iOS work for quite a while now and have always wanted to do a native Mac app. Of course SwiftUI will allow me to do that fairly easily.

Here’s the thing. There is this super irrational me that wants to put apps on iOS, macOS, Windows, and possibly Linux. Maybe even Android, who knows. The first three targets for sure; iOS, macOS, and Windows. To that end I keep plugging away on my own C++ class libraries. Recently I started refactoring them. I love the way UIKit/AppKit are built, so I’ve modeled what I’ve done thus far after those Frameworks. It’s still very early days but I’m enjoying the process.

There is the irrational Rob. The one that wants to build his own class libraries so he can write one hunk of code in C++ that works on different platforms.

Recently I asked a friend for advice about how he’d implement a dictionary class. His answer was simple, and the proper one: “I wouldn’t. I’d use std::map because it’s a dictionary and I’d use std::vector because it’s an array.” Of course he’s correct! It’s completely irrational for me to do this stuff, yet, I’m still going to do it.

Why? Because I can and I want to.



NASA: “This is the first image NASA’s Perseverance rover sent back after touching down on Mars on Feb. 18, 2021. The view, from one of Perseverance’s Hazard Cameras, is partially obscured by a dust cover.”

I watched the stream until touchdown, about the last 10 minutes.

Thought I’d record it here.

Life Politics


HuffPost: I don’t know how to explain to someone why they should care about other people.

This article from 2017 captures my beliefs. Caring for our fellow man seems a natural thing to do. Why can’t everyone have a livable wage, a great free education, and the best health care in the world? These all seem totally doable in the United States of America.

If you had to work five jobs to get through university or suffer with broken bones and various injuries through your life why would you want that for others? Why wouldn’t you want your children to have it better?

We have big problems to solve. Let’s give the next generation a chance to do it.


Our Winter Wonder Land