Sunday, March 25, 2018

Change Log: 2.73.1380

Release 2.73.1380 is mostly a break/fix type release that continues the ongoing project to clean up logging and get us fully migrated to Semantic Logging.

The effects of that work will be subtle, of course, but a couple of things in this release that users will definitely notice are a.) the deprecation of Twitter from the Manager and b.) an updated "Info" modal (i.e. the the thing that pops up when you click the little "!" button) on the Dashboard that contains webapp alerts from the API.

I've been working on this one for a few weeks, since I feel like it will be important for general release of the API: I want to have a hard-wired, always-on type of methodology for communicating notifications and issues downstream to users of the production API.

Another thing in 2.73.1380 that will appear new to most users is the "Help!" item on the Nav Bar. This was beta in the last release, but I feel pretty good about how it's been working out, so it's now GA.

Finally, look for another small-scope release like this sometime soon: I've got a personal goal of having all of the logging stuff migrated, upgraded and burned in before I start working on any new features, and the easiest way to do that is in these little releases.

Thanks for using the Manager!

Wednesday, March 21, 2018

Change Log: 2.73.1369

Expansions of Death!
Release 2.73.1369 cleans up Settlement Event Logging and adds some new help, support and notification enhancements that I've been working on for a while.

This release does not, however, add the help and notification enhancements for everyone.

Rather, subscribers of the Manager who have the "beta" preference enabled will notice the 'Help' option on the left-side navigation bar. This new feature contains campaign- and expansion-specific tips and notes as well as "alerts" that come directly from Yours Truly.

The idea behind the alerts features is that I'm starting to phase out Twitter as the official source of emerging issues, announcements about features and fixes, etc. and these alerts will accomplish the work that the Manager's Twitter account has been doing for the last several months.

Eventually, the help tips and the notifications will probably become generally available functionality, i.e. visible to all users, but, for now, they're beta functionality (until I'm comfortable with how they look and how I'm using them).

On the back-end, release 2.73.1369 devotes a good amount much-needed TLC to Settlement Event Logging, which got a little weird/broken back when the Timeline release went out.

All users of the webapp, both subscribers and non-subscribers, will hopefully notice improvements to the presentation, verbal clarity and overall usefulness of Settlement Event Logging.

I'll save the details for the change notes below, but there's a ton of tiny updates in this release intended to bring all of the API's settlement Event Logging up to a standard and basically pay down the technical debt I took on when I cut the API over to Semantic Logging back in December 2017.

(When release 2.59.1140 went into production, it shipped the basic hooks for Semantic Logging, but it didn't really change how the API logged settlement events. Now, in release 2.73.1369, I spend a good amount of time bringing the various Settlement and Survivor methods up to the current standard for recording events to the log)

Finally, I created a new project for expanding the Manager's support of expansion content. The basic idea is to go through and smooth out all of the expansion assets and features and tune everything up. I plan to start going through my Wave Two box this weekend and opening tickets.

I expect to have a better sense of how long it will take to update the Manager by Monday.

Thanks for using the Manager!

Thursday, March 15, 2018

Change Log: 2.72.1348

Shout-out to the guy who packs my KD boxes and makes
these little illustrations.
Release 2.72.1348 is a break/fix release meant to clean up the last big feature release of the Manager and resolve issues that were introduced by the Timeline upgrade.

The release also includes a few corrections/fixes/updates to some miscellaneous stuff, but most of that's pretty minor user-proofing, typo-correction and low-stakes back-end optimization stuff: if you hit the jump and read the change notes, it seems like there's a lot going on here, but most of the code that this release pushes fixes issues with the new Timeline.

On the topic of the Timeline, I should say that during the first three days that the new Timeline was in production, close to a dozen people checked in with detailed feedback/bugs/screen captures/etc. The response was super helpful in getting everything addressed. Thanks to everyone who gave that good feedback!

In terms of what's next, I just checked USPS/FedEx and it looks like my Wave Two stuff is going to be here early this coming week. Once it arrives, I'll be working pretty much full-time on bringing the Manager into compliance with whatever changes/updates/fixes are included in the new printings of the expansion content.

Depending on what exactly needs updating, that could be one big release or a bunch of little ones or...maybe something else. Stay tuned!

Thanks for using the Manager!

Saturday, March 10, 2018

Today's deployment: outage/downtime postmortem

Normally I don't like to deploy new releases on Saturdays. 

Generally speaking, I like to push code on Sunday, or even better, on Monday mornings. Mostly this is because those are low-usage times when there are only one or two active users (if any) in production.

As regular readers of this blog and users of this website know, I am bad at software. And, like most people who are bad at software (but insist on doing it anyway), I expect my deployments to be total shit-shows and I like to give myself a nice, long window to untangle whatever messes I inevitably make when I do end up having to deploy code.

At any rate, I went against my better judgment and decided to roll today's release out while there were a dozen or so users in production and, of course, I ended up causing an hour-long outage. 

And so I just took ten minutes to write a postmortem that explains exactly what happened.

Mostly I did this to publicly shame myself (because Shame is the Great Educator), but some of you may find it illuminating. 

So hit the jump for the play-by-play of how I broke the website this morning, if you're into that kind of thing.

And thanks for using the Manager!

Change Log: 2.72.1337 (The Timeline Release)

Release 2.72.1337 includes a major upgrade for settlement Timeline and Event Log controls.

This release, which I have been working on for almost a month, also contains a small handful of corrections and bug fixes, as well as a minor upgrade to the Campaign Summary Survivor "Quick View" presentation.

(Special thanks to this thread, which reminded me that I didn't include them in the last release, the Survivor "Quick View" display now includes the tips for Courage- and Understanding-related Abilities & Impairments.)

Another thing that happens behind the scenes in Release 2.72.1337 is the deprecation/removal of a ton of vestigial/deprecated methods from the legacy webapp. This massive purge of dead/useless code is phase two of the work I started in the last release to cut HTML render times to the bone. The changes in this release will not contribute directly to decreased HTML render times, but they slim down the overall "weight" of the legacy webapp, and that is a good thing no matter how you slice it.

Speaking of HTML render times, here's how they look in the last seven days of production use, versus how they looked in production during the last week of 2017:


Other than the login view (which I don't have data for in 2017), literally all HTML render times have improved since the 2.67.1287 release. They're still not great (taking almost a second to render the HTML for the Campaign Summary view is definitely no bueno), but they're improving and, as I continue to streamline the legacy webapp, I expect them to continue to improve.

Release 2.72.1337 one also re-does the expansion content controls, which were very old and...let's just say they weren't up to the general standard of the webapp in the last year or so.

Finally, since Wave Two is about to ship, I should mention that this is going to be the last big release until I update the Manager to handle 1.5 versions of the original expansions. The plan, for now, is basically to get release 2.72.1337 shipped, maybe do a quick break/fix/follow-up release, and then get an updated for the 1.5 expansions up as fast as possible.

Watch the Manager's Twitter for more details on the expansion upgrade.

Thanks for using the Manager!