June 10, 2023 · 3 min read
Devblog: Flow for iOS is now built entirely with SwiftUI
Hello everyone. We’re excited to announce the latest major update to our app, version 3.0.0 for iOS and iPadOS! This update represents a major refactoring of the project, which has been completely rewritten from the ground up.
Major Update 3.0.0
This update has taken us quite some time, as it’s essentially a complete rewrite of the iOS portion of the project. The mobile version of Flow is now completely written in SwiftUI. We believe this will make development more efficient in the future, and we’re excited to see the benefits of this change.
In addition to the major refactoring, version 3.0.0 also includes some new features. One of the most requested additions is a volume slider for the notification sound and metronome. Another feature we’re excited about is the ability to long press the timer for easy access to all duration options. This feature will save you some time and effort when setting the duration of your session. Also, as announced in our previous development post, your completed sessions on Apple Watch will now sync with iCloud.
Finally, version 3.0.0 includes a new daily quote and daily statistics home screen widget. These new widgets are a great way to stay motivated and track your progress. The new widgets come in a variety of sizes and styles so you can customize your home screen to your liking.
Upcoming Update 3.1.0
We’re currently working on using the Screen Time API to add an app and web blocker to Flow on iOS. This feature already exists in Flow on Mac and we’ve been wanting to add it to iOS for a long time. We’re happy with how it works on iOS and look forward to showing it to you soon.
We also completely rewrote bar charts on iOS using the new native framework called Swift Charts. This gives us more options to display the stats in different chart types. We also added some nice animations to the charts.
We’re optimistic that version 3.1.0 will be available next week.
Looking a little further ahead, we want to finally add real-time sync of the timer and session progress across devices. We’re still in the early stages of development on this, but after trying to use iCloud for this feature and not being happy with the results, we’re now planning to use Firebase for this. Firebase has shown to be more reliable and updates much faster, which is what we need for real-time sync across devices.
In addition, we are also planning to refactor the macOS version of the app using SwiftUI, which will not only mean improvements in terms of UI and UX, but will also help us to bring new features to you faster.
And of course, we followed the WWDC23 very closely and are eager to use some of the technologies presented.
Thank you so much for taking the time to read today’s devblog! Stay awesome everyone! We hope to see you again in our next post.
And as always, if you enjoy using Flow and would like to support its development, we’d be grateful for a review on the App Store. Every review is important and helps our tiny developer studio tremendously.
We appreciate you all very much. Cheers!