Allow users to design a
completely
customized task view.
The default task view "form" should be saved per task type and allow for overriding at the list level.
Completely customizable
- as an extreme example - a user should be able to set up a task view to only see a single checkbox custom field with no task name, no description, no other intrinsic or custom fields or relationships shown.
The only feature of the task view form that should be required is a border with a close button.
Stop assuming that the Status, Task Name, Description, Priority, or Due Date will even be present in the task view at all and let the user decide the grouping and sorting of all fields.
Don't assume that because you have to do more processing to handle relationships the user expects them to be in a separate presentation from custom fields. The user should be able to pull in any property of the linked task as the value of the field, or a calculated or rollup value.
The table of subtasks should be available as an option to insert at any point in the form. It should have customizable rollup columns. Or the user should be able to have a simple count of subtasks or calculated/rollup displayed if that's all they want for the use case.