Beiträge von Teralios

Geöffnet als Baustelle! ;) Umbauarbeiten erfolgen noch über einige Bereiche!

    Auch wenn ich den Wunsch hier verstehen kann, möchte ich an der Stelle das System auch immer noch einfach halten, nicht nur wegen dem JavaScript, sondern auch wegen der Bedienbarkeit.


    Solche Features sind in der Regel für wenige interessant, für viele nicht und bringen so Komplexität in das Programm, die gewartet werden muss. Ich muss hier auch den Faktor Zeit mit einplanen. Komplexität steigert allgemein den Aufwand, da ich bei zukünftigen Änderungen auch immer beachten muss, was eventuell an andere Stelle passiert.


    Ich will möglichst nah bei KISS bleiben, was das Tool angeht, das bedeutet auch, dass ich an manchen Stellen Kompromisse machen muss - hier eben der Link - statt noch einen Beitragseditor mit Anhängen und Co hinten dran zu schalten.

    Ach, die Texte muss man dennoch schreiben und brauch eh ne Druckbare-Version für die Kollegen.


    Und das mit Jakob: Eigentlich ist er sehr nett und okay, aber ich glaub, er muss ein wenig was kompensieren und neigt deswegen zum flunkern.


    Dumm ist halt, wenn ein Teil seiner Flunkerrei auffliegt, wenn man nicht nur WoltLab liest.


    Auf Zeit.de hat er sich einem Debatte mit dem aktuellen Präsidenten der Bundesagentur für Arbeit gestellt. Sehr mutig, nur passt das, was da geschrieben wurde nicht zu dem, was er bei WoltLab gerne erzählte über sich.


    Wenn man das aber versteht, weiß man auch vorher und warum das so kam. Er ist Jung und muss sich noch finden. Da genießt er bei mir auch etwas Welpenschutz.

    Ausgehend von hier:

    Mal abwarten, eventuell hat sich das auch mit der nächsten Version.


    Vielleicht ist das Problem auch ein Fehler, der durch einen Fehler an einer anderen Stelle korrigiert wurde und daher bei mir nicht mehr reproduziert werden kann.


    Es ist eine Beta, da kommt es auch manchmal zu seltsamen Fehlern.

    Die Fragen, Antworten als auch die Erklärung sind an der Stelle auch beschränkt mit der Zeichenzahl, muss dazu aber sagen, dass ich die Limits recht großzügig ausgelegt habe.


    Warum ich bei den Fragen keine Formatierung unterstütze, hat auch ein paar technische Hintergründe. Du merkst sicherlich, dass mein System wesentlich "interaktiver" ist, als zum Beispiel das von UdoZ. Das liegt daran, dass das eigentliche Quiz im Browser gespielt wird und per JavaScript realisiert wurde - das war für mich von Anfang an wichtig. Das hat Vorteile - die Belastung für den Server sinkt, das ganze Quiz kommt in der Form mit drei Server-Requests aus - die Quiz-Seite, das Laden der Daten vom Quiz und das Eintragen des Ergebnisses. Nur einer dieser Request ist wirklich vollständig, alles andere sind sparsame JSON-Requests, die nur wenige Daten übertragen.


    Der Hauptarbeit beim Spielen läuft über JavaScript ab, was an der Stelle auch recht "komplex" ist. Der DOM-Baum der Seite wird gerade zum Start des Spieles stark modifiziert und damit auch der Browser stark belastet. Ich habe bereits beim QuizCreator 1.0 bemerkt, dass so Sachen wie object.innerHtml oder object.append(otherObject) bei dem Anpassen des Spielfeldes gerne die Last auf dem Browser stark erhöht und auch die Webseite nicht ganz so schnell mit kommt. Ich hab mir damals ein paar Artikel durchgelesen, die genau auf diesen Umstand eingehen und wie man die Performance des JavaScripts optimiert und der Hauptpunkt ist: soviel Manipulation am DOM-Baum wie nötig, so wenig wie möglich.


    Das führte beim alten Spielfeld dazu, dass ich alle Texte, die benötigt werden, nicht mehr per innertHtml, append oder replace einfüge, sondern per object.textContent = question. Das hat an der Stelle ein paar Vorteile: 1. Die Sicherheit steigt. Texte müssen nicht auf schadhaften Code geprüft werden. 2. Die Geschwindigkeit nimmt drastisch zu, denn der DOM-Baum muss weder in Teilen noch vollständig neu vom Browser verarbeitet werden.


    Im neuen Spielfeld - in den ersten Versuchen - merkte ich dann auch, dass ich den DOM-Baum möglichst wenig modifizieren sollte, denn sonst funktionieren manche CSS-Effekte und Animationen nicht so wie man es erwarten würde, denn der Browser war noch damit beschäftigt den DOM-Baum neu zu rendern und kam nicht nach. Das geht sogar so weit, dass es - auch im QuizCreator 1.0 - einen sehr seltenen Fehler mit dem Zeitzähler des QuizCreators gibt: Der wird nicht korrekt beendet und läuft weiter! Das ist ein Fehler, der sehr selten auftritt und primär auf schwächeren Geräten - ich teste auch mit einem Atom-Chromebook.


    Würde ich hier in den Antworten nun wirklich komplexe Texte ermöglichen, müsste man wieder auf innerHtml zurückgreifen, damit würde ich dann eine potenzielle Schwachstelle schaffen - Einfallstor für XSS - und würde den Browser noch stärker belasten, weil hier der DOM-Baum in relativ kurzen Abständen immer wieder neu gerendert werden müsste. Klar, das könnte ich auch wieder reduzieren, würde damit aber den JavaScript-Code wieder komplexer machen, weil ich dann eventuell nicht nur - wie jetzt - die aktuelle Frage darstellen muss, sondern auch die nächste um entsprechend dem Browser Zeit zugeben. Ebenso müsste ich eventuell auch die Zeit, in der die Intermission angezeigt wird, von aktuell 500 ms auf 1 s erhöhen.


    Der Mehrwert von vollwertigen Erklärungen steht für mich an dieser Stelle nicht in Relation zu den zu erwartenden Kosten.

    Nein, an der Stelle ist das nicht möglich und würde an der Stelle auch mit den Ansichten kollidieren, weil die Ansichten dann massiv aufgebläht werden.


    Die Erklärung wird im Spiel selbst als auch beim Ergebnis angezeigt und würde man da formatierte Texte unterstützen, würde das alles sehr lang werden. Die Erklärung soll wirklich möglichst einfach gehalten werden.

    So, ich habe jetzt weitere Tests durchgeführt und den Fehler immer noch nicht reproduzieren können:


    PHPOSBrowserStatus
    7.2macOSFirefox
    Chrome
    Safari
    kein Fehler
    7.2iOSSafarikein Fehler
    7.2WindowsEdge
    Firefox
    Chrome
    Vivaldi
    kein Fehler
    7.3macOSSafari
    Firefox
    kein Fehler
    7.4macOSSafari
    Firefox
    kein Fehler
    7.4Windows 10Firefox (lts)
    Firefox
    Edge
    Safari
    Chrome
    kein Fehler
    8.0macOSFirefox
    Safari
    Chrome
    Firefox (lts)
    Opera
    Vivaldi
    kein Fehler
    8.0Windows 10Firefox
    Edge
    Chrome
    Opera
    Vivaldi
    Brave
    Kein Fehler
    8.0iOSSafarikein Fehler
    8.0iPadOSSafari
    Firefox
    kein Fehler
    8.0Android 8Chromekein Fehler

    Ich habe sehr viel Arbeit nun investiert, um diesen Fehler nachvollziehen zu können.


    Selbst ein altes Sony SmartPhone von 2018 - also 3 Jahre deswegen nicht das neuste Android.


    Natürlich kann es sein, das bei Windows 11 und Android 12 es zu Problemen kommt. NUR beides sind noch Entwickler-Versionen und damit kann auch dort ein Fehler vorliegen.


    Keiner kann von mir verlangen, dass ich nun mir ein Win11 aufsetze - ein paar Stunden - oder ein SmartPhone beschaffe auf dem Android 12 läuft. Ich selbst habe keines und der Kostenfaktor steht in keinem Verhältnis zum Nutzen.


    Ebenso sagte ich: Der Fehler könnte auch mit den Plugins zusammenhängen. Deswegen erneut: Tritt der Fehler in einer sauberen Installation auch auf?


    Es ist von mit nicht zu viel verlangt, das du dir mal ein saubere WSC installierst und nach siehst ob es da auch zum Fehler kommt.


    Ich habe auch noch was anderes zutun. Ich habe für diesen Fehler nun fast 12 Stunden investiert um ihn nachzuvollziehen und ebenso Freunde gefragt die passende Smartphone habe nur hat von denen keiner Android 12 installiert. Wird auch keiner weil es entweder nicht geht oder nicht gewollt ist.


    Und selbst Matthias von Woltnet versucht sein Bestes, das wir den Fehler nachvollziehen können.

    Ich habe den QuizCreator nun in 6 Testinstallationen installiert, mit verschiedensten Browsern und Co getestet und kann keinen Fehler fest stellen. Ich habe dir bereits gesagt, dass hier eventuell ein Plugin sich beißt dass du eventuell mal alle Plugins deinstallierst, damit man feststellt ob der Fehler dann auch vorhanden ist oder nicht.


    Das hast du nicht gemacht, sondern mir nur eine Liste von Plugins gegeben. Nett, aber einen Teilm davon müsste ich mir über Umwege besorgen oder bin auf den guten Willen der Anbieter angewiesen.


    Ich habe nun mit dem Testen mehrere Stunden verbracht und du findest es falsch, dass ich dir sage, dass du bitte eine saubere Installation aufsetzt und schaust, ob da auch der Fehler auftritt bei dir, weil man da zumindest etwas einschränken kann?


    Und du findest das echt falsch? Echt jetzt? Ich habe das gemacht, was ich machen kann und ich werde jetzt mir ganz sicher kein Handy besorgen auf dem man Android 12 - im übrigen auch noch BETA ist - zumal das wieder ein massiver Kostenfaktor ist.


    Ja, wenn du nicht mal bereit bist dir eine saubere Testinstallation zu nutzen um zu schauen, ob es vielleicht daran liegt - was nicht mal die Arbeit ist - dann ist es echt besser du setzt den QuizCreator nicht ein.


    Einen schönen Tag noch!