Toward a roadmap for our API

Following on from the conversations in “Reactive Rails” we have a big strategic decision to make regarding our direction for the OFN API.

Without further ado - an interlude from Hamlet.

To dogfood, or not to dogfood

That is the question. Whether 'tis nobler in the mind to suffer an API as a side project. The slings and arrows of outrageous fortune of having the DFC, Or to take arms against a sea of troubled BE developers. And by opposing end them with business decisions.

Enough of that.

What has emerged from the Reactive Rails discussions are two potential OFN strategic directions:

Strategic Direction the First
OFN continues to dogfood its API. We take a FE framework like React that enforces a rigourous FE and BE split. We use the API to connect the app together and in turn begin to move in a direction of multiple servers and an ecosystem of applications, both build by us and not, that create the OFN community. We polish the JSON API for public use. The DFC is a plugin that consumes the JSON API.

Strategic Direction the Second
OFN ceases to consume its API between FE and BE. We use coupling framework between FE and BE like Reactive Rails. The JSON API becomes a side project. It is pretty clear that having two API side projects (JSON and DFC) is a bad idea so we move away from the JSON API and have our DFC implementation as our sole API. API work (bug fixes, endpoints, documentation etc )is prioritised alongside all the things.

Strategic direction the second is bold, and a big bet on ourselves. Personally I want to make sure we are all on board with the implications of this decision before we make it because it impacts our business strategy, our funding strategy, our delivery strategy… it is one of the biggest decisions we’ve made for a while.

Questions to Consider

  • What time implications does this have for usable OFN API endpoints?
  • What scaling implications does this have? How hard is it to move away from the monolith?
  • What are the budget implications? Ballpark investment required.
  • What are the business implications?

We have big decisions to make. Seems like we need a meeting for this.

1 Like