periodic posts and projects

RIP, Pi-Man

Feb 9, 2021

After just 9 months, a few thousand downloads and many compliments along the way, I’ve decided to “sunset” my Pi-hole Management App, Pi-Man on 30th June 2021.

It wasn’t such a difficult choice, there are some great alternatives available right now from developers who’ve been able to spend much more time on their iOS implementation than I was ever able to. Put simply, my work commitments just didn’t make this a viable long term project.

I can however look back on this App with fondness and it’s pleasing to note that it led the way and was the first to market with a dedicated Apple Watch App for managing a Pi-hole, but I’d like to concentrate on my other Apple Watch project which I have some exciting plans for this year.

also…RIP Pi-hole.

Although a huge fan of Pi-hole I’ve recently decommissioned the one I had running in my own network and in its place I’ve been using NextDNS which I have to say, is ridiculously good.

My personal Pi-hole implementation ran on a Raspberry Pi 4 with Unbound as a recursive DNS server and although it worked well, the move to NextDNS is almost night and day in comparison. My network feels snappy and responsive and with native Encrypted DNS support in iOS14 and macOS Big Sur it’s a game changer, I now have fully encrypted and privacy focused 1 protection both inside and outside my network on all my Apple devices.

Is it worth £18 a year? Absolutely. If you’re interested yourself, their free plan is a great place to start.

  1. Check our their privacy policy, easy to read and understand and an example many others should follow. ↩︎

Managing Pi-hole from your Apple Watch

May 11, 2020

Let’s get the ‘What is a Pi-hole?’ question out of the way first.

Pi-hole is a Linux network-level advertisement and Internet tracker blocking application which acts as a DNS sinkhole (and optionally a DHCP server), intended for use on a private network. It is designed for use on embedded devices with network capability, such as the Raspberry Pi, but it can be used on other machines running Linux and cloud implementations - Wikipedia

This last weekend I released Pi-Man, an iPhone and Apple Watch App for managing your Pi-hole.

Initially a proof of concept on watchOS to satisfy my own needs but after speculatively sharing a video of it on Reddit, it became clear that there was enough interest within the Pi-hole community to warrant turning it in to a fully working application.

Why do I need an App for my Pi-hole?

I’ll give you a very specific scenario of mine that led to the idea in the first place.

If I want to catch up on a particular program on one of the UK’s popular on demand TV services, the program simply will not load while the Pi-hole that runs in my home network is actively blocking those nasty adverts and analytics1 and although blocking those ads are exactly why I have a Pi-hole in the first place, sometimes you just have to give in, which means temporarily disabling the Pi-hole just long enough to let those ads and analytics through your network and for the TV program to start playing.

And, rather than having to open a web page, log in to my Pi-hole and then temporarily disabling it, with an Apple Watch App I’m able to do it from my wrist with far less friction and a little more time saved - achieving all that I want and need.

Due to the interest on Reddit, I spent a few days creating an iPhone App and adding the companion watch App to go with it, testing with a bunch of Redditors and releasing v1.0 for iPhone and Apple Watch this last weekend.2 In total, 10 days from proof of concept to release.

Future Plans

Pi-hole is free, so Apps like mine should follow that same ethos.

I released Pi-man at no cost and as my contribution towards this great open source project but I don’t plan to support this App forever, at least not on my own. My current thinking is to make it open source, something I plan to do later this year if there’s still enough interest in the project.

If you’d like to help out, I’d love to hear from you.

  1. You’ll be amazed - perhaps horrified, if you knew just how much of what you do is being tracked - even down to the TV shows you watch. ↩︎

  2. Apple’s review time from submission to approval was 4 hours - I’ve never known it be so quick, especially for a brand new App. ↩︎

Developing for Apple Watch

Apr 28, 2020

Over the last 6 weeks I’ve made best use of my time in Covid-19 related lockdown by not only teaching myself SwiftUI but putting that newly gained knowledge to some use and releasing a truly independent WatchOS App called Streamlets.

You might be thinking that 6 weeks isn’t long enough to learn a new language and release an App - and you’re probably right.

v1.0 was released on April 14th 2020, around 3 weeks after I picked up a SwiftUI manual1 and today v1.3 has just been approved - this is what v1.0 should have been.

v1.3 puts a few things right, not just defects but UI too. I’ve learnt a lot in the short space of time since the first release, including dealing with the variation in screen sizes on Apple Watch, working with AVPlayer for the first time to play audio and also listening and reacting to feedback from people around the world who’ve been good enough to buy it in its first few weeks - I’ve been blown away with the positivity of comments received.

The original idea was never meant to go as far as this, I just wanted an independent watch App that could play my favourite radio station2 while I ran, and I started off the whole process by creating a rough and ready App just for me but that I quickly saw potential in, especially as to how rapidly I was able to build it.

I initially struggled to find a good API at low cost that would enable me to add radio stations from around the world but thankfully I discovered the Community Radio Browser.

Alex has done a terrific job in providing this service for free and Streamlets wouldn’t be anything without his super web service. Its enabled me to create an App that can play thousands of community curated radio streams from across the globe, to which I’ve just added some useful features on top.

It’s now been exactly 2 weeks since the first release and I’ve pushed 6 versions in that time3, fixing defects and adding requested features but v1.3 will be the last for a little while.

Potentially there are other radio streaming Apps coming along from established names who will probably get more attention than my little App ever will - bad timing on my part perhaps but I’m pleased with what I’ve achieved in releasing the first truly independent streaming radio Watch App that enables you to;

  1. Access and play from over 25,000 stations on your wrist with no companion iPhone App needed.
  2. Run in the background and integrate with the Workouts App.
  3. Play the audio through a pair of bluetooth headphones/AirPods or the Watch speaker.

I still feel it has enough to differentiate itself from what may become a competitive space, so I’ll continue to develop it while people want it but I’m under no illusion that the App Store is a difficult place in which to achieve success … yet I think I’m Ok with that, after all, 6 weeks ago this was just an idea and at least I now get to listen to my favourite radio station when I run.

You can purchase Streamlets for your Apple Watch directly from the Apple Watch App Store.

  1. I highly recommend Hacking with WatchOS by Hacking with Swift. ↩︎

  2. BBC 6 Music if you’re interested. Especially Radcliffe and Maconie. ↩︎

  3. This feels excessive but surely I’m not the only one eagerly pushing updates so frequently? ↩︎