Running at 45

A group of older men running in the park

Started running

I started running when I was forty-two and for the first couple of years I was very much off and on, I managed to run 200km in 2020 and the same again in 2021. In 2022, I decided to take my running more seriously and let’s just say, 2022 was quite different to the previous two years. I ran 1285km.

Progress

So, what does running progress look like at 45? Well, slow and steady. I imagine this is true regardless of your age but as I can’t go back in time, all I can tell you about is what I know.

The Numbers

Below I’ve detailed some of the numbers so you can see my progress and how things have changed.

MetricJan 2022Dec 2022
Average pace across all runs6:15 / km5:19 / km
Average cadence across all runs158 spm168 spm
Average stride length1.05 m1.13 m
VO2 Max4550
Weight85 kg79 kg
Running progress at 45

Disappointed?

I’d like to have gotten faster this year but that wasn’t ever going to happen. One of the most crucial factors for improving your running is sleep. With a 3-year-old who still refuses to sleep through the night, our own sleep has been poor for a while. We appear to be turning a corner, but we aren’t too hopeful just yet. Our other son started sleeping more consistently around the same age so who knows?

Where next?

I haven’t been working on speed, my goal for a while has been distance. I’m aiming to complete one or two ultramarathons this year. Later in the year with the ultramarathons under my belt, I will move to more speed work. In the short term I’d love to get my 5k down to 21mins and my 10km down to 46mins. These times aren’t outrageous, they are both times that my watch thinks I could achieve given the right conditions. I have a stretch goal for under 20mins, that may be pushing it, we will see.

My development plan

Man starting a development process which ideally is back up by a development plan

In this blog post I discuss my development plan for Budget and Budget Pro. I also point out the pros and cons for each option I could take.

Why two individual apps?

From the start I always planned on their being two versions of our Budgeting App, Budget and Budget Pro. The relevant questions are: How will be achieved? What development plan makes the most sense?

A little background first

Budget is a free and open-source budgeting App powered by the Costs to Expect API. Budget Pro is the commercial offering aimed at users with more complex budgeting requirements and later, Businesses.

Now, The Options

There are three ways to end up with two related Apps.

  1. Start with the simpler App, duplicate, and add features.
  2. Start with the more complex App, duplicate, and remove features
  3. Build two independent apps

There are pros and cons for each option. A major pro for the first two options is they share a code base. This can also be a negative from a security point of view. We aren’t discussing that in this blog post.

Why not duplicate and add features?

My major problem with developing this way is the assumption you are only adding features. If you simpler and more complex version are only different due to a couple of features, this can work. However, when those features become architectural, the flaws to this approach soon become apparent.

Budget is a single user App and there is only one budget. Whereas in Budget Pro, there can be multiple budgets and budgets can be shared among users. These are core architectural differences. I could hack the budget service and add a wrapper for sharing, multi-currency, and multiple budgets but everything quickly starts to breakdown.

Why not duplicate and remove features?

This option is cheap, the simpler version of the App is clearly the ‘real’ version with code removed, it doesn’t sit well with me and is not something I would ever be comfortable doing.

Why two Apps?

As discussed above, the architecture for Budget and Budget Pro is different. Budget Pro will be multiuser, support multiple currencies and support multiple budgets in addition to many other features.

The budget “service” in Budget works well but it was designed knowing the requirements. At the time of writing Budget, we were still deciding what Budget Pro would include. We can add features to the “service” but I tend to find that adding features after often results in your well-designed service starting to feel a little hacky.

When you add on that one App is open source and the other won’t be, it starts to become obvious which development plan makes more sense, especially when you discount the first two :).

Any Benefits?

So, are there any benefits to writing two Apps rather than one? Well, yes, yes there are, I’m glad you asked.

There are three major benefits, speed of release, improved architecture, and the ability to learn from mistakes.

Speed of release

The simpler App will be the quickest to build, as such you can get something to market sooner. Yes, this benefit is shared with Option 1. You are always going to end up with architecture issues and feel the urge to strip out the code for the simpler App when the more complex version has been written and had the architecture fixed.

Improved Architecture

Each App will have been designed knowing what it needs to do. In theory, you will end up with the best architecture for each App. This is not a given of course, none of us are perfect but you are much more likely to get there following the development plan I am for Budget and Budget Pro.

Learn from mistakes

This is a newly discovered benefit, not something I originally considered. During the beta of Budget, we learned a lot from our first users, building two Apps means we can make use of those learnings and ideally not have to deal with them the second time and more importantly, release a much higher quality App.

Any Negatives?

So, what are the negatives, well, for one, there are two distinct code bases and two, the time required – it will take longer to write two independent Apps than building one and a half*.

Two code bases

It will always be harder to maintain two code bases, rather than one code base and a few extra features. There is no way around that point, however, it is a negative I am comfortable with as it allows me to try different things. Budget uses Bootstrap, Budget pro uses Tailwind, I would have been less likely to try Tailwind if the two Apps shared a code base.

Is the development plan working?

I think so yes, I’m still early in the development of Budget Pro but I’m enjoying the freedom. When I’m working on Budget Pro, I don’t need to worry about any of the baggage in Budget (it will get its own) and am free to design my new systems. I don’t have to worry about adapting or changing how something works and the unintended issues that come with that.

I’ll be able to give a more complete answer when I release the beta of Budget Pro. However, I’ve enough experience to know that I’m making the right choice.

* There is a possibility that this is not entirely true, if you opted for Option2, it is possible you will take so long to build the fully featured version you never get to release and therefore never get to the cut down version.