I’ve been working on other iOS projects for a while. Recently, I’ve been thinking about Approximate Speed, the simplistic timing app I wrote years ago and never touched again. Two days ago, I receive an email from the App Store:
I hadn’t updated it in so long that it doesn’t even function with modern iOS devices. It’s been over 3 years. I’ve spent the last two days bringing up to speed, which was a lot harder than I first thought. Among other issues:
- It was written in Swift 3, which isn’t migratable to Swift 5 in Xcode 10.2.
- It used Carthage as the package manager, which I just don’t like.
- It used Chameleon, which doesn’t seem to be maintained anymore, and therefore was still on Swift 3. Here’s my fork.
- It used a very early version of Structure, and I really didn’t want to migrate to Restructure just yet.
All of that aside, the new version is available. There’s nothing really new, just a code migration a little bit of polish as UIKit has changed a bit in 3 years.
It’s available now, on the App Store.
In the process of writing Formula Control, I decided it was time to rethink my SQLite wrapper, Structure. I started writing my original library when Swift 1.0 was announced. It was migrated through the big language transitions of Swift and was starting to show its age. The framework was also my first attempt at writing a Swift library and a SQLite wrapper, so I didn’t know what I needed and which features were overkill.
And so Restructure was born. The new framework simplifies the API I had created before, hiding relationships between statement and database, and removing internal queueing that was never necessary. It adopts many more datatypes, and makes it easier to work with more complex datatypes like arrays and dates.
Along with a clean up, Restructure also adopts more modern features of Swift. Statements are also Sequences, so now results can be iterated, mapped, reduced, or anything else a Sequence can do. Statements are Encodable and Rows are Decodable, making transitions between database and data structure seamless.
Check it out on GitHub. There are examples and unit tests to learn form.
My friends and I have been playing Formula Dé for quite a while. We play it so much, we have a yearly league. We even attempted to bring the game in to the infield of the Indy 500. It was so hot, we never played, but attempting to playing in the IMS infield required some ingenuity. This resulted in me obsession for years over an app to control your Formula Dé drivers without having to worry about the multi-piece control panel.
Hence, Formula Control was born. It’s definitely over engineered, but that’s how I like to do things. Beyond the simple things, like controlling all of the aspects of the game and ensuring every rule is considered, it also uses new parts of the iOS operating system that I had never considered before. The app works well on the iPad, utilizing keyboard shortcuts and Split View. It also has been audited for accessibility features like VoiceOver and Inverted Colors. I even learned SpriteKit to make a subtle flag waving animation.
Check it out on the App Store, and make sure to review it if you happen to be on of the few people to still play this board game.
This is a small update to fix some keyboard issues under certain circumstances, specifically with iOS 11. Get the update on the App Store.
There will be a much larger update for iOS 11 in the future.
It’s been nearly 5 years since its latest release, but Score Card 2.0 is finally here. The last release was designed when everything was skeuomorphic and iPhones just received their first different screen size. That design limped through the years, so it finally was time to make the jump to a modern look and feel. That, and it was going to get kicked off of the App Store if I didn’t update it.
My wife, Mallory, helped give the app an actual logo and design. This is a big update to the hand-designed look I slapped together in the beginning. Score Card 2.0 also adds a few new features:
- Player names are now saved, so starting games with your friends and family is only a few taps away.
- Editing scores is now done on the game screen, and can be done on an individual basis. This makes scoring quick and easy.
- Games can be edited after they have been started, so you are no longer stuck with a setting once you’ve started the game.
On a technical note, the entire app has been rewritten in Swift 3, and uses my Structure library for data management.
Please check out Score Card on the App Store. If you like it, please also leave a kind review. I’d appreciate it.