My Technical Plans and Aspirations for 2024

Hey, did you know that JasperFx Software is now able to offer formal support plans and consulting for Marten and Wolverine? Not only are we trying to make the “Critter Stack” tools be viable long term options for your shop, we’re also interested in hearing your opinions about the tools and how they should change. We’re also certainly open to help you succeed with your software development projects on a consulting basis whether you’re using any part of the Critter Stack or any other .NET server side tooling.

I’ve written posts like this in early January over the past several years laying out my grand hopes for my OSS work in the new year, and if you’re curious, you can check out my theoretical plans from 2021, 2022, and 2023. I’m always wrong of course, and there’s going to be a few things on my list this year that are repeats from the past couple years. I’m still going to claim my superpower as an OSS developer is having a much longer attention span than the average developer, but that cuts both ways.

But first…

My 2023 in Review

I had a huge year in 2023 by any possible measure. After 15 years of constant effort and a couple hurtful false starts along the way, I started a new company named JasperFx Software LLC as both a software development consultancy and to build a sustainable business model around the “Critter Stack” tools of Marten and Wolverine. Let me stop here and say how much I appreciate our early customers and I’m looking forward to expanding on those relationships in the New Year’s!

Technically speaking, I was most excited — and disappointed a little bit about how long it took — for the Wolverine 1.0 release this summer! That was especially gratifying for me because Wolverine took 5-6 years and a pretty substantial reboot and rename in 2022 to fully gestate into what it is now. Wolverine might not be exploding in download numbers (yet), but it’s attracted a great community of early users and we’ve collectively pushed Wolverine to 1.13 now with a ton of new features and usability improvements that weren’t on my radar a year ago at all.

Personally, my highlights were finally meeting my collaborator and friend Oskar Dudycz in real life at NDC Oslo — which supposed to have happened years earlier but a certain worldwide pandemic delayed that for a few years. I also enjoyed my trip to the KCDC conference last year, and turned that into a road trip with my older son to visit family along the way.

Oh, and this just the other day:

On to…

The Grand Plans for 2024!

My most important goal for 2024 is to reduce my personal stress level that’s been a fallout from spinning up the new company. Wish me luck on that one.

First, let’s start with what’s either heavily in flight, then the work JasperFx is doing for clients in January/February this year:

  • Marten 7.0 is moving along pretty well right now. The biggest chunk of work so far has been the completely revamped LINQ support that improves both the span of supported LINQ use cases and is able to generate much more efficient SQL for nested child collection searching. Besides adding a lot more polish overall, we’re making improvements to Marten’s performance by utilizing newer Npgsql features like data sources, finally building out a native “partial” update model that doesn’t depend on Javascript running in PostgreSQL, and revamping Marten’s retry functionality. And that doesn’t even address improvements to the event store functionality.
  • There’ll also be a Wolverine 2.0 early this year, but I think that will mostly be about integrating Wolverine with Marten 7.0 and probably dropping .NET 6 support.
  • A JasperFx customer has engaged us to build out functionality to be able to utilize and manage new tenant databases inside a “database per tenant” multi-tenancy strategy using both Marten and Wolverine without requiring any downtime.
  • For a different JasperFx customer, we’re finally building in the long planned ability to scale Marten’s event store features to “really big” workloads by being able to adaptively distribute projection work across the running nodes within a cluster instead of today’s “hot/cold” failover approach. That’s been on my list of goals for the New Year for several years running, but it finally happens early in 2024
  • As part of the previous bullet, we’re building in the ability to do zero downtime deployments of changes to event projections. As part of those plans, we’re also aiming for true blue/green deployment capabilities for Marten’s event sourcing feature set.
  • “First class subscriptions” from Marten’s event store through Wolverine’s messaging features

For the last two bullet points, that brings me to JasperFx’s plans for world domination (or at least enough revenue to keep growing).

I know some folks are annoyed at our potential push for an open core model, but using a paid model for advanced features. I understand that, but I think that that option will create a more sustainable environment for the open core model to continue. My personal dividing line is that any feature that is almost automatically going to require us to help users utilize or configure it, or leads to very large transaction throughput absolutely deserves to be paid for.

The details aren’t firmed up by any means, but the “Critter Stack” is moving to an Open-core model where the existing libraries continue under the MIT license while we also offer a new set of functionality for complex usages, advanced monitoring and management, and improved scalability. Tentatively, we’re shamelessly calling this the “CritterStackPro.” The first couple features are all related to the event sourcing scalability and deployment capabilities our largest customer has commissioned that I described up above. I’m very excited to see this all come to fruition after years of planning and discussions.

Beyond that, we’ve got some ideas and plenty of user feedback about what would be valuable for a potential management console for the “Critter Stack” tools.

Other Vaguely Thought Up Aspirations

  • Continue to push Marten & Wolverine to be the best possible technical platform for building event driven architectures
  • I can’t speak to any specifics yet (’cause I don’t know them anyway), but there will be some improved integration recipes for Marten/Wolverine with Hot Chocolate both via user request and through a JasperFx Software customer
  • Add more robust sample applications and tutorials for both Marten and Wolverine to our various websites
  • Oskar already has a new code name for our next “Critter Stack” tool. I’m not saying that will be Marten-like event sourcing support and first class Wolverine support using Sql Server, but I’m not “not saying” that’s what it would be either.
  • I’m still somewhat interested in an optimized serverless mode for both Marten and Wolverine to really leverage AOT compilation, but man, that’s going to take some effort
  • Somehow, some way, get or build out better infrastructure for the kind of automated integration testing we do with Marten and Wolverine

And that’s enough dreaming for now. I’m looking forward to seeing how the Critter Stack tools and our community continues to grow and progress in 2024. Happy New Year’s everyone!

3 thoughts on “My Technical Plans and Aspirations for 2024

  1. Congrats to all these nice achievements and best of luck for 2024! I wish you, Oskar and all the other guys involved in the Critter Stack a very successful and happy new year!
    Reading about your intention to add more robust sample applications and tutorials makes me smile and happy 🙂

  2. “Somehow, some way, get or build out better infrastructure for the kind of automated integration testing we do with Marten and Wolverine”

    If feel like this is not only a problem with the critter stack, but in eventual consistent systems overall. So maybe this could be a tool on its own with extensions specialized for Marten/Wolverine?

Leave a comment