First things first, I have multiple apps I’m planning on building on iOS (Remark, Chronicler, and Anthologist), not to mention the Indiepaper for iOS app that I built but that needs native IndieAuth before Apple will approve it for distribution in the App Store. Needless to say, neither I (nor anyone else) should have to keep building the IndieWeb building blocks in Swift over and over again. So the first thing I’m doing is taking code for client implementations of IndieAuth, Micropub and Microsub, and putting it into a generic Swift framework that can be included in any Swift application. Apple so often calls it’s frameworks with a “Kit” suffix, so I chose to call this IndieWebKit, for obvious reasons.
Lately, I've had a renewed focus and appreciation for testing. So I bought a new book, Test-Driven iOS Development with Swift. I'm currently reading through that book and looking through the IndieAuth, Micropub and Microsub specs and building tests for the proper functioning of the framework.
My hope is that by making this IndieWebKit a test-driven framework with all the IndieWeb building blocks for client apps, it will be much easier, reliable and frequent that we will see Swift apps built using IndieWeb building blocks.
As I'm working on this core foundation, not just of Remark, but of all of my IndieWeb compatible apps, I'm continuing to think through the features and User Experience of Remark. But more on that in a future post!
You can find out more about Eddie and Jonathan at their respective websites:
For past episodes or to subscribe to future episodes, visit us at twodads.fm.
Step one is my listen posts. Currently after every podcast I listen to, I have to remember to activate the share sheet in my Podcast app (Castro) and share it with my app, Indigenous, which will share the url to my website and I will process it for the episode's information. Jonathan shared in the episode that he came up with a script that can pull in his play history from his Overcast account and publish it to his website. It hasn't been approved by Overcast's owner yet and he ran into some issues so he's waiting on those to be resolved but it's do-able. Because of this I switched from Castro back to Overcast yesterday and am looking forward to setting up a similar system so that I can have listen posts be passively tracked just by being played in my podcast player of choice.
Step two are my watch posts. Currently, every time I watch something and want to track it, I have to run a command line script which require me connecting to my server, running a snippet from an app on my iPhone and entering the episode number that I just watched. It's fairly low maintenance but it still requires more thought than I would like. I initially thought I wouldn't be able to use Trakt like Jonathan because I track who I watched it with. I realized, I already use an app to track what I want to watch that is compatible with Trakt, so I can set my site up to automatically import watch posts from Trakt, and then after the fact I can update who I watched it with, thus combining my two goals of 2019: automate and defer. This takes me from opening an app, connecting to my server, selecting the right snippet and entering the episode number into opening an app, tapping on the checkmark for the right show in my watch list. Then, later, I can sit down and add who I watched each show or movie with since I'm not likely to forget that.
I don't have a plan for the rest of my items: ate, drank, checkins, trips, etc. but I'm going to be thinking through them. Right now I have an app that automatically tracks my location everywhere and it logs when I've been in one location for more than 10 minutes and my speed, so I'm thinking I can build something that can analyze that information and present suggestions as to where I might need to checkin and how I might have traveled (walking, driving, biking, etc.) and then just provide the ability for me to modify that information if anything is incorrect and publish it to my site.
Additionally, there is no easy way to automatically track my food, but I can either work on making sure the app I use is as seamless and quick as possible to enter it and finish it, or I can try to defer it by creating an interface that makes it really easy for me to enter a entire day's worth of meals at one time at the end of the day and then submit that.
Any thoughts? Do you track information? Which do you track actively and which do you track passively?
Queue is a manual playlist that I can add podcast episodes to and I always listen to episodes from the queue.
Priority is a smart playlist that lists episodes from my most important podcasts I follow.
All episodes is a smart playlist that includes all podcasts but excludes the podcasts that are in the priority smart playlist.
So my workflow is I listen to podcasts in the Queue, however when the queue runs low, I check my priority smart playlist and from there I can delete an episode I’m not interested in, or add that episode to the queue if I’m ready to listen to it. When I add it to the queue I also remove it from the smart playlist so that I know anything in the smart playlist doesn’t exist in the queue yet.
The best thing is that I can move individual episodes from priority to queue OR priority to all episodes if I feel like I don’t want to lose an episode but I don’t want it clogging up my priority list. The multiple playlists allow for more flexibility than I had with Castro while still allowing me the spirit of what I had in Castro a type of filtering system so I don’t feel I have to listen to every episode of a podcast.
The benefits of switching back to Overcast are also that Jonathan wrote a script that I can use to automatically import listen posts to my website rather than having to do it manually. Also, I’m looking forward to being able to try out Overcast’s Apple Watch app, not to mention I really appreciate Marco’s design aesthetic and attention to detail.