Communities

Writing
Writing
Codidact Meta
Codidact Meta
The Great Outdoors
The Great Outdoors
Photography & Video
Photography & Video
Scientific Speculation
Scientific Speculation
Cooking
Cooking
Electrical Engineering
Electrical Engineering
Judaism
Judaism
Languages & Linguistics
Languages & Linguistics
Software Development
Software Development
Mathematics
Mathematics
Christianity
Christianity
Code Golf
Code Golf
Music
Music
Physics
Physics
Linux Systems
Linux Systems
Power Users
Power Users
Tabletop RPGs
Tabletop RPGs

Dashboard
Notifications
Mark all as read
Blog

Welcome to Codidact Meta!

Codidact Meta is the meta-discussion site for the Codidact community network and the Codidact software. Whether you have bug reports or feature requests, support questions or rule discussions that touch the whole network – this is the site for you.

Codidact Technical Roadmap

+13
−0

Something we've been lacking on the Codidact project thus far is a clear development roadmap. Various people have goals in our heads, and some of our GitHub issues have priorities set, but that's not as helpful as it could be. Developers new to the platform don't know where to jump in, and unless you're also active on Discord, the community at large doesn't know what we're planning to tackle sooner versus later and how pieces fit together. We'd like to address that.

In this post I'll describe some recurring themes that we've seen and lay out a plan for upcoming work. On a volunteer project all plans are subject to change, but this is our best estimate for the main work for the next little while. Of course we'll continue to address bugs, and we reserve the right to add small things that are easy even if they're not on the roadmap. Think of this roadmap as a general outline, not a precise itinerary. You'll also notice the absence of any time values here; we have some groupings and some ordering, but we don't know who will have how much time when, so we're not including any dates. We'll extend this roadmap as we go; assume that finishing up a "leg" in this plan will include sketching out the next one to add to the end.

This roadmap focuses on the code that runs Codidact. We also have work to do in other areas, particularly (a) our communities and (b) some logistics with the non-profit foundation. We plan to talk more about those in future posts. Meanwhile, we've asked each community how we can better promote it, so if you have ideas, please head to the per-community metas and reply there.

Themes

In looking over Meta (including all the per-community Metas), our GitHub issues, and various notes collected in Discord or elsewhere, we've identified some general themes or groupings. We want to make progress in all of these areas in parallel. The broad themes we've seen are:

  • Comforts and pain points: things that are getting in your way or things that are harder than they need to be. Examples: improvements to threaded comments, last-activity indicators on posts, making suggested edits more visible so they don't languish.

  • Curator support: making it easier to tend the gardens of our communities. Examples: tag improvements, improvements to post history, better private messaging between moderators and community members.

  • Other gaps: things we all expect but that aren't there yet. Examples: close voting, network profile, tag synonyms.

  • Expansions: new features or major changes that would help our communities and distinguish Codidact. Examples: filters for the post list, preview from the post list ("quick look", so you don't have to navigate away), better handling of duplicates and related questions.

  • Infrastructure: not generally about the code itself but about performance, resilience, and administration. They're included on the roadmap because they require attention from some of the same people who would otherwise be working on platform code.

  • Community requests: some of these are about code (like community-specific features), and others are about processes (like improving how we do proposals). This is on our radar but not yet addressed in this roadmap. Look for more from our community lead in a future post.

We might have missed some themes, and if so we'll adjust as we go. Our roadmap is a flexible, living document.

Approach

When assembling a roadmap, we think it's important to consider the themes in parallel. It will take us a while to get where we want to go; that's expected. In each "leg" of the journey, we'll try to address some pain points and some gaps while we work on the (generally larger) expansions. Further, some of the expansions will need to be broken down into smaller pieces, which themselves become items on the roadmap.

In other words, we'll tackle larger goals that will really differentiate us when they're done, alongside addressing more immediate concerns that help our users and communities now. We don't want to get so mired in the here-and-now that we never get to the longer-term stuff, but we also don't want to only do the larger (probably more exciting) stuff, either. We'll start the longer-term stuff but also do nearer-term stuff.

The Next Few Legs

In each "leg" of our roadmap, we'll try to make progress in several areas. Because we are a small team, we will generally only work on one major (multi-leg) expansion at a time, though design exploration for one might start as implementation for another is finishing up. We've chosen filters for the post list as the next major feature to work on.

Assume that "stretch goals", where listed, carry over into the next leg as needed.

Leg 0: Upgrades and donation thanks

Leg 1 can start in parallel for people not on the critical path for leg 0.

Leg 1: Predefined filters, address frustrations

  • Filters: initial predefined filters and a UI for choosing one (including setting a default per category). Stretch goal: show the definition of the filter when selected. This last part is the basis of what will be user-editable/customizable filters in the next leg.

  • Curator support: show an indicator when there are pending edit suggestions. Stretch goal: for any category in that community, and unify the suggested-edits review page.

  • User support: ability to expand comment threads in-page.

  • Gaps: basic network profile.

Leg 2: Curation and moderation, user-defined filters

  • Filters: initial definition UI, save filter, add saved filters to selections indicating their community & category of origin. Design a fuller UI and identify any needed additions to search to support it.

  • Curator support: suggested edits for tags.

  • Gaps: finish "last activity" indicator revamp for posts list. (Can start earlier.)

  • User support: address any issues with in-page comment threads, allow changing thread title (with logged comment).

  • Curator support: mod messages that are not warnings. (Can start earlier.)

Leg 3: Robust filters, misc wrap-up, looking ahead

  • Filters: Complete initial feature. This is necessarily vague because we will learn more in the first two legs about what exactly is needed, but I'm imagining a configuration UI with several options (collapsed when not needed) that includes post properties (score, temporal, answer properties on questions) and tags but not yet "stuff about me" (like "questions I haven't answered").

  • User support: figure out how to show reactions in history. Maybe just: when there's an edit, indicate the counts for each reaction type that existed before the edit. We don't need full history, just a way for people to assess currency. (Can start earlier.)

  • User support: expansions to network profile TBD (we assume there will be requests after a basic one is live).

  • Curator support: two-way on-site mod messages. (Can start earlier.)

  • Curator support: for mods, show who deleted comments and when. Stretch goal: comment edit history (rarely needed, but when it is…). (Can start earlier.)

  • Preview from post list: design review and community discussion.

  • Closing and duplicates redux: research, review, discuss.

By the time we get to leg 3, we might have identified other features or major expansions that are more important than the ones listed there for initial exploration. We want to work on the things that most matter to our communities, in an order that makes sense for our developers. If something comes up, we'll of course adjust.

Next Steps

After adjusting our plans for feedback from the community, we've updated (or created) GitHub issues to track this work and created a GitHub project in the main repository to track those issues. You can use that project to track our progress.

If you are interested in working on one of these tasks, please let us know – we'll be happy to assign it to you and help you get set up with the dev environment if you aren't already. Thanks to the people who have already volunteered!

If you are interested in working on something else, that's ok too – there's plenty to do. If you see a GitHub issue that you really want to work on, whether it's on the roadmap or not, please comment on it and say so.

Why does this post require moderator attention?
You might want to add some details to your flag.

0 comment threads

This community is part of the Codidact network. We have other communities too — take a look!

You can also join us in chat!

Want to advertise this community? Use our templates!

Like what we're doing? Support us! Donate