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.

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

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.

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