• The essence of an app

    Horace Dediu has a way of putting things into an insightful perspective that makes you look at things differently. In the latest Critical Path episode, he points out that what people enjoyed about the iPod (and the Walkman before) wasn’t just that it let’s you take your music with you, but that it gives you privacy in a public space. Similarly, the product of a gym is not just exercise, but delivering a feeling of guilt. It’s a way of looking at a thing beyond it’s features and immediate use case. more…

  • Introducing Longplay

    Longplay, my first self-published iOS app, is now available on the App Store. I’m super excited.

    What it is

    Longplay is a music player for anyone who enjoy listening to entire albums start-to-finish. It digs through your Apple Music or iTunes library 1 – that might have grown over the years or decades and is full of a mix of individual songs, partial albums, complete albums and playlists – to identify just those complete albums and gives you quick access to play them. It provides a beautiful view of all your album artwork, and let’s you explore your albums (or playlists) by various sort options. A unique one is Negligence which combines how highly you’ve ranked an album and when you last listened it, to let you rediscover forgotten favourites. Brightness sorts the albums by their primary colour for an interesting visual take on your albums collection. You can hide albums or playlists that you don’t want to show up - useful for meditation or kids albums, or smart playlists that you use for doing house keeping. For users who want to listen on specific AirPlay devices, such as multi-room audio systems or headphones, there’s a “Play on” feature that’s the quickest way to listen on the right device. It’s fully VoiceOver accessible, too. It works well on iPhone and iPad – including splitscreen support and a delightful cursor effect. If that sounds intriguing to you, head over to the App Store. It’s USD 2.99, EUR 3.49, AUD 4.49, or equivalent in your currency.

    Quick access to AirPlay & headphone selection

    Pointer effects on iPad

    The long road to Longplay

    I started building the app under the name Albums back in mid 2015 for iOS 8.3 to experiment with the nascent Swift programming language and to scratch my own itch of being frustrated with finding my complete albums in the iOS Music app. I had a smart playlist for it in iTunes on my Mac, but that didn’t translate to iOS. A short while later I came up with the name Longplay to give it some more character and made a first attempt to get the app onto the App Store. However, due to the screenshots all using artworks of my music album, that was a no-go and I didn’t pursue that avenue further, though I did keep using the app myself since then. In 2016 I started using Spotify and added the capability to Longplay to work both with an iTunes music library. While I got that working, I also encounteered a bunch of headaches with the closed-source Spotify SDK. Those meant I kept using the app just byself and had a couple of friends using it, but a public release would have meant addressing all those Spotify edge cases - not great for a side project. End of 2017 I did a minor update to Longplay to accommodate the latest Swift language features such as Codable. 2018 and 2019 went by with me using the app using a lot but no code changes. During that time I started using a Sonos system at home and listening to my music on that. When AirPlay 2 came out and Sonos supported it but Spotify didn’t, I switched away again from Spotify to Apple Music. Early 2020 I decided that now that I’m not using Spotify myself anymore, I could release Longplay without the (headaches of the) Spotify integration. So I spent quite some time modernising the code base, squashing bugs, polishing and the app, and prepared for the public release. Getting the app itself ready for release was quite some work2. And then there was the challenge of getting it approved for an App Store release which went through several rejections and took one-and-a-half months. Alas, here we are! I’m really thankful for all the support, testing and feedback from my family and friends during development, the friendly folks over at the CoreInt Slack for emotional support and helping me collect the necessary fake and openly licensed artwork, and all my beta testers for their feedback. Developing Longplay is a blast – working on a music player is something special for me. I love listening to music. It always lifts my mood – in particular when I’m not aware that I needed to have my mood lifted. And whenever I work on Longplay I just have to listen to all my favourite music.

    What is next

    I’m curious how the app will be received, and I very much I look forward to keep supporting the app now that it’s out in the wild! A 1.0.1 update is imminent which aligns the play/pause button logic to mimick the Music app, and also adds to the contextual preview some information on the sorting: “Addiction” will show you how many times you’ve listened to an album, “Recency” will show when you added it to your library, and “Stars” will show your average rating for the songs on that album. For the upcoming iOS 14 release, I’m exploring a home screen widget to show the top albums/playlists by a sort order of your choice. Update: All these and more have been added and released in the mean-time, see here. There’s some more info on the app on its dedicated page and in the Press Kit. Any questions, ping me on micro.blog, by tweet or by mail. And, of course, I’d be thrilled if you get the app and I hope you’ll enjoy it.
    1. No, Spotify is not supported. Read on for more. 
    2. A few notable things from going through the git log: I switched from CocoaPods to Swift Package Manager and use diffable data sources, removed Spotify, made the settings discoverable and added VoiceOver support for accessing them, added contextual actions including quick access to AirPlay controls, added haptics, fixed a whole tons of smaller bugs and performance issues, indicate status of calculating the per-album brightness information, and added the little thank you screen. 

  • Framework Sherlocking at WWDC 2019

    WWDC is lovingly referred to as “Christmas for Apple Developers” and, goodness, was it a Bescherung this year! Apple has been hitting it out of the park at this year’s WWDC. While in the past many developers have been worried that their apps were getting replaced with Apple’s own new or improved apps (aka “Sherlocking”), a big surprise of this year is how many third-party libraries and tools now have first-party replacements1

    1. These are only the ones that I’m familiar with and that stood out to me in the subset of videos that I watched. There’s likely even more. 

  • Next steps for Siri, and other WWDC 2019 wishes

    Apple’s annual developer conference, WWDC, is just around the corner. As a developer of iOS apps and heavy user of macOS, this is always an exciting time of the year. There is talk about iOS apps being able to run on macOS and dark mode coming to iOS. Before I get busy with implementing these from next week on, it’s fun to take a step back and think about what I would like to see Apple do and let developers do. I’ll start with my hopes for Siri, and then more wishes from a more (power) user perspective and then from a developer perspective. more…

  • Hey Siri, pre-heat my car

    When I got my Renault Zoe, I was excited to see that it came with an accompanying app, which let’s you remotely pre-heat (or cool) the car and also check the charge status of the battery. Being able to pre-condition the car is great as the process takes a few minutes and it’s nice when it’s finished by the time you’re getting into the car. And having remote access to the charging status is especially handy on road trips: Firstly, it’s annoying to go back to the car and find that it still needs to charge for another half hour and you could have gotten a coffee or went for a nice walk. Secondly, you might be wasting money by remaining plugged in when the car is already full, if you’re getting charged by the minute. So there’s real utility to such an app. more…

  • Switching Mojave's dark and light themes using touch bar

    Mac OS Mojave introduces both a pretty dark mode and a way to trigger Automator scripts right from the Touch Bar. more…

  • iPad Pro 12.9 vs. 10.5

    The iPad Pro is a great device and I’ve been happily using the 12.9 inch model for a good 1.5 years. At times it felt too large though – especially when using it on the couch. So when I got the chance to get a new iPad for work, I decided to give the 10.5 inch model a try. What follows are my observations after a few months of using the 10.5 inch model running iOS 11. more…

  • Google does not get privacy

    Sundar Pichai, CEO of Google, in an interview with Walt Mossberg at Recode’s Code Conference 2016 1:

    We want you to be able to tell Google: maybe the last four hours, just take it off and go off the record. […] you can switch on in-cognito mode. […] I want to save every conversation that I have with my daughter for eternity […]; but some other converations, […] maybe with my general council at Google, I want to be private.
    Google has a binary view on privacy. Things are either on the record or off the record—with the default being the former.

  • Secure your mails

    Ever read a post card that wasn’t meant for you? Without encryption, emails you send and receive are as easy to read as post cards. They could barely have less security, as they are transmitted in plain text. This means that any computer between yours and the recipient’s can study the mails in full without much effort. Encryption prevents your email provider (e.g. Google or Yahoo) from seeing and analysing your email content. more…