Der Martin: Regelmäßiges oder asynchrones Polling?

Hallo,

ich frage mich langsam, was die gelegentlich im grünen Balken am oberen Fensterrand aufpoppende Meldung "Es gibt 1 neue Nachrichten und 0 neue Threads" auslöst. Oder besser gesagt, wann die dazu gehörende Abfrage (AJAX?) stattfindet. Ich konnte noch keine wirkliche Regelmäßigkeit feststellen.

Ich habe jedenfalls den Eindruck, dass das Erscheinen dieser Meldung relativ willkürlich und zufällig ist. Schon mehrfach ist mir diese Meldung aufgefallen, ich habe daraufhin die Thread-Liste neu geladen und festgestellt: Nö, da ist nichts. Aber zwei bis drei Minuten vorher gab es tatsächlich irgendwo eine neue Nachricht. Kommt die Meldung so lange zeitverzögert? Dann wäre sie eigentlich witzlos.

Ich äußere deshalb ein Feature Request, diese Meldung (und auch alle anderen Hintergrund-Aktivitäten, sofern es weitere gibt) per User-Config abstellbar zu machen. Denn ...

  • Wenn ich vor dem Rechner sitze, aber gerade auf ein anderes Fenster (einen anderen Monitor) achte, ist die Meldung lästig, weil sie Aufmerksamkeit auf sich zieht und ablenkt.
  • Wenn ich nicht am Rechner sitze, ist sie nutzlos, weil sie nach ein paar Sekunden wieder verschwindet, ergo nicht gesehen wird.
  • Und wenn ich am Rechner sitze und tatsächlich aufs Forum achte, ist sie ärgerlich, weil sie in keinem erkennbaren Zusammenhang zu tatsächlich vorhandenen neuen Postings steht und Dinge suggeriert, die nicht stimmen (oder längst überholt sind).

So long,
 Martin

  1. Hallo Martin,

    ich frage mich langsam, was die gelegentlich im grünen Balken am oberen Fensterrand aufpoppende Meldung "Es gibt 1 neue Nachrichten und 0 neue Threads" auslöst. Oder besser gesagt, wann die dazu gehörende Abfrage (AJAX?) stattfindet. Ich konnte noch keine wirkliche Regelmäßigkeit feststellen.

    Das ist keine regelmässige Abfrage, sondern das wird über Push bei einer neuen Nachricht geschickt. AJAX ist das nur wegen des Fallbacks auf long polling von Websockets, weil ich noch nicht dazu gekommen bin ein Nginx-Paket von Hand zu bauen, dass neu genug ist, um als Wegsocket-Proxy dienen zu können.

    Ich habe jedenfalls den Eindruck, dass das Erscheinen dieser Meldung relativ willkürlich und zufällig ist. Schon mehrfach ist mir diese Meldung aufgefallen, ich habe daraufhin die Thread-Liste neu geladen und festgestellt: Nö, da ist nichts. Aber zwei bis drei Minuten vorher gab es tatsächlich irgendwo eine neue Nachricht. Kommt die Meldung so lange zeitverzögert? Dann wäre sie eigentlich witzlos.

    Nein, das sollte nicht der Fall sein. Aus cf_threads_controller.rb:

    if not @preview and saved
      publish('/threads/' + @thread.forum.slug, {type: 'thread', thread: @thread, message: @message})
      publish('/threads/all', {type: 'thread', thread: @thread, message: @message})
    
      notification_center.notify(NEW_THREAD_SAVED, @thread, @message)
    
      format.html { redirect_to cf_message_url(@thread, @message), notice: I18n.t("threads.created") }
      format.json { render json: @thread, status: :created, location: @thread }
    end
    

    Die publish-Zeilen sind die relevanten.

    Ich äußere deshalb ein Feature Request, diese Meldung (und auch alle anderen Hintergrund-Aktivitäten, sofern es weitere gibt) per User-Config abstellbar zu machen. Denn ...

    Die Meldung ist nur für den Übergang relevant, denn ich möchte das, wie ich bereits mehrfach erwähnt habe ;-), ersetzen durch JavaScript, dass die neuen Postings und Threads direkt an die richtige Stelle anhängt, ohne dass ein Reload nötig ist. Dazu bin ich nur noch nicht so richtig gekommen.

    LG,
    CK

    1. Hallo,

      ich frage mich langsam, was die gelegentlich im grünen Balken am oberen Fensterrand aufpoppende Meldung "Es gibt 1 neue Nachrichten und 0 neue Threads" auslöst. Oder besser gesagt, wann die dazu gehörende Abfrage (AJAX?) stattfindet. Ich konnte noch keine wirkliche Regelmäßigkeit feststellen. Das ist keine regelmässige Abfrage, sondern das wird über Push bei einer neuen Nachricht geschickt.

      okay, was immer es ist, aber gibt es wirklich keine Möglichkeit, das abzustellen? Es nervt tierisch.

      Ich habe jedenfalls den Eindruck, dass das Erscheinen dieser Meldung relativ willkürlich und zufällig ist. Schon mehrfach ist mir diese Meldung aufgefallen, ich habe daraufhin die Thread-Liste neu geladen und festgestellt: Nö, da ist nichts. Aber zwei bis drei Minuten vorher gab es tatsächlich irgendwo eine neue Nachricht. Kommt die Meldung so lange zeitverzögert? Dann wäre sie eigentlich witzlos. Nein, das sollte nicht der Fall sein.

      Is' aber. Nicht immer, aber immer öfter. ;-)

      Nein, im Ernst: Diese Meldungen sind unregelmäßig und damit nicht vorhersagbar. Aber sie kommen tatsächlich oft so verspätet, dass ich die Beiträge, die sie ankündigen, in der Zwischenzeit schon gelesen habe.

      Dazu kommt, dass speziell Opera 12.16 jedesmal, wenn diese Abfrage stattfindet, ein Stückchen hochscrollt, falls die Scrollposition ganz am unteren Seitenrand ist. Der "Sprung" ist ungefähr die Höhe der Fußzeile, hat aber vermutlich damit nichts zu tun.

      Das passiert überigens nicht nur bei der Thread-Liste; auch beim Verfassen eines neuen Beitrags scrollt der Fensterinhalt um gerade dieses Stückchen hoch, sobald das Javascript anspringt, das den Text nach passenden Tags absucht. Ich bin mir sicher, dass das ein browserspezifisches Problem ist, denn mit anderen Browsern habe ich das bisher noch nicht erlebt. Aber ich komme ihm nicht auf die Schliche.

      Ich äußere deshalb ein Feature Request, diese Meldung (und auch alle anderen Hintergrund-Aktivitäten, sofern es weitere gibt) per User-Config abstellbar zu machen.

      Der Wunsch besteht immer noch. Mehr und mehr. Die beiden beschriebenen Ärgernisse bringen mich schon wieder zum Nachdenken, das Forum in Zukunft doch lieber wieder ohne JS zu nutzen. Den Nerven zuliebe. Oder ich muss ein User-JS bauen, das alle diese Nervensägen abstellt.

      Die Meldung ist nur für den Übergang relevant, denn ich möchte das, wie ich bereits mehrfach erwähnt habe ;-), ersetzen durch JavaScript, dass die neuen Postings und Threads direkt an die richtige Stelle anhängt, ohne dass ein Reload nötig ist.

      Also den Threadbaum "live" aktualisieren. Hell is looming! Don't!!

      So long,
       Martin

      1. Hi,

        Es nervt tierisch.

        Dazu kommt, dass speziell Opera 12.16 …

        solange du noch Opera 12.16 verwendest, kann es mit dem „nerven“ nicht so schlimm sein. Mit dem Browser funktieren doch nur noch die einfachsten Webseiten. Kein FAZ, WELT, ZEIT, Süddeutsche, YouTube, Vimeo usw. haben zuletzt mit Opera 12.16 richtig funktioniert so dass ich vor einiger Zeit auf Safari umgestiegen bin. Opera ist für mich Geschichte.

        Gib dir einen Ruck und nutze einen aktuellen Browser.

        Ciao, Performer

        1. Hallo,

          Es nervt tierisch.

          Dazu kommt, dass speziell Opera 12.16 …

          solange du noch Opera 12.16 verwendest, kann es mit dem „nerven“ nicht so schlimm sein.

          ach tatsächlich?

          Mit dem Browser funktieren doch nur noch die einfachsten Webseiten. Kein FAZ, WELT, ZEIT, Süddeutsche, YouTube, Vimeo usw. haben zuletzt mit Opera 12.16 richtig funktioniert

          Kann ich nicht nachvollziehen; die von dir genannten Beispiele nutze ich nicht. Aber FAZ, Die Welt, Die Zeit und die Süddeutsche habe ich eben mal probiert und kann sie problemlos nutzen. Natürlich ohne Flash und Javascript. Youtube nutze ich nicht; wenn ich unbedingt mal ein Video von youtube sehen will, lasse ich es mir von einem der zahlreichen diesbezüglichen Dienste herunterladen und schaue es komfortabel offline an, und Vimeo kannte ich bis eben gar nicht. Scheint auch ein Videoportal ähnlich youtube zu sein, also nicht mein Ding.

          Dafür kann ich aber die Portale meiner gelegentlich genutzten Online-Shops problemlos nutzen (okay, amazon mit Einschränkungen, einige Funktionen erfordern Javascript), die diversen Technik-Informationsquellen gehen einwandfrei, maps.google.de hat eine Ausnahmegenehmigung für JS, Wikipedia geht, linuxquestions.org geht, dict.cc geht, imdb.com geht, um nur die für mich interessantesten zu nennen.

          so dass ich vor einiger Zeit auf Safari umgestiegen bin. Opera ist für mich Geschichte.

          Opera (Classic) ist der einzige mir bekannte Browser, der mich derzeit noch überzeugt.

          Gib dir einen Ruck und nutze einen aktuellen Browser.

          Wenn es denn noch einen brauchbaren gäbe. Ich bin schon lange auf der Suche.

          Abgesehen davon: Ich nutze das Forum teilweise auch mit Firefox, aber die Nerverei mit den Info-Einblendungen zur Unzeit habe ich da natürlich auch.

          So long,
           Martin

          1. Hi,

            Mit dem Browser funktieren doch nur noch die einfachsten Webseiten. Kein FAZ, WELT, ZEIT, Süddeutsche, YouTube, Vimeo usw. haben zuletzt mit Opera 12.16 richtig funktioniert

            Kann ich nicht nachvollziehen; die von dir genannten Beispiele nutze ich nicht.

            Die Fehlfunktionen merkt man nicht unbedingt auf den ersten Klick. Es ist üblicherweise die Kombination von Artikel, Fotoserien, Video und vor allem dann die Kommentare. Wenn jeder zweite oder dritte Klick nicht das tut, was er soll, ist man irgendwann so weit zu sagen: jetzt reicht’s!

            Opera (Classic) ist der einzige mir bekannte Browser, der mich derzeit noch überzeugt.

            Meine ganze Internet-Laufbahn hindurch begleitete mich Opera – bis es eben nicht mehr ging. Mit der neuen Version konnte ich mich gar nicht anfreunden, die „interne Ausschreibung“ gewann schließlich Safari. Ist beim OS dabei, keine extra Updates, schnell, schlank, stabil, mit zwei Erweiterungen habe ich fast meine von Opera gewohnte Arbeitsumgebung.

            Der Umstieg war nicht einfach – aber hey – so alt bin ich auch wieder nicht, um nicht noch einmal etwas neues zu lernen. ;-)

            Ciao, Performer

      2. Hallo Martin,

        okay, was immer es ist, aber gibt es wirklich keine Möglichkeit, das abzustellen? Es nervt tierisch.

        seufz ich habe gerade eine Martinifizierung eingebaut: „Mit JavaScript über neue Beiträge informieren,“ erster Punkt in den Benachrichtigungs-Einstellungen.

        Dazu kommt, dass speziell Opera 12.16 jedesmal, wenn diese Abfrage stattfindet, ein Stückchen hochscrollt, falls die Scrollposition ganz am unteren Seitenrand ist. Der "Sprung" ist ungefähr die Höhe der Fußzeile, hat aber vermutlich damit nichts zu tun.

        Das passiert überigens nicht nur bei der Thread-Liste; auch beim Verfassen eines neuen Beitrags scrollt der Fensterinhalt um gerade dieses Stückchen hoch, sobald das Javascript anspringt, das den Text nach passenden Tags absucht. Ich bin mir sicher, dass das ein browserspezifisches Problem ist, denn mit anderen Browsern habe ich das bisher noch nicht erlebt. Aber ich komme ihm nicht auf die Schliche.

        Das wird ein Rendering-Bug sein: ich füge die Alerts relativ weit oben ein. Da sie position:fixed sind, sollte das keinen Unterschied machen, aber da kommt dann der Opera-Bug zum tragen.

        Benutz halt nen richtigen Browser! 😂

        LG,
        CK

        1. n'Abend,

          okay, was immer es ist, aber gibt es wirklich keine Möglichkeit, das abzustellen? Es nervt tierisch.

          seufz ich habe gerade eine Martinifizierung eingebaut: „Mit JavaScript über neue Beiträge informieren,“ erster Punkt in den Benachrichtigungs-Einstellungen.

          das klingt gut, gleich mal ausprobieren.

          Das wird ein Rendering-Bug sein: ich füge die Alerts relativ weit oben ein. Da sie position:fixed sind, sollte das keinen Unterschied machen, aber da kommt dann der Opera-Bug zum tragen.

          Ah ja. Der kommt allerdings auch unabhängig von dem zum Tragen, was du jetzt geändert hast. Sobald ich über irgendeinen Link hovere, kommt einmal der Scroll-Sprung. Das ist mir auf anderen Sites aber noch nie begegnet.

          Benutz halt nen richtigen Browser! 😂

          Hast du einen konstruktiven Vorschlag? Einen, der nicht Firefox oder Chrome heißt bzw. auf der Codebase von einem der beiden aufbaut?

          Ciao,
           Martin

          1. Hallo Martin,

            Das wird ein Rendering-Bug sein: ich füge die Alerts relativ weit oben ein. Da sie position:fixed sind, sollte das keinen Unterschied machen, aber da kommt dann der Opera-Bug zum tragen.

            Ah ja. Der kommt allerdings auch unabhängig von dem zum Tragen, was du jetzt geändert hast. Sobald ich über irgendeinen Link hovere, kommt einmal der Scroll-Sprung. Das ist mir auf anderen Sites aber noch nie begegnet.

            Ein Transition-Rendering-Bug rat

            Benutz halt nen richtigen Browser! 😂

            Hast du einen konstruktiven Vorschlag? Einen, der nicht Firefox oder Chrome heißt bzw. auf der Codebase von einem der beiden aufbaut?

            Auf keinen Fall, dann bin ich hinterher Schuld wenn etwas nicht so läuft wie du es möchtest 😁 der Smiley war nicht ohne Grund da, ich mische mich nicht in die Software-Auswahl anderer Leute ein.

            LG,
            CK

            1. Hi,

              Ein Transition-Rendering-Bug rat

              transition ist ein gutes Stichwort, zumal ich diese transition-Effekte auch als sehr störend empfinde. Da war doch was, um diese Effekte generell wieder zu deaktivieren ... Ah, da ist es ja. Schade, transition:none auf *,*:hover angewendet lässt zwar die lästigen Transitions verschwinden, das Springen am Seitenende tritt aber immer noch auf.

              Benutz halt nen richtigen Browser! 😂

              Hast du einen konstruktiven Vorschlag? Einen, der nicht Firefox oder Chrome heißt bzw. auf der Codebase von einem der beiden aufbaut?

              Auf keinen Fall, dann bin ich hinterher Schuld wenn etwas nicht so läuft wie du es möchtest 😁

              Boah, ist das diplomatisch ...

              So long,
               Martin

              1. Hallo Martin,

                Schade, transition:none auf *,*:hover angewendet lässt zwar die lästigen Transitions verschwinden, das Springen am Seitenende tritt aber immer noch auf.

                Hm, dann weiss ich es auch nicht, sorry. Die Transitions sind das einzige, was „besonders“ an den Links ist.

                Auf keinen Fall, dann bin ich hinterher Schuld wenn etwas nicht so läuft wie du es möchtest 😁

                Boah, ist das diplomatisch ...

                Hm, sorry wenn das wie ein Angriff rüber gekommen ist, so war es nicht gemeint. Es ist nur die Artikulation einer Erfahrung, die ich immer wieder mache, wenn ich jemandem Software empfehle. Deshalb habe ich damit aufgehört und weigere mich idR etwas zu empfehlen.

                LG,
                CK

          2. Hi,

            Hast du einen konstruktiven Vorschlag? Einen, der nicht Firefox oder Chrome heißt bzw. auf der Codebase von einem der beiden aufbaut?

            mit ein bisschen gutem Willen sollte doch Vivaldi machbar sein? So pingelig sind ja noch nicht mal Luxus-Autobauer, die tauschen unter sich auch mal gute und bewährte Motoren.

            Ciao, Performer

            1. Hallo,

              Hast du einen konstruktiven Vorschlag? Einen, der nicht Firefox oder Chrome heißt bzw. auf der Codebase von einem der beiden aufbaut?

              mit ein bisschen gutem Willen sollte doch Vivaldi machbar sein?

              in der Tat, ja. Auf den bin ich vor einiger Zeit auch schon aufmerksam geworden. Nur müsste ich mich da bis zum endgültigen Release noch in Geduld fassen.

              So pingelig sind ja noch nicht mal Luxus-Autobauer, die tauschen unter sich auch mal gute und bewährte Motoren.

              Ich weiß nicht, worauf du mit dieser Anmerkung hinaus willst. Tatsächlich ist mir die Browser-Engine relativ egal. Mir ist bei einem Browser vor allem die Zuverlässigkeit, das UI, der Funktionsumfang und die Konfigurierbarkeit wichtig.

              So long,
               Martin

              1. Hi,

                Ich weiß nicht, worauf du mit dieser Anmerkung hinaus willst. Tatsächlich ist mir die Browser-Engine relativ egal.

                Aus deiner Bemerkung …

                Einen, der nicht Firefox oder Chrome heißt bzw. auf der Codebase von einem der beiden aufbaut?

                habe ich geschlossen, dass du an der Engine etwas auszusetzen hast. Schön, dass das nicht der Fall ist. Dann besteht ja noch Hoffnung … ;-)

                Ciao, Performer