
Show HN: Intention – DAG Todo App - DaveWM
https://about.i.ntention.app
======
DaveWM
Hey HN! I've just launched my latest side-project, Intention. Intention's an
app to help you achieve your goals. The idea is that you create a graph of
goals/tasks (intentions), with your high-level goals at the top and actionable
tasks at the bottom. That allows you to create a collection of actionable
tasks you can work on, and to visualise how they relate to your high-level
goals. Any feedback would be much appreciated!

~~~
Mattwmaster58
Not gonna lie, having an Android screenshot inside of an iPhone on the landing
a page really threw me off.

~~~
DaveWM
Haha sorry about that, I didn't think anyone would notice tbh ;). I'll update
it to an android phone.

------
andrey_utkin
The concept of viewing activities as DAG is going to be huge and ubiquitous, I
think.

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](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.

~~~
Jtsummers
> The concept of viewing activities as DAG is going to be huge and ubiquitous,
> I think.

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).

~~~
andrey_utkin
Very few human tools utilizing this concept are common to any degree.

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...](https://bugs.gentoo.org/showdependencytree.cgi?id=706426&hide_resolved=1)

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.

~~~
Jtsummers
It may not be common in the tools people here use, but it's common in the
tools used by major engineering organizations.

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_...](https://en.wikipedia.org/wiki/Program_evaluation_and_review_technique)

------
timwis
It’s always amazes me how few of the task management tools out there have the
concept of task dependencies (the core feature of this app). I use OmniFocus
but even there I had to setup a custom view.

Good luck with the app!

~~~
DaveWM
Same here, when I doing the initial research for Intention I found that a lot
of people had had the same idea, but nobody had implemented it.

~~~
dksidana
To me, task management can be represented as tree and thats what most popular
tools have it as well

~~~
andrey_utkin
Most of the time, but not always.

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.

------
lhdj
Looks really good!

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/](https://github.com/openquery-
io/taskgraph/)

[2] [https://github.com/uber/react-digraph](https://github.com/uber/react-
digraph)

[3] [https://www.openquery.io/](https://www.openquery.io/)

~~~
Phil-bitplex
I made something similar - GamePlan [1] (not open source though

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

[1] - [https://www.gameplan.global/](https://www.gameplan.global/)

~~~
DaveWM
Wow that's really cool, thanks for sharing

------
teekert
I love DAGs. I first came into contact with them through Snakemake [0].

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.

[0]
[https://github.com/snakemake/snakemake](https://github.com/snakemake/snakemake)

------
h0h0h0h0111
Love this! Had a similar idea a while ago but never executed on it - DAGs make
so much sense for goals/todos, but the existing todo apps make it sorta fiddly
to organise things in such a way. Will be sure to check this out

------
thanatropism
I've never used Todo graphs, but I've spent hours using Yed, a free (but not
Free if you're into that kind of thing) point-and-click graph editor with
various layout algorithms.

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.

------
JoshTriplett
Odd prompt when I try to sign up for an account in the web (i.ntention.app):
after filling in an email and password, I get a prompt "Intention is
requesting access to your dwmartin41 account."

~~~
DaveWM
I'm using Auth0 for the user login, and my domain on there is "dwmartin41".
That's a very odd message, but it's basically saying you're registering an
account on my domain. I'll see if there's a way to override the message with
something more sensible.

~~~
JoshTriplett
I understand where the message comes from, but it's an unusual message to get
when registering what seems like a "first-party" account. If it's your domain
and your app, they're in the same trust domain, so you could reasonably just
trust it automatically. (Google doesn't prompt when you log into YouTube using
your Google account, for instance.)

~~~
DaveWM
I've disabled the message now, it shouldn't show up any more

------
cormacrelf
What about when my tasks are cyclic?

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.

~~~
DaveWM
Haha, I did actually - the app just doesn't let you create cycles :). I don't
want to be held legally responsible if someone gets stuck in an infinite loop.

------
kelseydh
When I tried to log in to use this app on Safari I got stuck in a endless log
in loop.

~~~
DaveWM
Sorry about that, I am aware of the issue and I'll try to implement a
workaround asap. It's because Safari doesn't allow 3rd party cookies, which
Auth0 relies on, by default. You can fix it by allowing 3rd party cookies.

~~~
subaru_shoe
how about no. why would you design it that way?

~~~
DaveWM
It's not my design, it's Auth0's. I'm the only dev working on Intention, so I
have a limited amount of time to spend on things like user authentication,
which is why I rely on auth0 to handle it for me.

------
bdg
Really cool, it would be nice if I could add costs for each edge on the graph
too.

~~~
DaveWM
Good idea, I'd considered adding costs to the nodes but not to the edges. Do
you have a particular use case in mind? I'll have a think about it and maybe
add it to the roadmap, thanks!

~~~
juliend2
If the parent node shows the SUM of all its child's cost, you can better
visualize the cost.

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).

------
splitbrain
Signing in with Google fails in the app:

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.

~~~
DaveWM
I've looked into it, it appears to be because Google is blocking oauth
requests from webview apps. Sorry about that, I'd recommend either using the
web app ([https://i.ntention.app](https://i.ntention.app)) or using a
different provider to sign in.

~~~
mywacaday
When I use the web app I get the warning:

Intention is requesting access to your dwmartin41 account.

Doesn't inspire confidence in the amount of testing done.

~~~
DaveWM
I'm using auth0 to handle user login, and that's a message generated by their
service. I agree it is very confusing, I'll see if there's a way to override
it or disable it.

------
stewbrew
A DAG isn't a tree. It's acyclical wrt the direction of the edges. Since this
basically is an outliner, the name (or title of the submission) is misleading.

~~~
zeckalpha
I’m not seeing how DAGs are distinct from forests (sets of trees) or outlines.
They seem topologically equivalent.

~~~
swiley
Level n nodes can have arcs to level n-m nodes provided they aren’t ancestors.
In addition nodes can have multiple parents.

~~~
zeckalpha
So can trees. File systems do this all the time.

~~~
swiley
Most file systems aren’t trees, most are some more flexible graph. You can get
away thinking of them like trees as long as you’re not writing a correct
program. (see also: links, bind mounts)

Trees have a formal definition that precludes this, that’s why we call them
trees and not graphs.

------
layoutIfNeeded
"Get it on Google Play"

meanwhile the screenshot shows an iPhone 6

------
dalore
I use [https://zenkit.com/](https://zenkit.com/) to create a mind map and then
turn it into tasks.

------
AbuAssar
Do you plan for an ios release anytime soon?

~~~
DaveWM
I'm not sorry. The Android app is basically just a webview, and Apple's app
store policies forbid webview apps unfortunately. I just don't have the
expertise or time to write an IOS app, and even if I did it wouldn't be worth
it for me financially.

The good news is that the web app,
[https://i.ntention.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.

~~~
tudorizer
just curious, why even release it as an app if the web version is good enough?

~~~
DaveWM
The main reason is they're easier to market. I've tried to advertise web apps
before, and had very little success. People seem to much prefer mobile apps
over web apps, even if they have exactly the same functionality. At a guess,
I'd say it's because they're more familiar, and there's a sense of security in
downloading them from the app store.

------
rozap
The ads block buttons in the UI, on a pixel 3a. Is there a paid version
without ads?

~~~
DaveWM
Sorry about that, it should be fixed now. There isn't a paid version at the
moment, but there's a web app at
[https://i.ntention.app](https://i.ntention.app) . If you're on android, it
should ask you if you want to add it to your home screen - if you do, it
behaves very like an app.

------
foolinaround
this is really nice...

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.

~~~
DaveWM
That's a really good idea, I'll add it to the roadmap. If you have any
suggestions for specific templates, please send them over to me (my email's on
my profile).

------
godwhoa
I'm just looping in the auth flow when using Github to sign in.

~~~
DaveWM
I'm using Auth0 for the user login, and it relies on 3rd party cookies. Safari
and Brave block these by default, if you enable them it should let you log in.

------
data_ders
Does the DAG use k8 as an orchestrator? /s

