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:


* data not available.

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


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!

Friday, January 26, 2018

iOS/Safari Support - Coming Soon

I usually get one or two emails a month about adding or improving support for Safari or iOS devices (or both).

In response, I will typically write a quick email about how/why I can't support iOS and Safari that usually boils down to two points:

  • Less significant: Safari is not as well-maintained as Chrome/Firefox and supporting it takes more work than supporting those other browsers.
  • More significant: the top two browsers used by users of the Manager are Chrome and Firefox, I'm a one-man-show, and I don't have time to try to support more than two different browsers.

As I do every January, I crunched the numbers on how people used the Manager in the previous year  and, as a result of increased Safari usage in 2017, I'm going to be changing that policy in 2018.

The post below explains how the numbers look in the near-/recent-term and how browser-usage looks during 2017.

For those who DO NOT feel like reading the analysis and the background, the executive summary of this blog post is that the Manager is going to start officially supporting iOS devices running Safari in 2018.

For anyone else who wants to see the numbers and read the analysis, hit the jump for the full story.

Thanks for using the Manager!

Tuesday, January 23, 2018

Change Log: 2.63.1239

Innovation "Quick Pick" feature at tablet resolution!
I figure it's been a while since I shipped any subscribers-only features, so release 2.62.1239 ships three!

Survival +5 subscribers to the Manager will now have access to:
  1. a random name generator on the Survivor Sheet 
  2. an enhancement to the Settlement Sheet that 'draws' random cards from the innovation deck
  3. a new preference that hides the in-line help and UI tips in the Manager
All of the new features both pretty self-explanatory, but I've added some feature demo animated GIFs to this post and the page that explains what Survival +5 subscribers get with their subscription.

Release 2.63.1239 also continues the project of streamlining and optimizing the Manager for speed/performance. Your favorite campaign manager caught some pointed, dead-on negative feedback over in the sub this week, and much like the last few releases, this one tries to reduce 'the chug' that puts so many people off.

Survivor Sheet random name
generator at mobile resolution!
Specifically, this release massively overhauls the way that HTML is rendered by the legacy webapp by replacing hundreds of lines of server-side code dedicated to determining what HTML gets rendered when responding to a request with templates where the browser-side parts of the application do that work instead.

The intended effect is that, any time you load/reload a view, you wait less time to get the HTML you need for your view, and then your browser is able to dial up the API and start rendering what you need for your API that much faster.

Most of this is intended to be invisible to users, but one user-facing enhancement that comes with these changes makes it so that creating new survivors no longer requires a reload/refresh: the new survivor controls are totally AngularJS- and API-based now, which means that they work like the (subscribers-only) controls for adding multiple survivors.

Finally, release 2.63.1239 has also got a few minor presentation tweaks to just iron out the last of the visual weirdness/problems introduced into the Survivor Sheet in the 2018 Survivor Sheet upgrade. At this point, I feel like the Survivor Sheet is probably in its final form, give or take a few minor tweaks.

(Although, who knows what will happen when Advanced KD or the Wave Three expansions drop...I'm probably jinxing myself big time, here.)

Thanks for using the Manager!

Sunday, January 21, 2018

Feature Demo: New Survivor Creation Upgrade

In yesterday's post, I posted an animated GIF feature demo that previewed an upgrade to the Manager's controls for creating new survivors.

I got a couple of comments/questions about that overnight, so I was inspired this morning and stole a few hours to finish developing the feature.

I just cut a new demo, so people can see exactly how it works: basically, you fill out the form like before but, when you click 'Create', the new survivor gets made in the background and the Manager shows you a summary link that you can click to view them right away.

The new controls also include an option to create a new survivor with a random sex (i.e. the "?" options): that's been requested a few times over the years, so I took the opportunity to implement in the upgrade here.

At any rate, as I mentioned yesterday, there's a lot of stuff still to do before I'm ready to push the next release of the Manager to production, but look for it early this coming week.

Thanks for using the Manager!

Saturday, January 20, 2018

New subscribers-only features coming this week!

Good news everyone!

The next release of the Manager will include three new subscribers-only features as well as an overhaul of the way that new survivors are created.

For a little advanced info on what's coming out in the next release, check out these tickets:

Between these enhancements and the back-end/API stuff I've got open for The Watcher, the next release won't be ready for a while, so, in the meantime, please enjoy this animated GIF that shows the new controls at mobile resolution.

Thanks for using the Manager!

Wednesday, January 17, 2018

Change Log: 2.61.1211

Survivor Sheet upgrades; PotStars survivor at desktop resolution!
Release 2.61.1211 mostly addresses presentation and usability issues introduced in last Monday's Survivor Sheet upgrade release.

Most of the presentation issues are related to wide resolution, but I also smoothed out the presentation of the Survivor Sheet "hit boxes" (e.g. Brain, Head, Body, etc.) at all resolutions in this one, so the experience should be a little more consistent across devices/resolutions.

Beyond the break/fix stuff, there are also a handful of usability updates in this release intended to further streamline the Survivor Sheet experience.

The most visible enhancement is related to the "hit boxes" on the Survivor Sheet, which now work with the "roll down" controls: you click the armor box, the controls roll down, you make your changes, hit save and they roll back up.

This not only makes the experience more consistent across the various elements on the Survivor Sheet, it also frees up a lot of space at both tablet and wide screen resolution and makes the app look more like the paper sheets (which is one of the major goals of the recent upgrades to the Survivor Sheet).

Release 2.61.1211 also removes a lot of the loading animations and other things that block buttons on the Survivor Sheet and generally tries to make it feel less like you're waiting on the Survivor Sheet to save.

Finally, I want to thank everyone who has written in with issues and comments about the Survivor Sheet upgrade and apologize for the delay on getting this release out: I normally like to do these break/fix releases sooner after the release of new features, but I had to travel for work and then a bunch of stuff came up.

Look for the next release of the Manager next week, when I should have some API enhancements and (if we're lucky) some Timeline upgrades ready to roll out.

Thanks for using the Manager!

Monday, January 8, 2018

Change Log: 2.61.1185

Release 2.61.1185 pushes a major upgrade to the Survivor Sheet and also marks a major milestone for the Manager: as of this release, there are no parts of the Survivor Sheet that require a refresh/reload to update the view!

Behind the scenes, the API has been enhanced to allow for what I call "survivor post-processing", which is going to be the new standard for enforcing the game's business logic. For now, the only piece of biz logic I am enforcing are weapon specialization/mastery, but now that the hook is in place, this will be a feature that we expand as we go (e.g. into Wave Three expansions, AKD:M, etc.).

Thanks for using the Manager!

Saturday, January 6, 2018

Next Release postponed; Survivor Sheet upgrade feature demo

I had originally intended to push the next release of the Manager to production today, but I ran into a bunch of issues with the upgraded Survivor Sheet controls and decided to postpone.

I doubt I will have time to wrap things up and deploy the new release tomorrow, so the next release is officially postponed until...probably Monday or Tuesday (at least).

In the meantime, check out some teasers/feature demos of the Survivor Sheet upgrade that comes out in the next release.

Thanks for using the Manager!

Tablet resolution demo of the Survivor Sheet upgrade
in the next release!

Mobile resolution (same survivor).

Thursday, January 4, 2018

New Year, New Survivor Sheet controls

Classic UI at mobile resolution.
Happy New Year!

The holiday is over, and I have (slowly) been getting back to work on the Manager.

As it happens, I initially planned to push a bunch of upgrades before the break, but a number of issues/requirements for The Watcher popped up at the last minute, and I decided to hang back until I could get those ready to ship with the upgrades for the Manager.

At this rate, I expect to have the next release of the Manager ready to go by this coming weekend (maybe Saturday morning or so). When the new release is ready to go into production, it will include an upgrade to the Survivor Sheet controls that I call "classic UI".

After the classic UI upgrade, the Survivor Sheet (at all resolutions) will look and feel like a combination of the classic/paper/in-box record sheet and the controls for The Watcher.

Check out the feature demo (at mobile resolution) on the right for a sneak peak!

Thanks for using the Manager!