Journal Google se lance dans le porno

Posté par  .
Étiquettes : aucune
0
16
mar.
2005
http://labs.google.com/googlex/(...)

Désolé pour ceux qui espéraient trouver un moteur de recherche d'images cochonnes :).

Google lance une petit fonctionnalité sympa, inspiré du docker de Mac OS X [1]. Ca affiche un très joli menu dynamique qui agrandit les icônes au passage de la souris. Encore une fois les devs de Google montrent que le javascript n'a pas de secrets pour eux.

--
Thomas

[1] Vu sur la page : "Roses are red. Violets are blue. OS X rocks. Homage to you."
  • # Tres beau

    Posté par  . Évalué à 3.

    Oui c'est très beau.

    J'étais tout à l'heure dessus et je suis resté bouffe baie en voyant le menu. Je veux le même !!!

    J'en revenais pas de voir dans le source que c'etait simplement du javascript :'(

    http://labs.google.com faut aussi le coup d'oeil !
    • [^] # Re: Tres beau

      Posté par  (site web personnel) . Évalué à 5.

      il est possible de faire la meme chose sans javscript mais uniquement avec des css en jouant avec les hover.

      Je poste le lien ce soir
      • [^] # Re: Tres beau

        Posté par  . Évalué à 4.

        C'est une bonne idée, et ca marche sous gecko... mais pas sous IE. La solution de google marche sur le navigateur de MS (pas aussi bien que sous Firefox d'ailleurs).

        Faire des interfaces jolies n'est pas (trop) compliqué, mais Google arrive à faire en plus des interfaces réellement multi-plateformes.

        --
        Thomas
      • [^] # Re: Tres beau

        Posté par  (site web personnel, Mastodon) . Évalué à 7.

        non, en css, ce ne sera pas la même chose.

        Si tu regardes bien l'animation, les images s'agrandissent progressivement. En css, tu ne peux pas faire ce genre de transition. Tu peux faire un truc qui ressemble, mais ça sera moins sexy.
        • [^] # Re: Tres beau

          Posté par  (site web personnel, Mastodon) . Évalué à 2.

          sauf si tu utilises du gif ? non ?

          M.
          • [^] # Re: Tres beau

            Posté par  (Mastodon) . Évalué à 2.

            L'image qui grandit repousse les images voisines, donc ce ne serait pas évident à faire en GIF, à moins d'avoir une grosse image pour chaque icone.
    • [^] # Re: Tres beau

      Posté par  . Évalué à 1.

      Idem.
      +100 EXCELLENT !!!
      Je viens de baver devant pendant 1/2h.
      -1 pour le code JS un peu pas beau :oS
      • [^] # Re: Tres beau

        Posté par  . Évalué à 1.

        > -1 pour le code JS un peu pas beau :oS

        C'est du "obfuscated code", mais ça n'a rien à voir avec les chefs d'oeuvre du IOCCC :-)

        Je n'en vois pas trop l'intérêt dans la mesure où il suffit de passer un peu de temps sur le code pour le rendre plus lisible (ça m'a occupé la dernière heure), et donc compréhensible.
        • [^] # Re: Tres beau

          Posté par  . Évalué à 5.

          clair un coup de indent et deja on voit plus clair..

          k = document;
          v = Date;
          x = false;
          z = Array;
          af = Math.floor;
          ag = RegExp;
          b = new z (12);
          s =
          new z ("null", "web", "images", "groups", "news", "froogle", "local",
          "scholar", "video", "maps", "labs", "more");
          aa = new z (11);
          ab = 10;
          t = 0;
          u = 0;
          n = 0;
          o = new v ();
          h = 5;
          m = 385;
          c = 0;
          w = x;
          var title;
          var firstHoverOccurred = x;
          m = 385;
          p = 0;
          function
          d (ac)
          {
          c = ac;
          o = new v ();
          setTimeout ("gidle()", 20);
          }

          function
          e (ac)
          {
          c = 0;
          w = x;
          o = new v ();
          setTimeout ("gidle()", 20);
          }

          function
          ae ()
          {
          for (var j = 1; j < b.length; j++)
          {
          b[j] = 35}
          title = k.getElementById ('imageTitle');
          for (i = 0; i < b.length; i++)
          {
          aa[i] = new Image ();
          aa[i].src = s[i + 1] + ".gif"}
          setTimeout ("gidle()", 20);
          }

          function
          gidle ()
          {
          var l = 0;
          for (var i = 1; i < b.length; i++)
          {
          var imagename = "image" + i;
          var imageElem = k.getElementById (imagename);
          if (c != i)
          {
          if (b[i] > 35)
          {
          b[i] -= h;
          if (b[i] <= 35)
          {
          b[i] = 35;
          imageElem.src = s[i] + "-sm.gif"}
          imageElem.width = b[i];
          imageElem.height = b[i];
          if (c == 0)
          {
          var g = af (255 - 255 * (b[i] - 35) / 35);
          title.style.color = "rgb(" + g + "," + g + "," + g + ")"}
          p = 1}
          l += b[i]}
          }
          if (c != 0 && b[c] < 70)
          {
          imagename = "image" + c;
          imageElem = k.getElementById (imagename);
          if (w == x)
          {
          w = true;
          if (c < 6)
          {
          var y = 360 - (c - 1) * 70;
          title.innerHTML =
          k.getElementById (imagename).alt +
          ''}
          else
          {
          var y = (c - 7) * 70 + 70;
          title.innerHTML =
          '' +
          k.getElementById (imagename).alt}
          }
          b[c] += h;
          p = 1;
          if (b[c] > 70)
          {
          b[c] = 70}
          l += b[c];
          if (l < m)
          {
          b[c] += m - l;
          if (b[c] > 70)
          {
          b[c] = 70}
          l = m}
          var g = af (255 - 255 * (b[c] - 35) / 35);
          title.style.color = "rgb(" + g + "," + g + "," + g + ")";
          imageElem.width = b[c];
          imageElem.height = b[c];
          k.getElementById (imagename).src = s[c] + ".gif"}
          m = l;
          var ad = new v ();
          ab = ad.getTime () - o.getTime ();
          o = ad;
          t += ab;
          u++;
          n = t / u;
          h = 5;
          if (u > 4)
          {
          if (n > 30)
          {
          h = 10}
          if (n > 60)
          {
          h = 15}
          if (n > 90)
          {
          h = 20}
          }
          if (p)
          {
          setTimeout ("gidle()", 20);
          p = 0}
          }

          function qs (r)
          {
          if (ag && window.encodeURIComponent)
          {
          var qe = encodeURIComponent (k.f.q.value);
          if (r.href.indexOf ("q=") != -1)
          {
          r.href = r.href.replace (new ag ("q=[^&$]*"), "q=" + qe);
          }
          else
          {
          r.href += "&q=" + qe}
          }
          return 1
        • [^] # Re: Tres beau

          Posté par  . Évalué à 10.

          L'intérêt c'est le même que d'habitude pour Google : diminuer la taille des pages. J'ai regardé vite fait, on retrouve les mêmes principes que pour Gmail : pas de blancs, taille des variables minimale...

          C'est plus du "condensed code" que du "obfuscated code" donc.

          --
          Thomas
          • [^] # Re: Tres beau

            Posté par  . Évalué à 2.

            > C'est plus du "condensed code" que du "obfuscated code" donc.

            Je partage en partie cette analyse.
            Lorsque j'ai indenté le code la taille de la page a au moins doublé. Avec de vrais noms de variables et de fonctions ça aurait encore ajouté des données. Et alors ?! Un javascript dans un fichier lié au HTML, il reste dans la cache, tu ne l'as téléchargé qu'une fois, qu'il fasse 10k ou bien 100 ... surtout avec tout le monde qui est en ADSL.
            On dira que les développeurs Google n'ont pas oublié les RTC ;-)
          • [^] # Re: Tres beau

            Posté par  . Évalué à 2.

            > C'est plus du "condensed code" que du "obfuscated code" donc.

            C'est tellement vrai que je me demande pourquoi je n'y ai pas pensé plus tôt.

            Et pour répondre au commentaire au dessus, je pense que Google fait cela pour économiser leur bande passante plutôt que celle des utilisateurs de RTC. Quand on sert plusieurs millions de pages par jour, ce n'est pas négligeable.
  • # Moins utilisable

    Posté par  (site web personnel) . Évalué à 3.

    Il faut faire la correspondance entre l'icône et ce que cela doit faire
    rend la chose un peu moins utilisable ....

    Il faudrait du texte sous l'icone comme les icones du mailer ici
    par exemple :
    http://www.objectfarm.org/Activities/Publications/TheMerger/UserInt(...)
    ou
    http://www.birdhouse.org/macos/beos_osx/mail.app.gif(...)

    "the unfriendliness of an interface can be measured in figurative microseconds spent by the user guessing how it works. Each "microsecond" of uncertainty that is removed has a disproportionately large positive effect on the usability overall."
    ( Steve Krug )
  • # Paf!

    Posté par  . Évalué à 2.

    Ca sent le proces pour violation de brevet pour bientot..
  • # a kan le javascript dans kde/xfce/gnome

    Posté par  (site web personnel) . Évalué à 2.

    je veux je veux je veux ..

    lol
    Au moins comparer au applet pour gnome et kde ca comsomerai pas du cpu a fond..
    Y'a moyen de faire la meme chose avec du SVG et CSS ??

    En y pensant bien peut etre en loadant une page web en fond d'ecran ... ca serai encore plus simple .. qui veut essayer ?

    je vais tenter se soir ;. NB j'utilise xfce4 donc je pense pas que ca soit possible mais jva jetter un oeuil.

    http://www.theatre-eibel.fr http://www.isc2chapter-yorkshire.co.uk

  • # J'ai deja vu ca

    Posté par  . Évalué à 1.

    Je connait un site qui a cet effet depuis plusieurs mois deja pour son logo
    www.skymac.org

    C'est fait en javascript et ca marche plutot bien

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.