Introduction
What is MindSet?
What is the purpose of MindSet?
How does MindSet work?
What aspects of our thinking do we model?
How do we model a thought?
MindSet Guidelines
We recognize our thoughts within our
material.
We consider our material as levers for
our thoughts.
Six levers capture our thought.
"Content" sustains our thought.
"Prompt" evokes our thought.
"ID", "FromID" and "ToID" plot our thought
locally.
"Intent" pictures our thought globally.
We define Intents structurally.
"Self-oblivious" systems are not
"Self-reflective".
We assign Intents conceptually.
"Independent Thought" | "Unordered
Hierarchy" | "Nondirected Network" | "Acyclic
Network" | "Closed Sequence" | "Open
Sequence" | "Directed Network" | "Irregular
Structure"
We extend the MindSet standard by creating more
kinds of levers.
MindSet CSV Format
What is CSV?
Which CSV?
What must a table in CSV format satisfy in order
for us to interpret it as structured by the MindSet guidelines?
How do we interpret a table in CSV format as
expressing the MindSet guidelines?
Sources
Bibliography
Dedication
Acknowledgements
Stylistically, the MindSet specification differs greatly from other specifications (compare with documents produced by the IETF or W3C). It is apparent that more attention was paid to philosophical concerns than to implementation. The Q&A format feels very out of place in a normative document. [Ben Darnell, 10/27/00]
I would suggest that this document is split into
two:
- a clear definition of function, with examples
and pictures, and
- an accompanying commentary which explains the
abstract ideals and the representations of thinking activity.
Mixing both in one document tends to cloud the
overall picture.
[Nick Duffill, 11/7/00]
I think it is a wonderful standard, with many possibilities. ... ps. Thanks to Andrius for creating the standard!!! [Steve Raiff, 11/19/00]
What is MindSet? MindSet is a standard for modeling our thinking. MindSet consists of a modeling language and various implementations.
If you don't split the file, add something like the following to "What is MindSet?": "This document specifies the MindSet model and an implementation which stores data in CSV files. Other implementations, such as one based on XML, may be specified in the future." [Ben Darnell, 10/27/00]
What is the purpose of MindSet? MindSet frees us to reexperience our thinking. MindSet makes us aware of the consequences of using "mental levers" to approach our thoughts. MindSet is particularly helpful when we wish to use software tools for organizing large numbers of thoughts. MindSet helps us transfer our accumulated thoughts from one software tool to another.
How does MindSet work? MindSet assumes that we record "mental levers" to help us reexperience our thoughts. MindSet guides us how to structure our mental levers in a single table. We identify the rows of this table with our thoughts. We identify the columns of our table with basic kinds of mental levers. MindSet then offers concrete ways to format our table. One such format is CSV.
Don't anthropomorphize MindSet - the "How does MindSet work" section (that section title itself is a misnomer, as the model itself doesn't actually do any work) begins "MindSet assumes...". Attribute this assumption correctly - to the MindSet designers. In the next paragraph, I suggest changing "MindSet asks us to distinguish" to "MindSet distinguishes". [Ben Darnell, 10/27/00]
Vocabulary - I think the term "lever" (a simple machine which amplifies force) is inappropriate for what you're using it for. I think changing all occurences of "mental lever" to "field" would be the best remedy. I don't like "Intent" either, but can't think of a better alternative right now. [Ben Darnell, 10/27/00]
You occasionally blur the lines between the abstract definitions and implementation details. For example, in "How does MindSet work", you mention rows and columns of a table, which are present in the CSV implementation, but I don't think it belongs here. I think that if you insist on having multiple formats under the MindSet name, it is important to keep this distinction clear. I suggest creating two separate documents - one to provide the abstract definition of MindSet and the other to describe how MindSet data may be encoded in a CSV file. [Ben Darnell, 10/27/00]
Ben, I use the word "table" to describe the structure with which the MindSet modeling language organizes information. I use "table" in the sense of relational database, in that the rows are not ordered, and the columns are not ordered. Does somebody know of a better way to say this? I don't think that this makes any assumptions as to whether the implementing format looks like a table (CSV) or not (XML). [Andrius Kulikauskas, 11/4/00]
OK. I'm not very familiar with relational
databases, so that's not the image that 'table' evokes for me (to me, a
'table' is one possible embodiment of a set of records, in which column
order is significant). I suggest the following terms for the conceptual
portion of the standard:
'table'
-> 'set of records'
'row'
-> 'record'
'column'
-> 'field'
[Ben Darnell, 11/5/00]
I think there should be multiple formats for the MindSet standard. (I'd be interested to hear more opinions.) One reason is practical - different situations, different users, and different tools benefit from the advantages of different formats. For example, XML has advantages in automated transfer. However, CSV is more realistic for transfer where a human is nontrivially involved, and there is a need to emphasize the tabular structure and import it as a table into Excel, or some other environment for working with tables. [Andrius Kulikauskas, 11/4/00]
If there are multiple formats, then either applications must support them all, placing an undue burden on the developers, or there must be separate tools to convert between them, which places an undue burden on the end user. [Ben Darnell, 11/5/00]
I'm not sure what you mean by 'XML has advantages in automated transfer'. Isn't the entire point of MindSet to enable automated transfer? [Ben Darnell, 11/5/00]
I think that if the user has to know or care that XML or CSV are being used (or even what XML and CSV *are*), then we have failed. If a human must interact with the conversion process, it is essential that this interaction be done on MindSet's terms (or better, the terms of the application used). Just because Excel can be used to edit a CSV file doesn't mean that it is a good idea for MindSet. [Ben Darnell, 11/5/00]
A second reason is that the key point of MindSet is that we have to be careful to consider what structure we mean, rather than what structure we see. We want to clarify the distinction between the modeling language (which refers to how we think about things) and the format (which refers to what gets written down). This distinction is very hard to communicate when there is only one format, one "example". It is much easier to communicate when there are many formats that express the same modeling language. [Andrius Kulikauskas, 11/4/00]
I agree, and this is why I suggested that the document be split. As long as the boundary between concept and implementation is clear, I don't think that having only one implementation is a hinderance to understanding the concepts (look at Topic Maps - there is the ISO conceptual standard, and then they defined an XML implementation) [Ben Darnell, 11/5/00]
My feeling is that the MindSet document is quite short, so it would make sense to keep it in one piece, with different sections, as it is now. I agree that it would be good to make mention of XML for Topic Maps. We might be able to add that section, though. [Andrius Kulikauskas, 11/4/00]
What aspects of our thinking do we model? MindSet asks us to distinguish between static thinking (focusing on a thought), and dynamic thinking (jumping from thought to thought). Also, MindSet asks us to distinguish between immersive thinking (engrossed in a thought), and reflective thinking (detached from a thought).
How do we model a thought? MindSet has us identify a thought with a bundle of six mental levers: ID, FromID, ToID, Intent, Prompt, Content. Our mental levers let us choose to think statically or dynamically, immersively or reflectively.
As specified here, MindSet is definitely *not* a model for thinking: we don't think of ID, FromID, and ToID, we think of connections between thoughts. To encode them in a computer system, we must assign IDs, but that is an implementation detail (a detail common to any practical implemenation which immediately comes to mind, but still an implementation detail). A thought then has five fields: FromThought, ToThought, Intent, Prompt, Content. [Ben Darnell, 10/27/00]
We recognize our thoughts within our material. We wish to methodically direct our thinking with material we have accumulated and structured. We therefore need the ability to recognize our thoughts, stable states within our thinking.
Who is "we"? The authors of the specification? Humankind in general? [Ben Darnell, 10/27/00]
At this point I think our hypothetical newbie goes cross-eyed and gives up. I can generally understand what's going on based on our past communication, but a lot of this is hard for me to follow too. "We recognize our thoughts within our material" means nothing to me, and the following paragraph doesn't help much. Likewise for the next paragraph. [Ben Darnell, 10/27/00]
>our thoughts, stable states within our thinking.
But if a thought's FromThought and ToThought
are defined, then that thought actually represents a movement, which is
an unstable state. [Ben Darnell, 10/27/00]
We consider our material as levers for our thoughts. We need the ability to distinguish and isolate the particular aspects of our material that help us reexperience our thought. These aspects are levers for our thought.
Six levers capture our thought. MindSet guides us how to capture our thought using six kinds of levers: ID, FromID, ToID, Intent, Prompt, Content. For a given thought, any of these levers may be undefined.
I heartily disagree with this assertion. What you should say here is that MindSet defines a 'thought' as having six (or five, with my modification above) fields. [Ben Darnell, 10/27/00]
"Content" sustains our thought. Content is our lever to support immersive thinking. We record as Content that information by which our thought maintains our attention. Content has nontrivial internal structure that engrosses us. Content may be a paragraph of text, or any other expression of an idea, perhaps as an image, file, code, data.
"Prompt" evokes our thought. Prompt is our lever to support reflective thinking. We record as Prompt that information by which our thought evokes our attention. Prompt refers us to the Content. Prompt is succinct enough so that we may view many Prompts at once. Prompt may be, for example, a name, address or sign.
"ID", "FromID" and "ToID" plot our thought locally. ID, FromID and ToID are our levers to support dynamic thinking. Together they let us interpret our thought (identified by ID) as the movement of our mind from one thought (identified by FromID) to another thought (identified by ToID). If ID=X, FromID=Y and ToID=Z, then Y refers to the thoughts in our table for which ID=Y, and Z refers to the thoughts in our table for which ID=Z. We do not require that thoughts exist for which ID=Y or ID=Z. In general, we place no restrictions on ID, FromID or ToID. In particular, they need not be unique. We consider thoughts to be interchangeable if they have the same value for ID.
"Intent" pictures our thought globally. Intent is our lever to support static thinking. We record as Intent our structural expectations for our thought with respect to all other thoughts. If our thought has ID=X, FromID=Y and ToID=Z, then we can consider our thought as a structural relationship between thoughts with ID=Y and ID=Z, and its Intent gives the structural nature of this relationship. There are eight reserved choices for Intent, described below. In these cases, Intent signifies our global expectations regarding the structure of the system formed by the local relationships described by all thoughts having that Intent. We do not require that the local relationship actually satisfy our global expectations. Intent simply makes explicit our mental picture within which we intend our thought to participate as a local relationship between two other thoughts. Aside from the reserved choices, we are also allowed to create other choices for Intent, as needed, for our specific purposes.
The part of the specification about "Intent" desparately
needs more structure. It is laid out as if it were a series of parallel
independent clauses, when in fact many clauses
are subordinate to others. This should be expressed with either indentation
or changes in header styles. [Ben Darnell, 10/27/00]
I'm curious why exactly you don't like the 'intent' section. To me it allows users to divert when they need to. But I think before this becomes an issue most thought will have been put down in the more clearly specified 5 columns. [Caspar van Beek, 10/29/00]
We define Intents structurally. In what follows, let I be a choice of Intent. Let S be the set of thoughts with Intent I. Let V be the set of values of FromID and ToID for all thoughts in S. Let X, Y, Z, A, B, C, A1, A2, ..., An be values in V. We write Y=>Z if there exists a thought in S with FromID=Y and ToID=Z. We write Y>>>Z if there exists a sequence of values A1, A2, ..., An with n>=1 such that Y=>A1, A1=>A2, ... , An=>Z.
I think all the mathematical formalism should be removed (or at least moved to a non-normative appendix). I don't think the self-oblivious vs. self-reflective distinction is useful here. [Ben Darnell, 10/27/00]
I worked through the MindSet draft document. I am confused by some of the Intention definitions. Are there any pictures or clearer examples? While your set-theory statements are doubtless precise, I don't find them very easy to visualise. [Nick Duffill, 11/7/00]
I think they can be enhanced with diagrams, but
find find the mathematical formalisms useful. I think the language
would be
confusing if the formalism were removed, or allocated
to an appendix. The precision that the formalism provides makes the
requirements for implementation more direct.
As a minor point, I think that in "Let V be the set of values", "V" should
be replaced by "L". V stands for values, or vector, L (to me) can
stand for link which relates two thoughts. [Steve Raiff, 11/19/00]
"Self-oblivious" systems are not "Self-reflective". We say that S is "self-reflective" if in S there exists at least one thought with ID=X, FromID=Y and ToID=Z, such that there also exists in S a thought with ID=Y or ID=Z. Otherwise we say that S is "self-oblivious". When S is self-oblivious, then we have two disjoint systems of thoughts: relationships in S, and nodes in N, where N consists of all thoughts whose IDs are values in V.
How about different terms for "Self-oblivious"
and "Self-reflective":
Related,
Unrelated
Pronounced,
unpronounced
Actually, I think that there is a continuum of
"self-reflection" here, or an aggregate measure of how each idea is related.
"Degree of Intentionality" might be another useful term. One
thing I thought of is "If something has intention, then it is also self-reflecting".
[Steve Raiff, 11/19/00]
We assign Intents conceptually. Choose from the eight reserved choices of Intent. Do not worry if your thought violates the structural expectation. Such violations are natural consequences of forming mental pictures. Instead, choose Intent to express the conceptual nature of the system. Have you structured your thought so that your mind moves from FromID to ToID? Doublecheck! If you are not happy with any of the reserved choices of Intent, then please feel free to create your own.
I don't like this paragraph at all. You say "Choose from the eight reserved choices of Intent", but earlier said implementors were free to create their own. Furthermore, you say that the definitions of the reserved choices are not binding. If they're not binding, why put them in the spec? These two overlapping sources of flexibility unnecessarily complicate potential implementations. [Ben Darnell, 10/27/00]
Also I am concerned about the idea of creating
one's own Intentions if the reserved ones do not fit. How is this compatible
with transferability between tools? There is nothing that allows a newly
defined Intention to be negotiated within the transfer format, unless I
missed it. Forgive me if this has been covered in a previous dialogue.
[Nick Duffill, 11/7/00]
I think that the IntentId is inadequate to represent
the thoughts I have. I think it would be better to eliminate it,
and
recognize that the Thought::content can contain
one or more relational Id's - representing subordinate thoughts related
to the
meta-thought, or thought about other thoughts.
Furthmore, the subordinate thoughts may occur within the "thinking context"
of
multiple meta-thoughts, making each of my thoughts
very useful to me. One may say that by having multiple FromID's and
ToID's would accomplish the same thing. I think that this would be
too confusing, that I'm only thinking within zero or one context at a time,
which would be supported by this structure. [Steve Raiff, 11/19/00]
These could contain time, History, revision control. Of course these could all be a function of a system which stores Mindset thoughts. [Steve Raiff, 11/19/00]
I'd much rather see something like a BNF grammar here instead of a big chunk of unstructured text. [Ben Darnell, 10/27/00]
Which CSV? Please be aware that the CSV format has no standard description, so you will find variations of CSV differing from the one described for this standard. There is no agreement on which characters are allowed. There is no agreement on what are the parsing elements that trigger the use of double quotation marks. There is no agreement on the functions of the parsing elements. For example, the exclamation mark ! may be used for comments, and the double back slash \\ may be used to wrap long lines, especially to accomodate text editors.
You mention ! and \\ in the Which CSV section, but not in the what is CSV section. I think that the \\ is a particularly bad - it's two characters, which complicates parsing for no apparent reason (furthermore, \\ already has a common meaning (a single \, when \ is used as an escape character)). For parsing purposes, it is easier to deal with split lines when the split indicator (a single backslash is commonly used for this purpose) is on the end of the first line, rather than the beginning of the second. Also, is this used to split up long quoted strings, or can it occur only between quotes? [Ben Darnell, 10/27/00]
What must a table in CSV format satisfy in order for us to interpret it as structured by the MindSet guidelines? The first row must start with the string: ID, FromID, ToID, Intent, Prompt, Content The first row may not contain any double quotation marks ".
It would be better to say: "The first row must contain the list of column headings. The first six columns must be...". Also, why the no-quote restriction? [Ben Darnell, 10/27/00]
How do we interpret a table in CSV format as expressing the MindSet guidelines? The names of the kinds of levers are given by the values of the first row. We interpret all of the other rows as our thoughts. We associate the first six columns with the reserved kinds of levers, and any additional columns with invented kinds of levers. We interpret the value at a column and a row as a lever for a thought. If a field value is the empty string, then we interpret the lever to be undefined. We interpret the following two letter codes as our reserved choices for Intent: IT=Independent Thought, UH=Unordered Hierarchy, NN=Nondirected Network, AN=Acyclic Network, CS=Closed Sequence, OS=Open Sequence, DN=Directed Network, IS=Irregular Structure. We ignore any row which starts with an exclamation mark (this is done to insert comments, which we ignore). We interpret any row which starts with a double back slash \\ as extending the previous row (this is done to simplify work with a text editor when rows are long).
Dedication The author dedicates this draft to Kestas Augutis, who inspired work on this standard. He wished to teach children to write in sequences, hierarchies and networks.
Acknowledgements Thank you to TheBrain, LLC for sponsoring the investigation "Linking Locally is Thinking Globally" at the Minciu Sodas laboratory to develop this standard. Thank you also to MindJET, LLC for sponsoring work towards this standard. A special Thank You to all of the members of the OurOwnThoughts working group of the Minciu Sodas laboratory: Jeffry Archambeault (Open Idea Project), Koy Kong Aw (Multicentrix), Zigmas Bigelis, Algis Cibulskis, Stephen Danic (Lucid), Ben Darnell (Thoughtstream), Hans Donner, Nick Duffill (MindJET), Flemming Funch, Christian Jeyaraj George, Joseph A. Goguen, John Harland, Anna Herbert (TheBrain), Paul Jones, Dr.Rodney King, Yasuaki Kudo, John Leppik, Saulius Maskeliunas, Cass McNutt, Mark Oeltjenbruns, Steve Raiff, Roy Roebuck, Marjorie Stamm Rosenfeld, Mudis Salkauskas, Lucas Gonzalez Santa Cruz, Bronius Tamulynas, Carol H. Tucker, Raimundas Vaitkevicius, Caspar van Beek, William Wagner, George Chih-Chao Wu, Kenneth Yu.