Notes on the new Delivery Status widget design

Recently we released new versions of Delivery Status touch for the iPhone and iPod touch, and our Delivery Status Dashboard widget for Mac. I’ve already written in length about the new iPhone app but I thought the widget deserved some words of its own.

The response so far has been overwhelmingly positive. I’m honestly surprised by how many compliments and donations we’ve received. (No other update to the widget has resulted in so many donations. Thank you!) I’m really happy that so many people are pleased with the update. There are a few people that are disappointed with the update though, and I’ll address their complaints below. I think the best way to do that is to talk about the new features and why we made these changes.

Delivery Status has been completely redesigned with a new all-in-one format that integrates more closely with our iPhone and iPod touch app

Delivery Status started out as a way to track Apple store orders, so there was no great reason to track multiple orders in one widget. Apple also had a very clear recommendation to widget developers: if people want to track multiple things, they can open multiple copies of a widget. The Weather and World Clock widgets are great examples of this. As time went on we added more and more services, so people had more and more widgets open.

I defended the one-delivery-per-widget design right up until the end. It was more flexible—you could decide how much space each delivery deserved on your Dashboard, and it looked much nicer to have them arranged however you like, rather than in one big block. I do still agree with those things.

So why the change? The biggest reason is syncing, but I’ll talk more about that one in a minute. There are a lot of other reasons too:

  • Updating to a new version of the widget was a hassle. Dashboard closes all open copies of a widget when you install a new version. Since Delivery Status updates were often necessary to fix or improve services, this was very frustrating for people. We added an installer to work around this, but then people were confused and concerned about the non-standard installation process. We made the installer a separate app, but then many people didn’t realize they needed the app until they had lost deliveries. We also added a delivery history, but not everyone knew it was there. None of this is an issue anymore. When you install future updates your deliveries will still be there.
  • Adding a new delivery was confusing and tedious. We added the plus button as a shortcut, but it wasn’t an ideal solution because Apple didn’t intend for new widgets to be opened this way. A lot of people had problems with it not working after an update—we’d get a few emails about it every time and I’m sure there were more that just gave up.
  • Closing deliveries was also confusing and tedious, especially for new Mac users. The button to add a new widget was obvious, but there was no obvious close button. There was no way for us to add one either. For those that knew how to close widgets, it was still a bit awkward. Even if you knew the shortcut of holding down the option key, Dashboard would sometimes flake out and not show the close button for the widget you had your mouse over.
  • Most people wanted it! While many people liked being able to arrange their widgets however they wanted, many others just found it a chore. We did a survey and 62% said they would prefer an all-in-one design. 18% didn’t care. Out of the 20% that did want separate widgets, I’m guessing many of them (myself included) still appreciate the benefits of the new design.

Changing to an all-in-one design allowed us to address all of these problems. I deleted half of the help page for the widget last night because it longer applies. That was a great feeling! We’ve also had fewer support emails so far which gives us more time to spend making great stuff. The response we’ve gotten has made it clear this was the right decision, so I hope those of you that don’t like it can get used to it.

Synced deliveries are now opened automatically, and deletions are synced as well

Syncing was, by far, the biggest reason for changing to an all-in-one design. Dashboard does not have a proper way for developers to open widgets automatically, especially if you want the settings filled in already. I had some ideas for how to make it work, but it probably would have been flaky. And as I said there’s no way for a widget to close itself at all, so if you deleted a delivery on your iPhone, there was no way to close the widget. Synced deliveries were added to the history, so it only took a couple of clicks to open them, but this wasn’t obvious and a lot of people didn’t notice it was syncing at all.

There was no way to solve the syncing problems properly without changing to an all-in-one design. It was a necessity. I think everyone who uses the syncing feature will appreciate the huge difference it makes. It’s really fantastic to add a delivery on my phone and see it’s already there next time I use my computer. It’s even better if you use the Growl option to sent notifications via Prowl or email.

You can now add deliveries from unsupported companies

This is a really cool feature that helps you keep track of all your deliveries in one place, even if we don’t support the delivery company directly. Read more about it in the Delivery Status touch preview. The feature in the widget works the same. Even if we already support the shipping services you use, it’s nice to be able to make a note of an item at any time, then update it later once you have the full tracking info.

You can now create a sync account directly from the widget

In addition to all the other work we did improving the syncing process, we also wanted to make it as easy as possible to set it up. You can now do everything in either the widget or the iPhone app, and you’ll only have to leave to check your email and click the confirmation link.

Countdowns will now update immediately when opening Dashboard, even if the status hasn’t refreshed yet

This may seem subtle but it can make a big difference. Previously if you opened Dashboard, and the status hadn’t refreshed recently, the countdowns could be inaccurate. This was more likely to happen the less often you set the widget to update.

Date and time displays will now respect your settings

In Dashboard there’s no simple way to display the date and time using the format you’ve selected in System Preferences. When I created the widget I just used my personal preferences, and when we started adding translations it was easiest to just customize the format for each language. The big problem there is that the two don’t always match up—for example, not all English speakers use AM and PM. Both the widget and the iPhone app should do a much better job of respecting your preferred format now.

Mac OS X 10.5 or later is now required for syncing

With the last few major updates of the widget, I’ve struggled over whether to continue supporting Tiger (Mac OS X 10.4). It requires more and more work as time goes on, and that work benefits fewer and fewer people. With Delivery Status 5.0 I was happy to find that almost everything worked fine after some minor adjustments. Syncing was the big exception. I spent a good while trying to get it to work, but in the end I couldn’t even figure out why it wasn’t working.

I could most likely get it to work by rewriting the code, but I don’t know how long it would take, and that’s time I could spend on new features that would benefit a much greater number of people. I’m also quickly running out of Macs that can even run Tiger—my current MacBook Pro just locks up if I try to boot it in 10.4. Another problem is that the latest version of the Growl framework no longer supports Tiger. This is also the first version to support 64-bit. So in order to release a full 64-bit version of Delivery Status, we will have to stop supporting Tiger. (On the bright side, leaving it in 32-bit isn’t a big issue yet. There’s no perceptible difference in performance, and it doesn’t prevent anything else from running in 64-bit, even other Dashboard widgets.)

The lack of syncing only affects about 1% of our users. That’s still a good number of people, and I really don’t like to leave anyone out. But at some point we have to, and I think this is a good way to start gradually moving away from Tiger. The good news is we are working on an update that fixes a lot of other problems in Tiger. You can download the 5.0.2 beta here. I’ve also decided to make the old version available for those of you that regret updating. Click here to download Delivery Status 4.8.3. Keep in mind that this version has problems with certain services, and more of them will break over time. Perhaps it will hold some of you over until you’re ready to upgrade your Mac though!


This entry has 3 comments.


mhoutman wrote on October 21, 2009:

nice writing, enjoyed it as well as your continuous support to make it better ! (enjoy your marriage day as well !! ;)


iName wrote on October 21, 2009:

i really love the update… my only complaint is the omission of the logos

Alexander Lee

Alexander Lee wrote on December 1, 2009:

The all-in-one format is such a simple but drastically smarter move. Much better screen real estate now and just looks more orderly. Great work!

View more


Deliveries: now with dark mode and support for the latest devices This week we released Deliveries 3.1 for Mac, with support for macOS Mojave’s new dark…

Compatibility with iOS 12, watchOS 5, and macOS Mojave iOS 12 and watchOS 5 are available now, and macOS Mojave will be out soon. For the most…

Improvements to Junecloud Sync We recently gave Junecloud Sync a significant update. Most of the changes are behind…

Improved iCloud syncing in our apps We’ve completely redone iCloud syncing in our apps to make it faster and more reliable…