[Vimoutliner] [OT] ThoughtManager

Noel Henson noel at noels-lab.com
Sun Jan 20 02:37:42 EST 2008


On Saturday 19 January 2008, Scott Scriven wrote:
> Basically, each node would have (or inherit) a title, a set of
> arbitrary name/type/value fields, and a display style.  The
> fields are things like text, integer, checkbox, date, and
> percent.  Display styles might be like printf format strings.
>
> The storage back end I had in mind is a directory tree, though I
> also considered xml and s-expressions.  This makes each branch a
> tree of its own, where you could zoom into a subtree simply by
> changing directory.  It allows for linking between branches by
> using symlinks, and attaching files is trivial to implement.
>
> Example use cases will be useful for making sure the system
> provides the necessary features and makes the most common tasks
> the easiest.  For example:
>
>   Movies (seen 67%, own 1/3)
>     Seen Own Rating Title
>     ---- --- ------ -----
>      [X] [_]   9    Kung Pow         (note)
>      [X] [X]   6    Bee Movie
>      [_] [_]        Atonement
>
> The storage for this might look something like...
>
>   0/ (root node)
>     .title (string):  "Movies"
>     .fmt (format): "${title} (seen ${seen}, own ${own}/${total})"
>     .childfmt (format): "${seen} ${own} ${rating}
> ${title}%{fill}${note}" .seen (percent): autocalculated
>     .own (sum): autocalculated
>     .total (childcount): autocalculated
>     0/ (first child)
>       .title (string): "Kung Pow"
>       .seen (checkbox): 1
>       .own (checkbox): 0
>       .rating (int): 9
>       .note (file): text/plain file attachment
>     1/ (second child)
>       ...
>
> The biggest drawback to this idea is that ... well, it's not Vim.
> It would allow arbitrary database-like schemas and fairly complex
> behavior, but it isn't much like a text editor.
>
> I find that, most of the time, VO's simplistic approach to
> outlining is sufficient.  I don't usually need more than a title
> and a checkbox, and having the power of vim underneath is very
> helpful.  The only real complaint I have about VO is that the
> interface isn't at all appropriate for use on a PDA or phone.
>
>
> -- Scott
> _______________________________________________
> VimOutliner mailing list
> VimOutliner at vimoutliner.org
> http://www.lists.vimoutliner.org/mailman/listinfo/vimoutliner

I like what you've shown. The only downside in processing that kind of 
representation is the procedural code could get kind of complicated. As 
much as I don't like to say it, this looks like a perfect job for OOP. You 
have objects like headings that can include other objects like themselves, 
text, tables, images, etc. Each heading could also include expandlable list 
of attributes like checkboxes, flags, dates, priorities, etc.

Just my $0.02 worth.

Noel


-- 

------------------------------------------------------------------
  Noel Henson
  www.noels-lab.com	Chips, firmware and embedded systems
  www.vimoutliner.org	Work fast. Think well.



More information about the VimOutliner mailing list