hannesfrank / remnote-smart-rem

Smart Rem
MIT License
21 stars 4 forks source link

Argumente veranschaulichen #1

Open old479 opened 3 years ago

old479 commented 3 years ago

Hallo hannesfrank!

Ich nutze RemNote intensiv, denke und schreibe damit. Leider fühle ich mich aktiv im Englischen nicht wirklich wohl und vom Programmieren verstehe ich auch nicht viel. Bin also ein ganz trauriger Fall ;-)

Dennoch wende ich mich an dich, weil du vielleicht auch https://argdown.org/ interessant findest. Es geht darum, Argumentstrukturen zu visualisieren und ist von Philosophen am Lehrstuhl von Holm Tetens in Berlin bzw. jetzt in Karlsruhe (von seinem Schüler Prof. Betz und Mitarbeitern) entwickelt worden.

Ich möchte dich bitten, dir das anzuschauen und zu entscheiden, ob du es brauchbar findest und ob man es in RemNote als plug-in einbauen kann. Die API und eine Anleitung s.d.

Würde mich über Rückmeldung sehr freuen.

Siegmund alias grandpa (im Remnote-Forum) stkimhsk@gmail.com

hannesfrank commented 3 years ago

Ich war tatsächlich irgendwann auch schon mal auf der argdown Website und fand die Idee sehr interessant - gerade auch für Mehrspieler/kollaborative Wissensdatenbanken, die ja auch irgendwann demnächst für RemNote kommen. https://debategraph.org/ geht ja auch in die Richtung.

Die Frage ist nun, wie du dir die Interation in RemNote vorstellt ("plug-in" ist etwas weit gefasst 😉):

Für die ersten 4 Punkte ist es dann nötig, ein Konzept auszuarbeiten, wie (eine Teilmenge der) Argdown Syntax in RemNote übertragen werden, z.B. #Pro und #Contra Tags für entsprechende Argumente, Statements als name eines rems und deren Beschreibung als content (Rückseite), ...

Für einfache Anwendungen reicht es vielleicht schon die Argumente einfach mit #Pro und #Con zu taggen und hierarchisch einzurücken. Die "Pro and Cons Lists" aus der Library ist dafür ein guter Startpunkt. Man kann den Style natürlich auch relativ einfach etwas mehr an Argdown Graphen anlehnen:

image

Der Kreativität sind da keine Grenzen gesetzt! Wie gesagt, die Frage ist zuerst:

old479 commented 3 years ago

Erstmal: Vielen Dank, Hannes (?), für dein Interesse und die rasche Antwort! Das freut mich ungemein.

Aber ich kriege nun doch ein bisschen Angst vor der eigenen Courage... Du stellst da sofort ein paar richtig gute Fragen, die ich nicht ohne weiteres beantworten kann. Ich verstehe, wie gesagt, programmiertechnisch nur andeutungsweise, wie alles funktioniert und daher weiß ich auch kaum, was machbar ist. (Um meinen Defiziten etwas entgegen zu wirken, ziehe ich mir gerade einen online-Kurs über html/css rein, in der Hoffnung - möglichst noch zu Lebzeiten 8-) - daraufhin mit javascript und Konsorten ein wenig programmieren zu lernen. Aber das dauert und hilft nicht ad hoc. Deshalb habe ich dich ja angesprochen.)

Wie ich mir das mit der Integration von Argdown vorstelle?

Idealerweise würde ich argdown gerne direkt aus Remnote heraus nutzen wollen. So wie dein Beispiel, das prima aussieht (und das ich übrigens selbst auf Anhieb nicht nachmachen konnte.)

Natürlich böte sich auch eine Frage/Antwort-Struktur für das Lernen von Prämissen/Konklusionen an.

Aber das Ganze sollte m.E. unter Verwendung der von Argdown vorgegebenen Syntax laufen.

Denn auf diese Weise, stelle ich mir vor, könnten dann auch die Funktionsupdates von Argdown problemlos abgebildet/übernommen/eingespielt werden. Der weitere Entwicklungsaufwand verbliebe beim ursprünglichen Programmierer. (Vielleicht könnte der - Christian Voigt - ja auch für Remnote interessiert werden!? Er scheint mir offen für Zusammenarbeit zu sein.) Der Struktur-Graph sollte ähnlich dem Netzgraphen in Remnote zeitgleich erzeugt, jedoch darüber hinaus unbedingt auch als Bild eingebunden werden können.

Überziehe ich mit meinen Vorstellungen und Wünschen?

Ich sehe das völlig aus Nutzer-Sicht. Ich kann ja leider, leider nicht auf der technischen Ebene diskutieren oder gar mitmachen.

lg, Siegmund

PS: Ist das hier der richtige Ort? Du könntest mich gerne direkt über Email anschreiben oder wie immer du willst.

hannesfrank commented 3 years ago

online-Kurs über html/css

Ich glaube da muss ich Dich enttäuschen: HTML und CSS haben eher wenig mit Programmierung zu tun. Sie sind höchstens in soweit nützlich um zu erkennen, welche "Präzision" nötig ist um mit einem Computer zu kommunizieren. JavaScript eignet sich insofern als Einstiegsprogrammiersprache, als dass es einfach zu nutzen (läuft direkt im Browser), ziemlich fehlertolerant ist und es durch das riesige Ökosystem (das Web) viel Lernmaterial und Anwendungsmöglichkeiten gibt. Diese Einführung könnte ganz gut sein: https://de.khanacademy.org/computing/computer-programming/programming

Tatsächlich ist zum Mitreden vermutlich aber nicht die Programmiererfahrung selbst relevant, sondern das Denkmodell: Alles was man präzise formulieren kann, kann man einen Computer machen lassen. Mit Präzision meine mathematische Exaktheit, also nicht "Bestimme das häufigste Wort im Text", sondern z.B. "Schaue dir jedes der Wörter nacheinander an und für jedes dieser Wörter schaue dir alle anderen Wörter an und zähle wie oft es dem ersten gleicht. Merke dir das Maximum über alle Wörter der ersten Schleife." Aber vermutlich gehört da auch die Intuition dazu, was als Basisoperationen vom Computer oder fertigen Programmbibiliotheken bereits unterstützt wird und man als Bausteine zu einem größeren Ganzen zusammenbauen kann (z.B. de MapView von ArgDown ist schon fertig)🤔. Ist schon eine Weile her bei mir.

So wie dein Beispiel, das prima aussieht (und das ich übrigens selbst auf Anhieb nicht nachmachen konnte.)

  1. Optional für die +/- Icons die "Pro Cons Lists" aus der Library installieren (oben verlinkt).
  2. Folgendes in einen Codeblock in Custom CSS kopieren:
    
    [data-rem-container-tags~="argdown-statement"] > :first-child {
    border: 3px solid red;
    border-radius: 15px;
    padding: 5px;
    margin: 5px;
    }
    [data-rem-container-tags~="argdown"] .tree-node-container > :first-child {
    background-color: lightgrey;
    border: 1px solid black;
    border-radius: 15px;
    margin: 5px;
    padding: 5px;
    padding-left: 10px;
    }

[data-rem-container-tags~="argdown"] [data-rem-container-tags~="pro"] > :first-child { border-color: green; background-color: rgb(230, 250, 210); }

[data-rem-container-tags~="argdown"] [data-rem-container-tags~="con"] > :first-child { border-color: red; background-color: rgb(250, 230, 210); }

[data-rem-container-tags~="argdown-group"] { background: rgba(100, 100, 100, 0.1); border: 1px solid grey; }

3. Eine Argumentationshierarchie mit `#argdown` taggen und geschachtelte Argumente mit `#pro`,  `#con` etc. wie im Bild.

> Aber das Ganze sollte m.E. unter Verwendung der von Argdown vorgegebenen Syntax laufen.

Das ist eben genau der Knackpunkt: Wenn in RemNote eingebaute Features wie Tags und `Front:: Back` genutzt werden, dann bekommt man alle Vorteile dieser Features automatisch mitgeliefert, z.B. per Search Portal alle Pro Argumente einer Diskussion anzeigen, autogenerierte Flashcards, Konsistenz der Referenzen (Robustheit gegenüber Tippfehlern), ...
Wenn man einfach ArgDown in einen Codeblock schreibt (oder als plain text - softern das nicht mit der Formattierung von RemNote kollidiert) hat man das alles nicht. Z.B. kann man auf ein `+` am Anfang eines Rems nicht in CSS zugreifen um ihm einen grünen Hintergrund zu verpassen. Ein Tag wäre dafür praktischer.

Verwendet man RemNote Features würden diese für die Darstellung als Struktur-Graph in entsprechendes ArgDown umgewandelt werden und dann der Darstellungsroutine übergeben. Also ArgDown Updates könnte man so oder so bekommen.

> Der Struktur-Graph sollte ähnlich dem Netzgraphen in Remnote zeitgleich erzeugt, jedoch darüber hinaus unbedingt auch als Bild eingebunden werden können. Überziehe ich mit meinen Vorstellungen und Wünschen?

Das ist tatsächlich der einfachste Teil, da hierfür die ArgDown Programmbibliotheken direkt verwendet werden können.

Die Frage ist nur, was diese als Eingabe erhalten. Das ist der erste Schritt der Integrationsentwicklung: Sich überlegen, wie Argdown in RemNote abgebildet wird. Einfach den Text aus Codeblöcken? Oder Z.B. so ein Rem
![image](https://user-images.githubusercontent.com/4137110/111749715-74233800-8892-11eb-9b27-d62df2e03084.png)
(ohne Styling etwa)

Pro Argument:: Beschreibung des Pro Arguments #Pro

in das ArgDown umwandeln 

Falls man sich dann doch gegen Codeblöcke und für eine direktere Abbildung in RemNote entscheidet - was nicht zwingend ist, wofür ich aber plädieren würde (man bräuchte vielleicht eine Argument-Map um das zu entscheiden 😉) - muss man abwägen, welche ArgDown Features man alles (in einer ersten Plugin-Version) braucht. Reicht das einfach Statements und Pro/Contra-Argumente wie oben oder braucht man auch diese -> Komposition (man könnte vielleicht Portals in RemNote nehmen) oder premise-conclusion-structures etc.

Vielleicht könntest Du ja mal so tun als gäbe es den Struktur-Graphen bereits und mal eine Beispielargumentation mit allen möglichen Randfällen/ArgDown-Features, ganz so wie Du es dir wünschen würdest (als Codeblock oder mit dem Style oben), in RemNote zu schreiben. Die kann der Plugin-Entwickler dann direkt als Test-Daten verwenden.

PS: Ist das hier der richtige Ort? Du könntest mich gerne direkt über Email anschreiben oder wie immer du willst.

Wenn es dir nichts ausmacht, finde ich es gut den Plan öffentlich zu machen, damit wer auch immer das Plugin dann entwickelt (ich habe vielleicht im Moment nicht genug Zeit...) dann alle Infos hat.

LG Hannes.

old479 commented 3 years ago

Hallo Hannes!

- #html/css betrachte ich als Anfang, um dann zu den Höhen einer richtigen Programmiersprache aufzusteigen... erstmal warm laufen ;-)
- custom-css Pros and Cons List: Hab's hinbekommen! Danke für die Anleitung. Sieht cool aus.
    - Nur #argdown-statement wirkt sich bei mir nicht aus. Bleibt grau. Ich habe mir den Code - analogisch denkend - angeschaut! Sollte das nicht rot dargestellt werden?
    - [data-rem-container-tags~="argdown-statement"] > :first-child { border: 3px solid red;

Das ist eben genau der Knackpunkt:...

- Da gebe ich dir Recht! Natürlich wäre es wünschenswert, die Remnote-Features beizubehalten und dann mit Argdown-Features anzureichern. Hätte man die Vorteile aus zwei Welten.

Verwendet man RemNote Features würden diese für die Darstellung als Struktur-Graph in entsprechendes ArgDown umgewandelt werden und dann der Darstellungsroutine übergeben. Also ArgDown Updates könnte man so oder so bekommen.

- Kann ich noch nicht wirklich folgen / beurteilen. Aber hört sich einfach an...

Das ist tatsächlich der einfachste Teil, da hierfür die ArgDown Programmbibliotheken direkt verwendet werden können.

- Tja, wenn das kein Problem ist, wäre ich natürlich dafür. Verstehe aber noch !-) nicht, wie das funktioniert und könnte leider selbst nur wenig bis gar nichts beitragen.

Die Frage ist nur, was diese als Eingabe erhalten. Das ist der erste Schritt der Integrationsentwicklung: Sich überlegen, wie Argdown in RemNote abgebildet wird.

abwägen, welche ArgDown Features man alles (in einer ersten Plugin-Version) braucht.

- Der Anfang ist gemacht mit deinen Pros und Contras! Aber wie oben gesagt...

Vielleicht könntest Du ja mal so tun als gäbe es den Struktur-Graphen bereits und mal eine Beispielargumentation mit allen möglichen Randfällen/ArgDown-Features, ganz so wie Du es dir wünschen würdest (als Codeblock oder mit dem Style oben), in RemNote zu schreiben. Die kann der Plugin-Entwickler dann direkt als Test-Daten verwenden.

- Ich versuche es. Denke, dass ich das in VSCode anlege... Mal sehen. Habe schon einen Beispieltext zum allseits beliebten Ethik-Thema zur Nutzung von Embryonen. Dauert aber, bis ich so weit bin.

Wenn es dir nichts ausmacht, finde ich es gut den Plan öffentlich zu machen...

- Habe ich im Prinzip überhaupt nichts dagegen. Aber da ist die Sache mit meinem Englisch. In der Schule habe ich Latein, Altgriechisch und Französisch gelernt. Ist lange her und fast vergessen. Englisch habe ich mir später selbst beigebracht - bis heute leider fast ohne aktive Verwendung, außer dass ich mich hin und wieder und ganz vorsichtig in Internetdiskussionen einmische. Trockenschwimmen sozusagen. Kann es lesend einigermaßen verstehen; schreiben - na ja. Traue mich kaum. Fühle mich unsicher, weil ich kaum Sprachgefühl entwickelt habe - und etwas zu perfektionistisch veranlagt bin.

lg, Siegmund

old479 commented 3 years ago

Diskussion beendet, Hannes? Kein Interesse mehr? Wäre natürlich in Ordnung. Würde es nur gerne wissen. Danke.