First off, I want to say that I too would very much like to see a Custom Date Field, likely for many of the same reasons everyone else would. In response to comments like “it’s such a simple thing to do, why doesn’t Asana just do it?!”, I found the post from Asana below to be helpful to understand more about what needs to be accounted for in adding this feature…
while the data model for booleans and dates is simple in concept, the engineering and design work required to implement them in the web product is enormous. Custom fields are deeply ingrained in the product, and everywhere you see custom fields would need to be updated to support the new data types, which raises questions such as:
- What new database indexes do we need to create to support efficient queries for all the sorting and filtering users want?
- What changes do we need to make to our search indexing to support these new field types for the advanced search?
- Do we support date ranges, or do we make users have two separate date custom fields to describe ranges? If we support date ranges, do we need to support sorting by start date? Can a date range have the same start and end date, or will we require that they match tasks which must have a start date strictly earlier than the due date?
- Do we use drop-downs or check boxes to represent booleans? Checkboxes feel natural, but then there can be no “blank” value (only true and false, unlike existing enum fields that can have a “blank” value). If we use checkboxes and they don’t take up as much horizontal space when showing custom fields on tasks in the list view, do we change the limit of how many custom fields can be shown in the grid?
- What is “ascending” for boolean values? True first, or false first? If we allow “blank” values do they always come last regardless of sort order, or do we hide them? How do we describe this behavior to users concisely in a menu? Do we think flipping the sort order is a requirement for users? What would people most commonly use booleans for, and which sort order should be the default?
- Now that projects in portfolios can have custom fields, how do those views interact with the new field types?
The product teams here at Asana know how important custom fields are for our users, and want to be absolutely sure that we can provide a high-quality experience when new field types launch. We’re really excited to provide these new types to our users and we know how impactful they’ll be, which is why we want to get them right. I hope this helps clarify why we’ve had to delay them!