Hallo Besucher, der Thread wurde 106k mal aufgerufen und enthält 727 Antworten

letzter Beitrag von emulaThor am

Webbrowser für 8-Bit-Rechner

  • Aber nachträglich an die Stelle legen, weil der Font dort nur Platz verschwendet, ist sinnvoll.

    So könnte man es wohl machen, wenn es nicht zuviele Zeichen werden.


    Das soll ein M sein, das gleichzeitig einen Pfeil nach unten enthält und steht für "Menu", welches sich nach unten aufklappt. Das ist aus der ursprünglichen Android-Hamburger-Menü-Darstellung entstanden.

    O.K., aber wofür braucht's dann noch das andere Hamburger-Strichel-Symbol?


    Falls du meine Menüleiste 1:1 übernehmen willst (was mir sehr gefallen würde): Sie nimmt 16 Pixel in der Höhe ein und geht horizontal über den ganzen Screen.

    :)


    Ging einfacher, als zunächst befürchtet (wegen des blödes Bitmap-Aufbaus) und sieht schon schick aus:



    Hab' mir da wieder Steuerzeichen angelegt (@@D = Double Line, @@S = Single Line), so kann man die Zeilen nach belieben darstellen.


    Die Menü-Beschriftung

    Die Doppel-Zeilen-Geschichte ist ja auch sehr hilfreich für die Menü-Darstellung, so wie du sie gezeichnet hast. Das Menü wird ja jetzt der erste wirklich interaktive Teil. Da muss ich mir erstmal einen Kopf drüber machen, wie ich das angehe. Mal sehen, was das Wochenende bringt.

  • Gut, man könnte natürlich die Komplexität auflösen und sagen, dass man tiefe Verschachtelungen vermeiden möchte.

    Aber wo zieht man da die Grenze?

    Das könnte man machen. Allerdings sollte man im Hinterkopf behalten, dass wir später nicht nur dieses Forum – und nicht nur Foren überhaupt – darstellen wollen. Und auf anderen Seiten wünscht man vielleicht nicht, dass bei jedem DIV- oder P-Wechsel ein Farbwechsel stattfindet.

    Ggf. wäre ein zu-/abschalten dieser farblichen Hervorhebung vielleicht denkbar - falls man mal sonst gar keinen Sinn in die Anordnung der Seite bekommt.
    Oder wenigstens einen Wechsel zwischen hell-/dunkelgrau. Farblich abgehoben und doch ordentlich.

    Und wir können z.B. in einem Kommentar vermerken, dass es sich dabei wahrscheinlich um ein Menü handelt.

    Klingt gut.

    Oder wenn man Standard-HTML verwendet, könnte man einen (fast überall vorhandenen) Browser verwenden, notfalls Lynx.

    Aber ein Terminal kann man sich zur Not in ein paar Zeilen Basic zusammenstanzen. Ich denke, das wird einfach eine Option bleiben, die standardmäßig eben nicht aktiviert ist.


    Soweit ich weiß, stellt der Browser eine ganz normale HTTP-Anfrage. Die wird dank des voreingestellten Proxys auf die Proxy-URL umgelenkt, der die Anfrage dann durchleitet und die Antwort anschließend verarbeitet

    Also per ATGETHTTP://... kann ich mit dem Melbourne WLAN Modem im Prinzip schon alles erreichen - also vermutlich auch mit den anderen Modems.


    Über Formulare will ich noch gar nicht so sehr nachdenken.


    Was Bilder angeht, müsste der Browser selbst auch mitteilen, ober die Bilder tatsächlich als <img...> Tag haben und nachladen möchte (sofern er irgendwie dazu in der Lage sein sollte) oder ob diese ggf. als LINK dargestellt werden - wenn es irgendeine Möglichkeit gibt diese Bilder darzustellen.

  • O.K., aber wofür braucht's dann noch das andere Hamburger-Strichel-Symbol?

    Das andere Menü mit Hamburger-Icon war ein beispielhaftes Menü auf der Website, während das M-Menü das Hauptmenü des Browsers ist. Gerade um das besser zu unterscheiden, hatte ich das M-Symbol (exklusiv) für das Browser-GUI entworfen.


    Ging einfacher, als zunächst befürchtet (wegen des blödes Bitmap-Aufbaus) und sieht schon schick aus:

    Das finde ich auch. Toll, dass es dir so wenig Kopfschmerzen bereitet hat, das umzusetzen. Ich werde irgendwann einen kleinen Font mit den GUI-Elementen anlegen, den man dann hinmappen kann, wo immer man ihn hin haben möchte.


    Aber wo zieht man da die Grenze? [bei den Verschachtelungen]

    Das weiß ich auch noch nicht. ich werde mal in mich gehen.


    Ggf. wäre ein zu-/abschalten dieser farblichen Hervorhebung vielleicht denkbar - falls man mal sonst gar keinen Sinn in die Anordnung der Seite bekommt. Oder wenigstens einen Wechsel zwischen hell-/dunkelgrau. Farblich abgehoben und doch ordentlich.

    Vielleicht muss man das auch erstmal mit einigen Seiten ausprobieren, um zu gucken, wo und wie man das optimieren kann.


    Ich denke, [der Terminal-Mode] wird einfach eine Option bleiben, die standardmäßig eben nicht aktiviert ist.

    Ich habe da überhaupt nichts gegen. Nur als Default hätte ich es eher doof gefunden – aber optional gerne.


    Was Bilder angeht, müsste der Browser selbst auch mitteilen, ober die Bilder tatsächlich als <img...> Tag haben und nachladen möchte (sofern er irgendwie dazu in der Lage sein sollte) oder ob diese ggf. als LINK dargestellt werden - wenn es irgendeine Möglichkeit gibt diese Bilder darzustellen.

    Ich hatte da irgendwann mal verschiedene Konzepte erwähnt. Momentan würde ich sagen, dass sich der Retro-Browser gegenüber dem Proxy ausweisen sollte (wie es aktuelle Browser ja auch tun). Er gibt preis, um welchen Client-Rechner es sich grundsätzlich handelt und nennt bestimmte Fähigkeiten (Bitmap vs. Textmode, RAM-Ausstattung, Anbindungs-Geschwindigkeit ...). Der Proxy passt dann seinen Output darauf an. Bei einem Amiga würde er Grafiken herunter rechnen und auf der Seite platzieren, beim C64 gäbe es Bilder nur "auf Anfrage", bei einem PET noch nichtmal die. Im HTML-Text gibt es dann nur einen Link mit Alt-Tag. Der Browser könnte dann, wie in einem meiner Mockups, einen Rahmen um den Alt-Namen legen und bei Klick das (schon vorher konvertierte) Bild fullscreen laden.


    All das wäre in sauberstem HTML möglich. Mal handelt es sich im IMG-Tags, mal um verlinkte Bilder und bei fehlenden Grafikfähigkeiten (PET ...) steht da halt nur noch die ALT-Bezeichnung der Grafik – ohne Link.

  • Momentan würde ich sagen, dass sich der Retro-Browser gegenüber dem Proxy ausweisen sollte (wie es aktuelle Browser ja auch tun). Er gibt preis, um welchen Client-Rechner es sich grundsätzlich handelt und nennt bestimmte Fähigkeiten (Bitmap vs. Textmode, RAM-Ausstattung, Anbindungs-Geschwindigkeit ...). Der Proxy passt dann seinen Output darauf an. Bei einem Amiga würde er Grafiken herunter rechnen und auf der Seite platzieren, beim C64 gäbe es Bilder nur "auf Anfrage", bei einem PET noch nichtmal die. Im HTML-Text gibt es dann nur einen Link mit Alt-Tag. Der Browser könnte dann, wie in einem meiner Mockups, einen Rahmen um den Alt-Namen legen und bei Klick das (schon vorher konvertierte) Bild fullscreen laden.


    All das wäre in sauberstem HTML möglich. Mal handelt es sich im IMG-Tags, mal um verlinkte Bilder und bei fehlenden Grafikfähigkeiten (PET ...) steht da halt nur noch die ALT-Bezeichnung der Grafik – ohne Link.

    Sofern man zur Kommunikation ATGETHTTP... o.ä. verwendet, identifiziert sich der Browser gar nicht. Der Retro-Browser kann beim Aufruf einer Seite oder beim "anmelden" diverse Informationen übergeben.
    Was Bilder angeht muss ich komplett passen, habe ich keinen Plan.
    Was ALT-Namen in den IMG Tags angeht, werden diese häufig immernoch nicht verwendet. Quelltext dieser Seite hat bei ca. 500 links knapp 10-15 ALT oder TITLE Tags. Ich würde dann vermutlich bei nicht Vorhandensein auf Proxyebene einen ALT-Namen erstellen (entweder anhand eines Titels oder des Dateinamens (ohne Pfad)).

  • Die Doppel-Zeilen-Geschichte ist ja auch sehr hilfreich für die Menü-Darstellung, so wie du sie gezeichnet hast.

    Was gibt es denn für Vorgaben für die Icons? Dürfen die höher als 8 Pixel sein oder ist ein klassischer C64-Char die Grenze? (Mein Reload-Button ist 9 Pixel hoch, was ja bei 16 Pixeln Höhe des blauen Kopfbereichs normal kein Problem darstellt.)


    Was Bilder angeht muss ich komplett passen, habe ich keinen Plan.

    Kein Problem. Es gibt dafür teils Bibliotheken, die man einfach einbinden kann, und was da noch fehlt, kann uns bestimmt jemand basteln, wenn wir soweit sein sollten. Bis dahin kannst du Bilder erst mal ignorieren.


    Was ALT-Namen in den IMG Tags angeht, werden diese häufig immernoch nicht verwendet. [...] Ich würde dann vermutlich bei nicht Vorhandensein auf Proxyebene einen ALT-Namen erstellen (entweder anhand eines Titels oder des Dateinamens (ohne Pfad)).

    Das klingt nach einem sinnvollen Plan.

  • Was gibt es denn für Vorgaben für die Icons?

    Eigentlich keine.


    Dürfen die höher als 8 Pixel sein oder ist ein klassischer C64-Char die Grenze? (Mein Reload-Button ist 9 Pixel hoch, was ja bei 16 Pixeln Höhe des blauen Kopfbereichs normal kein Problem darstellt.)

    Der Button kann auch gerne 9 Pixel hoch sein (oder auch 13/16 was-auch-immer). Oder auch 16x16 Pixel groß. Wichtig ist nur, dass sie dann vertikal zentriert und aneinanderhängend gepixelt werden, quasi wie ein Tile.


    Ansonsten bin ich noch nicht groß weiter gekommen. Suche noch einen nervigen Bug beim Farbsetzen im >255 Pixel-Bereich. Bin ich grad noch wieder dran.

  • Der Button kann auch gerne 9 Pixel hoch sein (oder auch 13/16 was-auch-immer). Oder auch 16x16 Pixel groß. Wichtig ist nur, dass sie dann vertikal zentriert und aneinanderhängend gepixelt werden, quasi wie ein Tile.

    Ich habe jetzt mal alle bisher gepixelten GUI-Elemente in ein PNG (mit C64-Palette, 256 x 12 Pixel) gepackt:


    C64Browser-GUI-Font.png
    Kannst du damit direkt etwas anfangen?

  • Kannst du damit direkt etwas anfangen?

    Ja, Danke, hab sie alle drin und sind schon schick(er)! Hab' sie nun einfach per Hand nachgepixelt bzw. sie ja schon vorher so (ähnlich) drin gehabt. Passen bislang auch noch schön in die $80-$9F-Lücke (9 x 1x1 / 3 x 1x2 / 4 x 2x2 / = 31 Chars). Wenn nix mehr dazu käme, wäre schön, aber auch nicht sonderlich tragisch, wenn nicht.


    Hab' mir nur die Tage den Code etwas zerschossen :schande: , weil ich an zu vielen Schrauben gleichzeitig gedreht habe und nur noch die erste 'Kolumne' sauber geschrieben wird. Bin da am suchen...


  • Ja, Danke, hab sie alle drin und sind schon schick(er)!

    Danke. Ist deine Technik auch in der Lage, den 16x16 Pixel Hintergrund eines Icons, wie von mir angedeutet, bei klick, Tab (oder sogar mausover) umzufärben?


    Die Funktionen sind wahrscheinlich weitgehend selbsterklärend: Pfeil links/rechts dienen der Navigation in der "History", wobei man es beim C64 nicht übertreiben muss, was die Anzahl der gemerkten Einträge angeht. 8 sollten dicke reichen. Dann folgt der Geschwungene Pfeil, der einen Reload andeuten soll. Das X schließt die Seite (und öffnet eine, in den Prefs definierte, Startseite – da wir ja keine weiteren Fenster/Tabs haben) oder stoppt einen Seitenaufbau, solange er nicht beendet wurde. Auf der rechten Seite der URL-Zeile folgt dann das Pluszeichen, dass einen Bookmark anlegt und das M, welches weitere Menüpunkte (vielleicht speichern der aktuellen Seite als Text, öffnen der Bookmark-Liste, Einstellungen ...) anbietet.


    Hab' mir nur die Tage den Code etwas zerschossen

    Das tut mir leid. Ich hoffe, dass du das schnell wieder repariert bekommst.

  • wobei man es beim C64 nicht übertreiben muss, was die Anzahl der gemerkten Einträge angeht.

    ...das merken könnte doch auch der Proxy übernehmen.

    Das X schließt die Seite (und öffnet eine, in den Prefs definierte, Startseite – da wir ja keine weiteren Fenster/Tabs haben)

    ...auch TABS könnte ggf. ein Proxy "offenhalten" (zwischenspeichern) und ohne wirklich neu zu laden neu senden. Die TABS könnte man dann im Browser auch als Hamburger Menü darstellen.


    Was evtl. noch fehlt, ist ein vor und zurück innerhalb einer sehr Quelltext intensiven Seite (die z.B. nicht in den Speicher eines c64 passt). Wobei das sinnvoller Weise über die seitliche Laufleiste erledigt werden könnte.

  • ...das merken könnte doch auch der Proxy übernehmen.
    ...auch TABS könnte ggf. ein Proxy "offenhalten" (zwischenspeichern) und ohne wirklich neu zu laden neu senden.

    Gute Idee. Aber ich wollte dem Proxy nicht zu viel Arbeit zuschieben – nicht dass der Proxy-Programmierer deshalb noch die Lust verliert. ;)


    Was evtl. noch fehlt, ist ein vor und zurück innerhalb einer sehr Quelltext intensiven Seite (die z.B. nicht in den Speicher eines c64 passt). Wobei das sinnvoller Weise über die seitliche Laufleiste erledigt werden könnte.

    So hatte ich mir das auch gedacht. Eine Seite wird bis etwa zum Speicherlimit (vorher kundgetan, könnte ja auch eine REU vorhanden sein) auf den C64 geschoben und wenn man mit dem Scrollen ans vorläufige Ende stößt, dann schiebt der Proxy Daten nach (bzw. überschreibt die ältesten Daten).

  • Ist deine Technik auch in der Lage, den 16x16 Pixel Hintergrund eines Icons, wie von mir angedeutet, bei klick, Tab (oder sogar mausover) umzufärben?

    Sicherlich. Ist zwar noch nicht wirklich drin, aber bei einer festen Position des Buttons im 8-Px.-Raster ja eh kein Thema. Die Tabulator-Funktion ist aber noch nicht sauber drin, so dass der Button beim Schreiben der Button-Zeile in einem durchgehenden String noch nicht (automatisch) exakt im Raster platziert wird (es sei denn, man würde ihn einzeln printen). Jedenfalls keine wilde Baustelle.


    Ich hoffe, dass du das schnell wieder repariert bekommst.

    Wird schon werden. Das Wetter ist die Tage aber einfach zu schön, um daran rum zu basteln. Da treib' ich mich lieber im Garten rum :-)

  • So Jungs, die Tage werden wieder kürzer und das Wetter schlechter. ;) Seit ihr mit irgendwas weiter gekommen? Habt ihr in absehbarer Zeit wieder mehr Zeit für das Projekt? (frage ich mal ganz vorsichtig in die Runde)


    Zum einen hat sich an der Hardware-Front etwas getan. Wie ich in einem der WLAN-Threads herausfinden konnte, scheinen sich diese Billig-WiFi-Modems auf ESP8266-Basis sehr gut als C64/Internet-Schnittstelle zu eignen. Das kleine Board bekommt man für 3 (China) bis 8 Euro (Amazon), dazu noch eine Lochrasterplatine und ein Userport-Stecker – und man ist im Netz. TCP/IP-Stack ist da schon drin (spart uns Entwicklungszeit und C64-RAM), besser und billiger geht es eigentlich nicht.


    Zum anderen kam ich über die Modems mit "thE rZA" ins Gespräch. Er hat mir zum Thema Proxy folgenden Link empfohlen: mitmproxy. Auf der Basis könnte man vielleicht auch schnell zu einem laufenden Proxy kommen, den man dann immer mehr filtern lässt. Ich will nicht sagen, dass komplettes Selberschreiben schlechter ist aber vielleicht kommt man so einfacher zum gewünschten Ergebnis. Kann man sich ja mal angucken.


    Und last but not least macht es vielleicht Sinn, den C64-Client als nächstes dazu zu bringen, Text einzulesen und HTML zu interpretieren. Irgendwie ist es jetzt ja anscheinend erstmal Konsens, dass der Proxy HTML ausspucken wird. Hier findet man eine rudimentäre HTML-Übersicht. Die Befehle unter "HTML5-Grundgerüst sollte man 1:1 übernehmen", "Bereiche einteilen" kann man bis auf <nav> weglassen, "Text strukturieren" muss komplett rein, "Textstellen hervorheben" kann eigentlich bis auf <b>, <i> und <sup> (für die Zahlen 1, 2 und 3) raus, da der C64 den Rest eh nicht darstellen kann (oder sie re­d­un­dant sind). Der Bereich "Links, Verweise" macht Sinn, sind aber eh alles nur Spezifikationen von <a href>. Die 3 "Aufzählungs"-Tags sollten wir übernehmen (allein schon für die Menüs), "Bereiche definieren" benötigen wir nicht. Da der Proxy schon "Kommentare" rauswerfen sollte (um Speicher zu sparen), muss der Client sie eigentlich nicht interpretieren können und "Farben" haben in HTML ohnehin nichts mehr zu suchen.


    Darüber hinaus könnte man <cite> für Zitate verwenden, <img src> für Bilder und <form>, <input type> (text, submit, radio, checkbox), <input name>, <textarea> und <select name> für Formulare.


    Alles andere, wie <div>, <align>, <table>, <frame> usw. brauchen wir eigentlich nicht. Gefühlt wären wir also bei ca. 25 Befehlen.

  • ...wobei die meisten "WLAN-Modem"-FW (AT)GET, aber kein (AT)POST implementiert haben. Ich gebe das zu bedenken.

  • Vielleicht können wir ja mal eine Liste der HTML-Tags zusammenstellen, die wir behalten wollen von denen wir glauben, dass wir diese darstellen können. Ich mache mal einen Anfang: ...

    Eigentlich ist das fast schon vollständig. Der Proxy kann noch ein paar Tags zusammenführen. <strong> wird zu <b>, <em> zu <i>, <blockquote> zu <cite> ...


    Das hier ist meine Zusammenfassung aller HTML-Tags, die der Retro-Browser beherrschen sollte. Der Proxy sieht dann zu, dass in den gelieferten Texten möglichst auch nichts anderes enthalten ist.


    Mini HTML-Set:


    <html> HTML Anfang
    <head> Kopfbereich mit Meta-Infos
    <meta charset="ISO-8859-15"> Definition des Encodings, andere Meta-Tags ignorieren
    <title> Name der Seite (kann in der URL-Zeile dargestellt werden)
    <body> Beginn der darzustellenden Seite


    <h1> bis <h6> Überschriften und Unter-Überschriften, notfalls alle gleich darstellen
    <p> Absatz
    <br> Zeilenumbruch
    <hr> Horizontale Trennlinie
    <b> Bold
    <i> Italic (auch wenn wir dafür keinen Font haben werden)
    <sup> hoch gestellte 1, 2 und 3 (da im Font enthalten)
    <cite> Zitat, einrücken oder farbig hinterlegen (evtl. weglassen)


    <!-- Kommentar --> (einfach ignorieren, außer bei Keyword "menu")
    <ul> Unsortierte Liste (oft für Menüs, sonst vorangestellte Bullets)
    <ol> Sortierte Liste (durchnummerieren)
    <li> Listeneintrag (Wenn kein Menü, dann ein Bullet davor schreiben)
    <nav> Kann eine Liste von Links einschließen, die ein Menü bilden soll (evtl. weglassen)


    <a href="ziel.html">Link</a> Link
    <a href="#0001">Link</a> Durchnummerierter Link vom Proxy
    <img src="bild.gif" alt="Haus"> Eingebettetes Bild, "alt" als Text anzeigen, Bild verlinken


    <form action="script.php"> Formular-Anfang
    <input type="text" name="name" size="30" maxlength="40"> Einzeiliges Textfeld
    <input type="password"> Wie Text aber Sternchen statt Text
    <input type="radio" name="Auswahl" value="item1" checked> Radio-Button (vorausgewählt)
    <input type="checkbox" name="Auswahl" value="item1"> Checkbox
    <input type="image" src="trash.png" alt="Mülleimer"> Grafik-Button
    <input type="submit" name="action" value="Absenden"> Schickt die Formulareingaben an die "form action"-URL
    <textarea cols="50" rows="10"> Mehrzeiliges Textfeld mit Größenangabe


    Fast alle Tags haben ein schließendes Endtag, das mit einem vorangestellten Slash geschrieben wird
    Tags ohne Endtag sind img, br, link, meta und input (sauber: den End-Slash mit in den Tag schreiben)
    Tags, die der Browser nicht kennt, soll er ignorieren; unbekannte Angaben innerhalb von Tags ebenso.
    Tags sind nicht case-sensitiv, also Groß- wie Kleinschrift behandeln
    Folgt auf ein "<" eine weiteres "<" ohne, dass ein ">" kam, setzt der Browser es selber (fängt aber der Proxy schon ab)


    Wenn man die unterschiedlichen Input-Typen zusammenfasst, kommen wir mit 20 bis 25 Tags hin. Ich finde das schon eine ordentliche Reduktion aufs Wesentliche.

  • kann eigentlich bis auf <b>, <i> und <sup> (für die Zahlen 1, 2 und 3) raus, da der C64 den Rest eh nicht darstellen kann

    Echtes 'sup' & 'sub' ginge theoretisch aber auch. Ebenso 'del'.


    Und last but not least macht es vielleicht Sinn, den C64-Client als nächstes dazu zu bringen, Text einzulesen und HTML zu interpretieren. Irgendwie ist es jetzt ja anscheinend erstmal Konsens, dass der Proxy HTML ausspucken wird.

    Hmm, soll das HTML wirklich 1:1 durchgereicht werden? Wenn ja: Warum? Finde ich immer noch ziemlich unglücklich. Wie irgendwo vorher schon mal geschrieben, wäre es wohl für sämtliche 8-Bit-Maschinen wohl leichter entschlüsselbar/verdaulich, diese gleich zu vereinfachen (wie z. Z. noch mein '@@'-System). Den Client damit zu belasten finde ich ziemlich heftig. Das würde schon verdammt fummelig und CPU-zeitraubend. Ein fehlendes ">" ginge auch gar nicht. Und dann noch die teils recht langen TAG-Zeichenketten. Das muss doch nicht sein. Genau sowas sollte ein Proxy doch hinbekommen können, denke ich. Der Proxy müsste als Schnittstelle alles nur mögliche vom Ziel-System an unnötiger Arbeit fernhalten.


    Nur nochmal zur Erläuterung von meinem jetzigen eigenen TAG-System:


    - ein TAG wird mit einem '@@' (kann auch irgendwas anderes sein/werden) eingeleitet. Ein einzelnes '@' wird als normales Zeichen durchgereicht (die TAGs werden ebenso nur an den Print-Zwischenspeicher durchgereicht, aber eben nicht pixelmäßig mitgezählt/verarbeitet)


    - hinter dem einleitenden Doppel-'@' kommt gleich ein eindeutiger (einzelbuchstabiger) Befehl:



    Zeichen Aktion Annex Annex-Funktion
    C Farbwechsel $XX Schriftfarbe, Hintergrund
    T Tabulator-Sprung $XX 0=Blocksprung; sonst Pixel-Tab
    E Einrückung $XX Einrück-Pixel
    L/R linken/rechten Rand
    innerhalb Kolumne/
    fortlaufendem Text
    neu setzen
    $XXX Kolumnen-Ränder in px.
    B Blocksatz ohne Blocksatz on/off
    S Single-Line ohne Umschaltung auf 8-px.-Einzelzeile
    D Double-Line ohne Umschaltung auf 16-px.-Doppelzeile
    K erzwungenes
    Kolumnen-Ende
    ohne Kolumne (Textbereich) beendet /
    nächste laden
    @ Zeilen-Ende ohne wie CR/LF
    etc.


    Einiges davon ist wohl für die fortlaufende Webseiten-Anzeige aber irrelevant. Die Zeichen sind natürlich auch noch flexibel und überschneiden sich ja mit HTML teilweise. Ist aber ja nicht das wirkliche Problem. Hat mit HTML-TAGs natürlich nicht mehr viel zu tun, aber darum geht's ja gerade.


    Zum anderen kam ich über die Modems mit "thE rZA" ins Gespräch. Er hat mir zum Thema Proxy folgenden Link empfohlen: mitmproxy.

    Auch mit einigem Lesen im Netz hab' ich noch nicht verstanden, was das Ding wirklich kann. Kann es 'nur' irgendwas mitlesen/filtern/blocken oder auch gleich verändert weitergeben? Oder müsste dafür noch ein weiterer "Selfmade"-Proxy nachgeschaltet werden? Ich hab' keinen Plan. Ist nicht so meine Baustelle.

  • Kann es 'nur' irgendwas mitlesen/filtern/blocken oder auch gleich verändert weitergeben?

    Laut meiner Lesung auch "replacen"/kicken via Beschreibungsdateien.

  • Seit ihr mit irgendwas weiter gekommen? Habt ihr in absehbarer Zeit wieder mehr Zeit für das Projekt?

    Sieht schlecht aus bei mir. Nicht ganz tot, aber ganz weit unten in der ToDo-Liste.

    Alles andere, wie <div>, <align>, <table>, <frame> usw. brauchen wir eigentlich nicht. Gefühlt wären wir also bei ca. 25 Befehlen.

    DIV würde ich nicht so einfach wegstreichen wollen, da es "irgendwas" abgrenzt. Anfang und Endtag könnte man ggf. durch <br> ersetzen um irgendwie diese Abgrenzung beizubehalten.

    ...wobei die meisten "WLAN-Modem"-FW (AT)GET, aber kein (AT)POST implementiert haben. Ich gebe das zu bedenken.

    So dachte ich auch erst, ist aber meiner Meinung nach Unsinn. (AT)POST ist im Prinzip nichts anderes als ein mehrzeiliger Text, denn man in einer Telnet-Verbindung absetzt. Das lässt sich softwaremäßig regeln. Der Browser Deiner Wahl wird das vermutlich auch nicht groß anders machen.

    Tags ohne Endtag sind img, br, link, meta und input.

    <br>, <br/> oder <br /> ? Ich wäre dafür alles in <br> umzuwandeln.


    Folgt auf ein "<" eine weiteres "<" ohne, dass ein ">" kam, setzt der Browser es selber.

    Das hatte ich schon, war ja das Problem mit Deinen Forum-Einträgen.

    Den Client damit zu belasten finde ich ziemlich heftig. Das würde schon verdammt fummelig und CPU-zeitraubend. Ein fehlendes ">" ginge auch gar nicht. Und dann noch die teils recht langen TAG-Zeichenketten. Das muss doch nicht sein. Genau sowas sollte ein Proxy doch hinbekommen können, denke ich. Der Proxy müsste als Schnittstelle alles nur mögliche vom Ziel-System an unnötiger Arbeit fernhalten.

    Im Falle von HTML wäre das auch auf echten Browsern anzusehen. Dein "Format-Modus" Zeichen wäre also ein <. Aus sowas wie
    <span class="icon icon16 icon-bell-alt"> würde dann eben nur <span> werden, d.h. der Client müsste eben nur das TAG lesen und entscheiden, was weiter passiert.Im Falle von <a href...> oder <img src=...> kommen da noch ein paar Informationen hinzu, die der Proxy sauber in festgelegter Reihenfolge übermitteln würde (auch wenn sie vorher anders aussahen).Schließende > müssen selbstredend Proxyseitig ergänzt werden. Schwieriger wird es vielleicht bei geschachtelten TAGS

    Code
    1. <b>Ab hier wird <b>weiter</b> Fett geschrieben.</b>

    Allerdings sehe ich auch kein Problem, wenn es Clientseitig einfacher ist, alle <b> und </b> dann z.B. in @B umzuwandeln, dass wäre dann eben eine Option, wenn der Browser das so vom Proxy erbittet.
    Aber wie sollen dann z.B. Bilder oder Links aussehen?
    Ich denke es ist vielleicht einfacher und einheitlicher mit < in den "Format-Modus" umzuschalten und mit > wieder in den Textausgabe-Modus.


    Auch mit einigem Lesen im Netz hab' ich noch nicht verstanden, was das Ding wirklich kann. Kann es 'nur' irgendwas mitlesen/filtern/blocken oder auch gleich verändert weitergeben? Oder müsste dafür noch ein weiterer "Selfmade"-Proxy nachgeschaltet werden? Ich hab' keinen Plan. Ist nicht so meine Baustelle.

    Da habe ich gar keine Lust mich mit zu beschäftigen... liegt aber eher an mir. 8)

  • Echtes 'sup' & 'sub' ginge theoretisch aber auch. Ebenso 'del'.

    Wegen mir gerne. Ich hatte auch den Fehler gemacht, manchmal zu sehr nur an den C64 zu denken. Die Befehlsübersicht oben soll ja eher als Anhaltspunkt für die Erstellung von Browsern auf allen möglichen Plattformen sein – und einem Atari-520ST fällt es sicher nicht schwer, einen Text durchzustreichen. Ich kann das also noch etwas erweiteren. Das sind die Befehle, die ankommen könnten. Was der Browser davon wie darstellt, muss der Programmierer selbst entscheiden. Er kann ja <i> ignorieren oder einfärben oder eben kursiv darstellen.


    Hmm, soll das HTML wirklich 1:1 durchgereicht werden? Wenn ja: Warum? Finde ich immer noch ziemlich unglücklich. Wie irgendwo vorher schon mal geschrieben, wäre es wohl für sämtliche 8-Bit-Maschinen wohl leichter entschlüsselbar/verdaulich, diese gleich zu vereinfachen (wie z. Z. noch mein '@@'-System).

    Im Endeffekt müssen das die Programmierer unter sich auskakeln. Wenn der Client gerne irgendwelche proprietären Kommandos haben möchte und der Proxy die liefern mag, soll es mir auch recht sein. Ich sehe aber (nach einer skeptischen Phase) auch die Vorteile von einem HTML-Subset: Zum einen kann ein HTML-Subset-Browser auch ohne den Proxy im Netz surfen. Die Seiten sehen dann vielleicht shice aus und brauchen lange zum Laden – aber es würde notfalls gehen (halt wie bei Kontiki). Was ich aber wichtiger finde: Ich glaube, die Akzeptanz unter Programmierern auf anderen Plattformen wäre größer, wenn wir einen etablierten Standard (HTML, Markdown, WAP o.ä.) für die Kommunikation verwenden – und ein wichtiger Teilaspekt des Projektes ist aus meiner Sicht, plattformunabhängig zu bleiben. Ein drittes Argument für HTML ist, dass z.B. für frühe 16-Bit-Plattformen rudimentäre Webbrowser existieren – und die müssten nicht einmal umgebaut werden, um unseren Proxy zu nutzen. Sie wäre damit out-of-the-Box schneller und die Darstellung wäre wahrscheinlich sauberer (wenn auch weniger "rich").


    Also, ich wäre weiterhin für offene Standards aber wenn ihr euch auf eine andere Kommunikation einigen könnt, will ich euch nicht im Wege stehen. Lieber mit @@-Kommandos als gar nicht (falls das die Option wäre). Wichtig ist, dass die oben von mir mit HTML beschriebenen Fähigkeiten (mindestens) unterstützt werden. Deinen bisherigen Kommandos sieht man an, dass sie für eine Textverarbeitung gedacht waren. Bei einem Browser geht es aber mehr um semantische Strukturierung als um Optik.


    Das würde schon verdammt fummelig und CPU-zeitraubend. Ein fehlendes ">" ginge auch gar nicht.

    Der Proxy kann ja dafür sorgen, dass das nicht vorkommt. Wenn es aber der Browser zusätzlich abfangen kann (wie PC-Browser das auch tun), dann kann man damit besser auch mal ohne Proxy ins Web.


    Oder müsste dafür noch ein weiterer "Selfmade"-Proxy nachgeschaltet werden?

    So wie ich das sehe, soll der das natürlich können – denn dafür sind Proxys nun mal da.


    Sieht schlecht aus bei mir. Nicht ganz tot, aber ganz weit unten in der ToDo-Liste.

    Das ist sehr schade.


    DIV würde ich nicht so einfach wegstreichen wollen, da es "irgendwas" abgrenzt. Anfang und Endtag könnte man ggf. durch <br> ersetzen um irgendwie diese Abgrenzung beizubehalten.

    Wir können <div> (ohne Klassenaufruf) auch drin lassen. Besser als ein <br> ist es allemal. Ich würde <div> halt in <p> umwandeln, weil es einem Absatz am nächsten kommt und <p> (im Gegensatz zu <div>) von Legacy-Browsern unterstützt wird. Aber meinetwegen lassen wir <div> als modernen Abschnittstrenner drin.


    Da habe ich gar keine Lust mich mit zu beschäftigen... liegt aber eher an mir.

    Schade. Ist aber nicht schlimm, wenn du meinst, es auch mit "Handarbeit" hinzubekommen. Ich dachte halt, ein fertiger Proxy wäre eine gute Basis, um Arbeit zu sparen. Und weil ja alle hier zu wenig Zeit haben ....


    Egal, ich will ja nur eines: dass es irgendwann einen Proxy gibt, der die Seitenkomplexität und Datenmenge des Webs drastisch reduziert und einen Browser, der den Output versteht und darstellt. Guckt einfach, ob ihr eure Vorstellungen zusammen bekommt. Jede Lösung ist besser als keine.