AnyType - Implement a Task Manager with Object Types
In this article, I will talk about implementing a Task Manager in AnyType. Explore building a sophisticated system using object types, relations, and sets.
AnyType is a PKM tool with a highly flexible and powerful data model built around objects. With objects and their properties, you can model various existing workflows inside AnyType, making it an appealing tool for those who want an all-in-one tool.
One of the most common workflows in any productivity system revolves around task management. The ability to transfer tasks from our minds to a structured and persistent system is crucial.
In this article, I will demonstrate how to build an effective task management system in AnyType by leveraging powerful constructs such as object types, relations, and sets.
Defining the Object Type
The first step towards creating a task manager in AnyType is to define the object type for the "task" entity. In our case, we won't utilize the default Task object type but will instead create our own To-Do
object type.
When it comes to properties (also known as relations), you are free to choose the ones you prefer, but I will list a few that I consider important:
Description
: a relation of type text that can contain a description of your to-do.
Scheduled for
: a relation of type date that refers to the date on which you plan to execute the to-do.
Due date
: a relation of type date that refers to the date by which the task must be completed.
Subtasks
: a relation of type object that links to 0 or more other to-do objects.
While these relations provide a solid foundation, feel free to add your own. For instance, I organize my knowledge around areas and projects, linking a project/area to my to-do. If you are interested in how to organize your knowledge around areas and projects, I have an article on that topic.
A crucial point is to choose the correct types for the properties/relations, as these choices will impact the user experience when using that property.
Using Sets to Display Your Tasks
Having your To-Do
objects lying around without a place to see them is not very useful. Thanks to object types and their relations, AnyType has a lot of information to query your objects and display them in a wide variety of ways. AnyType achieves this through sets, which allow you to build different views of your objects by querying them.
For our task manager, I would suggest the following views:
Today: filters the tasks with the
Scheduled for
relation set to today’s date. This view is great to have an overview of your daily tasks.
With Subtasks: since, in my implementation, a task can have subtasks, it would be nice to have a view that shows you only the tasks that have subtasks. You can achieve this by creating a view in the set that filters only tasks that have the
Subtasks
relation with some data.
All: having a holistic picture of your uncompleted tasks is a feature that any basic task manager should have. This view has the objective of showing you all the tasks that you have to do.
Done: a logbook of your completed tasks can be surprisingly useful, especially when you want to reflect on your achievements or simply want to see the tasks that you mistakenly marked as done. With this view, you will filter all tasks that have been marked as done.
The views I mentioned can be customized in their style by choosing an appropriate layout like grid, kanban, list. It’s up to you to choose the right layout since it will impact the usefulness and readability of the view.
In addition to the layout, you can customize your views by adding sorting, displaying only a certain set of relations, and even grouping objects by a common property (available depending on the layout type you choose). You have a ton of options.
Leveraging the Graph View
Since AnyType has a data model that allows you to link objects to one another, either through direct links or object relations, you can slowly build a graph of knowledge that is deeply interlinked.
AnyType has a visual component that enables you to get a holistic picture of your graph. You can open it directly from an object or open the whole graph view from the toolbar at the bottom. Since our tasks are connected to one another via the Subtasks
relation, you are able to quickly see the hierarchy of tasks in the graph view.
You can also view the flow of your objects, which is the backlinks view of AnyType. This gives you a simpler view of the links that your object has with other objects.
It’s very powerful how through links and relations you can build an interconnected web of knowledge. And if you mix knowledge with tasks, you can get maximum context for each task that you define.
Additional Nice Touches
This article should serve as a foundation for building a basic task manager within AnyType. However, if you have a good understanding of the basic building blocks, you can create a much more sophisticated system.
For example, you can add additional relations that link together concepts existing in your knowledge base. You can star relations to make them easier to access in your objects and more.
Your creativity is your only limit, but remember not to over-engineer your system. No one wants more friction than is needed.
Conclusion
I hope this article was interesting to you. I have received feedback from readers that you all would like more workflows/tutorials on how to use tools rather than reviews. I will keep this in mind and try to focus the content in this direction! Keep the feedback coming.
If you found this article useful, a subscription to Productivus would be highly appreciated!