remember: Implementation
3 Implementation
****************
Hyperbole, as a data presentation tool, always struck me as being very
powerful, but it seemed to require a lot of “front-end” work before that
data was really available. The problem with BBDB, or keeping up a
Bibl-mode file, is that you have to use different functions to record
the data, and it always takes time to stop what you’re doing, format the
data in the manner expected by that particular data interface, and then
resume your work.
With “remember”, you just hit ‘M-x remember’ (you’d probably want to
bind this to an easily accessible keystroke, like ‘C-x M-r’), slam in
your text however you like, and then hit ‘C-c C-c’. It will file the
data away for later retrieval, and possibly indexing.
Indexing is to data what “studying” is in the real world. What you
do when you study (or lucubrate, for some of us) is to realize certain
relationships implicit in the data, so that you can make use of those
relationships. Expressing that a certain quote you remembered was a
literary quote, and that you want the ability to pull up all quotes of a
literary nature, is what studying does. This is a more labor intensive
task than the original remembering of the data, and it’s typical in real
life to set aside a special period of time for doing this work.
“Remember” works in the same way. When you enter data, either by
typing it into a buffer, or using the contents of the selected region,
it will store that data—unindexed, uninterpreted—in a data pool. It
will also try to remember as much context information as possible (any
text properties that were set, where you copied it from, when, how,
etc.). Later, you can walk through your accumulated set of data (both
organized, and unorganized) and easily begin moving things around, and
making annotations that will express the full meaning of that data, as
far as you know it.
Obviously this latter stage is more user-interface intensive, and it
would be nice if “remember” could do it as elegantly as possible, rather
than requiring a billion keystrokes to reorganize your hierarchy. Well,
as the future arrives, hopefully experience and user feedback will help
to make this as intuitive a tool as possible.