Month's end is good time for first update from the road to Misago 0.6 MVP release!
What's MVP?
With decision to change JS framework from Ember.js to Mithril.js, I've also decided to reconsider my approach to Misago 0.6's, looong overdue next major release of Misago, development.
Until now I was following "from roots" methodology where I was implementing features in order of how many dependencies on other features they have. Ergo a lot of features required ACL that didn't require anything else, so it was implemented first. Threads required users which required auth, so auth was implemented, then users lists (that required users but themselves were required by profiles) and finally profiles. In addition to this great deal of energy was spent on finalising feature before moving on to next one, meaning that user profile completion would mean completion of on-line tracking, following/ignoring and moderation tools for those profiles.
This approach has three big issues that hurt the project in the long run: It delays the time when MVP is achieved and thus delays the time when framework for contributors to work within is laid out and when initial feedback is available.
The new approach is to focus on delivering the MVP as soon as it is possible, with MVP implementing auth flow and basic discussions with stubs for features that discussions depend on. Once MVP is complete, preview board will be setup and updated frequently to be as close to master as possible, demoing state of the project and opening it for early feedback.
Next weeks
Plan for next weeks is delivering basic discussion board software providing necessary authentication flow and discussions features, with everything else either not present (like search, notifications, attachments, polls) or just stubbed (like user control panel and profiles). This software will be launched as 0.6.
Once that version is out, (hopefully with help from community) it'll be iterated upon, improving its stability and features, ocassionally bumping version number for PIP releases and eventually catching up to and overtaking 0.5's featureset.
Depending on demand, migration tool from 0.5 may be offered before feature parity is acequired, allowing people willing to trade features for actively developed codebase to make the jump ealry.
Here and now
I am happy to say that first of milestones towards Misago 0.6's MVP release - the framework - has been completed. With this groundwork for features has been laid and I'll be moving on to next goal which is authentication flow. I'm expecting this milestone to take longer while to get done, but once it's in, there'll be short interlude for stubs for user cp and users profiles, and then onto discussions!