Fixed

  • Unlock section in settings for legacy users
  • Removed configuration label from smaller quick timer widget
  • Fixed quick timer widget action for free users
  • Fixed quick timer widget configuration
  • Fixed “Next Timer” complication on Watch

New

  • Quick Timer widget
  • Improved time formatting

Fixed

  • Possible crashes
  • Translated widgets

New

  • Added view explaining the notification permission on first launch

New

  • Added left/right buttons in edit view [iOS]
  • Page dots in edit view now tappable [iOS]

Fixed

  • Improved live activity layout [iOS]
  • Improved edit timer layout [macOS]

New

  • Arabic translations
  • Other apps entry in settings

Fixed

  • Improved translations
  • Fixed double notification sound while app is open
  • Moved the confirm alert switch down if pro is unlocked
  • Quick timer intent has now minutes instead of seconds as input

New

  • Added App Shortcuts for Siri and Shortcuts
  • Added alert confirmations (repeats every 5 seconds until tapped)

Fixed

  • “Starting again” alerts are now also time sensitive for repeating alerts
  • Removed non-updating progress bar from Live Activity
  • Notifications work when triggered from shortcuts
  • Improved translations

Fixed

  • Missing space in timer progress label
  • Missing “days” label in duration picker
  • Improved duration input layout [macOS]

New

  • Additional languages supported
  • Improved time picker layout

Fixed

  • Fixed missing translations for sound names

Fixed

  • Live Activities for multiple timers [iPhone]
  • Duplicate live activities for the same timer [iPhone]

New

  • Timer may now show up on the Siri watch face [watchOS]
  • Timers can now be found and started from Spotlight search
  • Suppport for live activities [iOS]

Fixed

  • Dismiss keyboard on enter when editing title [iOS]

This my my fifth annual roadmap blog posts. Time really flys. You can find the last year’s post here.

Year in Review

This year is was not only working on Fiery Feeds, but I also tried to bring my other two, somewhat neglected, apps back up to speed. You can see a complete list of all recent updates on the new changelogs page.

All in all, I shipped 7 feature updates, and 31 updates in total across all three apps.

Fiery Feeds

Fiery Feeds is still my primary focus, and I don’t see that changing anytime soon. There’s also going to be an anniversary this year, Fiery Feeds 1.0 on the 10. Oct 2013, almost a decade ago. I would have never though I’d still be working on this app ten years later, but here we are. On to the next decade.

New Feed Management

Likely the biggest feature this year was the entirely re-written subscribe flow and Safari extension, and the all around much faster feed management.

Merged iCloud Accounts

Second biggest change, even if not all that exciting, is the updated iCloud sync for feed and read later accounts. Fiery Feeds dropped support for multiple accounts of the same type within the same iCloud account, and the update had to merge any existing accounts into the new container. This worked quite smoothly, and lays the groundwork for the next performance improvements for iCloud sync.

Shared Subscription

The paid-up-front Fiery Feeds for macOS app is more. I only sold it as a standalone app, because in the first 6 months of Catalyst the App, when it was released, the App Store did not support shared subscriptions between iOS and macOS apps. The switch to a shared subscription needed to be done at some point, and with this out of the way, I’ll be able to focus on feature again.

Lock Screen Widgets

Naturally Fiery Feeds supports the new lockscreen widgets in iOS 16 as well. You can show an article (latest or random, and it changes every couple of minutes), or the unread count of an account of your choice. Either in the slot above or below the time.

Upgraded Notifications

I also upgraded the article notifications. Better included actions, grouped by feed and a complete preview of the article when you view the details, powered by the native rendering engine. Some of the actions, like marking articles read or starred should even work when mirroring the notifications to your Apple watch (for those who keep asking me about an Apple Watch app).

Tidur Timers

The multi timer app Tidur Timers also switched to a shared subscription between the iOS and macOS version. I’ve re-written large parts of the iCloud syncing code, which should work now reliable between iOS, macOS and watchOS.

New Widgets

With the limited things allowed to do in homescreen widgets, it was quite a challenge, but I’ve added widget for the next active timers or specific timers, The same widgets are also available for the lockscreen on iOS 16.

Dozzzer

I’ve moved my oldest app, Dozzzer, also to a subscription model. After almost 3 years not working on it, I can finally say it’s in active development again and all known bugs are fixed. It’s maybe more nostalgia to keep Dozzzer alive, it was my first successful app, and my first app being featured by Apple, almost 12 years ago.

Dark Mode

Being an app for drifting of to sleep, it always had a pretty dark interface, but I’ve added another extra dark mode, when the system dark mode is enabled.

Soundscapes

Slight tweaks to all the existing soundscapes, plus the new soundscapes for brown noise, Mountain Creek, Rainy Undergrowth, Lush Forrest, Hawaian Waves and Stormy Cliffs. (I like fanciful names)

External App List

Since Dozzzer can fade out the system volume and stop third party apps, I’ve added handy shortcuts to some better known audio apps right from the external music screen.

Going Forward

Last year I tried – and failed – doing large, completely planned out feature updates. I’ve given up on that by the middle of the year and changed my approach. I’m no longer working at one update at a time (I spend a long time doing just bug fix updates, and putting off working on new features until all the bugs are fixed), instead I’m doing the old main/develop branches and will just release a feature update whenever there’s enough new stuff to make it worth an update. I think this will mean fast, and more, but smaller feature updates for all apps.

Fiery Feeds

The things I want to work for Fiery Feeds are the following, in roughly that order. I’ve already started work on the per feed settings, and I expect to ship it in the next 1-2 months, but I’ve learned not to promise any specific dates in software development.

Per Feed Settings

Ability to set more options on a per feed basis, including sort order, notification settings, number of articles to keep, image caching, and so forth.

Advanced Saved Searches

Advanced saved searches with multiple parameters, think of iTunes’ smart playlists, but for articles, and based on those saved searches, one search per account, that automatically marks articles as read. For example articles older than a specific time or articles containing a specific keyword.

Mac Redesign

I still want to do Mac-first redesign of pretty much the entire app, rewrite the feed and article list based on the lastest APIs, system sidebar, system toolbar, multi selection in the article list, dragging articles to tags to tag them and all the other expected behaviours for macOS apps. This will probably bring some improvements to the iOS as well, but I think the general layout of the iOS app doesn’t need too much change.

  • Drag & Drop
  • Multi selection
  • Browser extension
  • Statusbar icon

I’m not sure there’s really going to be a big 3.0 (even if that would be nice).
I’ll probably ship these features one by one instead, as far as possible, to avoid long stretches of no updates.

Tidur Timers

Live Activities

After adding new widgets, live activities are only the logical next step. After all, Apple’s timer app can do that too.

SwiftUI Rewrite

Tidur has always been the app I try out know technology. First watch app, first time I’ve used Swift, first time CloudKit sync. I want to at the very least re-write the watch app in SwiftUI, and probably bring some SwiftUI into the main app as well. I like the way the widgets look, and I can imagine using this design in the main app too.

Spotlight Search

The idea is to start existing timers right from Spotlight, the way you can start music in the Music app. Might also be interesting for Fiery Feeds, but I think Tidur is a good place to try implementing it first.

Dozzzer

Dozzzer is in a pretty good state now, and is not going to require too many changes to the general app.

More Soundscapes + Cover Art

I do plan on to keep adding new soundscapes regularly though. Also having cover art on the now playing screen for each would be pretty neat.

Design Update

Again, I don’t think it needs too much change, but I want to bring back the rounded time dial from pre 4.0 days. Just look how pretty it used to be.

Changes

  • Added link to changelog in settings
  • Cleaner timer context menus

Fixed

  • Fixed preview alert audio not stopping in some cases
  • Fixed newly created timer being reset after manually reordering
  • Fixed timer bars layout in some cases

Changes

  • Notification warning now includes link to settings
  • Cleaned up timer menu
  • Home Widgets on macOS 12

Fixes

  • Fixed unlock button in repeating timers
  • Fixed main timer list in watch app
  • Fixed timer title color when editing

New

  • Home Screen Widgets
  • Lock Screen Widgets
  • Right-click actions on the app icon [macOS]
  • Support for Widgets [macOS]
  • Updated App Icon [macOS]

Changed

  • Modernized the app layout [iOS]
  • Quick Timer button by default in toolbar [macOS]

Fixed

  • Smaller Bug Fixes

New

  • Spanish, French and Chinese localisation

Fixed

  • Crash on creating a new timer [macOS]

Changed

  • Notifications are now marked time sensitive
  • Larger Timers on iPads [iOS]

Changed

  • Updated app icon
  • Fix flickering during sync

Changed

  • Bolder timer titles in timer list
  • iCloud sync is now enabled by default
  • Reseting sync lets you no choose if you want to replace local or remote data
  • Animated scrolling in edit view as hint that it’s scrollable

Fixed

  • Improved sync reliability and sync automatically on launch and exit
  • Fixed issue with pausing/unpausing while iCloud sync was enabled
  • Fixed minor layout issues

New

  • Plays alerts even when on silent (while the app is open) [iOS]
  • Option to keep windows always on top [macOS]
  • Allow much smaller window size [macOS]
  • Option to manually select dark or light mode

Changed

  • Requires iOS 15 and up [iOS]
  • Siri support for German [iOS]

Changed

  • Improved complications on watchOS [watchOS]
  • Fixed complications not showing up for longer timers [watchOS]
  • Removed “More” button – since it showed just the same settings anyway
  • Only do “Starting” notifications for repeating timers, if there is enough pause between timers
  • Cleaned up settings screen

Changed

  • Introducing a Tidur Pro subscription
  • Fixed settings navigation bar color
  • Updated to modern OS versions

New

  • Added delete timer button to edit view [watchOS]
  • Timer sort setting (manually / time left / duration / name)

Changed

  • Better time input [macOS]
  • Reopens window on clicking icon in dock [macOS]
  • Hide the free selection of alerts after purchase
  • Fixed issue with notifications for paused timers
  • Shows the correct edit view after adding a new timer [macOS]
  • Fixed repeating alarms [macOS]
  • Improved context menus
  • Improved menubar [macOS]

New

  • Resetting sync database possible [watchOS]

Changed

  • Improved iCloud Sync [watchOS]
  • Fixed expanding today widget
  • Fixed hiding finished timers in today widget

New

  • Support for iOS 13
  • Support for multiple windows
  • Tap and hold timers for context menus
  • Standalone Watch App
  • Requires watchOS 6.0 and iOS 13.0
  • Dark / Light theme now follows the system theme
  • Configurable Siri Shortcuts (Start, stop, pause or create timers in your shortcuts)
  • Add Timer Button in the today widget
  • You can now reorder timers by dragging them in the list
  • Restart button in front of timer for quick access (in landscape and on iPad)

Changes

  • Removed delete and extra dismiss action from notifications
  • Improved watch app layout, now requiring fewer forces touches and menus
  • The light theme toggle can now be found in the settings, and only if the app is unlocked
  • Moved restart button in front of the timer for quicker access
  • Much faster and more reliable cloud sync
  • Fixed editing timer name inline

New

  • Support for complications on Apple Watch

Improved

  • User guide link in settings when already pro user
  • Tap and hold to add quick timer message is now hidden after trying to add a quick timer for non-pro users as well
  • You no longer need to save, changes to timers are applied immediately
  • Fixed crash when creating a new timer on Apple Watch
  • Moved Siri shortcuts to the more options

New

  • Redesigned settings view
  • Quick timers: Long press the add icon to quickly add a single use timer
  • You can now find a user guide in the settings

Improved

  • Fixed issue with selected notification sounds
  • Fixed crash when starting to edit a timer from the today widget
  • Fixed timer shortcuts not working in shortcuts app
  • Fixed timer sort order
  • Improved Siri shortcut suggestions
  • Fixed In App Purchase
  • Switch syncing to Apple’s CloudKit
  • Cloud Syncing is now included for everyone, for free
  • Support for Siri Shortcuts
  • German Localisation
  • Minor Interface Improvements

Tidur has always been something like a playground to try out new technologies. And with version 4.0 I’ve switched all of the syncing code from my syncing through my own server to CloudKit. Login and accounts are gone (since they are no longer needed), and syncing is now available to everyone.
I wanted to get familiar with CloudKit before adding it to Fiery Feeds, and you can now simply turn on syncing instead of having to create an account – which is a vastly better experience.

Additionally I’ve replaced the old hacked together Siri support with Siri Shortcuts. You can now record a phrase to start a specific timer, start timers from the Shortcuts app, and start suggested timers right from the lock or search screen (if iOS happens decides to suggest a timer). And it now includes visual feedback in Siri’s interface.

You can find version 4.0 on the App Store.

  • Removed all ads in free version
  • Fixed a bug that prevented Tidur Pro purchases from completing. Tidur Pro would be locked again after restart, since no purchase actually happened.
  • Fixed bug where timer alarm and color would reset when editing them (Apple Watch)
  • Added an option for a second alarm sound when a repeating timer restarts
  • Fix possible data error editing timers while offline with enabled cloud sync
  • Added Haptic Feedback
  • Support for iPhone X
  • Support for iPhone X
  • Fixed bug where the timer title would reset when editing the timer
  • Fixed no notifications, when a timer was started from the notification widget
  • Updated URL schemes to use tidur:// instead of multitimers://

The next big update to Tidur is here with a couple of small improvements and bug fixes and a big new feature: Cloud Sync.

You can now sign up for Tidur Cloud and sync all your timers between your devices. It can even push changes like starting a timer to all other devices. This is not yet enabled server side, but everything in the app is already setup. If everything goes according to plan I’ll activate this feature in the coming weeks.

Why a custom solution instead of iCloud? For one, it enables things like push notifications, or Alexa integration (potentially – no promises yet). It is why easier to debug if anything does go wrong. Buy the biggest reason, if I’m honest, is that I simply wanted to build a small web service, because I haven’t done that in a long time and Tidur is a nice, simple app that allows me to play with new tech.

Cloud Sync is a new in-app purchase in Tidur, and is included in the full unlock, now called Tidur Pro.

You can download Tidur for free at https://geo.itunes.apple.com/de/app/multi-timers-2/id720812035?mt=8&at=10l5Fg&ct=cc

  • Cloud Sync on iOS Devices
  • Cloud Sync on Apple Watch
  • Improved Purchase Screen
  • Fixed bouncy scrolling
  • Fixed light theme reseting on launch
  • Displays number of repetions on watch app
  • Fixed hiding finished timers in widget

New

  • You can pause timers
  • Repeating Timers: Set a number of repeatitions and a pause between each interval.
  • You can now toggle between a light and a dark theme.
  • New Color Purple for Timers
  • 13 additional new alert sounds available
  • Redesigned and polished every inch of the user interface.
  • Multi Timers is now called Tidur – which is Swedish for timers.

Fixed

  • Fixed wrong alert sound whenn starting a timer from the today widget
  • You can now also change the alarm sound in the watch app. (The watch app stil only supports the default sound, but this is in preparation for cloud sync.)

It’s not a complete redesign, but it could almost be. I’ve polished every corner on the iPhone and Watch app, and added a bunch of new features and a new name (Tidur is Swedish for Timer). Enough to warrant calling it a new major version: 3.0.

New Free Features

A new feature for everyone is pausing timers. It’s exactly what it sounds like: You can pause and resume a running timer, also I’ve added a fifth color: Purple.

Premium Features

But this version also includes a bunch of new premium features. They can be unlocked individually or as a complete package. As a thank you to those who have already purchased the “Remove Ads” in app purchase, the complete package is unlocked automatically.

Repeating Timers

You can now choose how often a timer should repeat, and you can specify a pause between each repetition. This is especially useful if you’re doing workouts with the app.

Light Theme

If you want a lighter design, it’s now very easy to switch between the light and the dark theme.

Additional Sounds

In addition to the two free alert sounds, you can unlock 13 new alert tones, for a total of 15.

Multi Timers 2.4 was just released with full support for iOS 10.

screen696x696img_1905

The today widget is now adapted to the new design in iOS 10, and you can restart or stop timers right from the widget without launching the app. Additionally you can now launch the app right into editing a timer from the widget.

Support for Siri: Just say “Start ” or “Stop ” to – you guessed it – start or stop a specific timer.

The Apple watch app now supports watchOS 3, and works as a standalone app. You can add, remove and edit all timers right on your watch.

New

  • Start existing timers using Siri
  • Option to keep the display awake
  • Updated widget for iOS 10
  • Displays the total duration
  • Launch into editing a timer from the widget
  • Widget no longer needs to launch the app to start, stop or delete a timer
  • URL Scheme multitimers://editTimer?title
  • Bolder fonts
  • Slightly better notifications
  • Requires iOS 10
  • Renamed app on device to “Timers”

Fixed

  • Fixed: Layout problem when rotating the device
  • New: Index parameter in URL schemes
  • Fixed: x-callback-url as host working

Multitimers 2.3 improves the today widget and adds full support for x-callback-urls. You can download Multitimers here

Actions

addTimer

multitimers://addTimer?sec&min&hr&d&title&tone

Needs to include at least one of the following parameters. The timer duration is the sum of all

  • sec: (Int) Seconds of the timer duration
  • min: (Int) Minutes of the timer duration
  • hr: (Int) Hours of the timer duration
  • d: (Int) Days of the timer duration

Additionally you can specify the following:

  • title: (Text) Title of the timer
  • tone: (Int, 0-3) Index of the alert tone

deleteTimer

multitimers://deleteTimer?id&title&index

Needs to include one of the following parameters:

  • id: (Text) UUID of the timer to delete, used by the today widget
  • title: (Text) title of the timer to delete
  • index: (Int) index of the timer to delete

restartTimer

multitimers://restartTimer?id&title&index

Needs to include one of the following parameters:

  • id: (Text) UUID of the timer to restart, used by the today widget
  • title: (Text) title of the timer to restart
  • index: (Int) index of the timer to restart

stopTimer

multitimers://stopTimer?id&title&index

Needs to include one of the following parameters:

  • id: (Text) UUID of the timer to stop, used by the today widget
  • title: (Text) title of the timer to stop
  • index: (Int) index of the timer to stop

x-callback-urls

multitimers://x-callback-url/addTimer?sec&min&hr&d&title&tone&x-success&x-error
multitimers://x-callback-url/deleteTimer?id&title&index&x-success&x-error
multitimers://x-callback-url/restartTimer?id&title&index&x-success&x-error
multitimers://x-callback-url/stopTimer?id&title&index&x-success&x-error

You can also supply these additional parameters

  • x-success (URL) URL to be called after successfully completing the action
  • x-error: (URL) URL to be called after an error

New

  • Hides the today widget if no timers are available
  • Support for x-callback-urls
  • Set alert tone when adding a timer via url scheme
  • Full voiceover support
  • A longer alert sound
  • The delete timer button now stops the timer if it’s running, deletes it otherwise

Fixed

  • Today widget is now more reliable

New

  • Apple Watch App
  • Redesigned the edit timer view
  • Two new alarm sound options

Fixed

  • Updates the today widget correctly
  • Alarms loosing alert sound on restart
  • Alarm sound playing while the app is running

Multi Timers Watch App

Multi Timers brings a few changes to the main app, like new alert sounds and a redesigned edit view, but the biggest change is that it now also includes an Apple Watch app. You can now see your timers and start them right from your wrist.

Also: Multi Timers now has a place on the website: http://cocoacake.net/apps/multitimers

New

  • Support for 3D Touch
  • Edit an existing timer
  • Select number of days for a timer
  • Today Widget and settings in the settings.app
  • URL Scheme multitimers://addTimer?title&sec&min&hr&d
  • URL Scheme multitimers://restartTimer?title
  • URL Scheme multitimers://deleteTimer?title

Fixed

  • Fixed a couple of bugs

New

  • Completely redesigned and rewritten in Swift
  • Support for iOS 9
  • Support for Slide Over and Split Screen
  • Actionable notifications
  • Titles for timers