After completing the Metal pipeline, I’ve been working on other things the last week.
I’ve been doing a lot of UI updates, while removing my old theme code, I had a think about my colour app scheme in general. While Dark/Light mode is now handled by the system, you still define the colours in the App assets. And I worked to make sure it was more unified throughout the app, so all common things will have the same colour schemes, eg all views have the same background colours, table cells have the same colour, everything uses the same tint etc. It’s looking much nicer and more coherent.
I’ve also revamped all the icons, I was previously using Google’s material design icons, but since the app was released, Apple has vastly extended icon support via SFSymbols . These have many advantages, they’re built in, scale nicely and there’s some possibility to animate them (I’ve not attempted that yet). I have replaced all my icons with them, and it looks much, much better. I even found some replacements for icons I designed myself I couldn’t really find suitable ones from Material.
I’ve also been going through the code, improving things where I can, applying things I’ve learnt since, and sometimes I came across code I no longer understood, and took the opportunity to go through some of those and refactor to make things more legible. I was already stricter with typing than a lot of obj-c code I’ve seen, and this pays off with refactors, as type errors are caught by the compiler and you can back out of things if it looks like you’re refactoring too much.
I’m working on the screen connection/disconnection code, it was always a bit flaky and a source of frequent crashes, especially when there were conflicts of resolution between the apps current configuration and the connected display.
In short, I’m going to do a week or so’s testing, and I hope to have the new version released soon. No doubt Apple will flag some issues on submission but let’s see.
