I've been thinking of writing an application (for OS X) for managing my lists.
I manage all my to-do's currently using text files and emacs. I like the flexibility and ease of editing it provides, but I've been thinking about ways to improve the system.
I've been thinking about extending the idea of "tags" (a la del.icio.us) to my to-do list.
It seems like one of the most powerful suggestions that I got out of GTD is the idea of contextual lists. However, the problem is that one to-do may not apply to only one context.
The idea being that you can apply any number of tags to an item. I.e. the item "Bounce tagged to-do idea off 43folders" could have the tags "email", "online" and "low energy".
Then when deciding the proper context for any given moment, you have can define it with a lot more flexibility.
it gives me great temptation to put my todo lists on the web in
Socialtext wiki pages and tag them with delicious as is. (or take
pictures of my todo lists and tag with Flickr). the objective of both
is to get some broader audience aware of what I'm up to.
tags are certainly more useful than say categories for the task
because the understanding is that you can create tags on the fly and
use them for as long as you need them and then ignore them.
Have you thought about using Gmail's mail tagging and filtering for
your todo lists? Email yourself reminders, and have Gmail auto-tag
things for you. That handles the intimacy gradient problem of not
wanting to expose your todos to the world, though it doesn't get you
offline todo'ing away from the wifi electrosmog.
On Sat, 11 Dec 2004 23:20:55 -0500, Zach Paine <zach.pa...@gmail.com> wrote:
> I've been thinking of writing an application (for OS X) for managing my
> lists.
> I manage all my to-do's currently using text files and emacs. I like
> the flexibility and ease of editing it provides, but I've been thinking
> about ways to improve the system.
> I've been thinking about extending the idea of "tags" (a la
> del.icio.us) to my to-do list.
> It seems like one of the most powerful suggestions that I got out of
> GTD is the idea of contextual lists. However, the problem is that one
> to-do may not apply to only one context.
> The idea being that you can apply any number of tags to an item. I.e.
> the item "Bounce tagged to-do idea off 43folders" could have the tags
> "email", "online" and "low energy".
> Then when deciding the proper context for any given moment, you have
> can define it with a lot more flexibility.
> Comments, suggestions, flames?
> -Zach
-- Edward Vielmetti in Ann Arbor, MI 48104
+1 734 276 5910 / skype: edwardvielmetti
> Have you thought about using Gmail's mail tagging and filtering for
> your todo lists? Email yourself reminders, and have Gmail auto-tag
> things for you. That handles the intimacy gradient problem of not
> wanting to expose your todos to the world, though it doesn't get you
> offline todo'ing away from the wifi electrosmog.
Interesting idea. One of the reasons I really like my current emacs
scheme is the speed with which I can wrangle my lists. I think the
added layers of complexity that would be inherent in using email might
be less than optimal. I think that a low-threshold of pain in
creating to-do's and editing them is really important to the system.
I have also been thinking that since I maintain my text files in
Markdown, it might be nice to have pages automatically generated. Maybe I should look into a wiki. I'd like to hear why people prefer a
wiki over other GTD methodologies. Perhaps in a different thread
though ;-)
Cool idea. I've been thinking about doing something similar, and I'm curious to see how you'll implement it.
What would be especially neat would be if you'd keep it non-platform-dependent, so the non-mac crowd could use it too. Maybe the backend in Ruby/perl/python or even Java/C/C++ so it's portable, but the GUI done up in pretty Mac OS X (aqua?) happiness.
I'm most tempted to do it coupled with SQL, but that brings in a bunch of added dependencies that are uncool. Since you're already an emacs user, have you considered doing something in elisp? Maybe you could couple it with the beautiful EmacsWiki mode. Personally, I think I'll take a stab at writing something in Java, mainly because I'm trying to learn it.
I'm just rambling here, jotting down ideas as they come to me. I'd like to watch this in the making, if you'd do the hacking publicly. Good luck!
> What would be especially neat would be if you'd keep it
> non-platform-dependent, so the non-mac crowd could use it too. Maybe
> the backend in Ruby/perl/python or even Java/C/C++ so it's portable,
> but the GUI done up in pretty Mac OS X (aqua?) happiness.
Yeah there is certainly some advantage to doing that. I think that if platform-independence turns out to be desirable, I'd like to do something web-based. Perhaps using some crazy-cool javascript foo to create a nice interface. I think gmail has shown that web-interfaces can be as good (if not better.. yes I'm looking at you Outlook) than traditional GUI's.
> I'm most tempted to do it coupled with SQL, but that brings in a bunch
> of added dependencies that are uncool. Since you're already an emacs
> user, have you considered doing something in elisp? Maybe you could
> couple it with the beautiful EmacsWiki mode. Personally, I think I'll
> take a stab at writing something in Java, mainly because I'm trying to
> learn it.
I should take a look at this EmacsWiki mode. I've heard a bit about it, but haven't invested the time in learning about it.
> I'm just rambling here, jotting down ideas as they come to me. I'd like
> to watch this in the making, if you'd do the hacking publicly. Good
> luck!
At this point, I'm definitely looking for public rambling, so thank you. If if this turns out to be something that I actually undertake, I would like to make it public in some form, perhaps as an open source project.
I have thought about the same thing (see http://joshwand.com/blog/archives/000022.html). Outliner, wiki, tags, calendar-views, user-scripting, plugins, search-nodes, browser-based, portable, etc. I would love to put in in "Rich DHTML" as Jon Udell calls it, for max portability.
I already have a lot of the architecture mapped out for how to make this work, and some of the hard work has already been done (tiddlywiki, activerenderer, del.icio.us, etc)... I'm not a professional coder anymore, but If you are (or know) a coder who could contribute (rich dhtml + a php backend), please let me know what you can do. I am *so* up for making this happen, as an open source project, or otherwise.
I tried something very like that on the Palm, using ShadowPlan (which has a wonderful built-in system of tags). My tages included contexts, times (BusinessHours, Anytime, Evenings, Weekends, etc), People (I listed the people I commonly interact with)--it was very helpful to be able to filter based on multiple tags on occasion, but it made the inputting of NAs take just a little longer, and that was enough to make it too cumbersome. I think someone else, in their reply to this question, pointed out that it has to be REALLY easy to input your NAs or else you won't do it. hth Ben
short description more details on the second line tag tag tag space separated
Presentation is really simple, just store all the entries in some data structure, show only entries whose tag fits the current view. This should be really easy.
The harder part is editing your entries, but even that shouldn't be too bad. Perhaps each task should be assigned a specific id, stored in the text file. Downside is that now the text file is slightly less intelligible, upside is ease of locating one task. Wait, nevermind, each task's short description should be unique. So, when we want to edit, we search our database (text file) on the short description, serve up the appropriate info in text fields ready to be edited, then write the changes into the text file.
Of course, if you're making this publicly available via some server (as a web app), you'd have to handle security issues, but that's pretty much a solved problem, right?
Biggest drawback, as I see it, is that database access will be slow. Maybe that doesn't matter so much for one user running the app locally.
One cool feature would be the ability to search on two tags as an AND. I could pick "@office" and "lowenergy" and I'd only see the tasks that have both tags.
If you implement it as a web app, maybe it'd have some implications for group project planning. Might turn out to be some pretty useful software.
Like other people in this thread, I've been thinking about much the same thing.
I've been working on it from the usability end, trying to isolate exactly what the simplest set of archetypical behaviors are for using a contextual system of this sort. (That's partly what the index card photoset I posted was in aid of.) It's mixed in with some other stuff that I can't show at the moment, but my goal for this weekend is to get what I can share separated out from what I can't. We'll see. :) I'll reply here when I've worked it out a bit more...
After working on this a bit and reading the thread more, it seems to be a common view on this group that:
1. When you're using just one computer, or one operating system, it's easy to pick whatever tool (outlook, tinderbox, etc.) suits your needs best, and...
2. When you start moving from computer to computer, and _definitely_ when you move around boxes with multiple OS's, that becomes a problem, and....
3. The workarounds that exist seem to involve managing a pile of text files, a wiki or two, some webmail, a blog, a del.icio.us inbox, and a bunch of other stuff that _almost_ meshes together, but hasn't been designed, to, and so you spend a _lot_ more time than you should fiddling with your tools instead of working.
Okay. We have vaguely defined a problem (although I'd like to bash at it a bit more).
Accepting that for the moment, the proper solution for our problem seems to be something like the following:
* a kind of tag-based "glue" that applies tags to our data and allows us to hyperlink it together: like del.icio.us for the hard drive, tweaked for gtd
* a way to access that "glue" via the web (has anyone had a chance to check out BSAG's GTD On Rails webapp, BTW?), and edit it remotely. (this could be via export to a wiki from Markdown-formatted text files via your text editor?)
* It should get the hell out of your way, and not reinvent the wheel. I *have* a text editor. I'm writing this post in it now. I *have* Quicksilver; I use it all the time. I use instiki all the time, and blogging software (LiveJournal in my case).
Like I said, I have some concept work done (no code: I'm a product/usability designer, not a coder) that I can share, once I've decided what should and shouldn't be. But since we've all gathered here and we all seem to have the same itch, doesn't it make sense to cooperate on scratching it? My US$0.02, adjusted for inflation.
ewwww DHTML... I'm a complete amateur at all of this (only just a high school grad, taking a gap year before starting college next fall), but what little I've learned about web design has totally turned me off in regards to anything javascript. Bloody IE...
As for the "get the hell out of your way" approach, I totally agree. Could we write a back end in <insert favorite language here> that can integrate with any text editor? I don't know what the capabilites are, but I thought I read somewhere that software like Textmate can use Ruby scripts? What about emacs? Can you import other code through elisp? Any scripting language would do well, especially because of how portable it would be to a web app.
An added advantage of storing everything in a text file is that anyone who knows the workings of the app can just add new tasks by appending data to the file, whether with that quicksilver trick or just from a command line.
data storage: structured text files are good... you should be able to dump text in and out (e.g. from a texteditor, to a blogging tool) relatively seamlessly.
persistence: ideally, should save after each edit. doing this in the browser is non-trivial (how does JS handle filesystem stuff? security restrictions?). What about webDAV? XML-Http? If all else fails, manual save should be possible. I would LOVE to be able to stick the whole thing on a usb thumb drive and run it from there, on multiple platforms.
architecture: max cross-platform compatibility appears to be a priority... The way I see it, it should be able to run locally, and sync with a backend for backup, or for other functionality (notifications/reminders, export to wiki or other db, hooks to whatever). I plan to study the gmail, and google suggest (livesearch) architectures for clues. But DHTML + XML/HTTP + robust server backend seems like a good place to start.
what kinds of data nodes are we talking about, by the way? full-fledged wiki content? todos? something in between?
more thinking out loud.... --Josh (the other one)
PS: the google groups web interface sucks... what's a better way to read individual threads?
> I've been thinking about extending the idea of "tags" (a la
> del.icio.us) to my to-do list.
I'll delurk here for a minute. To set context, I use Windows (gasp!)
and Outlook 2003 (gasp gasp!). And with this plain vanilla install I
get "tagged" to-dos with Outlook out of the box.
Outlook's "categories" can act like "tags." They're just not called
tags. But most any object in Outlook (contacts, tasks, journal
entries) can be labeled with one or more categories. The category UI
supports both picking from an existing list (hey, projects! contexts!)
or creating single-use categories for that particular item. And
Outlook's "view / arrange / show in groups" command lets me shift from
a date-based org of my tasks to a category-based org of my tasks. Any
tasks that live in multiple categories appear under both headings.
Now, Outlook 2003 out of the box doesn't have decent cross-type
searching. But Lookout (which msft bought) does, so to see all my
journal entries, tasks and appointments tagged with the category
"typepad," all I need to do is do a Lookout search for
"category:typepad".
Not sure if Entourage supports the same stuff. But I hazard a guess
that this is one of the more underutilized features in Outlook...
What is it with geeks named Josh? :) Were we all doomed from birth, or what?
Anyway...
This is likely my bias showing, but I'm inclined to worry less about the technology and more about what this thing would be supposed to _do_. And that's defined by what the holes are in what we already have.
To determine what those are, we need to know what we have, and what we do with them, exactly. Then hopefully we can clearly see where we are working around holes.
What do you have, and what does it do? What are you finding yourself doing by hand (or by a set of scripts that you still have to use your brain to manage) that you really shouldn't be doing? I had a fairly long set of answers to these questions, then I realized that I was just marching headlong into a gripe of mine instead of working to answer the question, so I stopped. :) It's 4:30 in the morning here on the east coast, so it's definitely time to crash.
Yes, Entourage does the same thing. I think the issue here is less the behavior of tags, and more a solution that is both able to do tags, and work on multiple, cross-platform machines.
Running two XP boxes, three macs, and a linux box here. Either outlook or entourage would be a poor choice for that sort of setup.
Right now, there are workarounds (wikis, text files, carefully arranged folders in a keychain drive) that work. What seems to be needed now (IMHO) is an add-on to glue these simple, cross-platform tools together.
An app that a) glues them all together successfully so that the existing tools' strengths shine through, b) can live either online or in a keychain drive (a la portable firefox or thunderbird), and c) is platform and texteditor/wikiflavor agnostic would be simply superb.
Thanks for the article on javascripting/DHTML. I'm certainly impressed by gmail, and tiddlywiki is kinda fun and neat, but I'm just not attracted by tiddlywiki's glitz. Especially since it (last I knew) lacked the ability to save new tiddlies or whatever the creators choose to call the entries. My turn-off from DHTML might just be that I feel intimidated by the lack of standards-compliance. ::shrugs:: Maybe I just need to bite the bullet and learn the javascripting at some point.
My other concern is that it's starting to sound like people want to do too much here. I just want a spider to scan my documents, and do it well. Along the lines of keeping the app out of my way, I don't want it to integrate with my addressbook, my del.icio.us bookmarks, my calendar, etc. What's the saying about every app expanding until it can read email? Sounds like that's already happening here, before any code has even been written.
Just my thoughts... I'd suggest a task crawler with tags, that includes little bits of wiki goodness to attach support materials to each task. Start little and humble, then if anybody wants a gigundo everything you ever wanted in a GTD app (plus the kitchen sink) thing, it can grow. //shrugs//
Josh- you really nailed it here. I just posted something before reading this post of yours, and you'll see substantial overlap between what you define here (much more clearly) and what I'm asking for. The only big difference in my specs is that I'd like to be able to download the data to a Palm for on-the-go access as well. If a web-based (wiki-based) solution appears, Plucker or some such Palm tool could make it happen-or if a text-file based approach, there are text file conduits for the Palm. Also, it would be nice if a solution could be easy enough for the non-Unix-speakers among us. thanks Ben PS I don't know what resources I can offer since I'm not a programmer, but I'd be happy to contribute in any way I can.
<em>Just my thoughts... I'd suggest a task crawler with tags, that includes little bits of wiki goodness to attach support materials to each task.</em>
That's kind of what I was getting at with the "app that glues them together" thing...
Yeah, I was mainly reacting to the "PIMWikiLiner" app that j...@joshwand.com described.
Anyway, I'm totally in for helping with this in whatever way possible, but I'll defer to the pros here. Being a totally green novice, I guess it's my place to learn what I can while helping out where I'm able.
Ah, sorry. It's difficult to "see" threads in Google Groups, especially when you're following it via the Atom feed and the hyperlinks lead you to a deep-link of the post in question without any context. :P
awhile back i noticed merlin's del.icio.us feed on his blog and wondered how to do it. he pointed me to two web services, one was feedburner, which is free, the other I don't remember cost a monthly fee. i just found a free alternative that y'all might be interested in. it's http://www.rss-to-javascript.com
how precisely are you doing this in Typepad? I'm guessing it's with a
single-entry typepad typelist with the javascript pasted into it, but
the last time I tried to get it done that way it confused me at some
point and I stopped.
The typepad people need to get on the stick about native support for this....
Ed
On Sun, 12 Dec 2004 12:52:09 -0800, Jeffrey C. Long
> awhile back i noticed merlin's del.icio.us feed on his blog and
> wondered how to do it. he pointed me to two web services, one was
> feedburner, which is free, the other I don't remember cost a monthly
> fee. i just found a free alternative that y'all might be interested
> in. it's http://www.rss-to-javascript.com
I'm going to add a vote for a little more K.I.S.S. and a little less feature-creep. I'll go so far as to say that I don't want it to manage my addresses. Or my email. Or my bookmarks. Or anything approaching my read-and-review. Those are the fringes of my GTD implementation, are the lowest priority, but have the highest propensity of making things messy and complicated.
Evidence: Outlook/Entourage. Boy howdy you can do a lot with those apps, n'est ce pas? But precisely becuase they're neither fast nor intuitive, I have chucked them in favor of... paper. Everything else requires too much futzing with the technology to make it worth my while. I almost reached the point where I was comfortable with using solely emacs (and planner.el), but in the end, even that was too much. (Emacs always turns out to be too much meta-controlling.)
"Outliner, wiki, tags, calendar-views, user-scripting, plugins, search-nodes, browser-based, portable..." ouch. Makes me feel nauseated. Just to review: what makes UNIX such a darned good system: atomization. "ls" does one thing, "pwd" does one thing, "mv" does one thing, "chmod" does one thing. Et cetera. Why do I dislike Windows? Because there's nothing worse than a single point of failure which does just about everything poorly.
Not meaning to start a platform discussion, it's just an example. You may disagree with my example, but consider my logic. Kitchen-sink apps suck. Once Quicksilver becomes an email client, web browser, and rich text (and Word) editor, I'll drop it. Capice?