Coding Donuts

Sunrise Coding

I’m now about 20% of the way through Simon Ng’s excellent book on SwiftUI and this morning, as the sun rose here in Vancouver, it was all about using Path and Shape to create shapes, pie charts and donut charts. While a fruit smoothie is a healthy and delicious way to start the day something about having the word ‘donut’ bounce around my pre-coffee mind this morning made writing code a bit more challenging.

Mmmmm … donuts …

This is the fourth book on SwiftUI in the past 2 years that I’ve worked through and it’s been remarkable to see such a fundamental shift in how we write modern apps grow from just a curiosity to something that’s just about ready for mission critical applications. And to be honest the only reason I added the qualifier ‘just about‘ is because I haven’t yet written a mission or business critical app using SwiftUI.

My two latest apps available in the App Store are written in SwiftUI, are rock solid, took a fraction of the time to design, code and test then my previous Swift and Objective-C apps did and look amazing … but … well … I’m just not there yet. I’ve yet to write an app with SwiftUI with a complex mission. So far it’s nifty single purpose utility apps that look great and ones that in real life I use often.

If you haven’t yet dipped your toes into the world of declarative programming or like me didn’t know until two years ago with the arrival of SwiftUI that I had been previously using the imperative programming style then you’re in for a treat. I’m now officially a SwiftUI fan boy and honestly don’t expect I’ll write another application in the imperative programming style. Once you go declarative you’ll never go back.

For a deeper dive into the philosophy of coding this article by Haoxian Chen at the freeCodeCamp is a great place to start.

Timelapse Calc Released!

Quickly calculate the recording interval needed to turn a period of real time into timelapse time.

I shoot a lot of timelapse video and have always been flustered with the mental gymnastics I have to jump through to answer one of the first questions that pops into my mind when I’m first setting up the recording.

“What recording interval, in frames per second, do I need to use to compress a period of realtime into video time when played back at a particular frame rate?”

Me setting up a timelapse recording


Timelapse Calc answers that question with just a few taps in an easy to understand question-answer format.

Download on the App Store

Distance To Sound App Feature Complete

Our latest iOS app that uses the speed of sound to estimate distance.

Version 1.0

While lightning storms are rare on the West Coast of North America when they do appear two questions about the storm perpetually pop into my head. First, how far away was that lightning strike that just lit up the sky? Second, is the storm approach or receding?

To answer these questions, and to take the latest version of Apple’s new SwiftUI development paradigm out for a spin, we’ve created the ‘Distance to Sound’ app.

Features of the app:

  • A simple 2-tap interface to start and stop the measurement of the distance between you and a remote event. Wait for the flash of light, tap to start the measurement, wait for the sound from the event to arrive then tap to stop.
  • Deliver a slick and intuitive animated interface that works on the latest Apple iPhones (iPhone 8 and up).
  • Full support for dark mode.
  • Quick and easy updates to your local temperature to help refine the speed of sound used to calculate the distance between you and the event.

Welcome to Forefront Systems’ Website

“We cannot solve our problems with the same thinking that created them.”

Albert Einstein

Welcome to the Forefront Systems Inc. website.

Forefront Systems was created in the spring of 1995 to deliver forward thinking solutions to businesses and various provincial government organizations in British Columbia Canada. It was, and still is, based on the conviction that computer software is created on the shoulders of giants and that the evolution of technology in general and computer system in particular are a nonlinear chaotic processes that moves society forward in both productive and counter productive ways. The trick of course is that at the end of the day our efforts have moved us forward more than back.

Our goal was, and still is, to create leading edge software that puts to use the amazing technologies of the 21st century yet stays rooted in the time-tested foundations of computer systems and technological development. Solutions that respect a person’s right to privacy as the products we deliver entertain and inform.

“When nature flourishes humanity flourishes.”

Doug Farmer, Forefront Systems

We also have a rather sharp environmental ‘edge’ and strive to create applications and technological solutions that recognize humanties roll as a ‘keystone’ species. One that through action and inaction has had and continues a have a great impact on our home planet and as such we are a species that also bears a great responsibility. “Do no evil.” as Google used to say in their code of conduct.

“Bernard of Chartres used to compare us to dwarfs perched on the shoulders of giants. He pointed out that we see more and farther than our predecessors, not because we have keener vision or greater height, but because we are lifted up and borne aloft on their gigantic stature.”

John of salisbary, 1159 CE