Request for comments:

I am currently under a sort of dilemma in my noding. I've been here long enough to know that where you put a node is just as critical as how you write it all up. For instance, I want to node all sorts of items relating to my hometown, but there aren't very good ways to associate them and make the content even remotely findable, and a metanode really isn't that great in this sort of a situation (or any situation really).

For instance, one place I have memories that I want to share is the old Friendly's on South Street. How do I choose a good title for it? Do I either:

(Neither exist yet, so bear with me)
The first item is nodespacing, something that is looked down upon in Everything University's entry under Don't Nodespace Your Lyrics, but the second is never going to be found, even if I were to softlink it to other relavant nodes that I have outstanding. I would form a pocket inside of everything (things that only link to other items in the pocket, without a way for them to stand out.

Thus, I propose that people be given the power to create nodespheres, or a band of association of nodes under a common description. Users should be able to add nodes to their nodespheres under some sort of edit and removal mechanism (a superdoc most likely), and manage the way their content sticks to each other. You should be able to find people's nodespheres and read them as a set of stories. In the bar where you see:

  (idea) by JayBonci

...along with the votes and such, it should say:

  (idea) by JayBonci, part of Stories of Holyoke

Where Stories of Holyoke would be the nodesphere it belongs to.

Nodespaces would solve the following "problems" in my eyes:
  • It would encourage conscious noding as people could nodesphere entire topics.
  • It would add a code-based tool for what many people hardlink into their writeups. ( back to the Dictionary of Sexology, the Jargon File, other noded projects).
  • It would give a stronger tool than softlinks for people who write all of one topic, and would not give credit for index tools.
  • Metanodes would be less common for people who would seek to group all of their writeups together
  • It would string together more vague items in a series of otherwise unrelated nodes, especially things like daylogs or items with otherwise good (read: relevant) titles.
  • People who node entire books could associate them all together.
  • Currently e2 only supports cohesion of name, but not cohesion of topic. This would change that.



Implementation ideas: A nodesphere would be a new e2 nodetype and an e2 dbtable (like coolwriteups). The dbtable should look something like:

node_id - (primary key) - Default: 0 - INT(11)
    Holds the e2node, if a node could only belong to one nodesphere

nodesphere_id - Default 0 - INT(11)
    Holds the id of the node of type nodesphere, containing the information. This way it won't clog up the database with associations.

position - Default: 0 - INT(?)
    If one were to support user-defined positioning of the items in the nodesphere Things to keep in mind:
  • Moving from one item in a nodesphere to another in that sphere through the displayed sphere should drag a softlink, but you shouldn't be able to softlink to the nodesphere itself (since it isn't an e2node). Linking should find the item.
  • You should only be able to add your own items to a nodesphere (maybe only one sphere per node; no multiple associations).
  • Deleting an entire sphere would be no big deal, and should be user controllable. (highly debatable)
  • Nodespheres should be ed-coolable
  • Nodeshperes should allow for a description (same as a node) that can describe how these items are related.
  • Optional - Maybe nodespheres can add other nodespheres (thus solving the parenting problem..)


The superdoc for editing the actual nodespheres themselves wouldn't be too terrible (im playing around with how I think it should be done elsewhere, and will put up something if people are for this idea). The displaytype should be very similar to that of edev docs (the owner can edit the description), and then a listing of the items in some kind of order.

It may make a good level power perhaps (4?, or 5?). Any thoughts and suggestions would be really helpful. Thanks.

I think this is a good idea... though I would also think that each -writeup- should be a part of the nodesphere, not necessarily the E2node itself. For example, with the node magic, for example, there can be several different nodespheres... one for stage magic, one for magic: the addiction, one as a crosslink into magick (as a common misspelling), one into AD&D and other roleplaying games, one into operating systems (magic numbers in structures, for example), and undoubtedly many other concepts that I'm not even thinking of.

The main problem is that users are going to want to follow their trains of thought on each topic, not just each title. So the question becomes one of confusion... how can I create multiple writeups under a given node, with all attributes except text and nodesphere being the same? Or, how can I assign my writeup to multiple nodespheres?

Should nodesphere creation be a function of higher-level noders? Should nodesphere contribution be a function of level 3 or so (low-level enough that users can gain experience through the contributions, but high-level enough to weed out the trolls)? Would the person who created the nodesphere have editorial say as to the contents of the nodesphere that was created, and would s/he be able to delegate some of the nodesphere editor's powers? How would it look on the back end -- what dbtables would need to be modified, and what kind of code would be needed to support it?

I've been asked how I visualize nodespheres working, so here's my mental image. To avoid confusion, I'm using the following definitions:

  • A nodesphere is a conceptual thing, a superset of writeups in the same way an ordinary node is a superset of writeups, one per noder.
  • A spheredoc is a special node listing the writeups in the nodesphere.
  • A spherelink is a two-way link between a writeup and a spheredoc.

A nodesphere link ("spherelink") would be displayed to the average noder as JayBonci describes above -- in the title of the writeup, something like this:

(idea) by mblase
part of Everything FAQ (Prev-Random-Next)

Saige below suggested adding the links to allow navigation within the nodesphere, which seems an excellent idea. Of course, noders should have the option of disabling this display in their Writeup Display Options, but I think it should be on by default.

Each writeup would belong to no more than one nodesphere (or exactly one, if we consider the "null nodesphere" as actually existing). This forces things to stay logically organized; if each writeup can only belong to one node, then it should only belong to one nodesphere as well. If we allow two, then eventually someone will whine and complain that their writeup should belong to three, and so on and so forth.

JayBonci suggested that nodesphere creation should be a level power, and this seems well and good. However, I think that any noder should be able to add their writeup to a nodesphere (if its creator permits it -- more on this later). Otherwise, any user below the desired level would have to pester editors to do it for them.

Right above or below the writeup box there should be a text field, allowing the noder to enter the name of an existing nodesphere. The E2 engine should short-circuit with an explicit notice that the specified nodesphere does not exist (with a link to create it) or that spherelinking to it isn't permitted, but still let the writeup be added/updated:

Sorry, you don't have permission to add to that nodesphere. Your writeup has been updated.

Return to Things that don't work even after you've given them a proper thumping (thing)

OR

Sorry, that nodesphere does not exist. Your writeup has been updated.
Of course, I could let you create a new "Things that cheez me off" nodesphere. You can correct the capitalization or spelling, if there is a need.

[ Things that cheez me off __________]   [ Create nodesphere ]

Return to Things that don't work even after you've given them a proper thumping (thing)

Like the writeup itself, the spherelink should be editable at any time by the noder--unlike node titles, it should not be solely the editors' ability to change a spherelink. However, content editors should be able to change spherelinks at their discretion.

Now, to actually creating nodespheres: a special superdoc similar to "Create a Node" should be created, call it "Create a Nodesphere". Only noders of the desired level should have access to create nodesphere documents ("spheredocs"), of course, although anyone should be able to view them. The spheredoc should be permitted to contain writeup-like content of its own. This is for the noder to explain what the nodesphere is about, or provide some other introduction.

Other noders should not be permitted to add content to a spheredoc the way they can to an ordinary node. This would change the one-to-many relationship between spheredocs and linked writeups into a many-to-many relationship. I can see that this might invite complaints from other noders, but it's logistically necessary. If a noder doesn't like a spheredoc's content, they can simply not spherelink their writeups to it or create another spheredoc with better content.

The spheredoc would then display a separator and list its spherelinks, hardlinking to them directly (and possibly to the parent node as well). The spheredoc's owner should be able to specify whether spherelinks will be listed in alphabetical order or by date added to the nodesphere. There are probably dozens of ways the spherelinks could be ordered, but those two should be minimally sufficient. (I can't think of a simple and uncomplicated way for the owner to reorganize them manually.) Perhaps for owner-defined organization, each spherelink would have a short select box or textfield next to it displaying a number, and they could change the numbers to change the order.

The creator should be able to specify whether they want anyone to add writeups to their nodesphere, or just themselves. Since others may be able to add to it, the creator should be able to remove any writeup from the list with just a click of a link.

While it's tempting to allow spheredoc creators to add descriptive information to each spherelink, I believe this would be a cumbersome addition to the interface. It would also be hard to keep up-to-date in nodespheres to which anyone can link. Besides, the writeup title and the writeup itself should be used to provide that information.

Nodespheres should be able to share titles with existing nodes, the same way superdocs and users can share titles with e2nodes. A search would turn up both results. For instance, if I wanted to create a "Brian Eno" nodesphere pointing to writeups about his albums, this shouldn't interfere with the existing node about Brian Eno.

Finally, nodespheres should be able to be members of other nodespheres. This allows categories and sub-categories for improved organization and keeps lists of spherelinks from getting too long.

It would look something like this:

The Everything Insult FAQ

(nodesphere) by mblase (print)                                 Friday, Dec 14, 2001 at 09:39:31 UTC

Blah blah blahde blahblah blah blahdeblah blah. Blah blah blahde blahblah blah blahdeblah blah. Blah blah blahde blahblah blah blahdeblah blah. Blah blah blahde blahblah blah blahdeblah blah. Blah blah blahde blahblah blah blahdeblah blah. Blah blah blahde blahblah blah blahdeblah blah. Blah blah blahde blahblah blah blahdeblah blah. Blah blah blahde blahblah blah blahdeblah blah.

Blah blah blahde blahblah blah blahdeblah blah. Blah blah blahde blahblah blah blahdeblah blah. Blah blah blahde blahblah blah blahdeblah blah. Blah blah blahde blahblah blah blahdeblah blah. Blah blah blahde blahblah blah blahdeblah blah.
Contents:
List spherelinks by:
( ) alphabetical order
( ) date added to the nodesphere
(*) the order I specify
[x] Allow other users to add writeups to this nodesphere

Edit your writeup
 ---------------------------------------
| Blah blah blahde blahblah blah        |
| blahdeblah blah. Blah blah blahde     |
| blahblah blah blahdeblah blah.        |
| Blah blah blahde blahblah blah        |
| blahdeblah blah. Blah blah blahde     |
| blahblah blah blahdeblah blah.        |
| Blah blah blahde blahblah blah        |
| blahdeblah blah. Blah blah blahde     |
| blahblah blah blahdeblah blah.        |
| Blah blah blahde blahblah blah        |
| blahdeblah blah. Blah blah blahde     |
 ---------------------------------------
Link this writeup to the following nodesphere: [_____________________]

[sumbit]

Benefits of this approach:

  • By enforcing a one-to-many relationship, nodespheres and their linked writeups are forced to stick to a single topic. The cases where this is a problem (for instance, a writeup describing two different things that happen to have the same name) will be rare. At the same time, implementing an interface for authors to add their writeup to multiple nodespheres would be difficult.
  • Any noder (of sufficient level) can create a spheredoc and add content to it, but once it exists, any other noder can spherelink their writeup to it (if permitted). So we might turn the Everything FAQ into a spheredoc to which only editors can add writeups, or someone might create a nodesphere of sushi recipies that anyone can add to. This permits great flexibility when desired and great control when it's not.
  • Spherelinking my writeup is as easy as filling in a single text field (and making sure it's spelled right). The other options I've considered are a pulldown menu, which would be impractical since the number of spheredocs will be highly variable; and a text field in the spheredoc, which adds an unnecessary extra step by sending the writeup author to someone else's document.
  • Only the writeup author, or an editor, can link their writeup to a spheredoc. If I want to "invite" someone else's writeup to my nodesphere, I have to notify its author with a /msg or convince a content editor to do it for them. Writeup authors should have complete control over their own writeups, including what node and nodesphere it's a part of.
  • The spheredoc has content of its own, as well as a list of spherelinks. Whether the spheredoc itself should be votable or not I leave open to discussion. However, it should not display softlinks, and softlinks should not point to it. There's no real need, since the spherelink is bidirectional and serves the same purpose.
  • The spheredoc's node_id number would be just another field in the writeup database table. Or, perhaps a separate dbtable containing a many-to-many relationship of spheredocs to linked writeups would be the most efficient. Exactly how the spherelinked node_ids should be tied to the spheredoc is a technical matter I leave to those more familiar with E2's inner workings. However, I expect it should be implementable in the same way softlink lists are.

Possible uses for nodespheres:

  • List the albums by a particular band, and make each album a nodesphere to the individual songs.
  • A single "cookbook" nodesphere, containing nodespheres with recipes organized by course or national origin.
  • The Everything FAQ and Everything University might be recreated as nodespheres to make them easier to edit.
  • A noder heavily into daylogging might create a nodesphere for just their daylogs and dreamlogs, automatically ordered by date.
  • Any popular metanode could be re-implemented as a spheredoc to which others can spherelink, so it would continue to grow and remain current even if the creator isn't actively updating it.
Some more ideas for nodespheres... I will add/change this as people critique it, or I get ideas and the like.

- Navigation.

Since nodespheres will be pulling together certain groups of writeups, there needs to be a way to simplify navigating those grouped writeups. Of course you can click on the nodesphere link and go to the document listing the writeups and description and all that, but this could be annoying for a large nodesphere.

What I see, is the OPTION for a user to include a little mini-navigation "bar" in the writeup header that will offer the ability to jump around the nodesphere. Perhaps a few links like webrings presented in their navigation bar - a "next", "previous", and "random" option. Something like:

Since we have the writeup header display settings, I see no reason why there shouldn't at least be the option for a user to have this displayed, should they want to explore the nodesphere in that way.

I realize there are issues with deciding the order of writeups in a nodesphere, but regardless, there will be some sort of "order" (even if nothing else than the order added to the nodesphere), and thus we'll be able to navigate this way.

- Nodesphere Document

As mblase states above, and I came to feel independently of his comments, there needs to be more content on a nodesphere document than just the listing of writeups. A short little description of what it's about would definitely be helpful.

But I was wondering about taking it a step further. Allow the nodesphere owner at least the option of formatting the list of writeups. Huh? I shall explain. A nodesphere, by default, should automatically generate a list of all writeups in that nodesphere. But give the owner a little link on the side which would allow them to treat the listing as editable text. Then they could add any grouping of the writeups in subtopics, list them in any order they so desire, and so on. Of course, people viewing the nodesphere document would have a little link to still let them see the autogenerated list, to be certain of an up-to-date listing of contents.

- Links to other nodespheres?

One question I have is: should nodespheres have a method to be able to link to another nodesphere in the "writeup" in the nodesphere document? It's possible there could be somewhat related nodespheres, and some sort of linkage mechanism might encourage further navigation across and through nodespheres.


Pyrogenic: you seem to be address in the idea of "topics" in your writeup, not nodespheres. there are two different ideas going around, that should be able to coexist, but are not the same thing.

OK, IE just fscked me out of my nice WU on this topic, so I'll sum up. At the database/code level, writeups and nodespheres should be freely associable: a writeup may be in n topics, and that topic may be in n topics. An example: Both a writeup under Ronald Regan and the nodesphere/topic "Ronald Regan" might belong in both "Actors" and "US Presidents". What about Michael Jordan? I think my flip top box should be in both "Everything:Arts:Industrial Design:Packaging" and "Everything:Vices:Tobbacco"

moreover, "cd .." doesn't make sense except in context; without knowing what path you were looking at, a topic should have no "real" parent. When looking at the Ronald Regan nodesphere, one might want all its paths listed at the top. What i'm trying to say is that this doesn't want to be a strict tree structure.

more as time permits

Right. Ok.

The impression that I had got from reading JayBonci's original writeup a few months ago was that when you created a nodesphere, only nodes authored by you would be a part of it. Which would be neat, your own little metanodes. Actually had a few planned out. Perhaps less useful, in the cosmic sense, than the suggestions others have made, but probably infinitely easier to implement from a logistical standpoint.

Let's say I do a writeup of the Sleater-Kinney song Youth Decay. I include full lyrics and both sets of guitar tablature, and since I'm a good little boy, I also explicate like mad. Since this is such a lovely and useful node, I want to add it to a nodesphere, to increase its exposure and accessability. I'm kinda stuck, though, on where to put it.

My initial thought is to stick it in the Sleater-Kinney songs nodesphere. I get to wondering, though, where in the 'hierarchy' of nodespheres this particular one falls. Is it in Olympia punk songs nodesphere, which is then a member of Pacific Northwest punk songs, which is a member of Punk songs, which is a member of Songs? But shortly before the release of the album Youth Decay appears on, most of the band's members moved to Portland. Should Sleater-Kinney songs instead be a member of Portland punk songs? Neither one is really accurate for the whole of the material.

So let's say instead that Sleater-Kinney songs is just a member of Punk songs, and do away with all that geographical nonsense. But come to think of it, not all Sleater-Kinney songs are really punk rock - Jenny, for example. Maybe put it in 1990's songs? Nope, All Hands on the Bad One was released in 2000. So I guess we ought to just end up sticking Sleater-Kinney songs inside Songs. This is dumb. Since the writeup can only be a part of one nodesphere, we don't get to have Punk songs or 1990's songs or Female-Vocalist songs at all.

Even worse, if someone is looking specifically for, say, punk guitar tabs, they would have to sift through the whole list to find them, since my writeup can't be a member of both Sleater-Kinney songs and Guitar Tablature.

All this would be fixed by allowing membership in more than one nodesphere, which opens up a whole other can of worms altogether. I guess the point I'm trying to make is that if you're going to make this significant an addition to the functionality of the database, please try very hard to do it Right. This is not an easy problem, and could go badly quite easily.

I'm still quite partial to the personal nodesphere idea.

Log in or registerto write something here or to contact authors.