Google as a Bank

Google as a bank

As with any bank, you need to trust it, to make sure it has transparent policies, that it serves your interests and it doesn’t have “hidden costs”. Your ISP, your doctor, your employee, your bank – all have a lot of personal information about you and some of it could migrate to online services like Google Health, Google Checkout, Google Web History or Google Web Accelerator. The worst thing that can happen to Google is losing the trust of its users, so Google has another incentive to not betray peoples, besides the mythical “Don’t be evil” corporate motto.

La confiance … toujours la confiance … curieusement c’est comme l’honneur au moyen age, c’est la seule vraie valeur, le seul vrai patrimoine.

Faire simple ou abstrait ?

Quel est la vraie question d’architecture ?
Voulez-vous quelque chose de simple, évolutif, pas cher
ou
quelque chose d’abstrait, très cher et peu évolutif ?

C’est une question récurrente en informatique depuis de très nombreuses années.
La volonté de faire abstrait chez certain, frise la folie : des abstractions d’IHM qui accèdent a des abstractions de services via des protocoles abstraits ou tout est meta défini dans des classes qui sont instanciés a partir de ‘factories’ et qui vont trouver les noms des classes dans des fichiers de configuration … bref pour 100 lignes de codes, 3 sont des codes avec une utilité métier et ils est difficile de retrouver les lignes utiles. La maintenance devient difficile car des centaines de fichiers de code ou paramétrage sont impactés.
Toute ressemblance avec des projets java serait purement fortuite de ma part …

Les arguments évoqués sont que c’est plus évolutif car on peut changer un protocole sans toucher l’application, … mais a quel prix ?

Revenons sur des objectifs de départs pour des applications :

·

  • Etre misent en œuvre rapidement
  • Pouvoir évoluer rapidement
  • Ne pas couter cher

Le nombre d’abstraction est un faux problème, les programmes qui peuvent évoluer le plus facilement sont les plus simples. S’ils sont vraiment simple, ils peuvent même être réécris.

Ce débat est visible dans les incompréhensions REST versus SOAP. Pendant que REST fait du simple et efficace, d’autres font des abstractions inutiles (qui utilise le fait que SOAP peut fonctionner au dessus de SMTP ou http ?).

L’histoire informatique montre que les abstractions finissent par disparaitre pour utiliser les technologies gagnantes. Par exemple Windows avait faire des API permettant de faire du TCP/IP, Ipx, … Qui s’en souvient ? qui a encore idée d’utiliser ces API ?

La limite de l’approche par l’abstraction est que l’on peut faire a un instant T une abstraction de SNA. Pas de chance quand TCP/Ip arrive les concepts sont différents. L’abstraction pour être utile nécessite si on ne veut pas changer l’application de faire rentrer tcp/ip dans les concepts de SNA (déclaration des liens a priori …). Bref on ne bénéficie pas des avancées technologiques.

Ne dites pas que c’est évident, combien on fait des API d’abstraction de Mqseries, réseau, base de données en tous genres au dessus d’API abstraite (pour changer d’abstraction plus facilement…) …

Je suis sur que dans 99% des cas l’application a été changée sans que toutes cas abstractions aient été modifiées.

Cela revient bien a dire que l’essentiel du temps de développement des applications n’est pas du temps consacré a du code utile ou métier aujourd’hui ni demain.

C’est d’ailleurs bien ce que l’on observe sur Internet. Certains sites sont refait entièrement plusieurs fois pendant que d’autres n’ont pas mis en production leur application.

Amazon refaisait son SI tous les 2 ou 3 ans de mémoire ….

Une autre forme du débat vient du nombre de couches imposées 2, 3, 4 parfois 5. Est-ce bien utile de traverser 5 couches pour consulter un code TVA mis simplement dans une table ? Est-ce bien raisonnable ? Pourquoi ne pas rester au n tiers, n variant en fonction des besoins ?

Le vrai progrès en architecture sera quand on cherchera a faire simple, quand on se demandera ‘peut-on faire plus simple ?’ et non pas plus abstrait.

API Youtube

Youtube vient de sortir de nouvelles API. Comme youtube c’est google, il est inutile de dire que celles-ci respectent le style REST.

Exemple :

http://gdata.youtube.com/feeds/users/username/favorites – videos bookmarked by username

c’est simple, clair … comme d’habitude avec Google.

L’autre élément est que les données sont au format Gdata, c’est a dire Atom+données spécifiques. Google confirme son choix d’utiliser gdata comme format standard pour les données.
Il est a noter que leur API permet de récupérer les données en Atom ou Json pour être utilisée facilement en Javascript.

Si vous voulez essayer sur un exemple :


http://gdata.youtube.com/feeds/users/google/uploads?
vq=”google+maps”&orderby=viewCount
(the videos about Google Maps uploaded by Google, sorted by popularity)

vq c’est pour filtrer sur mots clefs.
Il est aussi possible de rechercher non pas sur mots clefs mais avec des tags :

http://gdata.youtube.com/feeds/videos/-/capgemini

ici toutes les vidéoes tagués capgemini sur youtube.

Si quelqu’un a des idées sur comment faire plus simple et plus limpide, qu’il le dise …

Et comme le format est Atom, c’est intégrable très facilement dans les blogs, portails … quand je dis simple c’est qu’un copié/collé devrait suffire.

Ces API sont utilisables par des utilisateurs rusés ou avancés sans problèmes, c’est la force de REST et Atom

La prochaine révolution …

Le métier informatique évolue et sur Internet se dégage une très nette tendance, l’utilisateur peut faire lui même de l’intégration, installer ces outils … nous venons de voir comment il peut faire des plug’in firefox et IE et 5 minutes.

Contrairement a ce que de nombreuses personnes pensent, l’avenir est aux utilisateurs qui vont savoir faire eux même leurs outils par intégration et qui pourront diffuser leur travail aux autres.

Quel peut alors être le travail des informatitiens ?
permettre aux utilisateurs d’automatiser aux même leur travail.
Prennons skype, ils ont fait un assitant pour générer le code html que l’utilisateur peut copier coller, il a bien fallut développer le générateur de plug’in ci-dessous.
Tel sera le prochain travail des bons informatitiens: permettre aux utilisateurs d’automatiser facilement leur travail.
Les mauvais feront leur possible pour les en empecher.

Si la guerre était un sujet trop sérieux pour être laissé aux militaires (Clemenceau), l’informatique est également un sujet trop sérieux pour être laissé aux informatitiens !

Faciliter la recherche sur votre site

Vous voudriez faire facilement des recherches sur votre site préféré depuis la zone de recherche de google ?
vous ne savez pas programmer ?
aucune importance, allez sur votre site et lancer une recherche sur le mot TEST, copiez l’url.
allez ensuite ici et copier l’url, mettez une description et un tag correct.
allez en bas de la pate et cliquez sur créer le plug’in.

voila c’est fait, vous venez de créer un plug’in pour firefox. Félicitations.

ensuite allez ici pour retouver le plug’in, en le recherchant. Pour l’installer il suffit de cliquer sur ‘I’ pour installer.

Il ca marche aussi avec IE 7.

Pour tester avec ce blog, cliquez ici , puis cliquez sur ‘I’ pour installer.
vous allez ensuite voir dans la zone de recherche que ce blog est dans les moteurs de recherche disponibles.

10 preuves que google est bien Dieu

10 preuves que google est bien Dieu

et pour ceux qui ne suivent pas les tables de la loi les sanctions peuvent être sévères. Essayez de rechercher le site cobrason qui est une boutique de hifi… (ca fait plusieurs jours que le site est considéré comme dangereux par google, j’imagine la perte de CA … et les remontrances faites aux coupables)

alors suivez le chemin …

même si c’est hors sujet, le “Google est trinitaire” mérite débats. bien qu’Arius mort en 386 est perdu les débats la sainte trinité, sa défaite est plutôt tardive dans les débats … Si clovis ne c’était pas batisé du coté catholique et donc de la sainte trinité (d’ou les 3 marches pour rentrer dans la piscine pour le batême …), l’hérésie ariennee opposée a la trinité se serait peut être imposée. Bref être trinitaire n’est pas nécessairement être plus prêt de Dieu. Les conciles de nicee et constantinople ont été des débats acharnés ! Savoir si Jesus est subordonné a Dieu ou au même niveau est une question phylosophique complexe. vous trouverez sur wikipedia quelques éléments sur le sujet ou ici sur la trinité. La trinité a gagnée mais ce débat mérite d’être relancé, au moins pour le plasir de débattre !

microformats (suite)

Bien entendu les microformats ne se limiteront pas demain aux cartes de visites, évènements, ou lieux.
il existe déjà des microformats pour les compétences (hResume), pour noter les produits ou services (hReview), pour les votes (vote-links), décrire des relations : amis, travail… (XFN).
Je n’ai pas trouvé pour les petites annonces mais si ca n’a déjà été fait, cela ne tardera pas.

Nous allons rapidement assiter a une relation gagnant-gagnant entre ceux qui vont utiliser ces formats et les moteurs de recherche.
En effet les moteurs de recherche vont apprendre rapidement a indexer ces formats (ils commencent déjà à le faire). Lorsque l’on va chercher ‘emploi expert W3C’ ils vont mettre en avant les CV qui ont utilisé hResume, car ils savent que c’est bien un CV et que la compétence est mise, ils seront donc plus “sur” d’eux. Bien sur ceux qui vont vouloir être trouvé par les chasseurs de têtes vont rapidement comprendre qu’ils ont tout interet a utiliser les microformats pour être mieux indexer par les moteurs de recherche.
Nous avons une relation gagant-gagnant : meilleurs sites->mieux indexer->plus de visiteurs.

j’ai parlé ici des CV qui vont obliger les monster et autres a revoir leurs modèles économiques … mais n’oublions pas les petites annonces dont les sites vont également devoir évoluer.

Dans un premier temps, seuls les gens un peu en avance vont utiliser des microformats pour leur plus grand profit. dans un second les outils vont évoluer. Les blogs par exemple vont fournir des fonctions pour saisir son CV, relations, petites annonces. Blogger de google y a tout interet…
Dans la mesure ou ils vont également devenir notre identfiant (voir OpenId), les solutions de blogs (Blogger,…) vont prendre de plus en plus d’importance.
Les cabinets de consultants qui ne comprennent rien et annoncent tous les ans la mort des blogs en seront pour les frais. Je vais eviter de citer dans la catégorie le gartner, ca ne se fait pas…

Microformats mais maxirésultats

Tout le monde connait le xHtml, nous n’y reviendrons donc pas … ceux qui ont raté cette étape peuvent aller ici.

l’idée de départ est quand dans le xHtml, nous mettons régulièrement des noms, téléphones, lieux, rendez-vous … mais rien ne permet a un ordinateur de savoir ce que c’est (il faut des analyses pointues pour essayer de retrouver les prénoms des noms, des téléphones….).

Les microformats arrivent ici. Sans modifier le langage xHtml, il est possible d’utiliser l’attribut class pour définir plus précisement le contenu. Bien sur pour que se soit exploitable, il faut quelques standards de nommage.
C’est ca les microformats (pour faire simple)

Un exemple :

<pre><code><ol class=”added”>class=”vcalendar“</span>
<li class=”added”>class=”vevent”</span>>
<a href=”http://tantek.com/presentations/…”
<span class=”added”>class=”url”</span>>
<span class=”added”>class=”summary”</span>What are microformats?</span>
<span class=”added”> <abbr class=”dtstart” title=”20060711T1030-0400″></span>
11 July 2006
<span class=”added”> </abbr></span>
</a>
</li>
</ol></code></pre>

L’exemple est pour un évènement, il faut surtout regarder les attributs ‘class’ et les span. C’est eux qui sont normalisés.

A quoi ca sert, a part la beauté du geste ?

Il existe 2 plug’in Firefox permettant de trouver et utiliser ces microformats :
Tail exports, Operator. je vous laisse faire le choix, ou le non choix si vous prennez les deux, comme moi.

Ces plug’in permettent différentes actions lorsqu’ils rencontrent des microformats dans les pages. Operator permet d’exporter au format vcard les cartes de visites ou d’aller directement vers google maps pour les lieux, d’ajouter un rendez-vous dans google calender…

Le site le plus connu et ou ca a une utilité est linkedin. Vous découvrirez que vous contacts sont tous affichés en utilisent des microformats ce qui permet de les importer facilement par les plug’in.

Il est étonnant de voir a quel point l’intégration peut être simple …
et a quel point le browser devient la plate-forme d’intégration, le nouveau système d’exploitation. Le browser sert alors a retenir vos outils préférés : vos lecteurs rss favoris, vos outils d’agenda favoris, vos outils de gestion de contacts… et peut ainsi facilement faire l’intégration quand il rencontre les microformats.

Vous pouvez penser que c’est simple, mais comment feriez vous pour permettre aux utilisateurs d’ajouter des clients dans leur client de messagerie ? avec les microformats et firefox c’est 5 minutes…

L’architecture de google

j’ai retrouvé un vieux document mais au combien passionnant sur pagerank avec l’architecture de google expliquée.
C’est fiable, c’est écrit par Sergei Brin et Lawrence Page…

Le plus bluffant c’est de voir qu’ils ont obtenu un bon moteur de recherche en stockant 108Go… (ils compressent c’est vrai … pour stocker le contenu des pages html du web !)

le web a bien grandit depuis mais ce document est un must have, read, learn … c’est brillant.

contrairement aux idées recues, voici ce qu’ils écrivent sur l’optimisation :
Improving the performance of search was not the major focus of our research up to this point.

The current version of Google answers most queries in between 1 and 10 seconds. This time is mostly dominated by disk IO over NFS (since disks are spread over a number of machines). Furthermore, Google does not have any optimizations such as query caching, subindices on common terms, and other
common optimizations. We intend to speed up Google considerably through distribution and hardware, software, and algorithmic improvements. Our target is to be able to handle several hundred queries per second. Table 2 has some sample query times from the current version of Google. They are repeated to
show the speedups resulting from cached IO.

Pour ceux qui ont du mal a avoir des applications performantes, quelle leçon !

Le triomphe de Google dans les chiffres

En cherchant autre chose je suis tombé sur les statistiques de netcraft concernant les parts de marché des différents serveurs web sur Internet (ca fait de très nombreuses années qu’ils scannent tous les serveurs web pour savoir quelle est la technologie du serveur web ce qui rend leurs statistiques précieuses).

J’ai été très étonné par ce graphique :

Google apparait en arrive en 2 mois a prendre 4% de parts de marché.
On m’a fait remarqué que Google utilise en réalité un Apache modifié. Cela montre l’importance que prend le Saas pour Software as Service. Ce n’est pas une simple idée de l’esprit de personnes comme Louis Nauges mais bien une réalité visible a l’échelle d’Internet.
Google a la bonne idée de modifier les entêtes pour préciser que le serveur web est google, il serait interessant de la part de Microsoft de faire de même en renvoyant ‘Live’ pour identifier les domaines qu’ils gèrent.

Pour les spécialistes, on voit également se développer lighthttp qui est un petit serveur web, léger et très performant. Un petit a suivre !