Thursday, February 15, 2018

Feature Demo: Timeline Upgrade!

Tablet resolution teaser of the new Timeline controls!
As I mentioned yesterday, I've been hard at work for the last couple weeks on redoing the Timeline controls in the Manager (and clearing out the major quests in Fallout 4).

The Timeline was one of the first features that I implemented in the API (back when I started migrating from the legacy webapp to the public API) and, accordingly, it's a hot mess in both places. Long story short, most of what I've been working on has been clean-up and refactor type stuff, meant to give me what I need on the back end to bring the UI/UX up to current standards.

If you are interested in the gory details, the ticket is here.

If you are not interested in the gory details but you would like a preview of how the new controls are going to look and work, please enjoy the animated GIF feature demo in this post.

Finally, it is still too soon for me to commit to a date/time for when I think the new Timeline will be production-ready, but I am pretty confident that I'll get it in before the end of the month.

Thanks for using the Manager!

Wednesday, February 14, 2018

Settlement Event Icon (vector and PNG)

As part of the project to refactor/redesign the Timeline, I ended up having to create a Settlement Event icon to help recreate the look and feel of the 1.5 Settlement Sheet.

It's become a custom/tradition on this blog for me to share DIY assets that I create as posts and file them under "DIY". If Google Analytics is to be believed, people are finding them useful.

And so, without further ado, the Settlement Event icon:





Use this link to download that PNG.

And here it is as a vector.

Saturday, February 3, 2018

Change Log: 2.68.1299 (The "Showdown" Release)

Upgraded Survivor Quick View at tablet resolution!
I've been working on the main feature in release 2.68.1299 for a while now.

In fact, I've been working on this branch for so long, I even gave it a non-numerical code name: I call it the "Showdown" branch. Which, by the transitive property of branch names, makes this the Showdown Release (which sounds pretty cool, I think).

At any rate, I am happy to say that release 2.68.1299 pushes a major upgrade to the Campaign Summary's Survivor "Quick View" feature of the Manager that should pretty massively enhance the general user experience.

In this release, the "Quick View" has been upgraded to allow better survivor management during showdowns: Survival, survivor attributes (including gear and token numbers), the three major survivor status flags (can't spend Survival, can't use Fighting Arts, Skip Next Hunt), armor locations, hit boxes, Courage and Understanding can all be managed right from the Campaign Summary, i.e. without loading the Survivor Sheet.

Otherwise, there's not a whole lot in this release.

Thanks for using the Manager!

Thursday, February 1, 2018

MAJOR Upgrade coming this weekend!

In response to overwhelming popular demand, the next release of the Manager will upgrade the Campaign Summary so that multiple survivors can be managed without having to change over to their Survivor Sheets!

Rather than explaining it, I've created this feature demo to show how much more control over survivors the Campaign Summary's "Quick View" will have in the next release of the Manager:

Campaign Summary "Quick View" upgrade at tablet resolution!

The new release still has a ways to go before it's ready to go, however, so I don't think I'll have it pushed out into production until Sunday (I'm shooting for Saturday, but...that's not super-realistic, I don't think).

Thanks for using the Manager!

Tuesday, January 30, 2018

Change Log: 2.67.1287

The optimization project continues! Release 2.67.1287 does not push any new features, but focuses heavily on performance.

Most of the general/non-specific user feedback I've gotten in the last couple of months is about how long the Manager takes when loading a new page or "view".

And while there are certain, critical aspects of load times that I cannot control, such as network conditions, the speed of your client device, etc., there are a few of things that I can control:
  1. the time it takes to render the HTML that constitutes a given "view" (e.g. Dashboard, Survivor Sheet, etc.).
  2. the size of static files, e.g. CSS and JS, that you need to pull down to use that HTML.
  3. the time it takes the API to respond to requests made by that HTML.
The focus of release 2.67.1287 is to massively reduce the time it takes for that first piece to happen, theory being that if the app renders the HTML faster, you can start downloading it that much faster and cut some time from your overall load time.

This is a table that shows the average production render times (in seconds) for the main views in the previous release of the Manager:

dashboard0.66
loginN/A*
new_settlement0.45
view_campaign0.61
view_settlement0.60
view_survivor0.48

* data not available.


And here are the average render times for those same views in 2.67.1287 (again, in seconds):

dashboard0.05
login0.35
new_settlement0.03
view_campaign0.27
view_settlement0.47
view_survivor0.04

They say, in the biz, that one second is what you should be shooting for, in terms of having a view loaded and ready to go for the user. Even on very fast connections, views that used to take more than half a second (on average) to render have no chance of being loaded in one second. 

In 2.67.1287, however, everything gets a lot faster, in terms of how long it takes for view HTML to be created by the web application, and that is an important part of the overall optimization effort.

In related (but probably not as significant) news, when I started working on this release, I found that over 18% of the CSS class selectors used in the project's primary style.css file were not in use.

(To put that another way, before release 2.67.1287, there were something like 80 different selectors that weren't referenced anywhere in any of the project's HTML templates!)

All of which is to say that the HTML, CSS and JS files that you have to pull down when you load a new view should come down just a little bit faster now.

Finally, this release also adds some simple unit testing to the legacy webapp.

One of my 2018 goals for the Manager is to basically lock the legacy webapp down: to "finish" it and stop updating it, so I can focus exclusively on HTML templates and API enhancements. Unit tests are a big part of that: locking down the features of the legacy webapp and wrapping them in unit tests gives me the ability to basically stop active development on it, which is a major goal.

At any rate, I've got some big feature enhancements coming up in the next release, so stay tuned!

Thanks for using the Manager!

Monday, January 29, 2018

Development Roadmap: 2018

I haven't done this previously, but I decided that for 2018, I'm going to publish a development roadmap this January and come back to it in a year and measure my progress against the plan.

(The last time I tried something even remotely similar to this was December 2015, and it was more like...a to-do list, than a proper development plan.)

A lot of similar projects that have been inspirations for this one do something similar, and I enjoy reading their roadmap (and roadmap-review/postmortem) posts, so I figured, what the hell? Why not give it a shot?

Best-case scenario, this gives me a rough plan that I can use to stay motivated/focused on the important priorities from release to release. Worst-case scenario, I look back at this in a year and say, "man, what the hell was I thinking?"

At any rate, hit the jump for my detailed/annotated roadmap for 2018 development on the Manager and the KDM API.

Saturday, January 27, 2018

Change Log: 2.64.1260

Death Dice!
The last release of the Manager was a big one and touched on a lot of things, so release 2.64.1260 is largely dedicated to break/fix type work.

The only "new" feature that users might notice is that the Family innovation inheritance feature is officially out of beta as of this release, and, if your settlement has the innovation, you'll see controls setting a "donor" parent on the New Survivor creation screen.

There's also a pretty important back-end milestone in this release: as of 2.64.1260, all survivor updates are managed through the API! The legacy webapp is no longer involved in database updates for survivors!

And, speaking of back-end enhancements, release 2.64.1260 also starts a lot of work on the general maintainability of the config files for the legacy webapp, which really needs to improve if I'm really going to change the Manager's supported browsers to include Safari.

As usual, hit the jump for the full release notes.

Thanks for using the Manager!