Engineering Office Report #1 – A Vision for the Future

December 16, 2023

Although the Engineering Office is filled mostly with unapproachable technobabble, as I step into the role of Bravo Fleet Engineering Officer, I wanted to take a few minutes to pull back the curtains on plans for Bravo Fleet Engineering going forward.

At the simplest level, the Engineering Office is responsible for managing Bravo Fleet’s software and infrastructure. At the center of this is the Bravo Fleet Management System (BFMS), a hundred thousand lines of custom code written specifically to support Bravo Fleet, running on top of an open source content management system and an industry-standard suite of systems and tools. On a daily basis, our infrastructure supports over sixty thousand web requests as our members engage with the fleet, and during the thick of a Fleet Action, these numbers can swell well north of a hundred thousand. While all this happens in the background, it is critically important to the continued operations of our community.

As someone who started building software for our community back in 2004, and as someone who’s been responsible for our infrastructure on-and-off since 2013, I have a deep appreciation for the responsibility the Engineering Office has to ensure that our systems stay strong and that they continue to evolve to support our community.

Going into 2024, I present four key objectives for the Engineering Office:

  1. Ensure our systems remain stable, performant and secure
  2. Improve the experience and intuitiveness of BFMS for our members
  3. Evolve existing systems and add new systems to continue to support our growth
  4. Communicate transparently what we are doing within the Engineering Office

In the rest of this report, I will share a roadmap for BFMS v3, the next major version of BFMS that we will be rolling out iteratively across 2024, as well as the patch notes for BFMS v2.9, which was just rolled out this week.

BFMS v3 Roadmap

A More Intuitive Member Experience

Since its inception, BFMS has relied on a utilitarian backend to power a number of core functions from character management to command requests. In BFMSv2, the Engineering Office introduced more intuitive interfaces for the member dashboard, profile and writing panel, and going forward into BFMS v3, we will continue this transformation. Some of the highlights slated for the first quarter include intuitive frontend interfaces for command applications, character and command management, competitions, and gaming activity.

Evolving Core Systems

Before the last Fleet Action, the Engineering Office introduced support for timed competitions, but this was only the beginning. In collaboration with the Senior Staff, we’ve reviewed the core systems that support the fleet, and we have big plans for evolving many of these systems. While we’re not prepared to share all of the specifics today, I will give a sneak peak of a few that we’ve got queued up for the first half of the new year:

  1. The writing system will be updated to better support the ways members are collaborating on their stories, including guest writing, cross-command stories, and sub-manifests on commands.
  2. The squadron system will become natively supported within the system to streamline the writing and reading experience for squadron-based stories and to better represent the concept of the squadron itself.
  3. The competition system will be updated to natively support several common competition types, such as ribbon races and competitions where the submission is a specific story, biography or image.

We have big plans in motion too for a few completely new systems that will expand the Bravo Fleet experience, but more to come on those at a later date.

Improving Workflows

As we look further into the future, we are also reviewing the workflows that support our activities. We will be streamlining many of these, as well as adding additional automation where appropriate. Much of this work will be invisible day-to-day, except in how it empowers our departments to process nominations, promotions and academy participation, but two places where it will be distinctly visible will be through a completely overhauled join process and in deeper links between your BFMS account and other services like Discord, the wiki and the Academy.

Performance, Scalability and Sustainability

Except when things go wrong, something that goes almost completely unseen is the work on the infrastructure itself, but it is nonetheless essential to ensure our services remain reliable and performant. On a near-weekly basis, the Engineering Office tunes firewalls, reviews logs and optimizes queries to keep things stable, but going into the new year, we’re going to be taking an even bigger swing at our infrastructure to drive our future ambitions. Central to this will be the implementation of an industry-grade release pipeline that will allow us to develop and deploy at a higher velocity and with greater quality assurance, and we’re also introducing new monitoring, logging and alerting infrastructure so that we have better observability into system health.

BFMS v2.9 Patch Notes

BFMS v2.9 was rolled out following the conclusion of the We Are The Borg Fleet Action, and it is now fully live as of December 16, 2023. This release includes a number of quality-of-life improvements to competitions, writing, and general member functions, and it also addresses several display bugs and one particularly frustrating bug with comments.

In addition to the visible changes, BFMS v2.9 also included a number of backend optimizations, both as it relates to continued stability and performance of the system, as well as to support our plans for more significant development of BFMS going forward.

Awards & Competitions

  1. Challenge coins now show the quantity earned on a member’s profile.
  2. Indicators have been added to the dashboard, the competitions list and the competition page itself to show which competitions a member has already entered. This should make it easier to know what competitions are still waiting for you.
  3. The button for “Enter Competition” now opens the competition submission page with the competition already auto-selected.
  4. For timed competitions, a member’s own personal result is now shown in the entry list if the member has entered the competition.
  5. A display bug with the “Enter Competition” button was fixed where it will no longer show in certain situations where it was previously showing erroneously.

Writing & Commands

  1. Characters can now be selected from the Writing Panel while on iOS, Android and other mobile browsers.
  2. If a member’s login expires while they are writing a comment, the comment will no longer be attached to the story with the wrong member attached to it.
  3. If a comment was previously attached with the wrong member showing as attached to it, it will now show “Unknown Author” instead of the wrong member’s profile.
  4. A new nickname field was added for characters that will now show on a character’s bio when it has been filled out.
  5. Double quotes are no longer allowed in character display names or full names due to impact to Discord bot. Members should use the new character nickname field instead in these cases.
  6. The “Learn More” link for commands now appropriately generates links to the wiki when a registry does not have a prefix, and in situations when it has a suffix.
  7. Character image uploads that are not used as a character’s profile photo or gallery have been pruned from the system. Members wishing to upload images for other uses, such as embedding in a profile’s biography, should upload to an external host instead.

Miscellaneous

  1. Letters of reprimand are now shown on member profiles as a link to the associated verdict.
  2. A display bug was fixed for user profiles when a member has not yet been assigned to a task group.
  3. All lingering references to the Magistrate and Magistrate Code were replaced with appropriate references to the JAG and the Judicial Code.
  4. The rarely-used Service Request feature has been removed. Members should instead reach out to the relevant office via email or Discord.
  5. Task force staff and OCS have received significant enhancements to the tools they use to track member activity.
  6. Left-side images on the homepage no longer incorrectly clip in Firefox.

Backend Infrastructure

  1. Multiple optimizations to storage were made, resulting in a reduction in disk usage for uploads by over 60%.
  2. Significant changes to site metadata and firewalls were made to reduce the volume of non-useful bot traffic impacting the website.

With BFMS v2.9 now out the door, the Engineering Office will be spending some time behind the scenes setting up additional infrastructure capabilities, including enhanced monitoring, a log analytics system, and a true release pipeline, and then we will be kicking off development in earnest of the significant improvements and new systems that will make up BFMS v3.0 and beyond.