Matthias Apsel: Welche Queries selektieren zuverlässig ein Handy

Om nah hoo pez nyeetz, alle!

Die Experten sind sich uneins: http://forum.de.selfhtml.org/archiv/2012/9/t211177/#m1440756

Mit welchen Queries arbeitet ihr, um Smartphones zu erkennen?

min/max-width allein halte ich nur bedingt für sinnvoll. Wenn es etwa um Änderungen der Schriftgröße geht, will man die ja nur auf dem Smartphone haben und nicht in einem schmalen Desktopbrowser.

Matthias

--
1/z ist kein Blatt Papier.

  1. Mit welchen Queries arbeitet ihr, um Smartphones zu erkennen?

    min/max-width allein halte ich nur bedingt für sinnvoll. Wenn es etwa um Änderungen der Schriftgröße geht, will man die ja nur auf dem Smartphone haben und nicht in einem schmalen Desktopbrowser.

    Ich hab da vor einiger Zeit mal etwas ausführlicheres geschrieben - finde ich grade aber nicht, darum knall' ich jetzt einfach mal Kommentarlos das Ergebnis rein:
    http://jsfiddle.net/yyGcG/

    Das funktioniert produktiv sehr gut - gibt aber bessere Lösungen (sind im Artikel den ich nicht finde aber afaik aufgeführt).

    1. http://jsfiddle.net/yyGcG/

      Das funktioniert produktiv sehr gut - gibt aber bessere Lösungen (sind im Artikel den ich nicht finde aber afaik aufgeführt).

      Gefunden: die beiden letzten Links ganz am Ende des Posts:
      http://forum.de.selfhtml.org/archiv/2012/7/t210578/#m1435820

    2. Om nah hoo pez nyeetz, suit!

      Ich hab da vor einiger Zeit mal etwas ausführlicheres geschrieben - finde ich grade aber nicht, darum knall' ich jetzt einfach mal Kommentarlos das Ergebnis rein:
      http://jsfiddle.net/yyGcG/

      dort: <script src="js/functions.js"></script>

      Steckt in diesem Script noch etwas Wichtiges oder ist die Funktionalität allein durch jquery gegeben.

      Ich weiß - oder-Frage ;-)

      Matthias

      --
      1/z ist kein Blatt Papier.

  2. Om nah hoo pez nyeetz, Matthias!

    Mit welchen Queries arbeitet ihr, um Smartphones zu erkennen?

    min/max-width allein halte ich nur bedingt für sinnvoll. Wenn es etwa um Änderungen der Schriftgröße geht, will man die ja nur auf dem Smartphone haben und nicht in einem schmalen Desktopbrowser.

    Aktuell halte ich eine Kombination aus (min|max-device-width|height) und (min|max-width) für diesen Zweck für am geeignetsten.

    Löst auch das ggf. vorhandene Problem, wenn "orientation" nicht unterstützt wird und unabhängig von der Ausrichtung für device-height|width immer dieselben Werte ausgegeben werden.

    Die eigentliche Antwort auf deinen Thread-Titel müsste aber heißen "gar keine"!
    Denn dank der Hersteller ist der ursprünglich dafür vorgesehene Medientyp "Handheld" heutzutage völlig nutzlos. Also kann man imho nur hingehen und "unterstellen", dass Displays bis zu einer gewissen Größe zu einem Smartphone gehören. Denn Tablets fallen auch schon wieder raus.

    Eine zusätzliche Variante könnte auch noch die Resolution (device-pixel-ratio) mit einbeziehen. AFAIK haben (fast) nur Touch-Displays von mobilen Geräten aktuell höhere Auflösungen.

    Unterm Strich liegen hier aber mal wieder die Anforderungen der Praxis und die tatsächlich vorhandenen Möglichkeiten weit auseinander ...!

    Gruß Gunther

    1. Om nah hoo pez nyeetz, Gunther!

      Ja, diese Diskussionen gibt es immer mal wieder und die habe ich auch verfolgt. Ich dachte eigentlich, dass jemand sagt (wie suit es getan hat) "Bei uns in der Agentur nehmen wir dies und das und haben damit im Allgemeinen gute Erfahrungen gemacht."

      Matthias

      --
      1/z ist kein Blatt Papier.

      1. Om nah hoo pez nyeetz, Matthias!

        Ja, diese Diskussionen gibt es immer mal wieder und die habe ich auch verfolgt. Ich dachte eigentlich, dass jemand sagt (wie suit es getan hat) "Bei uns in der Agentur nehmen wir dies und das und haben damit im Allgemeinen gute Erfahrungen gemacht."

        Verstehe!
        Oder vielleicht doch nicht so ganz ...! ;-)

        Was verstehst du denn unter "... und haben damit im Allgemeinen gute Erfahrungen gemacht."?

        Und die "Diskussionen" sind doch im Netz in vollem Gange ...

        Die einen propagieren EMs gegenüber PX, andere plädieren dafür die Breakpoints nach dem Inhalt auszurichten (und nicht nach gängigen Displaygrößen).

        Und wenn du dir einige der als Beispiele aufgeführten Webseiten anguckst, die du in Artikeln zum Thema "Responsive Design" findest, dann wirst du vermutlich feststellen, dass es viele verschiedene Ansätze gibt - einige davon sind eher "philosophischer Natur".

        Letztlich kommt es halt immer auf den konkreten Fall, die Absichten, die potentielle Zielgruppe und und und an ...!

        Ein "gebrauchsfertiges Schema", welches du dir ggf. hier erhoffst, kann es daher imho nicht geben. ;-)

        Da mich das "Thema" aber aus aktuellem Anlass für ein privates Projekt auch sehr interessiert, würde ich durchaus gerne mit dir zusammen (außerhalb des Forums hier) ein solches "entwickeln". :-)

        Gruß Gunther

        1. Om nah hoo pez nyeetz, Gunther!

          Verstehe!
          Oder vielleicht doch nicht so ganz ...! ;-)

          Die einen propagieren EMs gegenüber PX, ...

          Wie du an anderer Stelle richtig erkannt hast, geht es hier nicht darum, ein responsive design zu machen, sondern herauszufinden, ob die Seite auf einem Handy dargestellt wird.

          Matthias

          --
          1/z ist kein Blatt Papier.

          1. Om nah hoo pez nyeetz, Matthias!

            Verstehe!
            Oder vielleicht doch nicht so ganz ...! ;-)

            Die einen propagieren EMs gegenüber PX, ...

            Wie du an anderer Stelle richtig erkannt hast, geht es hier nicht darum, ein responsive design zu machen, sondern herauszufinden, ob die Seite auf einem Handy dargestellt wird.

            Dann solltest du evt. deine Frage präzisieren ... ;-),
            denn "dargestellt" wird im Prinzip jede Seite und das_ohne_spezielles Zutun. Dafür sorgen ja die "Automatissmen", die die Browserhersteller eingebaut haben.

            Dadurch ist allerdings der ursprünglich von CSS angedachte Ansatz, nämlich "mobile Devices" anhand des Media Types zu identifizieren, nutzlos geworden, bzw. nicht praktikabel.

            Und somit lautet die Antwort auf deine Frage genaugenommen "gar keine"!
            Denn du kannst dir quasi nur damit behelfen, in deinen Queries bestimmte andere Parameter zu verwenden, die zumindest mit "hoher Wahrscheinlichkeit" nahelegen, dass es sich um ein mobiles Endgerät handelt.

            Und bei Tablets und den in naher Zukunft verstärkt auftretenden Notebooks mit Touchscreens bist du dann auch mit diesem Behelf wieder am Ende.

            Das ist imho eines der größten Probleme an dieser ganzen Geschichte, dass die Entwicklung(en) in allen anderen Bereichen wie der Hard- und Software wesentlich schneller voranschreiten, als bei den Webstandards und hier insbesondere HTML und CSS.

            In der Praxis kann und will keiner (weder Hersteller noch User) so lange warten, bis irgendeine Sache endlich mal als "Standard" verabschiedet wird. CSS wird nächstes Jahr bereits 20 Jahre alt - und wo sind wir nach einer für diesen Bereich "Ewigkeit" angekommen!? Grundlegendste Dinge wie das Layout unabhängig von der Source Order im Quelltext zu gestalten sind immer noch nicht fertig, bzw. anwendbar!

            Gruß Gunther

            1. Om nah hoo pez nyeetz, Gunther!

              Wie du an anderer Stelle richtig erkannt hast, geht es hier nicht darum, ein responsive design zu machen, sondern herauszufinden, ob die Seite auf einem Handy dargestellt wird.

              Dann solltest du evt. deine Frage präzisieren ... ;-),
              denn "dargestellt" wird im Prinzip jede Seite und das_ohne_spezielles Zutun. Dafür sorgen ja die "Automatissmen", die die Browserhersteller eingebaut haben.

              Ursprünglich etwas ungenau formuliert, deshalb hier besser(?)

              Wie du an anderer Stelle richtig erkannt hast, geht es hier nicht darum, ein responsive design zu machen, sondern herauszufinden, ob das gegenwärtige Ausgabegerät ein Handy ist.

              Matthias

              --
              1/z ist kein Blatt Papier.

              1. Om nah hoo pez nyeetz, Matthias!

                Ursprünglich etwas ungenau formuliert, deshalb hier besser(?)

                Wie du an anderer Stelle richtig erkannt hast, geht es hier nicht darum, ein responsive design zu machen, sondern herauszufinden, ob das gegenwärtige Ausgabegerät ein Handy ist.

                Das geht mit CSS gar nicht!

                Dadurch ist allerdings der ursprünglich von CSS angedachte Ansatz, nämlich "mobile Devices" anhand des Media Types zu identifizieren, nutzlos geworden, bzw. nicht praktikabel.

                Die Problematik habe ich ja auch bereits angesprochen, bzw. hier im Forum nachgefragt. ;-)

                Du kannst also bestenfalls auf irgendwelche Methoden zurückgreifen, die den UA String auswerten. Wobei ich dann immer eine serverseitige Variante bevorzugen würde.

                Gruß Gunther

                1. Om nah hoo pez nyeetz, Gunther!

                  Die Antworten von suit und ichbinich beantworten aber meine Frage zumindest in dem Sinne, wie ich sie meine.

                  Matthias

                  --
                  1/z ist kein Blatt Papier.

      2. Hallo,

        Ich dachte eigentlich, dass jemand sagt (wie suit es getan hat) "Bei uns in der Agentur nehmen wir dies und das und haben damit im Allgemeinen gute Erfahrungen gemacht."

        https://github.com/serbanghita/Mobile-Detect, damit habe ich bisher gute Erfahrungen gemacht. Mobile Geräte (ausgenommen Tablets) bekommen ein angepasstes CSS (und ggf. auch HTML) geliefert.

        Ich finde es immer wieder ärgerlich, wenn ich mit meinem Tablet eine fürs Handy-Display "optimierte" Seite geliefert bekomme, obwohl die "normale" Seite sich problemlos darstellen ließe...

        vg ichbinich

        --
        Kleiner Tipp:
        Tofu schmeckt am besten, wenn man es kurz vor dem Servieren durch ein saftiges Steak ersetzt...
        1. @@ichbinich:

          nuqneH

          Ich finde es immer wieder ärgerlich, wenn ich mit meinem Tablet eine fürs Handy-Display "optimierte" Seite geliefert bekomme, obwohl die "normale" Seite sich problemlos darstellen ließe...

          Das Ärgerliche daran ist, dass es überhaupt verschiedene Seiten gibt.

          Qapla'

          --
          „Perfektion ist nicht dann erreicht, wenn es nichts mehr hinzuzufügen gibt, sondern wenn man nichts mehr weglassen kann.“ (Antoine de Saint-Exupéry)
        2. Hallo!

          https://github.com/serbanghita/Mobile-Detect, damit habe ich bisher gute Erfahrungen gemacht. Mobile Geräte (ausgenommen Tablets) bekommen ein angepasstes CSS (und ggf. auch HTML) geliefert.

          Das war aber ja eigentlich nicht die Frage ..., denn in der ging es rein um CSS Media Queries. ;-)
          Serverseitige Varianten bedingen aktuell (leider) immer eine Auswertung des UA-Strings und clientseitige Methoden Javascript.

          Ob und wie weit man sich auf solche Optionen verlassen möchte, muss ja jeder (für sein Projekt) für sich entscheiden.

          Ich finde es immer wieder ärgerlich, wenn ich mit meinem Tablet eine fürs Handy-Display "optimierte" Seite geliefert bekomme, obwohl die "normale" Seite sich problemlos darstellen ließe...

          Das zeigt imho nur, dass der Versuch dem User eine vermeintlich "optimierte" Seite zu liefern, sehr schnell in das Gegenteil umschlagen kann, wenn man es nicht "richtig" macht. Wobei hier natürlich die Frage nach dem "Richtig" bleibt ...!

          Gruß Gunther

        3. Om nah hoo pez nyeetz, ichbinich!

          https://github.com/serbanghita/Mobile-Detect, damit habe ich bisher gute Erfahrungen gemacht.

          Diesen Ansatz finde ich auch vielversprechend.

          Matthias

          --
          1/z ist kein Blatt Papier.