Show HN: Intention – DAG Todo App
about.i.ntention.app
about.i.ntention.app
Also, why call it DAG when it is a tree? It has a root and cannot have more than one path between nodes.
Each node can actually have multiple parents, so as I understand it they do form a DAG rather than a tree.
A DAG is a restriction on general graphs.
Also, do a "simple" example, and a "intricate" example, to show the range of possibilities. Let the user put their imagination in the middle.
Also-also, publish on F-Droid!
Directed acyclic graph - https://en.wikipedia.org/wiki/Directed_acyclic_graph
- i’d find more intuitive to have “the big prize” at the bottom, so i can work my way down by priority. Maybe an option?
- i should be able to delete the root node, which would scrap the entire hierarchy. Give us a big warning but have the feature.
- i should be able to edit nodes from the graph - even just by clicking an icon that sends me to the list-item view
- this approach is good for one-off tasks but doesn’t seem to fit recurring tasks. For example, if i want to lose weight, i have to meal-plan once every week. Either i keep adding the task manually (bleh) or i cannot deal with it here.
- maybe have a bit of song & dance when you tick off the root node.
- Is this in the list view or the graph view? I did originally have the list order reversed (i.e. root node at the bottom), but I found it very confusing. I could potentially add a setting to control the order.
- I've tried to avoid deleting nodes where possible. If you delete a parent node, its children will be automatically re-arranged rather than deleted. Could you re-name the root node instead of deleting it?
- Agreed, the graph view is very basic at the moment. I'm looking to make it much more powerful in future.
- I've intentionally ignored recurring tasks for now, because I want to get them right when I do implement them. I'm aware it'd be a nice feature, so I am looking to add it asap.
- Good idea
2 - yeah, I grasped that you can just rename it, but it's a bit annoying because I might also have to manually delete a bunch of nodes below.
This applies to any activities of humans, organizations and computer systems, and hybrids of those three. One of the most fascinating epiphanies I've had recently is exactly that the purposeful behavior of these three kinds of actors can be decomposed as DAG with a relationship meaning "contributes to fulfillment of a need".
So congrats on the launch to the author, and expect a lot of competition, including me :)
I am working on a FOSS tool storing TODO actions and activities in an SQL table, and enabling DAG relations between entries. https://github.com/andrey-utkin/taskdb/wiki
I have actually built my DAG (or, as I like to call it, a semilattice) going all the way up to fundamental categories of needs as described by Maslow.
Sorry that I have no live demo container or juicy screenshots yet, that will be in place in a week or two, please email me at (my HN username) at fastmail.com if you want an update when I publish the containerized demo system.
I do hope DAGs become more commonplace, I think a lot of areas (e.g. project management) could benefit from using them.
like, if i want to "feel better" and "lose weight", then "run a marathon" might contribute to both of those.
What extra usefulness you'd get from using cyclic graphs? I don't see the point yet.
> like, if i want to "feel better"
I don't see "feel better" in the example graphs anywhere.
> and "lose weight", then "run a marathon" might contribute to both of those.
This is up to a person setting the goals. And the goals themselves are just the means for satisfaction of fundamental needs (which I found very helpful to outline explicitly in my personal DAG).
For one person, it might be of high importance to lose weight, it will be their long-term concern and they will try different approaches, including running marathons.
For another person, weight might be fine for their life and needs, but running a marathon may be important for them, say, it was their New Year resolution. They may have identified that if they could lose just a few kilograms, their marathon performance and experience would be much better, so they want to do it. In this case weight loss is an activity contributing to the higher level goal.
A third person may indeed be after feeling good about their body, and both weight loss and running marathons would be activities of the same rank, contributing to the satisfaction of their desire to feel good about their body.
What do you mean "is going to be"? Activities as a DAG is how it's already done. This is how Work Breakdown Structures are generally constructed. Tools like MS Project can display them as Gantt charts or network diagrams or as an outline (where you can set the dependencies used to create the Gantt and network charts).
Github Issues doesn't have issue dependencies at all.
Salesforce "Action Plan" view is a plain list, no deps at all, as far as I have seen.
Todoist doesn't do dependencies.
Bugzilla does dependency graph, wow: https://bugs.gentoo.org/showdependencytree.cgi?id=706426&hid...
I guess JIRA supports deps, but I don't think it's the tool which people here would want to use to be able to decompose their big undertakings, especially personal ones.
TaskWarrior supports deps, but it's not a mainstream tool and deps were fairly hard to use in it AFAIR.
My point isn't that it's a bad idea, it's that it's not a novel idea. PERT is another way of graphically representing activity. If you aren't concerned with the time, it's your DAG.
[0] https://en.wikipedia.org/wiki/Program_evaluation_and_review_...
Good luck with the app!
It is somewhat typical for certain activities to "feed into" multiple high-level goals or needs. Trees can't express that, so you get into activity categorization problem. Trivial example: are you cycling your way to work because it contributes to your health, is fun or because it enables you to do your job duties? Obviously it's all of that. None of that matters until you try to introduce some "time budget" for different spheres of your life, and with the tree concept you realize that the results don't make much sense.
https://smos.cs-syd.eu/features.html
In general I think that tree/DAG based task managers will become a lot more popular as more people need to organise more tasks.
* Don't use project hierarchy
* Group and sort actions by: Project
* Filter by availability: Available
* Filter contexts: Remaining
I think the key one is to only show Available actions, since OmniFocus already supports dependencies for the most part (nesting actions).Also note all my projects are parallel, not sequential.
Here is an open-source version I made called TaskGraph [1], a fork from uber/react-digraph[2]. I made it for my startup [3] because I didn't really like Jira in the context of 3 people.
We have been using it for a couple of months and it works really well. Apologies in advance for the lack of documentation. If you have any questions by all means.
TaskGraph has:
- Task status (todo/in-progress/done)
- Task completion estimation (admittedly it assumes you can work perfectly in parallel which is a bit of a stretch.)
[1] https://github.com/openquery-io/taskgraph/
Then click on the node to modify it's attributes.
Shift click and drag to other nodes to create dependencies. The dependencies should auto-snap into place. The algorithm used for this works most of the time. Our current taskgraph at openquery has ~50 nodes and it works quite well.
I don't have cycle-checking so be careful or your browser tab will blow up.
It's a visual task/planning tool. Does estimates, task grouping, resources, a bunch of different constraints, critical paths, and lots of other stuff.
I'm in the process of adding costing to it, and its a lot of fun to use.
I use it for all my pre-planning of projects, just to get a feel of feasibility
Pretty soon after starting to use it (as a Next Generation Sequencing data analysis framework), I noticed that if a task that is not in some way linked to an end goal, that task does not get started/executed. It sort of blew my mind and I felt strongly that my projects, perhaps even my life should be run and build exactly like that.
I've found many times that the visual outcome of laying out my concept graphs in say, hierarchical or force-directed layouts. Mainly to show me that I was missing certain links. This is not formal concept analysis (which uses formal lattices), mind you, it's just using the visual realization of graphs as Gestalt.
I actually should be doing that a lot more...
---
That said, we should always be wary of the "A" in "DAG". That's a deep ontological assumption that restricts the universe we are able to think about. Sometimes, like in the Judea Pearl approach, this enables maths to get done. Sometimes we should just cope with cycles or resolve them at the appropriate time when enough information and wisdom is available.
1. can’t get up because haven’t eaten and too hungry
2. can’t cook because can’t get up
3. can’t eat because can’t cook
Didn’t think of that did ya buddy! Day 2 of quarantine is going very well.
And for the edge nodes, let's say I use the "cost" field to determine the cognitive cost for any given task, I can more easily see which sub-task (edge) to prioritize if I want to get into "the zone" more quickly in an "intention"/project (parent node).
403. That’s an error.
Error: disallowed_useragent
Google can’t sign you in safely inside this app. You can use Google sign-in by visiting this app’s website in a browser like Safari or Chrome.
Intention is requesting access to your dwmartin41 account.
Doesn't inspire confidence in the amount of testing done.
Trees have a formal definition that precludes this, that’s why we call them trees and not graphs.
meanwhile the screenshot shows an iPhone 6
The good news is that the web app, https://i.ntention.app, has all the same features of the Android app. If Apple ever properly support PWAs, it'll behave very similarly to an app.
Can a few pre-made templates be shared?
Folks can then then 'fork' it out github-style.
Eg, financial independence - it has a couple of sub-topics - like understand current state, identify goals, etc... and then finally an actionable set of tasks.