Mufasa: Look, Simba. Everything the light touches is our beautiful, well-maintained code base.  Simba: But what's that shadowy place over there?  Mufasa: API V1, which still handles 95% of requests.
you are viewing a single comment's thread
view the rest of the comments
[–] 169 points 2 years ago (17 children)

I had this one user who kept using an old report. It used a terribly provisioned db account and had to be changed.

We created a v2 that was at feature parity to v1 and told users to move off of v1. Slowly but surely it happened.

Except one user.

We put up nag screens. Delays on data return, everything we could go "carrot" them to the new version but they stuck with it.

Eventually I called the guy and just asked him, "Why are you still using the old version?"

His answer, "no one ever told me about the new version."

I asked him if he got our email. He said no. I forwarded it to him.

"Oh."

I asked him didn't you read the nag screens? He said no.

I asked him, "The page doesn't allow you to move on until you wait 90 seconds. Why didn't you read it?"

"I didn't think it was important."

I learned an important lesson that day: never wait for all users to move. Once you have enough, start doing scream tests.

  • source
  • hideshow 17 child comments
  • [–] [S] 93 points 2 years ago (3 children)
  • [–] 36 points 2 years ago (1 child)

    I used to work for a university trying to modernize how people got student and financial data. Over half my work was playing politics rooting out people who refused to change and going above their head. We had one guy who didn't want to update a script on his end to include the bare minimum amount of 'security': a hard coded plain text password. It took me months and I had to go to his office to update his script and he complained about it the entire four minutes it took

  • source
  • parent
  • hideshow 1 child comment
  • [–] 28 points 2 years ago

    Email to all:

    “Due to budget constraints, resources will shift from $oldThingy to $newThingy. As a result, $oldThingy’s availability can no longer be maintained at the previous level.”

    Then randomly kill oldThingy for more and more hours each day.

  • source
  • parent
  • [–] 22 points 2 years ago (5 children)
    location /old_api {
      redirect /new_api
    }
    

    (can’t be bothered to check the syntax).

  • source
  • parent
  • hideshow 5 child comments
  • [–] 19 points 2 years ago (4 children)

    If you have a major version change, it means that old API calls will break against the new API, assuming they are accurately following semver.

  • source
  • parent
  • hideshow 4 child comments
  • [–] 1 point 2 years ago (2 children)

    A translation layer could be used, no? Check api version, translate any v1 specific calls into their v2 counterparts, then submit the v2 request?

  • source
  • parent
  • hideshow 2 child comments
  • [–] 2 points 2 years ago (1 child)

    This isn't really efficient because when v2 gets updated now you have to update the translation layer as well.

    Any improvements you made in v2 would likely not translate.

    Essentially the best way is to provide users with an incentive to switch. Perhaps a new feature or more requests.

  • source
  • parent
  • hideshow 1 child comment
  • [–] 21 points 2 years ago (3 children)

    I was on-site for users learning our new program. Watched them do something, a dialog came up, and faster then i could catch what it was, they closed it. Dialogs are warnings or confirmations you know, and they did not know what it was...

    So yeah, sometimes I do think there should be a wait time on the OK button.

  • source
  • parent
  • hideshow 3 child comments
  • [–] 20 points 2 years ago (1 child)
  • It probably makes sense if the program they came from is a badcase, but at least ours don't go over board. It's always a "you are probably doing something wrong, but we will allow it if you want to" or a "please confirm you want to do this thing that may have huge consequences". With what they were learning, they were not touching anything related to the latter. So they probably were doing something wrong.

  • source
  • parent
  • [–] 17 points 2 years ago* (last edited 2 years ago)

    a dialog came up, and faster then i could catch what it was, they closed it

    My wife does this and then asks me to fix whatever is broken. I'd be able to help if I was able to read the error!

  • source
  • parent