jkomoros / card-web

The web app behind thecompendium.cards
Apache License 2.0
53 stars 8 forks source link

Notion of Raw cards, with associated workflow, to make accumulating raw ideas easier #353

Open jkomoros opened 4 years ago

jkomoros commented 4 years ago

There's the 80-page catalog of rough content in the "staging" doc. The idea originally was that everything would be public, and concepts would "bake" from "Random Thoughts" upwards, accumulating rough ideas like that.

But in practice that's not what happens. Perhaps because Random Thoughts things do get tweeted? Or perhaps because the random parking lot for an idea is the artefact that will later be polished and shared? And also because a card has a finite length. There's a desire to make the card stand on its own and be full... but then that takes up all of the space and then later when you realize more ideas to connect you can't and there's no room.

Ideas are shifting as they accrete and distill. Ideally there would be a subterranean staging where you literally just free associate into a card-like thing that will never actually be cleaned up into a real card. And then the system processes n-grams or something and finds concepts to pop out, into NEW cards that link to the staging material. The staging material still exists, it's still in the web, but it's subterranean.

In general, the idea of finding interesting n-grams and allowing searching cards that way is interesting.

Maybe have a type of card that's called 'staging' or something. No title. Just a big text box. You also can't ever 'publish' a stagingn card. So the author can see the staging content, but no one else can, and there's no feeling that that content will ever be exposed.

And then have a flow to take a staging card, copy it, retain a link to the card it staged from, and then not have to worry about "losing" anything. The content just accretes.

And there would be a quick flow for editors to 'Collect Idea' that would automatically take you to a new card in the staging section. Staging tab would never be visible to anyone other than admins (or people who are allowed to create cards).

(The permission to create staging cards might be more common than the permission to create content cards)

So two ideas here: a staging card type and associated flows, and auto-n-grams that are kind of like tags, but automatic, and helps an editor or writer naturally see other cards that are related

jkomoros commented 4 years ago

Cards should have a references field, which is basically cards that this card links to but that aren't explicitly in the body. The extractCardLinks would also include those, so card.links would have them. ideally this would use exactly the format of whatever citations are, and be part of the same machinery (so maybe a map of card-id to true or string). That's how a card that's based on a raw card would show it's connected, it would automatically have that field set. Obviously those would be elided if the cards they point to aren't published, which raw cards never are.

Create Content Card button when editing a Raw card would create a new card, paste in that card's body, leave an empty title, and have a reference back to the raw card.

Similar cards--show many more while editing.

Similar cards should look into doing terms based on n-grams as well, the finger-prints might get higher quality, since some key terms are actually ngrams. For example, we could look over the whole corpus to find n-grams that appear to coccur a lot and then use those n-grams as the actual terms to fingerprint over.

Make a "Display Semantic Fingerprint" that basically takes the fingerprint for the card, and re-expands the stemmed words into real words, based on looking at the card and figuring out which stems match the word from that card. These Display SEmantic Fingerprints (perhaps with a date preprended) would be used in place of explicit titles for Raw cards, making them easier to grok when they show up in similar cards.

A way to view all similar cards for the current card, sorted by descending similarness, and with cards that are already linked grayed out? (This is captured in another issue somewhere about allowing similarCards to be done as a collection descriptor)

Raw cards shouldn't have a title, just one big text box, with text styling that is smaller than other cards so more content and ideas can fit.

jkomoros commented 4 years ago

Ideally raw cards would also be able to be sorted based on which ones a) aren't referenced yet by other cards ("undeveloped"), and b) have the fingerprint that overlaps with the most other undone raw cards (cocnepts that seem interesting)

Are raw cards in a special 'Raw Cards' section that's generally hidden from readers, or are they all orphaned? Is there a way to get literally all cards as a base set, including orpahned, so you have something like /everything/type-content/. (Isn't there another issue about how orphaned is a hard filter to do because 'all' isn't literally 'all'?)

jkomoros commented 3 years ago

The title of raw cards should be computed once when saved, and not derived live.

It should look like > 7/23/20 Trust Momentum Zig-or-zag...

Where the words are the top, de-stemmed fingerprint words, and the> is some kind of bullet to make them stand out in lists of card-link that have normal content cards in them

jkomoros commented 3 years ago

Should raw cards be orphaned, and accessible via /everything/type-raw/ or should they be mixed into normal sections, and typically in a 'Staging' section?

Pros of orphaned:

Pros of section:

In either case, we'll need to do some special behavior for new cards: new content cards go in the lowest normal section, and new raw cards go either in the staging section or orphaned.

... I also think that maybe it's better to shift to a model where every card--even orphaned ones--have an intrinsic order, so even orphaned cards can be ordered. Issue #199

jkomoros commented 3 years ago

The action to take a raw card and start working on it, while keeping a refefrence to the original, is a "fork" action. Also useful in e.g. #328. Would there need to be a special field for which card it was originally forked from, in addition to a generic reference to it?

jkomoros commented 3 years ago

OK, given that we'll do #199 at some point, we'll be able to reorder even orphaned cards, so raw cards should just be orphaned.

Order of operations: