Wednesday, May 30, 2018

Change Log: 2.81.1540

Release 2.81.1540 takes the KD Collection feature out of beta: all users of the Manager are now able to maintain a KD Collection and use their collection to include Fighting Arts, Disorders and Settlement Events in their campaigns.

That's about it for "new" features in this release, however. Think of this one as a "quality of life" release that mostly cleans up UI/UX elements, streamlines/normalizes some control elements, etc.

(The inspiration came from a couple of posts on /r/kingdomdeath where people were talking about UI and it kind of jogged my memory about how I said that I wanted to spruce-up the UI for the users to whom that sort of thing is more important.)

Beyond aesthetic/UX QoL concerns, release 2.81.1540 continues the optimization project.

As far as back-end/behind-the-scenes enhancements go, the big push towards a simplified/organized legacy webapp continues. Release 2.81.1540 is actually kind of a milestone in that regard, as it removes all Survivor and Settlement Sheet HTML from the html.py module in the legacy webapp, which is a goal I've been working towards for...probably over a year at this point.

Moving on to a recurring topic on this blog, I'm going to spend a few paragraphs talking about HTML render times (i.e. how long it takes for the the legacy webapp to create the HTML you need for your view) and the project I started back in January to reduce them.

In the aftermath of the May 19th release (2.77.1502) of the Manager, I expected render times on the 'new_settlement' view and the 'view_campaign' view to improve (i.e. decrease), but it looks like average HTML render times have not improved across the board and, in some cases, have actually gotten worse since the January 30 release (2.67.1287):

router2.67.1287r2.77.1502
dashboard     0.05    0.31
login     0.35    0.61
new_settlement     0.03    0.02
view_campaign     0.27    0.3
view_settlement           0.47         0.35
view_survivor     0.04    0.21

Back in January, all of these routes were averaging a half a second or more and, ultimately, the goal here is to have all of these averaging under half a second, so I am making some progress here, but I kind of feel like I'm hitting a wall.

Lately, in light of this and a few other annoyances I'm having with the legacy webapp, I'm feeling like the solution here is to do what the pros do and shoot the hostage, i.e. remove the webapp from the equation and have the whole front-end application be a single, unified JS (e.g. AngularJS 2) app. That way, the user downloads the whole thing at once, we incur an up-front download time penalty, and then performance is down to two factors, i.e. the client machine's ability to run the JS app and the API's ability to respond rapidly to it.

At any rate, that's where we're at in terms of performance optimization as of this release. Moving on.

Finally, I should mention that, in terms of API development, there is only one major item of note in this release. Release 2.81.1540 moves user avatar retrieval from the legacy webapp to the API, which should help performance (i.e. avatar load speeds) out quite a bit. I don't really have that code instrumented (i.e. so I can't quantify the improvement), but it should be noticeable.

(Because everything the API does is pretty much automatically WAY faster than anything the legacy/CGI app does, etc.)

Thanks for using the Manager!

Saturday, May 19, 2018

Change Log: 2.78.1502

Release 2.78.1502 is primarily a break/fix release intended to smooth out some of the issues introduced in the last one.

In addition to the normal fixes and corrections, this release addresses issue #502, where clicking on a settlement from the Dashboard sometimes boots you from the webapp.

In terms of new stuff, there isn't much in this release, but subscribers with Beta features of the application enabled will notice that the KD Collections functionality has expanded to include settlements.

If you've got Beta features turned on, you can now create campaigns that include all of the FArts, Disorders and Settlement Events of all the expansions in your collections.

KD Collection features will most likely move out of beta in the next release of the Manager: they're not quite ready for prime time just yet. When the KD Collection functionality does move, it will be generally available to all users of the Manager.

Finally, speaking of the next release, that will probably come some time in June and will be similar to the last production release of the Manager, in that it will mostly be focused on clean-up, optimization and getting the Manager ready for what comes next.

...which, for now, will remain shrouded in secrecy.

Thanks for using the Manager!


Saturday, May 12, 2018

Change Log: 2.77.1480

Release 2.77.1480 is primarily a back-end/clean-up type release that overhauls the way that the legacy webapp renders HTML and continues the project I started back in January to cut HTML render times in the legacy webapp to the bone.

Beyond the non-trivial back-end optimization work included in this one, release 2.77.1480 also includes the Beta release of a new feature that allows users to include Fighting Arts and Disorders from expansions in their "KD Collection" in their settlements' drop-down menus.

Additionally, Departing Survivors controls have also got a new beta feature in this release. Once you select a showdown type, the Manager will check your Innovations and tally up the total Survival bonus that applies to your Departing Survivors.

(If you are a subscriber and you would like to check any of this out before it hits general availibility, just enable the "Beta" preference on the Dashboard "System" menu. Please also check in and let me know what you think!)

In terms of general UI/UX optimization, users will notice that the Dashboard and the Campaign Summary have been cleaned up and normalized a bit, in terms of presentation: all of the various arrows, checkboxes, etc. are more tightly aligned in this one.

The form for creating a new settlement has also been overhauled and updated in release 2.77.1480.

Users will notice that the form looks more like the rest of the Manager now and may also notice that new settlement creation speeds are increased. Release 2.77.1480 cuts the legacy webapp out of the pipeline for creating new settlements, so the action is all on the API-side (i.e. requesting a new settlement now requires a single server-side operation, rather than two separate operations where the browser is the middle-man between the app and the API, as it has in the past).

Finally, getting back to the HTML render times I mentioned up top, this release eliminates several redundancies in the process for rendering the Dashboard, Campaign Summary and Settlement Sheet HTML, which I expect to further decrease render times, even versus the enhancements I made back in January.

Thanks for using the Manager!