#Evolution-of-Todo.taskpaper: - Two main goals - Organize todo items (automatically sort by priority, archive "@done" items) - Organize notes (often attached to todo items) - Special type of note: bookmarks (johns-async-react-p….glitch.me) - Major versions - Paper todo files dropbox.com/⋯/Sample-Todos.pdf?… - Todo.xls - Todo.html github.com/Leftium/todo.html - Todo.taskpaper github.com/⋯/todo.taskpaper #Current-concept: nvAlt/simplenote.com + TaskPaper + α: - Overall UI based on Notational Velocity/nvAlt/app.simplenote.com - Major components: [search/input] + [master list] + [detail view] - Taskpaper lives mainly in detail view - Note: classic TP UI also possible; "views" allow flexible config - My new features - Deep tags ("deep attributes?" Values based on child items) - Examples: #due (see example below), #priority, #sum, #max, #min, #count - Calculated by recursively calling someScript(defaultValue, item, childItems[]) - Views (single TP document can have multiple views rendered) - Possible views: focus, tags, calendar, bookmarks, todo, "classic" text - Meta tags (for internal use; normally hidden; generated automatically) - Examples: $isFolded, $created(2019-08-06), $lastEdit(2019-08-06), $id(123) - Major influences/features - Combined search + input @nvAlt @SimpleNote - Master/detail view @nvAlt @SimpleNote - Cloud-based collaborative editing @SimpleNote - Projects, tasks, notes hierarchy @TP - Tags @TP - Focus, fold @TP - (Instant) filter @TP, @nvAlt, @SimpleNote - Other influences/ideas - Drafts iOS app - Arbitrary text notes, tags, and activity stream threadreaderapp.com/⋯/933241254938152961.… - pipedrive.com - Minimum viable project: - No GUI; just watch TP file & calc deep tags; then sort and save. #Detailed-example-of-the-#due-deep-tag: The #due deep tag is the "effective due" date for an item. If a child item's effective due date is closer, the parent's effective due date is "bumped up" because it contains a sub-task that needs attention sooner. The value for this deep tag is based on the value of child items' "#due," and "@done" tags. Normally the #due tag is not explicity specified; only shown below for reference. Numbers were used instead of full dates to simplify the this example. - Task A @due(9) #due(4) because child Task B has closer effective due date. - Task B @due(5) #due(4) because child Task C has closer due date. - Task C @due(4) #due(4) because #due gets value of @due when no child items. - Task D @due(3) @done #due(MAX_DATE) because task is done. - Task E @due(6) #due(6) because #due is ignored for child items that are done. - Task F @due(2) @done #due(MAX_DATE) #Other-Notes: #Some-of-my-real-use-cases: - Sales pipeline (Possibilities->Collect Info->Touch->Offer Demo->Remind of Demo->Do Demo->Follow up->Won->Lost) - Notes/links to (JIRA) tickets - Notes while on phone support, often need to follow up - While doing taxes, added FBAR task #Two-notable-features-missing-from-TaskPaper-MacOS: - URL scheme (bookmarklet to scrape JIRA ticket info from HTML and import as new project) - Sort projects/tasks (by attribute, last mod date) #Two-annoyances-in-nvAlt: - Difficult to change item's title. - Rich-text formatting gets in way.