Licensing + Timezones user experience

Issue #2241 resolved
Xander Victory created an issue

More of a pet peeve than anything

  1. Licence renewal date is 2nd November
  2. On the 2nd, Notification complains that subsciption has expired and grace period is in effect

    1. Seems to happen multiple times a day?
  3. Licence auto-renew doesn’t kick in until 5.30 PM my time (well, thats when I got my email)

  4. On the 3rd, dialog/notification (don’t remember which) on start up prompts to manually refresh status (which succeeds of course)

Ideally, step 2 wouldn’t happen until the auto-renew has been attempted - whether that’s a hardcoded timestamp/date check that accounts for the timezone or a server api call, I don’t know.

Comments (7)

  1. Scott Wells repo owner

    Hmmmmm….so let me explain how it’s supposed to work and then perhaps we can compare that to what you’re seeing.

    • IC2 gets its notion of the expiration/renewal date from the licensing software and not from the online storefront. It picks up a processed renewal because that in turn adds one year to the license subscription expiration date. To avoid issues on restrictive networks, IC2 doesn’t contact the licensing servers except when necessary, so if a license has been renewed it’s generally required to refresh the license status to pick up that new state.
    • IC2 starts showing a warning about a pending expiration/renewal date 14 days in advance. It will do this when a project is opened (including the initial IDE process start), so if you’re seeing it repeatedly, I’m assuming you’re switching or closing/reopening projects with some frequency?
    • Starting on the actual expiration/renewal date, it goes into a 7 day grace period during which the product is still active but a different message is displayed about the grace period status. This is also shown when a project is opened.
    • Both of these notifications include a direct option to refresh the license status so that if the renewal has in fact occurred, the new expiration date can be queried and the license extended locally.

    As for when the actual renewals are processed by FastSpring, that’s unfortunately out of my control. They do occur on the date, but it’s likely going to be sometime within that day according to the FastSpring servers' time zone, and they don’t all occur at once. They’re spread out across the day according to some unknown (to me) distribution.

    So it sounds like perhaps you’d like to see a way to say “don’t show me this notification again today” or similar to keep from seeing the same notification before you can actually do anything about it due to the timing of the automatic renewal?

  2. Xander Victory reporter

    Sounds like it’s working as intended. Yes, multiple projects opened per day (life of a consultant).

    I wasn’t aware of it minimising phoning home though.

    So it sounds like perhaps you’d like to see a way to say “don’t show me this notification again today” or similar to keep from seeing the same notification before you can actually do anything about it due to the timing of the automatic renewal?

    That could work, yeah.

    Another suggestion would be around the notification on the day of renewal - could it be reduced to a warning and only go to an error the day after? i.e. changing the icon to make it less psychologically important.
    And/or include a notice about auto-renewals happening on-the-day-of.

    It seems like the expiry/renewal date is being treated as exclusive, i.e. my ‘payment period’ is 2nd November to 1st November
    I understand this is likely a FastSpring thing, but I’d normally expect a renewal to happen the day before a licence is considered ‘expired’ (or under grace period).

  3. Scott Wells repo owner

    The next build will have some UX improvements in this area, though not quite what’s been requested. Specifically it will include the following:

    • Implemented a few licensing UX improvements:

      • The expiring/expired notification is now only shown once every 12 hours instead of each time that a project is opened or implicit license validation is performed. An explicit license refresh can result in it being shown again if appropriate, and it will be shown upon initial startup if the IDE process is restarted.
      • The expiring/expired notifications are now more explicit about the available options for license renewal and license status refresh.

    I’m hoping to get this build out on Wednesday.

  4. Scott Wells repo owner

    I'm actually going to resolve this as I think/hope that the suppression of repeated notifications should effectively address most of the concern. If you feel that it's still an issue due to time zone differences, feel free to reopen, though in all honesty that may be difficult to address since I don't have any insight into when exactly FastSpring will process renewals for a given customer on their renewal date.

  5. Mark Mindenhall

    Hi Scott,

    I just saw this ticket in the release notes, and wanted to share our experience around the pending renewal date logic.

    • We saw the repeated notification of how many days were left in the license term during the last 14 days
    • There was no indication of a 7-day grace period, so we assumed IC2 would stop working after the license end date
    • We had no indication that the license was set to auto-renew, as the licenses were purchased/managed by our IT dept.
    • Therefore, we each filed separate IT tickets requesting them to renew the license, and IT closed the tickets saying the license was set to auto-renew.

    So to put our minds at ease during the last 14 days, it would be helpful to:

    • Indicate that the license is set to auto-renew on a certain date (if this is known when the status is refreshed)
    • Mention that there’s a 7-day grace period in case anything goes wrong

    Thanks!

  6. Scott Wells repo owner

    Thanks, Mark. Unfortunately there’s no way for IC2 to know whether the associated subscription is set up for autorenewal or manual renewal. That’s something that only FastSpring knows, and even if there’s an API to get that info, it would be a major security risk for IC2 to query that information directly from the store. The main reason for the refresh link is that many IC2 sales are handled by resellers and distributors who almost always disable automatic renewal and process renewal payments explicitly, often in advance of the renewal date. Non-resellers/distributors also do this, but it’s a quite consistent pattern when an intermediary is involved.

    I could certainly amend the pre-expiration messaging to state that a grace period is provided starting at the expiration date, though in all honesty, that might reintroduce a problem that the current messaging was intended to solve, namely a sense of urgency around the renewal. That sense of urgency isn’t for me, to be clear, but because prior to that messaging, many users would find out about the expiration only when it had happened, and then they were scrambling to get a renewal processed before their licenses became inactive. In larger organizations, getting a PO routed and approved can take days or even weeks, and then we had to extend license expiration dates, etc., to keep users from experiencing an outage. The current messaging has not eliminated that problem, but I can say from experience that it’s reduced it tremendously. I fear that softening the current messaging as “it’ll expire on this date, but you really have another week” may move the needle in the wrong direction.

    I’ll chew on it, but there’s definitely an end user satisfaction “soft factor” in play here around the expiration/renewal cycle that must be keep in mind…

  7. Log in to comment