September 2024 Update

September 2024 Update

Alex Dumouchelle

September, 08 2024

Update Video


What’s changed?

OpenMarch development is gaining momentum! Many things that were designed with a short-term result in mind are now being refactored to support easy addition. This will allow for easier testing, faster development, and quicker onboarding for future contributors (please).

Also, there was a weird bug where OpenMarch took 3-4 seconds to do ANYTHING (loading marchers, changing pages, etc). I couldn’t seem to figure out why this was happening, but it only affected my Macbook’s main account. Making a new account fixed it. Must have been some software I installed that messed with it.

We’re now going full throttle to get this ready for the 2025 marching season!

Goals accomplished this month

I said that I was hoping for OpenMarch to be much more mature by August. Even though it’s past August (whoops) a lot of work has gotten done! Everything I implement now has an informed “long term maintainability” approach. Code is reusable, I’m writing tests as I go, and I’m waaayy more familiar with all of the underlying software OpenMarch runs on (React, Electron, Fabric.js). Here’s a few things I’ve finished:

  • Switched from Jest to Vitest
    • This was probably not necessary, but the tests are faster!
  • Got an Apple code signing certificate, so MacOS doesn’t think OpenMarch is a virus!
    • Also (kind of) figured out how to let a user launch OpenMarch from a file in finder

I now have a plan and vision for exactly how I’m going to make OpenMarch more stable and usable. Development of this is more test-driven, which I have been saying for months, but I’ve really gotten into a flow of how I want my vanilla Typescript classes to interact with my React components.

These are the things I’m working on right now:

  • “Draw and distribute” marchers in a line
    • ~60% done with this
    • Once I finish this, adding curves, squares, and other shapes should be much quicker
  • Refactoring the database operations into separate generic classes
    • ~30% done with this
    • This is what’s going to inspire confidence in stability and allow me to add new objects quicker
    • Using the simple principles of reusability, I don’t need to write nearly as many tests
  • High school football field
    • This is actually already done, I just need a UI to let the user switch

As an aside, I’ve been getting into the habit of going to bed sooner and waking up early to work on OpenMarch. I used to work on this only at nights, but allows me to make certain that I find the time for it every day.

Plans for October

Hopefully I’ll have some full-fat features I can share. I don’t want to rush things, but here’s what I want done:

Must haves -

  • Refactor the electron database code
    • This will come with testing and easier implementation
  • Draw and distributing lines of marchers

Nice to haves -

  • Adding measures manually
  • “Snap to grid” mode where marchers can only move by whole step

Remember, you can always check the GitHub project to see what current issues are in the queue.