Tinderbox User-to-User Forum (for formal tech support please email: info@eastgate.com)
http://www.eastgate.com/Tinderbox/forum//YaBB.cgi
Tinderbox Users >> Questions and Answers >> Autocomplete-style organization of projects/tasks
http://www.eastgate.com/Tinderbox/forum//YaBB.cgi?num=1463677722

Message started by Pat Maddox on May 19th, 2016, 1:08pm

Title: Autocomplete-style organization of projects/tasks
Post by Pat Maddox on May 19th, 2016, 1:08pm

I am liking Tinderbox more and more for organizing projects and todo lists, but there's one thing still bugging me... I find it relatively slow to move tasks to projects.

OmniFocus is amazing in this regard. I can go through its inbox, tab to the project field, and start typing. It autocompletes the list of projects for me, helping me choose and file the task in no time.

Now I realize that OmniFocus is built specifically for this sort of stuff, and Tinderbox isn't. But I'm wondering if any Tinderbox users have attempted this before... quickly filing stuff via some sort of auto-complete similar to OmniFocus.

Title: Re: Autocomplete-style organization of projects/tasks
Post by Mark Anderson on May 19th, 2016, 1:30pm

Tinderbox has very efficient fast autocomplete for String- and Number-type fields shown as Key Attributes. What action are you carrying out that you're assuming should result in a list of fields.

Do bear in mind Tinderbox is not a specific task management app, unlike seems to be the case of OmniFocus (which I've not seen or used). You can use it just for to-do lists but you'll need to do a bit of set-up first. If you can describe the process, likely fellow users here can help you configure your TBX accordingly.

edit: typos.

Title: Re: Autocomplete-style organization of projects/tasks
Post by Pat Maddox on May 19th, 2016, 10:51pm

I want to be able to file tasks into projects by typing the project name. Below you'll find an animated gif showing the autocomplete in OmniFocus. When I click on the clean up button, the task gets moved from the inbox and filed to the "Chores" project folder (we can ignore the Errands context part, because I don't care about that).



I imagine the Tinderbox workflow might look something like this:

* two prototypes, p_project and p_task
* custom ProjectName attribute (string type)
* p_project prototype has a rule to set ProjectName=Name for autocomplete purposes
* set the ProjectName in a note inheriting from p_task via the string autocomplete / dropdown
* use a stamp or agent to file the note to a project matching the ProjectName
* when a project is completed / dropped, remove the ProjectName from the project note and any of its related tasks so the project name no longer shows up in the autocomplete list

I think that could work. I was wondering if someone might have already tackled this sort of thing.

Title: Re: Autocomplete-style organization of projects/tasks
Post by Pat Maddox on May 19th, 2016, 11:41pm

Okay I made a little example tinderbox for the process I outlined above.

It works even better than I expected – it lets me automatically create projects on the fly just by typing in a previously unrecognized ProjectName!

And perhaps the most fun part of the whole thing was documenting it in Tinderbox itself. Pretty neat :)

edit: Fixed the mistakes that Mark A points out below

Title: Re: Autocomplete-style organization of projects/tasks
Post by Mark Anderson on May 20th, 2016, 3:44am

Thanks for sharing your example file. On trying it I found new projects were getting created and moved straight to 'Finished projects'. The cause of the problem was the evaluation of $ProjectDoneAt in the query of 'agent File finished projects'. A Date-type is never 'empty' as that data type has an uninitialised value of 'never. The edit (in blue) made things work correctly.

inside("/Projects") & $Prototype == "p_project" & $ProjectDoneAt != "never"

It's worth noting for other readers that the agent cycle runs agents in outline order, so the order in which to place agents can affect whether a task completes fully in one cycle or takes more than one. In a small, fast, file the different is moot but worth considering for long term projects that will grow.

you can actually get rid of the last agent by making this the action of the 'agent File finished projects' - new code in blue:

$Container(original) = "/Finished projects/";
$ProjectName(children(original)) =;


Notice in the new code I've used =; instead of ="". The latter sets a local value of an empty string, the former return the value to an inherited/uninitialised state. More on 'resetting' attributes here.

Lastly, something worth considering further is recurring projects.  If 'clean windows' is a 'Chores' project task, when the project is marked as complete it is moved. The new set of 'Chores' the next day/week/whatever, follows the same path. The completed projects container will have multiple same-named 'Chores' containers, one for each completion cycle.  That may be desired - I'm not to familiar with the whole GTD type productivity, so may be misunderstanding.

Thanks again for sharing your file.  :)

Title: Re: Autocomplete-style organization of projects/tasks
Post by Mark Bernstein on May 20th, 2016, 11:56am

Have you thought about using the Attribute Browser to look at your projects?  

If you have a set attribute $Project whose values might include "Chores", "Errands", "Urgent", "Home Repairs", and "Campaigning", then an attribute browser could show all the errands when you're out, or all the repairs when you're home.

Title: Re: Autocomplete-style organization of projects/tasks
Post by Mark Anderson on May 20th, 2016, 2:12pm

Also possibly of use: Pre-populating key attribute pop-up lists

Title: Re: Autocomplete-style organization of projects/tasks
Post by Pat Maddox on May 20th, 2016, 9:21pm


Quote:
Mark Anderson: I found new projects were getting created and moved straight to 'Finished projects'. The cause of the problem was the evaluation of $ProjectDoneAt in the query of 'agent File finished projects'. A Date-type is never 'empty' as that data type has an uninitialised value of 'never.


Thanks for catching that!


Quote:
Notice in the new code I've used =; instead of ="". The latter sets a local value of an empty string, the former return the value to an inherited/uninitialised state.


Yay I didn't know how to reset to an inherited attribute. Now I do!


Quote:
you can actually get rid of the last agent by making this the action of the 'agent File finished projects' - new code in blue:

$Container(original) = "/Finished projects/";
$ProjectName(children(original)) =;


This is very cool. I didn't expect something like that to work, but now that I look at it I see why it would. I created another version of this tinderbox that manages the workflow entirely via stamps – no agents or rules involved at all.


Quote:
Lastly, something worth considering further is recurring projects.  If 'clean windows' is a 'Chores' project task, when the project is marked as complete it is moved. The new set of 'Chores' the next day/week/whatever, follows the same path. The completed projects container will have multiple same-named 'Chores' containers, one for each completion cycle.  That may be desired - I'm not to familiar with the whole GTD type productivity, so may be misunderstanding.


Yeah I don't adhere strictly to GTD at all... which is part of the reason I want to move away from OmniFocus. It is REALLY nice software (some of the best Mac software I've ever used) but there are certain tweaks I want to make to my process that it doesn't support very easily. Plus its note-taking abilities are nothing compared to Tinderbox – though to be fair, I don't think ANY other software compares to TB in that sense.

Anyway... recurring tasks are an interesting case. There are three kinds of recurring tasks I've identified:

* ones that occur (nearly) every day – think morning routine, or daily responsibilities
* ones that occur on specific day(s) – taking out the trash
* ones that I want to become available at certain intervals

The first one I handle with a prototype. I have a "p_daily_todo" prototype which represents a TODO list for that day, and includes all of the tasks that I would ordinarily work on in a single day. These get bequeathed every time I make a new note inheriting from that prototype. Super useful.

I actually haven't done the second one yet, but it'll be similar. I'll add a "TODAY" note to my p_daily_todo prototype. Then when I make a new todo list for that day, I'll choose a "p_todo_tuesday" prototype to pull in the tasks for Tuesday. Move those tasks into the main todo list and delete that placeholder...

The third is pretty interesting. In that case, I think that I'll have an agent which looks to see if a $TaskDoneAt is beyond a $RecurringInterval and if so remove the $TaskDoneAt or something.

I'm already getting a lot of mileage from my basic todo list stuff, so adding project notions will be a big step up. Recurring stuff can be down the road...


Quote:
Mark Bernstein: Have you thought about using the Attribute Browser to look at your projects?  

If you have a set attribute $Project whose values might include "Chores", "Errands", "Urgent", "Home Repairs", and "Campaigning", then an attribute browser could show all the errands when you're out, or all the repairs when you're home.


I had not! I actually had not ever used attribute browser before. But it looks pretty nifty. It actually does exactly what I want in this case. A GTD concept that I use regularly is Contexts – so I'd have stuff like "Phone", "Office", "Home" etc... with this, I can set a query to find the notes that I want, and group by context or project depending on how I want to look at it.

What would be really amazing would be to save a specific "view" like this. So I can easily switch between views of the tasks organized by project and by context, or have multiple queries.


Quote:
Mark Anderson: Also possibly of use: Pre-populating key attribute pop-up lists


Yep that works really nicely with contexts, which I want to be available even if there are not pending tasks matching that context. The projects list on the other hand should change as I complete them.

Thanks for the input, guys! I learned a lot here, and have some new ideas to make it even better. Glad I posted :)

Title: Re: Autocomplete-style organization of projects/tasks
Post by J Fallows on May 21st, 2016, 11:07am


Quote:
Have you thought about using the Attribute Browser to look at your projects?  


I use TB for my GTD-relates chores (among other things I use it for). I think several of the tips mentioned by Mark A and Mark B here, along with what you've discovered, work very well. Notably:
  • The Attribute Browser, which is a very quick and efficient way of seeing things in different Contexts, or assigned to different Projects, or with different deadlines or "due" or "finished" statuses, or in any other grouping you'd like. The more you use this, the more I think you'll find it suitable and configurable to what you're trying to achieve.
  • The pre-populated list, mentioned by Mark A, is something I'd only come across recently. It's also very convenient for the kind of on-the-fly assignment you want to produce.
  • The look-up table, described here http://www.acrobatfaq.com/atbref6/index/ActionsRules/Look-uptables.html, can also be very convenient for the relevant tasks.


Title: Re: Autocomplete-style organization of projects/tasks
Post by Mark Bernstein on May 21st, 2016, 1:21pm

You can easily save a specific attribute browser view as its own tab!

Title: Re: Autocomplete-style organization of projects/tasks
Post by Pat Maddox on May 21st, 2016, 1:56pm


Quote:
You can easily save a specific attribute browser view as its own tab!


I was hoping to save a configuration of the attribute browser so that I can close tabs. It would be a lot easier to open a new tab and select a configuration, than have to re-create it after every time I close the tab.

Title: Re: Autocomplete-style organization of projects/tasks
Post by J Fallows on May 21st, 2016, 4:01pm


Quote:
I was hoping to save a configuration of the attribute browser so that I can close tabs. It would be a lot easier to open a new tab and select a configuration, than have to re-create it after every time I close the tab.
Back to top      


The way I deal with this is:
  • Both for GTD purposes and for article-research files, I usually create two or three separate windows for the file. There was a time, many betas ago, when the layout of multi-window files was fragile, and after a crash you'd end up with only one window left. It's much more robust now, and I haven't had that problem in a long time. Still, it's worth saving a backup of the file when you have a multi-window layout you're happy with. Then if your windows ever disappear, you can recreate them by splicing in the XML. (Separate topic, details if needed).
  • I usually devote one of these windows to a whole set of Attribute Browser tabs. If it's a GTD file, one of the tabs will be by Content; one by Due Date (or Done status); one by Project Name; etc. For a research file, one tab might be AttribBr organized by Source; one by Theme; one by fact-checking status; one by something else. The window that I devote to these AttrBr tabs might have anywhere from three to eight tabs, depending how many ways I want to see the info.
  • My other windows are organized in whatever way I want.
  • These tabs do persist from session to session, so once you have set them up they'll be there.


The Attribute Browser was added to the program in Version 6 and, for me, is a gigantic step forward in usefulness. Main point, again, is that once you set up a series of tabs, they will be there.

Title: Re: Autocomplete-style organization of projects/tasks
Post by Pat Maddox on Jun 2nd, 2016, 1:43am

Yeah, windows and tabs make sense to me. They're great, as long as you never close them :)

I'm a really big fan of OmniFocus perspectives. You can save the window state to a perspective, and then recall it by pressing a button / selecting it from a menu.

Obviously Tinderbox does a lot more stuff. But I think the idea of perspectives would be really helpful for me. Set up a tab to a specific view, save it to a perspective... then load it up whenever I need it.

I can dream... :)

Tinderbox User-to-User Forum (for formal tech support please email: info@eastgate.com) » Powered by YaBB 2.2.1!
YaBB © 2000-2008. All Rights Reserved.