Development Roadmap

Things that we're working on adding to the application.

Current Release: v0.2.13 on April 7, 2025 @ 4:00 AM

Next Release: v0.3.0-alpha.1

Error Messages

FEDS implements error handling at every stage of user interaction. The error messages, however, pose some issues:

  • Esoteric messages, not easily understood by users and developers alike

  • Developer-friendly, but not user-friendly, error messages

  • Error messages that do not clearly explain to the user what went wrong

  • Error messages that reveal underlying code issues

  • Error messages that expose the internal workings of the application

On the roadmap, with high priority. Security vulnerabilities will be patched by v0.4.0.

Task Editor Fixes

The task editor, a new feature, has some bugs that fail gracefully. This means that the tasks editor works, but doesn't always work correctly, but won't let you know. Some of these issues are:

  • If a subtask is created, then a parent task is created directly after, then the parent is task is created as a subtasks (with the same parent as the subtask)

  • Editing milestone weights not working

  • Viewing the milestone weight in the task editor doesn't work

  • Chats can be created, but viewing it, after sending, requires reloading the page

  • The "Chat" feature will be renamed to "Comments."

On the roadmap. The task editor will be patched by v0.3.0.

Document & Image Upload

File upload features are required by most project management software; this extends to FEDS. Currently, you cannot upload a file to the application. Soon, users will be able to upload documents and images in the following locations:

  1. Chat on Tasks (soon to be called "Comments")—Users will be able to upload images to the comments view for tasks. This helps users communicate using images or share large documents related to a specific task.

  2. Accounts: Users will be able to upload account-related or client-related documents.

  3. Projects: Users will be able to upload project-related documents.

  4. Locations: Users will be able to upload location-related documents.

  5. Tasks: Users will be able to upload task-related documents. This includes both template tasks, and project/location tasks.

Document/Image upload features will be implemented with the priority as listed above.

Document uploads will work through a self-hosted S3 instance, using MinIO. There is currently no roadmap for supporting third-party sources, such as Google Drive or OneDrive.

On the roadmap. This feature will be implemented by v2.0.0.

User Interface & Experience on Windows

The application is developed on macOS and UNIX-based machines. The user interface is optimized for macOS. Certain elements render differently between operating systems, harming the user experience on Windows.

On the roadmap. Since this is a platform-specific UI/UX issue, it will be included in v1.0.0.

Task Templates

FEDS is an application that streamlines workflows and processes. This is highlighted by the ability to create templates for projects and locations. However, reusability can be taken to a deeper level. Oftentimes a project or location may consist of many repeatable tasks.

Take the task "Replace Access Point 1." Say, you have 100 access points. The subtasks for each access point are the same. Task templates allows users to easily spawn the other 99 tasks, automatically replaces the 1 with 2, 3, etc.

This change implies that the TotalUnitsfield is no longer required for tasks.

On the roadmpa. Since this is a new feature, it will be implemented by v2.0.0.

Identity & Access Management

User access currently uses the Microsoft Identity Framework, which is not very useful for this kind of application. The generic names, Admin, Editor, Reviewer, ReadOnly, and None are not self-explanatory. This creates massive confusion for the users.

The FEDS Platform Administrator permission is still an option. These will be considered "super users." The user will be able to create roles and fine-grained permissions. Additionally, the default roles will be provided:

  • Admin: Can perform any action on the resource it is assigned to and any resources that belong to it.

  • Project Manager: Scoped to the project and location resource. Can perform any action on the project and its locations.

  • Field Engineer: Scoped to the project/location resource. Has full visibility into the project/location that they belong to. Cannot modify anything except for their task's status.

  • Client: A role with read-only privileges.

This change also includes covering the entire page with a "Not Authorized" placeholder rather than using a toast alert. This is a better practice (security and user-experience wise). This also prevents URL hijacking.

On the roadmap. Identity and access management will be revamped by v0.4.0. The feature may roll out during a v0.3.x pre-release.

When the user logs out of the application, the navigation bar is still in view. The profile dropdown menu does not automatically close. After logging out, the navigation menu must leave from view.

On the roadmap. This will be patched by v0.3.0.

Default Assigned User

When a project is created, the project manager field will be a dropdown. This will assign that user a "Project Manager" role on the project. The same applies to locations. By default, the project manager will be assigned to all tasks (optionally). This feature helps assign the responsibility to delegate to the project manager.

If the project manager is not known at time of creation, it will not be assigned. If project manager is known at start, then

On the roadmap. This feature will be implemented by v0.1.0.

Tasklist Improvements

Currently the task list uses "hours" for estimated duration. This only applies to the parent tasks. Subtasks do not benefit from this simplified form. This is a very minor issue and a very quick fix.

Milestone Improvements

Currently, milestones is a half-completed feature. The milestone indicators will now apply to subtasks as well. The milestone indicator is also going to be moved out from the task sequence number column, into its own space. The milestone weight will also appear in the task list itself, rather than in a separate panel.

The milestone weights will also update via the full task editor (but not from within the task list).

On the roadmap. This will be patched before v0.3.0.

Project Dashboard Improvements

When viewing the dashboard for a specific project, the locations dashboard will display the actual start/end time and the expected start/end time for each location. This is similar to the project's list in the account dashboard.

On the roadmap. This will be implemented by v1.0.0.

Work Loss Prevention

When making changes to something, such as a task, a project, a location, etc., if the user attempts to navigate away without saving their changes, they will be warned beforehand.

On the roadmap. This will be implemented by v2.0.0.

Positive Notifications

As milestones are completed, an email will be sent to the specified users.

As milestones are complete, a notification should appear within the application.

On the roadmap. This will be implemented by v1.0.0.

Template Reconstruction

When creating a project or location out of a template, a fatal error is caused. Inserting subtasks fails because the IDs of their parent tasks are reconciled after insertion. This was not an issue before since the database has loose constraints. Recently, tighter constraints have been implemented to enforce database integrity.

On the roadmap. This will be patched before.v0.3.0

Dashboard Improvements

A date-range filter will be added to the dashboard filters. These filters determine which charts are displayed on the dashboard and correctly aggregate the metrics for the charts. This also determines which tasks are displayed in the kanban board.

The dashboard charts and kanban board will also only include active projects and locations. Projects and locations that haven't started yet will have their own cards.

Then Kanban will also refresh itself and the charts when a task's status is updated.

The Kanban board on the dashboard is also not meant for fine-tuning tasks. The task editor, when opened from the Kanban board, will open a read-only view of the task editor. This will still allow users to add messages to the chat and an option to view it in the project/location view.

If a task is not started but the latest start date for the task has passed, the "Due Date" will appear in red. If the task is in progress, but the due date has passed, the due date will also appear in red.

A fix is also coming for the "Include Locations" filter being toggled, and the filter by locations feature.

On the roadmap. This will be implemented by v0.3.0 .

Removing Custom Fields

Custom fields do not have clearly defined use cases within the platform. Until the purpose of this can be determined, this feature is carefully being removed from the codebase.

Work in progress. This is being carefully removed as we revise the ocdebase.

Copying Tasks

Tasks can be created, read, updated, and deleted. However, there is no ability to copy a task within a template, project, or location. This will support task customization upon copying. For example, assigning the task to a new parent, changing the task type, title, duration, or due date will be allowed prior to applying the copy operation.

Copying tasks will also support copying a parent task along with its children (if applicable).

To copy a task, a user must have permission to read assignments that don't belong to them and write to tasks that don't belong to them.

On the roadmap. This will be implemented by v0.5.0.

Template Information Fixes

Currently, the estimated completion time for templates is not updating when new tasks are added. This is a known issue and will be addressed in a future release. This is not a high priority because the estimated duration of a template is purely informational and not used in any critical operations.

On the roadmap. This will be implemented by v0.5.0.

Refresh On Update

This is an issue that affects only certain parts of the application. When a resource is updated, the changes are not reflected in the UI after completion. This a systemic issue.

On the roadmap. This will be patched by v0.3.0.

Location Dashboard

The dashboard will display the correct start/end dates.

On the roadmap. This will be patched by v0.4.0.

Cascading Fields Values

Certain fields (address, country, timezone, etc.) will be moved to the accounts and project resources. Unless otherwise specified, these fields will be cascaded down to projects and locations.

On the roadmap. This will be patched by v1.0.0.


Bulk Operations

I will add the ability to apply operations in bulk to tasks in the task list.

Improved Settings UI

The settings UI is very incomplete. I will:

  • Fix the sidebar.

  • Make the sidebar links look like real buttons.

Users Filter Fix

Currently shows (None)which is confusing since "None" means tasks not assigned to anyone. Rename to "All Users".

More Dashboard Filters

  • Everything

    • Active

    • On Hold

    • Pending

  • Project

    • Active

    • On Hold

    • Pending

  • Location

    • Active

    • On Hold

    • Pending

Task Editor Layout Improvements

Should not be editable from the Kanban View. Remove the task name editor, task type editor, parent task editor.

Open Up Dashboard

Kanban should appear on the dashboard for engineers. The My Tasks view should be deprecated.

Adaptive Dashboard

When "Everything" is selected it should show a list view rather than kanban.

Kanban Fixes Based on Context

  • Remove project from kanban when showing only from single project

Minor UI Fixes

The "Modified By" section contains no space between the "by" and the author name.

On the roadmap. These fixes will be implemented by v1.0.0. These are low priority fixes since they do not affect functionality, but merely user experience.

Prevent Parent Task Completion Until Child Task Completed

Prevent a parent task from being marked as complete until all child tasks are complete.

Dashboard Reload On Update

The dashboard must update when the status of any task is updated.

Save Dashboard Filters

The dashboard filters should be saved across reloads.

Add Ability to Unlock Templates

A template can be deleted if no projects/locations reference it.

Remove Priority from Projects Locations

Priority should be replaced with the start/completion dates.

Last updated

Was this helpful?