Days Until Updated

Days Until has been updated with some of the same better error handling, zebra table, and other features of yesterday’s Days Since update. Current users will automatically get the upgrade over the next few hours (as caches expire). If you see any problems, please comment here!

And you can Add to Google to try this tracker of future events, if you haven’t already.

I tend to use it for tracking birthdays (it automatically handles annual recurrence). It’s also been a neat tool to help teach the kids a sense of time (on the days scale) — my 6 year old has an igoogle page with this and days since on it, and has been surprisingly excited to track things — “uh oh, dad. It’s been 10 days since my last bath!” (days since) or “just 46 days to my birthday!” (days until).

Sorting and Highlighting added to Days Since iGoogle Gadget

Days Since Add to Google has gotten a bunch of refinements — fixes and features — that are based on feedback from the 1300 or so people who use it regularly. If you use the main version (added from the link to the left), you’ll get these updates automatically. Thanks especially to Ping Zou, who took the time to prototype some of the ideas in his “days since plus” gadget.

  • Average days since are now tracked. As you reset your reminders, Days Since is keeping track of the number of times you’ve done the task, and how long it’s been on average between times.
  • Items sorted by how close to “due” they are. Reminders are now sorted by how close they are to the average time they’ve taken in the past.
  • Overdue reminders shown in red. If it’s been longer than average for an item, the text color is red. Note there’s no UI to explicitly set an expected period or anything — it’s all based on the running average. This has the benefit of making everything completely transparent to current users of Days Since, automatic for everyone, and it keeps the UI simple. But for people who are more control freaks (or bipolar undisciplined/disciplined like myself) — it has the downside of keeping “overdue” as more of a flexible, historical based metric, rather than a hard deadline. It’s likely to stay this way because it matches the philosophy of Days Since a bit better, but any feedback on wanting another alternative is welcome.
  • Fixes for two major cases where data could be lost or hidden.. Days Since has gotten a lot of great feedback since being listed this spring. Several reports came in of lost data when adding a larger number items .. usually when hitting 30 to 40 range. Also, very long words in the description could cause the reset/delete buttons on the right to become hidden for all items. These reports were driving me nuts, since nothing is more sacred than user-entered data. Days Since now has much better handling of the iGoogle and browser limitations that created these problems. For the curious or other gadget developers, there will be follow-on posts here on these items. See the Gadget API Group for related discussions.
  • Localized in more languages. In addition to Chinese translations by Ping, Google got in touch and provided Spanish and Portugese. Thanks to Natalie there at Google.
  • Feedback when reminder limit is hit (iGoogle preference limit). If you reach the limit of what iGoogle’s preferences can store, you’ll get immediate feedback in the form of a message on the gadget. Depending on your reminder description length, you should be able to fit around 20-30 reminders in the gadget. If you hit the limit, just add another copy of Days Since to your page to add more.
  • UI enhancements. Including “Zebra”-style highlighting of every other line for easier reading on long lists; Font style better matching Google’s default gadgets (the much-maligned font size=-1); more consistency and compatibility across Firefox, IE, Opera, and Safari browsers; and if anything goes wrong with formatting (e.g. long words on Opera) or Google’s dynamic resizing, scrollbars now come up so at least you can see and get to all the gadget content in a pinch.
  • New storage format. This is more of a geeky feature, but you’ve always been able to go to “Edit Settings” for the gadget and see/backup/edit the JSON string that stores all your reminders. The format of that string is now updated, and the gadget automatically detects the old format and upgrades it to the new when you run the new version of the gadget. This kind of auto-upgrade is somewhat tricky, so if you see any problems with the upgrade, please comment here. The benefits of the new format are: 1. Date is now slightly more human readable (ISO format). 2. Fewer overhead characters, so more reminders can fit within the iGoogle storage limit.
  • Visible version number. If you “Edit Settings” you’ll now see a version number of the gadget code which is updated every time you save a preference. If you find a bug or have any feedback, please also note the gadget version, browser (firefox, ie, etc.) & browser version with the feedback. The version will also be used for any future schema upgrades. Thanks!
  • Internal refactoring. Internally, the Days Since code got a lot of cleanup, including clean javascript namespacing. It’s not essential when running in an IFRAME, but still nice for the future.

Remaining limitations:

  • Can’t add days since reminders that are older than 1970. (Javascript date object limitation)
  • Data appears to be lost if items are added, then gadget is moved around on igoogle page. Workaround: refresh your page to get data back (iGoogle bug)
  • Limit on # of reminders: ~2K chars for all preferences (iGoogle/browser limitation)
  • Only works on iGoogle – not Google desktop or elsewhere (Google only supports saving preferences on iGoogle)

As Google’s caches update, the new Days Since will reach you. A port of similar updates to Days Until and Feedsparks will be coming. If you see any problems or have any other ideas, feedback is welcome!