Project Tofino : Mozilla veut faire renaître le Phoenix de ses cendres [MAJ]

Stéphane Moussie |

Expérimenter, sans tenir compte du passé ni des a priori, c'est le but du Project Tofino lancé par Mark Mayo, le responsable de Firefox. « Ce qu'un navigateur doit faire pour nous a beaucoup changé depuis Firefox 1.0, et nous avons besoin depuis longtemps de nouvelles approches », explique le Senior Vice President de Mozilla dans un billet de blog.

Logo du projet Tofino

Firefox va bénéficier cette année de nouveautés majeures (WebExtensions, multi-processus, distribution plus rapide), « mais ce n'est pas suffisant quand des gens ont une idée totalement différente qu'ils veulent explorer. » Cette idée, elle passe notamment par un logiciel qui ne soit pas basé sur Gecko et XUL, les deux technologies fondamentales de Firefox, mais sur les plus modernes Electron et React.

React est un framework JavaScript supervisé par Facebook permettant de construire des interfaces utilisateurs. Quant à Electron, il s'agit d'un framework servant à créer des applications multiplateformes à l'aide de technologies web... dont Chromium, la base open source de Chrome.

« Est-ce que cela veut dire que nous ne croyons pas en Gecko (le moteur de rendu de Mozilla, ndr) ? [...] Que va-t-il se passer si les développeurs pensent que nous abandonnons Firefox et Gecko ? » Mark Mayo déclare être conscient de ces interrogations et craintes, mais selon lui il n'y a plus de temps à perdre : « Ne pas avoir un Firefox sensationnel va tuer Firefox. Point barre. »

Premiers croquis des prototypes du projet Tofino

Non seulement les prototypes du projet Tofino « ne ressemblent presque en rien à Firefox », mais en plus ils sont créés loin des standards de travail de Mozilla. Mark Mayo a donné carte blanche à une petite équipe de développeurs.

Cette équipe établie à Tofino, sur l'île de Vancouver au Canada, n'aura de compte à rendre à personne et sera même totalement coupée du reste de Mozilla pendant 3 mois. « C'est le temps que j'accorde à l'équipe pour prouver qu'il y a quelque chose qui peut devenir un produit, annonce le dirigeant. Si ce n'est pas le cas, on abandonne tout. »

Mark Mayo entend en fait recréer les conditions de la création de Mozilla, née en 1998 de la libération en un temps record du code source de Netscape. Le Phoenix va-t-il renaître de ses cendres ?

Mise à jour 23h48 : Mark Mayo vient de mettre à jour le billet de blog pour préciser que Project Tofino était « entièrement concentré sur les explorations d'expériences utilisateurs et non sur la plateforme technologique ». Et d'affirmer son attachement à Gecko et Servo (le nouveau moteur de rendu développé par la fondation) pour le futur du navigateur. Il n'est donc pas question de faire table rase.

Logo de Phoenix, le premier nom de Firefox
avatar Karamazow | 

Enfin un projet excitant !

avatar C1rc3@0rc | 

Il y a plein de startup et de petites équipes opensource qui développent des projets exitant.
La grande question par rapport au WEB est d'arriver a simplifier l'interface de consultation tout en maintenant la fonctionnalité et surtout en développant l'ergonomie.

Le fait est que les protocoles internet sont robustes, fonctionnels et durables, a l'image de l'email, mais ils sont enterres sous des interfaces de plus en plus lourdes et inadaptées et font l'objets d'attaques parce qu'ils sont libres (on le voit par exemple avec Facebook qui tente de substituer ses protocoles prorietaire aux protocoles libres d'internet).

Mozilla qui abandonne tous ces projets, dont l'excellent Thunderbird, et voit Firefox perdre du terrain tente ici un baroud d'honneur?

La solution semble radicale, peut etre, mais alors pourquoi de ne pas gagner du temps et investir dans des projets déjà en développement?
Et franchement la voie de React et Electron, c'est pas du tout innovant, les deux sont largement critiqués et dans leurs concepts et dans leurs réalisation.
Quant a la fiabilité, la aussi il va y a voir un gros problème, parce que le fond du problème n'est pas considéré tout simplement. L'approche sonne comme s'il s'agissait de refaire une citadelle comme les autres, avec des lego. On va donc se retrouver avec une WebApp locale faisant tourner des WebApp!
A ce moment autant faire dans l'efficace et le sécurisé et developper un navigateur sur Python et Qt5!

Et quid du choix d'installer l'équipe a Vancouver, une ville sclérosante et inhabitable, qui est un désert technologique et se transforme en forteresse pour immigrés millionnaires chinois?

avatar Stéphane Moussie | 
Sur l'île de Vancouver, à Tofino (d'où le nom du projet), en fait. J'ai précisé.
avatar C1rc3@0rc | 

Ok, au moins ils vont etre au grand air ;) et ils seront pas très loin de la capitale de la Colombie Britannique !
Apres, niveau productivité, si jamais ils font du surf on risque pas de voir arriver grand chose avant l'hivers ;)

avatar Vaudan (non vérifié) | 

@C1rc3@0rc :
En deux semaines il y a eu deux mises à jour de thunderbird...

avatar C1rc3@0rc | 

Oui, ils assurent encore le mises a jours, mais y a plus de développement. Et vas trouver Thunderbird sur le site de Mozilla.
En fait ils attendent de trouver un repreneur pour le projet.

avatar alderaan | 

A voir... Vu la lenteur d'Electron, je suis vraiment pas convaincu de l'utilisation de JS pour des apps desktop (et je parle en tant que contributeur au projet Atom.io)

avatar oomu | 

disons le carrément: Javascript sur le bureau est le prochain Java sur le bureau : une gabegie, une illusion pour gogo.

XUL a été conçu pour créer des apps multiplateformes et NATIVES. et cela marche. et c'est une vraie valeur ajoutée de Mozilla.

Si on passe à js, baaaaah, n'importe quel moteur de rendu avec un moteur js suffira, tiens par exemple Chromium ou ... EDGE !

avatar marc_os | 

@oomu :
Javascript sur le bureau pourrait comme Java aboutir à partager encore plus les développements entre plateformes. Mais comme Java ça risque de donner des résultats ne respectant les règles d'IHM d'aucune plateforme. Sans parler bien sûr des performances fatalement inférieures à celles d'un développement natif.

avatar Jeanlucesi | 

Pour info Tofino est une petite ville au nord ouest de l'île de Vancouver.

avatar reborn | 

Ou tout simplement faire un navigateur pour naviguer sur internet et pas plus ? J'ai envie de rajouter "sans extensions" mais ce serais synonyme de pubs à outrance..

avatar FatB | 

C'est une excellente idée. Firefox est devenu une monstruosité obèse, lente et bugée.

avatar Doctomac | 

S'ils veulent faire renaître quelque chose, ça passera/devrait passer par l'adoption de Webkit.

avatar Mike Mac | 

Pale Moon pour remplacer Firefox...

avatar iDanny | 

Sympa la vidéo du project code rush, avec plein de geeks dedans... Faut que je me trouve 1 h pour mater ça :)

avatar fte | 

Je ne suis pas, mais alors pas du tout, fan de JavaScript. Mais...

Ça ferait totalement sens de développer une machine virtuelle JavaScript très avancée et performante, et de développer le browser, le moteur de rendu, en JavaScript. Actuellement l'inverse est la norme : un browser et moteur de rendu natif et un moteur JavaScript greffé dessus.

Les avantages seraient nombreux, à commencer par une intégration beaucoup plus poussée du moteur de rendu et des scripts des sites visités, les deux tournant dans le même environnement.

Je suis très curieux de voir quelles pistes ils vont suivre en tout cas. J'avoue je suis partial, j'ai une étrange et forte attirance pour les machines virtuelles. Je sais en fait exactement pourquoi j'aime le concept mais c'est une autre histoire.

avatar C1rc3@0rc | 

ben des machines virtuelles il y en a de plus en plus et a différents stades.

On connait celle de Java, celles des navigateur Web pour Javascript dont celle de Google qui anime aussi le serveur NodeJS, celle de Smalltalk, celles des langages interprétés en général, les runtimes du type de celui d'Objective C, mais aussi la célèbre LLVM qui sert d'étape intermédiaire pour la compilation...

A cela il faut rajouter les environnements virtuels, comme Virtualbox ou Parallels.

Et puis on le sait peu mais la plus grosse machine virtuelle c'est le processeur x86, le code x86 dit faussement natif est en fait analysé, optimisé, re-ordonné puis traduit en instructions plus courtes et spécifiques, elles mêmes subissant des ordonnancement spécifiques avant d'être exécutées par un moteur RISC...

Donc en fait meme un programmeur qui ferait de l'assembler x86 ne programme pas le processeur mais une machine virtuelle.

Au final il n'y a donc que les compilateurs et l'assembler pour les processeurs RISC (ARM, PowerPC) qui produisent du vrai code natif et non pas une VM.

Si par exemple on fait tourner un navigateur Web dans un OS virtualisé comme Windows sur Parallels, en fait on va avoir 3 ou 4 etages de machines virtuelles avant que les instructions machines soient exécutées...

On comprend aisément l'inconvénient de toutes ces VM: cela multiplie les traitements, donc le temps de traitement, l'occupation en mémoire et cela augmente la complexité des traitements.
Si on imagine rajouter encore une couche on va encore plus ralentir les traitements et encore plus remplir la mémoire.

Les VM sont utiles, dans le cadre des langages interprétés. LLVM est aussi une approche pragmatique pour rendre un compilateur efficace surtout avec des langages peu efficaces en compilation, comme le C. Mais aujourd'hui avec la fin de la conjecture de Moore il faut optimiser le code a exécuter et supprimer les redondances...

avatar deltiox | 

Quand je lis framework supervisé par Facebook pour un navigateur Web, je ne sais pas pourquoi mais j'ai pour premier réflexe de ne pas vouloir l'utiliser et je trouve cela totalement contradictoire avec l'idée d'un petit groupe indépendant et isolé pour qqchose de novateur

avatar marc_os | 

@deltiox :
Idem.
Ce projet pour moi c'est de la branlette.
L'IHM d'un navigateur est et doit rester minimale vu qu'on passe son temps avec le contenu web, pas le navigateur ! Ce qu'il faut c'est qu'il respecte les normes et soit efficace, c'est tout.
Quant à l'IHM, après 20 ans rien n'a fondamentalement changé, et pour cause. Par contre, aucun gestionnaire de favoris ne me convient...

avatar C1rc3@0rc | 

@marc_os

+1000

J'irai plus loin que toi: l'interface s'est fortement dégradée depuis les 5 dernières années en devenant trop compliquée et confuse et cela dans tous les navigateurs.

Il y a trop de fonctions inutiles qui font disparaitre celles fondamentales, et celles utiles ne sont toujours pas la ou alors enfouies dans les tréfonds insondables d'une interface décourageante.

Une des pires horreurs c'est a mon sens les onglets de Safari, inutilisables a la souris.

Et oui, la gestion des signets est infâmes: anti-ergonomiques et anti-fonctionnelle!
Vas trouver comment réorganiser tes signets, les trier, déplacer un ensemble dans un dossier…
Pourquoi lorsque on ouvre LA fenêtre de gestion de signets le menu Fichier ne s'adapte pas pour proposer la création de dossier et les opérations sur les signet en général?
Pourquoi faut il un bouton "hamburger" ou l'immonde "carré fleche d'iOS"?
Et la je parle uniquement du Mac,

Une fonction toute bete dans les signets comme un tri alphabétique ou par date c'est pourtant un minimum, ou le fait de pouvoir disposer de 2 fenêtres type Finder pour les déplacements sans acrobaties

Ou encore des fonction basiques: la vérification de validité des adresses, la recherche/édition (avec le passages des sites en https ce serait bien utiles), les annotation et tags et couleurs!
Il s'agit pas de faire du navigateur WEB un gestionnaire de documentation, mais tout de meme!

Autres fonctions de bases immondes et minimalistes: la gestion d'historique et le contrôle de contenus. Simplement pouvoir facilement activer/désactiver JS ou un plugin sur une page, contrôler les cookies/data, empêcher l'irritant rechargement de page quand alors qu'on est en train de lire la moitié d'un articles, le lancement du son ou de la video!
Et un gestionnaire de téléchargement un peu ergonomique sans devoir passer par une extension?

avatar Seccotine | 

« React est un framework JavaScript supervisé par Facebook permettant de construire des interfaces utilisateurs. »

Ça commence déjà très mal... car avoir un autre FireFox en papier carton, non merci...

avatar Le docteur | 

Sur le coup, j'ai cru qu'ils allaient reprendre Mozilla Suite.
Ca, ça aurait été innovant.

CONNEXION UTILISATEUR