Hallo Boys,
ich bin mit meinem Karteikartenlernprogramm zwar schon fast fertig - aber mich wurmt noch eine grundlegende Sache:
In meinem Model gibt es "Karteikästen" und jeder Karteikasten enthält "Karteikarten". Jede Karteikarte besteht aus zwei Seiten - einer Vorderseite und einer Rückseite.
So - oft benötigt man aber mehr als zwei Seiten pro Karteikarte - einige Benutzer haben mir gesagt, dass das beim Lernen von chinesischen Schriftzeichen oder von griechischen Worten sehr wichtig ist. Man glaubt garnich wie verbreitet griechisch noch ist - insbesondere altgriechisch - jedenfalls haben sich einige beschwert, die das mit meinem Programm versuchen zu lernen.
Ich habe viel probiert und getestet mehr als zwei (nämlich unendlich viele) Seiten pro Karteikarte zuzulassen. Mein Model sah bei den Versuchen immer in etwa wie folgt aus:
Karteikasten <<----->> Karteikarte <----->> Seite
(Doppelpfeil = to many - einfacher Pfeil = to one).
Bei einem solchen Model ergaben sich dann folgende Probleme:
1. Benutzer klickt auf einen Karteikasten und in einer Tabelle werden alle Karteikarten angezeigt. Was soll "ich" tun, falls in einem Karteikasten Karteikarten mit 2 und 5 Seiten sind? Pro Seite eine Spalte? Die anderen Spalten bleiben leer? WTF?
2. Auf "Bindings" muss dann in einer Tabelle komplett verzichtet werden, da sich die daten nicht in einer Tabelle abbilden lassen.
3. Beim Üben soll der Benutzer irgendwie die Reihenfolge der Seiten festlegen sollen (gefragt wird Vorderseite und die Antwort ist die Rückseite und vice versa).
4. Intelligente Ordner (bzw. intelligente Karteikästen) wäre mit n Seiten pro Karte extrem kompliziert zu implementieren gewesen
5. Die GUI des Programms müsste im gesamten wesentlich dynamischer sein, da ja die Anzahl der Seiten nicht konstant ist.
Ich habe mir auch überlegt eine Beschränkung einzuführen: Alle Karteikarten, welche sich in Karteikasten A befinden müssen die gleiche Anzahl an Seiten haben. Das löst viele der oben genannten Probleme. Allerdings schafft man sich damit auch neue:
1. Zieht der Benutzer eine Karteikarte von Karteikasten A (welcher Karteikarten mit 2 Seiten verwaltet) in Karteikasten B (welcher Karteikarten mit 3 Seiten verwaltet) so muss dies unterbunden werden oder es muss eine Kopie der Karteikarte angefertigt werden und nicht einfach nur eine Referenz.
Und noch einige, die mir gerade nicht einfallen.
Aus diesen Gründen habe ich mich dazu entschlossen das Programm auf zwei Seiten pro Karteikarte zu beschränken.
Bevor ich nun das Programm zum Testen freigebe wollte ich hier nochmal nachfragen, ob ihr nicht eine glänzende Idee habt, wie man mit einem möglichst schlauen Model den Problemen aus dem Wege gehen kann.
ich bin mit meinem Karteikartenlernprogramm zwar schon fast fertig - aber mich wurmt noch eine grundlegende Sache:
In meinem Model gibt es "Karteikästen" und jeder Karteikasten enthält "Karteikarten". Jede Karteikarte besteht aus zwei Seiten - einer Vorderseite und einer Rückseite.
So - oft benötigt man aber mehr als zwei Seiten pro Karteikarte - einige Benutzer haben mir gesagt, dass das beim Lernen von chinesischen Schriftzeichen oder von griechischen Worten sehr wichtig ist. Man glaubt garnich wie verbreitet griechisch noch ist - insbesondere altgriechisch - jedenfalls haben sich einige beschwert, die das mit meinem Programm versuchen zu lernen.
Ich habe viel probiert und getestet mehr als zwei (nämlich unendlich viele) Seiten pro Karteikarte zuzulassen. Mein Model sah bei den Versuchen immer in etwa wie folgt aus:
Karteikasten <<----->> Karteikarte <----->> Seite
(Doppelpfeil = to many - einfacher Pfeil = to one).
Bei einem solchen Model ergaben sich dann folgende Probleme:
1. Benutzer klickt auf einen Karteikasten und in einer Tabelle werden alle Karteikarten angezeigt. Was soll "ich" tun, falls in einem Karteikasten Karteikarten mit 2 und 5 Seiten sind? Pro Seite eine Spalte? Die anderen Spalten bleiben leer? WTF?
2. Auf "Bindings" muss dann in einer Tabelle komplett verzichtet werden, da sich die daten nicht in einer Tabelle abbilden lassen.
3. Beim Üben soll der Benutzer irgendwie die Reihenfolge der Seiten festlegen sollen (gefragt wird Vorderseite und die Antwort ist die Rückseite und vice versa).
4. Intelligente Ordner (bzw. intelligente Karteikästen) wäre mit n Seiten pro Karte extrem kompliziert zu implementieren gewesen
5. Die GUI des Programms müsste im gesamten wesentlich dynamischer sein, da ja die Anzahl der Seiten nicht konstant ist.
Ich habe mir auch überlegt eine Beschränkung einzuführen: Alle Karteikarten, welche sich in Karteikasten A befinden müssen die gleiche Anzahl an Seiten haben. Das löst viele der oben genannten Probleme. Allerdings schafft man sich damit auch neue:
1. Zieht der Benutzer eine Karteikarte von Karteikasten A (welcher Karteikarten mit 2 Seiten verwaltet) in Karteikasten B (welcher Karteikarten mit 3 Seiten verwaltet) so muss dies unterbunden werden oder es muss eine Kopie der Karteikarte angefertigt werden und nicht einfach nur eine Referenz.
Und noch einige, die mir gerade nicht einfallen.
Aus diesen Gründen habe ich mich dazu entschlossen das Programm auf zwei Seiten pro Karteikarte zu beschränken.
Bevor ich nun das Programm zum Testen freigebe wollte ich hier nochmal nachfragen, ob ihr nicht eine glänzende Idee habt, wie man mit einem möglichst schlauen Model den Problemen aus dem Wege gehen kann.
Die Objective-Cloud ist fertig wenn sie fertig ist. Beta heißt Beta.
Objective-C und Cocoa Band 2: Fortgeschrittene
Cocoa/Objective-C Seminare von [co coa:ding].
Objective-C und Cocoa Band 2: Fortgeschrittene
Cocoa/Objective-C Seminare von [co coa:ding].