Entretien avec Simon Long de Raspberry Pi à propos du bureau Raspberry Pi, de la conception de l'interface utilisateur, et bien plus encore !
Information contextuelle importante : cette interview a été réalisée début juillet 2018, donc certaines applications auxquelles Simon fait référence pourraient déjà être publiées, etc.
Max : Voici l'interview de Simon Long, de la Fondation Raspberry Pi, qui est principalement responsable du système d'exploitation de bureau Raspbian.
Simon : C'est vrai.
Max : De nombreuses applications comme VeraCrypt publient des binaires pour la plateforme Raspberry Pi, mais dans ce cas, il ne s'agit même pas de binaires ARMv6, seulement ARMv7. Je me demandais s'il y avait une raison technique spécifique pour cela, ciblant spécifiquement le Pi, pourquoi ne pas simplement faire des binaires ARMv7 génériques.
Simon : Je ne sais donc rien du cas spécifique que vous avez mentionné. Pour ce qui est de cibler spécifiquement le Pi, je suis conscient que les versions standard ARM hard float de Debian ne font pas le meilleur usage du Pi. Elles ne sont pas particulièrement optimisées pour notre plateforme, d'après ce que j'ai compris. Je n'ai pas essayé d'exécuter quoi que ce soit que nous n'ayons pas construit spécifiquement en utilisant des systèmes de construction dédiés au Pi ou construits sur des environnements de compilation croisée conçus pour le Pi. Mais je suis amené à croire que les choses doivent être construites spécifiquement pour le Pi plutôt que d'utiliser simplement le matériel standard de Debian. Je ne suis pas familier avec les détails techniques de la raison pour laquelle il doit en être ainsi, mais je suppose que c'est en rapport avec les optimisations pour le matériel. Certainement dans le cas de choses évidentes où les gens souhaitent utiliser des parties de VideoCore, une construction standard de Debian ARM hard float n'en fera aucun usage. Ainsi, vous n'obtiendrez pas les meilleures performances que vous pourriez obtenir de l'appareil.
Max : Vous voulez dire des choses comme par exemple ces optimisations NEON SIMD ?
Simon : Non, le matériel NEON devrait fonctionner, car il se trouve du côté ARM du périphérique. Il s'agit plus précisément du côté Video Core de l'appareil, dont l'accélération vidéo est probablement la partie la plus importante. Il y a aussi des choses comme les unités de traitement des pixels dans le VideoCore IV qui vous permettent de faire des opérations parallèles. Vous ne bénéficiez d'aucune de ces optimisations si vous ne ciblez pas spécifiquement notre plate-forme.
Max: Donc essentiellement une plateforme ARM n'est pas comme une plateforme différente ?
Simon: Le noyau ARM lui-même est le même, mais les périphériques seront différents. Dans notre cas, l'un des périphériques est VideoCore, qui fournit une accélération vidéo et multimédia. Donc si vous écrivez pour une plateforme ARM générique, vous n'en tirerez pas le meilleur parti. Pour vous donner un bon exemple : Chromium. Chaque fois qu'une nouvelle version de Chromium est publiée, un de nos collaborateurs travaille à l'intégration de notre accélération matérielle vidéo. Si vous utilisez Chromium pour lire YouTube ou autre sur la plateforme, vous bénéficiez de l'accélération pour cela. Si vous prenez juste la version standard de Chromium ARM, vous ne le ferez pas. C'est surtout pour des choses comme l'accélération vidéo.
Max : Avez-vous mis en place une procédure automatisée pour le faire ?
Simon : Non - c'est une chose difficile à automatiser. Le code change considérablement, certainement dans le cas de Chromium. Dans de nombreux cas, il s'agit de prendre les mêmes correctifs que ceux de la dernière version et de les appliquer à la nouvelle version. Mais comme vous le savez, lorsque vous essayez de fusionner des correctifs entre les versions, ils ne sont pas toujours appliqués proprement. La quantité de travail à fournir varie en fonction de l'évolution du code de base, mais il ne s'agit malheureusement pas d'un processus automatisé. Il s'agit d'un cas où le gars qui travaille dessus doit regarder ce qui a changé entre Chromium 65 et 67 et voir comment cela affecte ces correctifs. Il s'agit d'une énorme base de code et elle est appelée à changer. Alors que les correctifs sont relativement petits, les lignes sur lesquelles ils sont appliqués peuvent être très différentes d'une version à l'autre de Chromium.
Max : Pour résumer, l'idée est, puisque le Pi est - relativement parlant - encore moins puissant qu'un PC de bureau, d'utiliser réellement le matériel aussi longtemps que possible et d'optimiser les binaires pour lui.
Simon: Exactement.
Max: Passons au sujet de l'ordinateur de bureau Raspberry Pi. Quels sont les principaux objectifs et idées qui se cachent derrière ?
Simon : Les principaux objectifs et les idées qui se cachent derrière ... quand j'ai commencé, mon premier jour chez Pi, Eben et moi nous sommes assis, avec Raspbian sous LXDE, et il m'a demandé si je pouvais l'améliorer. J'ai joué un peu avec, et j'ai pensé - oui, il est certainement possible de l'améliorer. La question était de savoir si je savais comment l'améliorer, car je n'avais jamais utilisé Linux auparavant et j'avais donc une courbe d'apprentissage assez longue.
Max: Vous n'avez jamais utilisé Linux avant ?
Simon: J'avais démarré Linux quelques fois de manière expérimentale, mais je n'avais jamais écrit de code pour Linux, je ne l'ai jamais vraiment utilisé pendant plus de dix minutes, [avant de commencer le travail sur Raspberry Pi].
Max: Une des raisons pour lesquelles vous n'avez pas utilisé Linux était-elle l'environnement de bureau ? La manière confuse dont il est organisé ?
Simon: J'ai utilisé Ubuntu, j'ai utilisé Knoppix.
Max: Knoppix - en fait par un ingénieur allemand.
Simon: Oui, j'ai utilisé les deux et j'avais trouvé l'environnement de bureau pas intuitif sur les deux. Je ne trouve toujours pas l'environnement de bureau d'Ubuntu intuitif. Il me faut toujours dix minutes pour essayer de me rappeler où ils ont caché le terminal. Ce genre de choses. J'ai l'impression que beaucoup d'applications Linux ne sont pas écrites avec la facilité d'utilisation comme priorité. Elles sont écrites pour être faciles à écrire plutôt que pour être faciles à utiliser. Ce qui est compréhensible, étant donné que personne n'est payé pour cela. Mais j'ai senti en regardant LXDE, tel qu'il était à l'époque, qu'il y avait beaucoup de possibilités de le rendre beaucoup plus convivial qu'il ne l'était, et certainement, je pense, étant donné les deux plates-formes que j'avais le plus d'expérience sur ce point, qui étaient Windows et Mac, il m'a semblé qu'il y avait un écart majeur dans la convivialité entre LXDE et l'une ou l'autre. Si vous voulez un objectif déclaré, ce serait de rendre le bureau du Raspberry Pi aussi facile à utiliser que Windows ou Mac. Idéalement que Mac, car c'est ma plateforme préférée. Pour ce qui est de la facilité d'utilisation, je pense que le plus important est d'ajouter de la cohérence. Je pense que le problème avec LXDE est qu'il s'agit d'une collection de composants provenant de différents problèmes qui ont tous été versés ensemble. Vous avez donc un gestionnaire de fenêtres qui vient d'un endroit, un gestionnaire de fichiers qui vient d'un autre endroit, et une barre des tâches qui vient d'un autre endroit. Et cela ne fonctionnait pas vraiment - pour moi - comme un ensemble intégré de choses. Si je voulais changer la police du système, je devais la changer à trois endroits pour qu'elle prenne effet partout. Et c'est un processus continu. Dans la nouvelle version, vous avez probablement vu l'assistant de démarrage.
Max: Oui.
Simon: J'ai déjà reçu des critiques sur les commentaires du blog de la part de personnes qui disent qu'il ne faut pas utiliser un assistant de démarrage, car cela décourage les gens de regarder les fichiers de configuration [setup].
Max: J'ai déjà vu ce commentaire. La raison est du genre : " Nous l'avons fait de la manière forte... ".
Simon: Exactement. C'est toute ma frustration avec les gens qui [pensent comme ça]. C'est "J'ai dû souffrir, donc les utilisateurs d'aujourd'hui doivent souffrir". Pour moi, c'est une mauvaise compréhension de l'objectif de Pi. L'objectif de Pi a toujours été de fournir un environnement où les gens peuvent apprendre l'informatique. Et si vous parlez d'apprendre l'informatique, pour moi, c'est apprendre à programmer un ordinateur. Ce n'est pas apprendre à configurer un bureau Linux. Parce que l'une de ces compétences est utile et peut être utilisée : une fois que vous avez appris à programmer, des carrières entières s'ouvrent à vous. Et c'est ce que nous sommes établis à faire. Apprendre à configurer un bureau Linux - oui c'est utile, si vous avez besoin de configurer des bureaux Linux. Mais ce n'est pas ce que Pi est censé apprendre aux gens. Et donc, de mon point de vue, je veux faire disparaître l'environnement de bureau, pour que les gens puissent simplement commencer à programmer. C'est l'un des principaux objectifs de ce que je fais : si les gens veulent changer le fond d'écran de leur bureau, ou rendre leur police plus grande pour qu'ils puissent lire des choses, ils ne devraient pas avoir à creuser dans douze fichiers de configuration pour le faire. Cela devrait être facile à faire.
Max : Absolument. La raison pour laquelle j'utilise Windows sur mon bureau est que je ne peux pas m'en occuper... par exemple, j'ai une configuration multi-moniteur... J'ai une idée approximative de la façon de le faire sous Linux, mais je devrais modifier les fichiers de configuration et y consacrer beaucoup de temps.
Simon: Encore une fois, venant à Linux comme quelqu'un qui ne l'a pas beaucoup utilisé auparavant, plus j'ai découvert comment vous deviez faire ces changements de configuration, plus j'ai été horrifié par le désordre avec lequel on attend des gens. C'est pourquoi la première chose que j'ai faite a été d'écrire une application qui modifie tous vos paramètres système à votre place. C'est ce qui m'a semblé le plus important : pourquoi personne ne l'avait fait avant ? Pourquoi était-il encore acceptable de devoir ouvrir quatre [fichiers] de configuration différents pour obtenir un résultat correct ? Il s'agit de donner l'impression d'un seul et même environnement. C'est ce que j'ai toujours voulu faire avec le bureau : il faut arriver à un point où, comme sur un Mac, on ne pense même plus au bureau. Le bureau fonctionne tout simplement. Et si vous voulez changer l'image d'arrière-plan, ou rendre la police plus grande, ou lancer une application, la façon de le faire est évidente. Pour moi, LXDE - bien qu'il ait fourni une excellente base de travail - et je ne dénigre en aucun cas le travail des créateurs de LXDE, ils ont fait des choses fantastiques en dessous - avait juste besoin d'un peu de soin et d'attention sur le dessus. C'est ce que j'ai fourni pour en faire une expérience agréable à utiliser. C'est toujours mon objectif - le rendre agréable à utiliser, avec une attention particulière chaque fois que je le peux, pour les personnes qui n'ont pas beaucoup utilisé d'ordinateur auparavant, ou certainement jamais utilisé un système Linux auparavant. Il s'agit de le rendre familier et plus intuitif.
Max: Y a-t-il vraiment des problèmes de droits d'auteur ou de conception, comme par exemple la barre de menu en haut de MacOS ? Où il faut être prudent ?
Simon: Je ne suis au courant de rien, non. Tout cela remonte à l'époque de Xerox PARC et du bureau original. La métaphore du bureau est bien établie et personne n'en est propriétaire. Je ne rêverais pas, par exemple, de prendre les icônes d'Apple. Je pense que les icônes d'Apple sont de toute beauté. Avez-vous essayé de zoomer dessus ? Elles contiennent d'énormes quantités de détails cachés que vous ne voyez jamais. Si vous regardez des choses comme l'icône de messagerie sur un Mac, si vous zoomez dessus, vous pouvez voir qu'il y a un cachet de la poste disant "Welcome to Cupertino" et des choses comme ça. Ils mettent tellement d'efforts dans ces choses-là. Il est hors de question que je mette des icônes Apple sur notre système, ce serait clairement une violation du copyright. Et nous voulons aussi établir notre propre identité visuelle, c'est pourquoi nous avons commandé nos propres icônes, c'est pourquoi j'ai redessiné l'aspect de nos fenêtres, pourquoi nous avons choisi notre jeu de couleurs. Et rien de tout cela n'est emprunté à quelqu'un d'autre. Il s'agit de mes propres idées sur ce à quoi le design devrait ressembler. Je pense qu'en ce qui concerne le concept général d'un environnement Windows avec des menus et des barres de tâches, etc. - c'est à peu près dans le domaine public. Les problèmes de droits d'auteur se posent si vous commencez à voler les ressources des autres, effectivement. Et nous n'allons pas faire cela. Je ne veux pas faire une copie de MacOS. MacOS a de très bonnes idées derrière lui. Mais il faut que ce soit quelque chose qui soit reconnaissable à Raspberry Pi. Au moins reconnaissable comme différent de MacOS. De la même manière qu'il doit être reconnu comme aussi utilisable que MacOS.
Lorsque j'ai commencé, la seule marque que nous avions apposée sur le système d'exploitation était que nous avions un Raspberry sur le bureau. En dehors de cela, c'était LXDE - nous n'avions rien fait d'autre, parce que nous n'avions pas de personnel pour travailler dessus. Comme Steve Jobs le disait, les polices de caractères sont très importantes, la typographie est importante. Ce sont des choses comme ça quand vous essayez de créer une image visuelle qui représente votre marque. Pour paraître un peu prétentieux. Il s'agit de créer quelque chose que les gens regardent et se disent "oh, c'est le Pi Desktop".
Max: En parlant de typographie, quel type de police système utilisez-vous par défaut ?
Simon: C'est une police du domaine public de Google appelée "Roboto". J'ai dû faire un peu de travail dessus. C'est une question intéressante si vous êtes un geek des polices. C'est presque la première chose que j'ai faite, littéralement le premier jour, parce que la police par défaut de LXDE est moche - et je sais que vous pouvez faire une énorme différence ...
Max: Vous savez ce que c'était ?
Simon: Je ne me souviens pas - c'était très hideux. Vous pouvez faire une énorme différence dans la façon dont quelque chose est perçu juste en changeant les polices. Il suffit de changer un document, de passer d'une police avec empattement à une police sans empattement, et tout le document a l'air différent. C'est l'une des choses les plus importantes à faire - Steve Jobs avait tout à fait raison à ce sujet - si vous choisissez la bonne police, beaucoup de choses s'améliorent immédiatement. Donc, la première chose que j'ai faite, c'est de passer en revue toutes les polices gratuites que j'ai pu trouver - évidemment il y a des millions de polices dans le monde - mais vous savez. J'avais besoin de quelque chose qui soit libre [à utiliser], quelque chose dont je pouvais comprendre comment l'intégrer à Linux. J'ai passé en revue des dizaines de polices, et dès que je suis tombé sur Roboto, je me suis dit : "Oui, c'est ça, ça ressemble à ce que je veux". Heureusement, elle était dans le domaine public, donc nous pouvions l'utiliser. Le problème, c'est que nous avons installé le paquetage Roboto, et quelques mois plus tard, nous avons fait une mise à jour du système, et la police était toujours Roboto, mais la police avait changé. Et elle était loin d'être aussi bonne. Google avait fait quelque chose aux métriques de la police. Je l'ai regardé et j'ai fait Eugh ! - ce n'est pas ce que je voulais. Donc en fait, ce que nous avons, c'est une ancienne version de Roboto, qui a son propre paquet. Je l'ai appelé Piboto, juste pour le distinguer de Roboto. Je ne peux pas continuer à suivre le paquet Roboto, parce qu'il a changé la police de caractères et que je n'aime pas la nouvelle.
Max: C'est en fait une surprise assez désagréable, je dirais. Parce que vous vous attendez à ce que les polices restent les mêmes.
Simon: Ce n'est pas le cas. Ils l'ont changé. Et ils l'ont changé au point que j'ai dit "non, on ne suit pas ça, on va prendre notre propre version de ça maintenant, et on va rester sur ma version".
Max: Surtout sur les très petits écrans - comme les écrans 2,8" d'Adafruit - vous devez avoir une police spéciale.
Simon: Oui, les petites tailles de points - vous devez avoir une police qui est conçue pour fonctionner dans des situations comme celle-là. Nous sommes donc sur cette vieille version de Piboto, comme on l'appelle, et l'une des autres choses intéressantes - si vous êtes un geek des polices - c'est de parler de cohérence. Les polices ont évidemment des poids différents dans Linux - léger et fin, moyen et lourd, et gras, etc. Et certaines applications - c'est en fait une question de GTK 2 contre GTK 3... ; je suis très pro GTK 2, je suis vraiment anti GTK 3. Je pense qu'ils ont pris de très mauvaises décisions dans GTK 3. Des choses comme si vous exécutez une application GTK 3 sous sudo, elle aura un aspect différent de celui qu'elle aurait si vous ne l'exécutiez pas, à cause de la façon dont ils y introduisent des informations de thématisation. Donc si vous exécutez sous sudo, vous n'obtenez pas le thème GTK 3 original de l'utilisateur, vous obtenez le thème GTK 3 racine. Qui peut ne pas être le même. Ce genre de choses. Si vous essayez d'être cohérent, GTK 3 n'est pas aussi bon que GTK 2. Et c'est le point que je faisais à propos de GTK 3 - en termes de ce qui est mauvais à son sujet en termes de polices, c'est que sa gestion des poids de police n'est pas bonne.
La police système que nous utilisons est Piboto Light. Encore une fois, je veux la version Light, car elle est plus jolie que la version normale. Il y a certaines applications - par exemple, Chromium, je crois que c'est une application GTK 3 - dans lesquelles vous définissez la police comme étant Piboto Light, et elle jette la Light, elle vous donne juste Piboto. Je pense que c'est une caractéristique de GTK 3, où la gestion du poids des polices n'est pas très bien faite. Et encore une fois, je pense que cela concerne leurs trucs sudo et non-sudo, il y a des trucs là-dedans qui ne sont pas faits correctement. J'ai en fait soulevé des bugs contre [ceci] - et ils disent : "non, c'est censé fonctionner comme ça, c'est bon". Je dois contourner cela, parce que cela ne fait pas ce que je veux que cela fasse.
Max: Comment faites-vous face à cela ?
Simon: La façon dont j'ai réglé le problème des polices avec tout, c'est qu'il y a notre police, qui est habituellement appelée Piboto, est maintenant appelée Piboto LT, parce que c'est le poids léger. Maintenant, les gens ne peuvent plus la casser, car si vous choisissez notre police, elle a toujours le bon poids.
Max : Avec le Piboto LT, il n'y a qu'un seul poids, le poids léger.
Simon: Vous pouvez le mettre en gras - il comprend toujours les versions en gras et en italique. Mais la version normale est la version légère. C'est le seul moyen que j'ai trouvé pour que tout soit cohérent. En ce qui concerne le choix des polices, je pense que le poids est aussi important que la police elle-même, car le changement de poids peut modifier considérablement l'apparence de la police. J'ai passé de nombreuses heures heureuses à jouer avec FontForge, à créer ma version de la police, ce qui signifie maintenant que tout semble cohérent. C'est l'un des changements de la version la plus récente, c'est que maintenant Chromium utilise la même police que tout le reste, alors qu'avant il ne le faisait pas. Auparavant, il utilisait Piboto en poids normal, par opposition au poids léger.
Max: Je pense que c'est une des choses que les gens remarquent - ça semble un peu décalé - au moins de manière subliminale.
Simon: Subliminalement est une bonne façon de voir les choses - j'ai toujours pensé que quelque chose n'allait pas avec Chromium. Mais je regardais les paramètres, et les paramètres disaient qu'ils avaient la police Light. Et dès que je faisais ces changements - c'était ce qui n'allait pas avec Chromium. Chromium a maintenant une apparence correcte. Chromium correspond maintenant à tout le reste. C'est une de ces choses - si vous ne la corrigez pas la première fois que vous la remarquez - vous vous y habituez. Et vous pensez alors, eh bien, c'est juste comme ça.
Faire fonctionner Chromium a été un grand pas en avant. Il a été difficile de faire fonctionner Chromium correctement avec le gestionnaire de fenêtres et de lui donner un aspect agréable dans le gestionnaire de fenêtres. Je déteste les applications qui veulent avoir l'apparence qu'elles veulent avoir, plutôt que celle que le système veut leur donner. Et Chromium en est une qui essaie d'utiliser ses propres couleurs pour les barres de fenêtres, et des choses comme ça. Il ne joue pas bien avec les gestionnaires de fenêtres. J'ai passé beaucoup de temps lorsque nous l'avons mis en place, à essayer de le rendre agréable à regarder.
Il y a une anecdote à ce sujet. Nous avons Chromium dans le système. Et Eben utilise Chrome sur d'autres systèmes. Je n'utilise pas Chrome, parce que je suis un utilisateur de Mac, j'utilise Safari.
Max: Y a-t-il un Chrome pour ...
Simon: Il y a Chrome pour Mac, je ne le recommanderais pas parce qu'il fait exactement ce que j'ai dit alors - il ressemble à une application Google sur un Mac, plutôt que de ressembler à une application Apple sur le Mac. Eben a l'habitude d'utiliser Chrome. Et Chrome colore sa bordure, de sorte que vous avez des onglets et un arrière-plan d'une couleur particulière - et Eben était habitué à cela, car il l'utilisait sur un Mac. Je me suis penché sur la question et j'ai constaté que cela ne correspondait pas au reste de nos applications et que cela devait être modifié. J'ai joué avec différentes combinaisons de couleurs et j'ai activé l'option permettant d'utiliser les cadres d'Openbox - le gestionnaire de fenêtres LXDE - avec Chromium. Parce que par défaut, on perd le cadre de la fenêtre. Avoir un cadre de fenêtre, Eben a dit "ça n'a pas l'air bien avec un cadre de fenêtre, ça ne ressemble plus à Chrome". J'ai dit : "Faites-moi confiance, ça va être bon. Mais il faut qu'il y ait le cadre. Parce que ça doit être assorti à tout le reste." Et Eben était en train de marmonner, "tu fais une grosse erreur - tu ne dois pas faire ça" J'ai dit "fais moi confiance, ça va être bon à la fin". Le problème était que vous aviez les couleurs de Chromium dans le cadre de notre fenêtre. Je devais trouver comment recolorer la fenêtre que Chromium vous donne - le fond derrière les onglets. Je devais faire en sorte qu'elle corresponde à la couleur que nous avons utilisée. Il m'a fallu quelques jours de bricolage pour essayer de trouver où se trouvait le paramètre, et je l'ai modifié. Eben s'est approché de mon bureau après que j'ai fait ça, et j'ai dit : " Regardez Chromium maintenant ". "Il l'a regardé et a dit : "C'est bien", j'ai dit "Je vous ai dit que ce serait bien". C'est une question de cohérence. Il s'agit de le faire ressembler à ce que vous attendez de lui. Ce qu'Eben avait vu, c'était quelque chose qui ne ressemblait pas à Chrome et qui ne nous ressemblait pas.
Max : Quelque chose d'entièrement différent, alors ?
Simon : Ouais, donc ça avait l'air mauvais. Mais je savais que pour bien faire les choses, il fallait que les couleurs et les polices soient bonnes. Et dès que tu as les bonnes couleurs, et que ça correspond, Eben a dit "Oh c'est bien." - "Ouais, je t'ai dit que ça le serait. C'est parce que maintenant ça nous ressemble. Tu es habitué à ce que ça ressemble à Chrome et ce que tu voyais c'était cette étape maladroite au milieu où je ne l'avais pas fini." Mais c'est pourquoi des choses comme le gestionnaire de fenêtres sont importantes. C'est un moyen très important de vous donner une apparence et une sensation cohérentes. Les applications qui ne sont pas compatibles avec le gestionnaire de fenêtres m'ennuient, car ce dernier n'est pas là pour rien.
Max: C'est une des choses qui m'ennuie dans le bureau Linux - la cohérence comme vous dites. Il y a je pense le GTK, puis il y a l'environnement de bureau KDE ...
Simon: Et la chose à propos de GTK est - si quelqu'un dit qu'il écrit une application pour nous, sur quoi il devrait la baser, ma réponse est de la baser sur GTK 2, parce que j'ai passé beaucoup de temps à faire en sorte que notre thème GTK 2 fonctionne bien. Il ressemble à ce que je veux qu'il soit. À chaque fois que GNOME a sorti une nouvelle version de GTK 3, ils ont modifié le thème de GTK 3. Et j'ai passé des semaines à essayer de faire correspondre les thèmes. Pour qu'une application GTK 3 ressemble à une application GTK 2 sur nous. Et à chaque fois GNOME changeait des choses. Comme je l'ai dit, GTK 3 ne semble pas faire de thèmes aussi bien que GTK 2. GNOME semble avoir évolué vers un thème qui est câblé dans l'application, et vous êtes vraiment encouragé à ne pas le changer, alors qu'avec GTK 2 vous aviez toujours le thème que vous vouliez. J'ai effectivement créé un thème GTK 3 qui fait de l'ombre à notre thème GTK 2. Et de temps en temps, GNOME fait quelque chose dans GTK 3 que je ne peux pas reproduire dans GTK 2. Ou qui entre en conflit avec notre thème. Et je dois alors passer par cette phase où j'essaie de rendre les deux applications aussi semblables que possible, parce que les gens remarquent que cette application a un aspect légèrement différent. On ne le remarque pas forcément de manière explicite, mais de manière subliminale, et on a l'impression que ça ne va pas.
Max: C'est un vrai défi, n'est-ce pas. C'est quelque chose que vous n'auriez pas à faire sur un Mac ou un Windows.
Simon: Non, parce qu'il n'y a qu'une seule boîte à outils, d'accord. Et l'autre chose qui entre en jeu récemment est Qt. Parce que le nouveau visualisateur de PDF - quand nous l'avons introduit cette fois - je veux dire que Xpdf est si vieux et daté, nous devions nous en débarrasser. C'était l'une des choses sur ma liste depuis le premier jour, nous avons besoin d'un nouveau visualisateur de PDF, j'ai finalement réussi à le faire. Et j'ai essayé tous les visionneurs de PDF qui pouvaient s'installer sur Raspberry Pi. Je regarde les choses en termes de look and feel, comment il fonctionne, ce qu'il fait - parce que l'interface de Xpdf est une liste de pages sur le côté, plutôt que d'être en mesure de continuer à faire défiler les pages, c'est des choses comme ça. Et il fallait qu'il ressemble à un visualisateur de PDF moderne. Et le meilleur candidat était Qpdf viewer, qui est une application Qt. Il ne ressemblait donc à rien d'autre sur la plateforme. Mon prochain défi était donc de faire en sorte que les thèmes de Qt ressemblent le plus possible à ceux de GTK. Et cela a demandé plusieurs semaines de travail. Encore une fois, parce que j'ai construit cette application qui change des choses comme les paramètres de la fenêtre et les paramètres d'apparence de la fenêtre. Il faut donc personnaliser l'application pour s'assurer qu'elle modifie les [fichiers de configuration de Qt également], si vous modifiez des éléments dans ces fichiers. Je suis toujours frustré - j'ai réussi à leur donner un aspect à peu près identique. La seule chose que je ne peux pas faire, ce sont les raccourcis automatiques. Ainsi, lorsque vous maintenez la touche Alt enfoncée, les traits de soulignement apparaissent sur les raccourcis du menu. Qt ne supporte pas cela. J'ai en fait passé quelques jours à parcourir le code de Qt pour trouver - j'ai ajouté cela à LibreOffice. LibreOffice ne l'avait pas, jusqu'à ce que je l'y ajoute.
Max: Sur quoi LibreOffice est-il réellement basé.
Simon: LibreOffice est sa propre boîte à outils, complètement différente. Et elle ne supporte pas la mise en évidence de l'auto-accélérateur, donc le code LibreOffice qui fait cela a été écrit par moi. Parce que j'ai décidé que nous en avions besoin. Et je l'ai ajouté en amont. Et ils ont dit : "Oh, c'est contre une ancienne version - pouvez-vous le faire contre la nouvelle version." Et j'ai dit : "Non, je n'ai vraiment pas le temps de faire ça. Voilà, faites-en ce que vous voulez - c'est pour nous plutôt que pour vous." Et en l'espace d'une semaine environ, quelqu'un d'autre dans LibreOffice s'est emparé de ce code qu'il attendait que quelqu'un écrive et l'a transféré dans la version [récente]. Il semblait que j'avais fait la chose que les gens attendaient depuis un certain temps, ce qui est un sentiment assez agréable. J'ai cherché à faire la même chose pour Qt, mais ce serait un cauchemar de l'ajouter. Les crochets n'existent pas pour le faire - les messages pour vous dire où la touche est pressée. J'ai passé quelques jours à étudier la question et j'ai décidé que je devais vivre sans. C'est la principale différence visuelle entre le visualiseur Qpdf et les autres applications de la plate-forme - il y a des tirets bas sous tous ses accélérateurs en permanence et vous ne pouvez pas le désactiver. À un moment donné, nous pourrons peut-être réintégrer l'ensemble dans GTK, mais c'est un gros travail.
Max: Combien de travail cela représenterait-il, en fait, de réécrire le visualiseur Qpdf en GTK ?
Simon: Je ne sais pas pour être honnête. C'est quelque chose qu'Eben m'a demandé d'envisager. Le rendu réel des PDF est effectué par une bibliothèque tierce. Donc c'est bon - il s'agit juste de recréer toute la coquille autour d'elle. Et l'enveloppe n'est pas très compliquée. Vous avez une barre d'outils, quelques boutons, des menus. Cela va beaucoup dépendre de choses comme, combien de dialogues de préférences il y a là-dedans, parce que vous auriez à refaire chacun d'eux.
Max: Essentiellement, il faudrait aller réécrire toute l'interface.
Simon : Oui, réécrire le tout. Il n'y a aucun moyen de le faire avec un processus automatisé, il faudrait le faire à la main. Donc oui, je pense que ce serait un trop gros travail. Mais ce serait bien, juste pour se débarrasser des underscores. (rires). Est-ce qu'on a envie de passer trois mois avec moi à bidouiller ça, pour se débarrasser des underscores ? Probablement pas, il y a probablement de meilleures choses auxquelles je pourrais consacrer mon temps.
Max: Est-ce qu'il y a vraiment une lecture par onglets ?
Simon : Je pense que oui, je n'en suis pas sûr, je ne l'ai jamais activé.
Max: Autre chose : j'ai personnellement eu du mal avec les visionneurs de PDF de Linux à remplir des formulaires PDF. C'est une chose qui est importante pour le travail de bureau, comme les gouvernements.
Simon: Oui, je sais. Je dois vérifier, je n'ai jamais essayé.
Max: Cette fonctionnalité particulière semble difficile à réaliser.
Simon: Je vais y jeter un coup d'œil - c'est une bonne question.
Max: Retour au bureau de Raspbian. Quels sont les autres problèmes que vous prévoyez de résoudre ?
Simon: Cela fait maintenant presque quatre ans que je travaille dessus. Je pense que j'ai obtenu la plupart du temps ce que j'aimerais qu'il soit. Je pense que ce que nous envisageons de faire maintenant, c'est de personnaliser davantage d'icônes. Les icônes sont un travail très important - une seule icône demande beaucoup de travail. Il faut s'assurer qu'elle fonctionne dans toutes les tailles, en faisant tout cela au niveau du pixel individuel pour chacune des douze tailles. Toutes les icônes du système sont donc terminées, je pense que la prochaine étape sera celle des icônes de la barre d'outils. Nous utilisons actuellement un thème de repli, donc elles viennent de - je pense que c'est un thème de repli GNOME que nous utilisons actuellement. Nous allons par exemple examiner les barres d'outils de LibreOffice, de l'éditeur de texte et de la visionneuse PDF, afin de les aligner sur notre look and feel.
Max: Parce que LibreOffice utilise ses propres icônes ...
Simon: Il y a un ensemble standard d'icônes qui sont définies pour les environnements de bureau. Des choses comme couper et coller, et fichier et copier, ce sont toutes des standards. Il y a plusieurs thèmes d'icônes, qui ont tous leurs propres interprétations, LibreOffice ajoute ensuite les siennes par-dessus. Ils utilisent le thème des icônes pour beaucoup d'entre eux. Vous avez donc déjà le problème que deux concepteurs travaillent sur les icônes et qu'elles ont l'air différentes - et encore une fois, c'est une chose que nous essayons d'éviter. Nous essayons de faire en sorte que toutes les icônes aient l'air de venir du même endroit. Parce que toutes les icônes d'Apple ont l'air de venir du même endroit. La plupart du temps. On essaie juste d'avoir une cohérence visuelle. Donc, les icônes de la barre d'outils sont, je pense, le prochain domaine que nous allons examiner. En ce qui concerne l'aspect général, je pense que nous sommes presque arrivés à un point où les gens se sont habitués à l'apparence. Ce que j'envisagerais de faire à l'avenir, c'est ce qu'Apple a fait lorsqu'ils sont passés d'une version de MacOS à une autre - Apple a procédé à un changement d'interface assez important.
Max: Ils avaient l'habitude de faire ce truc de matériaux naturels, et puis ils se sont éloignés....
Simon : Ils ont changé de police. Je pense que quand ils sont passés des chats aux montagnes, ils ont changé la police.
Max: N'utilisaient-ils pas l'Helvetica ?
Simon: Non, ce n'est pas la police système. Je ne m'en souviens pas. Ils ont fait un changement avec la police, et ils ont fait plusieurs modifications de l'interface utilisateur. Ils n'étaient pas très importants, mais ils ont en quelque sorte déplacé un design d'interface utilisateur qui avait à ce moment-là dix ans ou à peu près, et il a soudainement évolué un peu.
Max: Un design rafraîchi.
Simon: Exactement. Je n'ai pas l'intention de changer notre apparence générale, parce que je pense qu'elle est très bien comme elle est, mais nous envisageons de faire une chose similaire - pour montrer que nous avons fait une nouvelle version lorsque nous passerons à Buster [note du transcripteur : prochaine version de Debian]. Une des choses qui est légèrement frustrante est que lorsque nous sommes passés de Jessie à Stretch, personne n'a vraiment remarqué. (rires) Parce qu'il n'y a pas de différence visuelle - elles sont exactement les mêmes. "Oh, nous avons Stretch maintenant - super. Quelle est la différence ? Eh bien, ça a l'air pareil."
Max: Vous pourriez peut-être faire des images de fond différentes ?
Simon: Les photos d'arrière-plan sont adorables - elles ont été faites par un gars ici qui fait beaucoup de photographie. Et elles sont magnifiques. Dès que nous les avons vues, Eben et moi nous sommes assis, nous les avons regardées et celle avec la route - nous avons dit que ce serait la toile de fond. Et même si j'adore cette photo, je l'ai vue plusieurs fois maintenant. Et c'est drôle - c'est une des choses que je vois à chaque fois que je vois une photo d'un Raspberry Pi Jam ou d'un Code Club, c'est juste mon design de bureau - c'est une chose merveilleuse de voir que les gens l'utilisent. Mais ils ont toujours la même image de bureau. Et c'est comme : nous en avons mis beaucoup d'autres, essayez-en d'autres... ! C'est une autre chose que nous pourrions rafraîchir pour la nouvelle [version]. J'ai effectivement écrit un truc pour changer aléatoirement le fond d'écran au démarrage, c'était l'une des choses que quelqu'un a suggérées, mais j'ai été distrait par autre chose après l'avoir terminé, donc je ne l'ai jamais activé. C'est un bon point - je vais l'activer au cas où les gens le voudraient. Certaines des autres photos sont très belles.
En termes d'apparence générale, j'en suis satisfait. L'autre chose que nous envisageons de faire, c'est que dès le premier jour, j'avais une liste d'applications que je voulais avoir en standard dans l'image. Et nous en sommes maintenant au point où des choses comme une suite bureautique, le courrier électronique, un bon visualiseur de PDF, évidemment tous les outils de programmation que nous avons, un bon éditeur de texte, mais l'un de ceux qui manque encore est un lecteur multimédia dans l'interface graphique. Et en fait, la raison pour laquelle nous n'en avons pas encore lancé un, c'est que nous voulions avoir la même accélération matérielle que nous avons pour la lecture vidéo dans Chromium, etc. C'était sur ma liste de choses à faire depuis le premier jour. Nous y travaillons actuellement. Je ne peux pas promettre de date d'apparition, mais le projet est en cours et j'espère qu'il verra le jour assez rapidement. C'est la seule chose qui nous manque, selon moi. Il est basé sur VLC.
Max: Ce serait absolument fantastique. C'est l'un des meilleurs lecteurs. Il n'y a pas de publicité dedans.
Simon: C'est un bon produit. Il joue tout. Je l'utilise à la maison, je l'utilise sur mon Mac. C'était la chose évidente à utiliser. Ils [commençaient déjà à activer l'accélération matérielle dans le code].
Je pense que c'est la dernière application que je voulais vraiment voir et que nous n'avons pas intégrée. La visionneuse PDF étant mise à jour, avec cela, nous avons un ensemble de fonctionnalités qui est comparable à ce que vous obtenez sur Windows ou Mac. C'est là que je voulais en venir. Donc les choses que les gens s'attendent à trouver dans un ordinateur de nos jours. Je voulais m'assurer qu'on avait tout ça. Et bien sûr, l'autre chose que nous avons maintenant introduite avec la dernière version est l'application logicielle recommandée, qui est encore quelque chose que je voulais faire assez tôt. Parce que l'ajout et la suppression de logiciels, si vous êtes un utilisateur expérimenté et que vous savez [comment utiliser] apt, c'est très bien. J'ai ajouté un programme d'ajout et de suppression de l'interface graphique assez tôt, qui a demandé beaucoup de travail pour le mettre en ordre, je ne me souviens plus comment il s'appelle. L'interface utilisateur était un peu un cauchemar quand je l'ai regardé pour la première fois. Encore une fois, j'ai examiné tous les paquets existants pour trouver celui qui nous convenait le mieux en termes de look and feel, mais [presque personne] ne l'utilise. Parce qu'il y a tellement de programmes dedans, et il n'y a aucune information sur les bons programmes, et il n'y a aucune information sur ce qu'ils peuvent faire. Et en fait, vous pouvez faire des mises à jour du système et d'autres choses. Mais encore une fois, personne ne l'utilise pour ça, tout le monde utilise la ligne de commande. Ce qui est bien. Mais j'ai senti que - il y a de nombreuses années, avant que je ne commence, nous avions le Pi Store et des choses comme ça, et c'est en quelque sorte mort.
Max: Quelle était la raison de la mort du Pi Store en fait ?
Simon: Je pense que les gens ont juste arrêté de le soutenir. Je ne sais pas s'il y a eu beaucoup de choses dessus. Je pense qu'il était fourni par une tierce partie, et qu'il a simplement cessé d'être soutenu. Je ne pense pas que ce soit une décision consciente...
Max: Il n'a jamais vraiment décollé... ?
Simon: Non, je pense. Les gens sont habitués aux boutiques d'applications sur des plateformes telles que les appareils mobiles et, en fait, sur Mac et Windows de nos jours - et l'une des choses qu'Eben a toujours dites, c'est que l'ensemble des téléchargements concerne en partie le bureau, et en partie la sélection de logiciels. Il s'agit de fournir des logiciels que nous pensons être bons. Et jusqu'à présent, la seule façon de le faire était de tout mettre dans l'image, parce que les gens ne la trouveraient pas autrement. Et donc l'image a juste été de plus en plus grande, au fur et à mesure que les gens nous fournissaient des logiciels. Et c'est formidable que les gens nous fournissent ces logiciels - je ne veux pas décourager les gens de le faire - certaines des choses que nous avons eues sont gratuites pour nos utilisateurs et d'autres personnes doivent payer pour les obtenir. C'est fantastique.
Max: Le truc de Wolfram ... ?
Simon: The Wolfram stuff. RealVNC. Il s'agit de logiciels commerciaux, que les utilisateurs de Pi obtiennent gratuitement. Et nous sommes très reconnaissants aux entreprises en question de le faire. Mais la seule façon d'obtenir ce logiciel pour les gens est de dire " OK, nous allons l'ajouter à l'image ". Et l'image est en train de monter en flèche - l'image fait maintenant 1,75 Go. C'est énorme. Je sais que beaucoup de gens pensent que "oui, nous avons le haut débit maintenant. Alors on s'en fiche". Mais je me souviens de l'époque où le téléchargement d'un gigaoctet me prenait trois ou quatre heures.
Max: De plus, certains des pays dans lesquels la fondation Raspberry Pi veut aller n'ont pas ce genre de haut débit.
Simon: Précisément. Je pense donc que c'est trop gros. L'intention du logiciel recommandé était de réduire la taille de l'image téléchargée, de réduire le nombre de choses dans les menus, juste pour essayer de désencombrer un peu les choses. Pourquoi toujours faire savoir aux gens, "Hé, il y a ces superbes applications - elles sont gratuites, c'est facile de les installer. Pourquoi ne pas les essayer". Mais sans obliger tout le monde à les télécharger tout le temps, ce qui m'a toujours paru un peu injuste : "vous devez télécharger tout ce qu'on vous dit de télécharger".
Alors oui, je pense que c'est un bon endroit pour être - que nous avons effectivement notre propre petit magasin d'applications avec l'avantage que toutes les applications sont gratuites.
Max : C'est en fait très important aussi pour les personnes qui sont nouvelles. Linux - le fonctionnement est un peu différent de celui de Windows. Sous Windows, vous téléchargez le programme d'installation et vous l'exécutez. Je pense que la façon dont Linux le fait est beaucoup plus intelligente, avec le gestionnaire de paquets.
Simon : C'est beaucoup plus facile. apt est génial, mais encore une fois, un de mes objectifs est que les gens ne devraient pas avoir à utiliser un terminal. Encore une fois [les vieux utilisateurs de Linux disent] : "Pourquoi n'apprenez vous pas aux gens à utiliser le terminal ?" - Eh bien ils ne devraient pas avoir à utiliser un terminal, ils ne sont pas habitués à utiliser un terminal. Le terminal est là, si vous voulez l'utiliser, c'est pourquoi il est sur la barre des tâches, parce que c'est une chose utile. Mais pour quelqu'un qui n'a jamais vu qu'un Mac ou un PC Windows, l'idée qu'il doive soudainement commencer à taper des trucs pour installer des programmes - non. Ils pourront y venir plus tard. L'un des objectifs de la conception a toujours été que les gens n'aient pas à voir ce qui se passe dans un terminal. Il suffit de pointer et de cliquer.
Max: Vous voulez juste un onboarding facile.
Simon: Exactement. Tout est là et sous le capot, s'ils veulent jouer avec. Si vous voulez comprendre comment un système Linux est configuré, ou le bureau X est configuré, allez voir mon application qui change les fichiers de configuration. Parce que cela vous montre, où sont les fichiers, ce que vous devez faire, quelles sont les lignes importantes dans les fichiers. Je pense que mon C n'est probablement pas le meilleur outil d'apprentissage au monde, mais si vous pouvez lire mon C, vous pouvez voir - c'est un bon point de départ. Alors comment changer la police du système - "oh, il y a une fonction ici si vous voulez changer la police du système - qu'est-ce que ça fait" ?
Si vous arrivez au point où vous apprenez à programmer, vous voulez lire des exemples de code. J'essaie d'écrire du code qui soit raisonnablement lisible. Vous pouvez y jeter un coup d'oeil et en tirer des enseignements. Il s'agit presque d'un outil qui aide les gens à apprendre comment configurer un bureau Linux - en plus de la façon de le faire elle-même.
Max: Une des choses que vous avez mentionnées auparavant était Buster, la prochaine version de Debian. Quel genre de changements en attendez-vous en général et pour le Raspberry Pi en particulier ?
Simon: Je ne me suis pas beaucoup penché sur Buster. Nous avons eu un gros changement lorsque nous sommes passés de Wheezy à Jessie, à cause de systemd.
Max: Je pense que c'était très important pour la vitesse de démarrage.
Simon: Oui, la vitesse de démarrage a fait une énorme différence. Je n'ai pas examiné Buster en profondeur, mais je ne suis pas au courant de changements aussi importants. Buster semble être plus évolutif que révolutionnaire sous le capot. Je pense qu'avec toutes ces choses - [comme je l'ai dit] la plupart des gens n'ont pas remarqué le changement entre Jessie et Stretch. Je ne pense pas qu'il y aura d'énormes changements du point de vue de l'utilisateur dans Buster. Je pense que les changements seront surtout évolutifs entre les applications. Mais je n'ai pas encore fait de recherches approfondies. Pour vous donner une idée - Buster ne devrait pas être gelé avant le premier trimestre de l'année prochaine, il devrait devenir la version stable vers le deuxième trimestre de l'année prochaine. Quand nous avons fait Jessie, nous étions assez loin derrière. Je pense que notre publication de Jessie était environ 6 mois après celle de Debian. Stretch nous étions beaucoup plus proches, je pense que nous étions deux mois après celle de Debian. Et je veux être dans la même [sorte d'intervalle de temps cette fois-ci]. Je vais donc commencer à m'intéresser à Buster dans la première moitié de l'année prochaine. Je vais commencer à regarder ce que nous devons porter sur Buster. De mon point de vue, il s'agit surtout de s'assurer que la thématisation fonctionne toujours, que tout semble correct, que la configuration n'a pas changé. Bien que LXDE n'ait pas une quantité énorme de changement, parce qu'il ne fait pas l'objet d'une quantité énorme de développement actif, il y aura toujours des changements. Et il y aura une nouvelle GTK 3, et je peux dire maintenant sans même la regarder que je vais probablement passer un mois à essayer de faire en sorte que tout fonctionne correctement sous GTK 3. La moitié des fonctions auront changé, et il y aura des choses différentes ... Je suis déjà passé par là. Je veux être dans une position où nous pourrons mettre en service notre propre version de Buster assez rapidement après Debian, dans un mois environ. Nous avons maintenant l'expérience de le faire plusieurs fois, donc nous savons comment ça se passe. Donc oui, nous espérons faire Buster relativement tôt après Debian l'année prochaine.
Max: Nous avons parlé de cohérence, nous avons parlé d'un moyen facile d'accéder aux paquets, des paquets curés, pour fournir un bon ensemble de paquets par défaut. Selon vous, qu'est-ce qui manque encore dans un environnement de bureau Linux moderne ?
Simon: Une autre chose à mentionner est l'assistant de démarrage évidemment. C'est quelque chose que nous voulions faire et essayer de rendre le processus d'allumage pour la première fois un peu plus [facile] pour les gens à configurer.
Max: Je crois que vous avez un lien pour lancer les applications recommandées à la fin de l'assistant de démarrage ?
Simon: Nous ne l'avons pas pour le moment, mais c'est quelque chose que nous avons envisagé de faire. L'assistant de démarrage était une chose intéressante à faire, car il est né de la nécessité de définir un pays pour le WiFi. Pour 5 GHz. Nous ne pouvions pas certifier notre matériel sans fil sans cela - vous devez obliger l'utilisateur à sélectionner un pays WiFi si vous voulez obtenir la certification WiFi. Nous avons essayé plusieurs méthodes pour y parvenir. Aucune d'entre elles n'était particulièrement idéale du point de vue de l'utilisateur. Et nous avons aussi des choses comme - beaucoup d'utilisateurs de Pi ne changent jamais le mot de passe. Nous avons fait plusieurs choses au cours des dernières années pour essayer d'augmenter la sécurité - pour qu'il n'y ait pas de trou béant dans le Pi, pour que les gens ne puissent pas se connecter en utilisant un mot de passe par défaut, etc. Cela m'ennuie que nous devions faire cela. Cela m'ennuie que des personnes souhaitent faire des choses criminelles, mais c'est la vie. Dans un monde idéal, nous n'aurions pas eu à le faire. C'est une honte que nous l'ayons fait. Nous avons toujours essayé de trouver un équilibre entre, d'une part, le fait de ne pas trop contrarier les utilisateurs en rendant la sécurité trop odieuse et, d'autre part, le fait de ne pas risquer que les Pis des gens soient pris en charge et utilisés à des fins malveillantes. Chaque fois que nous avons apporté un changement, j'ai suivi de près les commentaires sur les forums. Et tant que la moitié d'entre eux disent "vous êtes allés trop loin", et que l'autre moitié dit "vous n'êtes pas allés assez loin", alors nous avons fait la bonne chose. Parce qu'ils ne diront jamais tous "hé, vous avez fait exactement ce qu'il fallait". Vous ne pourrez jamais satisfaire tout le monde, surtout avec des choses comme la sécurité. Nous voulions donc essayer de trouver un moyen de - encore une fois sans forcer les gens - "Voulez-vous changer votre mot de passe ?". C'est quelque chose que quelqu'un d'autre avait suggéré.
Je jouais avec le code de localisation de Linux - les façons de régler le clavier et de configurer des choses comme ça. Encore une fois, c'est extrêmement compliqué pour un utilisateur, un utilisateur qui n'a jamais vu quelque chose comme ça avant. Et j'ai commencé à penser, peut-être que nous pourrions juste combiner beaucoup de ces choses en un seul endroit. Le Startup Wizard est en quelque sorte né de cela. La première partie consistait à faire le tri : "OK, quel est le nombre minimum de choses que je peux demander à un utilisateur de régler, ce qui signifie qu'à la fin de la journée, il a le WiFi qui fonctionne, qu'il a la bonne langue, que son clavier est bon, ce genre de choses. Et quel est le nombre minimum de contrôles que je peux leur donner pour y parvenir ?". Le résultat est quelque chose qui, à certains égards, est assez restrictif - et je savais que nous allions recevoir des plaintes à ce sujet - [par exemple si] je suis au Japon mais que je veux utiliser mon Pi en anglais, et que je ne peux pas. Je sais que vous ne pouvez pas, mais j'ai dit dès le départ - et nous n'avons pas supprimé les anciens outils de configuration, ils sont toujours là - mais encore une fois, ceci est pour la majorité des utilisateurs qui ont un cas d'utilisation simple, ils disent maintenant simplement, "Je suis dans ce pays, j'utilise mon Pi dans cette langue qu'ils utilisent dans ce pays et mon fuseau horaire est cette ville dans ce pays". Et ils n'ont pas besoin de voir l'énorme marre d'autres choses, dans lesquelles ils devraient patauger.
J'y ai fait des erreurs - une chose amusante qui s'est produite : il n'y a pas de correspondance automatique dans Linux entre le code du pays et le code du clavier. De nombreux claviers utilisent le code du pays comme nom, d'autres non. Et je n'avais pas remarqué à quel point le problème était répandu avec cette absence de correspondance. Lorsque nous l'avons lancé, la première fois que j'en ai eu connaissance, c'est lorsque quelqu'un en Argentine s'est plaint qu'il tapait sur son clavier et que le résultat était en arabe. Je suis allé voir et j'ai constaté que "OK, vous avez raison - parce que l'Argentine a un code pays AR, il n'y a pas de clavier AR, il y a un clavier ARA qui est utilisé par tous les pays du Moyen-Orient. OK, nous devons corriger cela". Quelqu'un m'a fait remarquer qu'il n'y a pas de base de données dans Debian même, le seul endroit où il y a une base de données pour cela est dans l'installateur Debian. Quelqu'un m'a utilement indiqué cette base de données. C'est ce que j'ai fait la semaine derniÃ?re, en extrayant cette base de données [et en l'ajoutant]. Ainsi, les claviers de la prochaine version devraient être plus précis. C'est le genre de choses que l'on ne découvre vraiment que lorsqu'on lance le produit et que des dizaines de milliers de personnes à travers le monde commencent à l'utiliser et à raconter les problèmes qu'elles rencontrent. Avec tout cela, je savais qu'il n'y avait aucun moyen de sortir le produit et de le rendre parfait du premier coup. Dans des cas comme celui-ci, il est vraiment utile de recevoir les rapports de bogues en retour. Ils vous aident à voir les parties que vous avez manquées.
Évidemment, nous sommes au Royaume-Uni. Je ne peux pas tester les traductions en allemand. Parce que je ne sais pas lire l'allemand, enfin je sais lire le français, je sais lire un peu d'allemand. La localisation sous Linux est en fait un énorme problème - puisque vous posiez la question des problèmes. Non pas que je pense pouvoir le résoudre, mais je pense pouvoir faire des ajustements pour l'améliorer. Le support pour la localisation n'est pas aussi bon qu'il devrait l'être. Je vais vous donner un autre exemple. Il y a une application appelée Zenity. Et Zenity est utilisé pour créer des dialogues GTK à partir de scripts shell. Vous pouvez lui dire "créez-moi un dialogue de mot de passe, ou créez-moi une boîte de liste ou quelque chose comme ça". Et Zenity créera alors un contrôle avec lequel l'utilisateur pourra interagir en GTK, ce qui permet de faire correspondre les choses. Et on utilise ça pour quelques trucs. J'ai remarqué que dans certains de ces dialogues Zenity, j'ai basculé le système en allemand, et la moitié du texte de la boîte de dialogue Zenity devenait allemand, et l'autre moitié restait en anglais. J'ai parcouru les bases de données de localisation de Zenity, et il y avait des traductions en allemand et en français pour toutes les chaînes qui s'y trouvaient. Je n'arrivais pas à comprendre pourquoi certaines choses n'étaient pas traduites, alors j'ai passé quelques heures à examiner le code. Et il s'est avéré que dans la version de Zenity fournie avec Stretch, la moitié des chaînes de traduction sont cassées. Donc le code ne traduira jamais les chaînes correctement.
Max : Comment se fait-il qu'ils soient cassés ?
Simon: Je pense que ce qui s'était passé, c'est que les gens avaient essayé de passer d'un système de faire les choses à un autre système de faire les choses et qu'ils en avaient fait la moitié. Mais personne ne l'avait remarqué. Il me semble étrange qu'à aucun moment un utilisateur allemand de Pi ne soit venu me voir pour me dire : "Eh bien, attendez : pourquoi seulement la moitié des trucs dans la boîte sont en anglais, et l'autre moitié en allemand ?"
Max: Je pense que les utilisateurs sont habitués à ce que l'ordinateur ne fonctionne pas.
Simon: C'est exactement ce que je veux dire. Certainement avec Linux - j'ai un collègue assis à côté de moi qui est un enthousiaste de Linux, il ne toucherait pas à une machine Mac ou Windows si vous l'y forciez - il est en partie ukrainien et il teste souvent dans différentes langues. Je lui ai dit : "Avez-vous déjà remarqué que ces boîtes de dialogue ont la moitié du texte en ukrainien et l'autre moitié en anglais ?" Et il a répondu : "Eh bien, c'est comme ça que ça marche." Et j'ai dit : "Non, ça ne devrait pas !" C'est maintenant corrigé. Dans la dernière version de Zenity, quelqu'un a remarqué que c'était cassé. Alors maintenant nous envoyons la version Buster de Zenity au dessus de Stretch. Nous avons fait un backport pour le faire fonctionner. Mais ce sont des choses comme ça. La localisation est très facile à mal faire. Parfois, les gens soumettent des demandes d'extraction sur notre code. Si les gens soumettent des pull requests pour des corrections de bogues et des choses comme ça, je suis très heureux de les prendre. Mais lorsque les gens sont créatifs et décident d'écrire une nouvelle chose pour vous, ils se rendent invariablement compte qu'ils n'ont pas intégré le support de la localisation, etc. Parce qu'ils ne pensent pas à le faire. Ils se contentent de le faire dans leur propre langue. Les gens qui ont pensé au support de localisation dans Linux - c'est en fait un très bon système, il fonctionne très bien. Et il y a beaucoup d'outils pour vous aider à le faire correctement. Mais encore une fois, comme vous le dites, les gens n'ont pas tendance à se plaindre quand ça ne marche pas. Ils acceptent simplement, "eh bien, cela ne fonctionne pas". Il n'y a aucune raison pour que ça ne fonctionne pas très bien - parce que [Linux a] un moyen de le faire. Donc c'est une des choses que j'aimerais voir mieux faire dans le futur. Nous essayons d'apporter des améliorations [ici]. Je pense que Pi fonctionne déjà très bien en anglais. Cela m'ennuie quand je regarde notre menu - je le passe parfois à d'autres langues pour le tester - les trois quarts ont été traduits en allemand ou en français, et il y a des choses - quatre ou cinq choses - qui ne l'ont manifestement pas été. Pour moi, c'est ennuyeux et j'aimerais qu'on fasse mieux. Il y a des sites Web automatisés qui vous aident à faire des traductions, et les gens m'ont fait remarquer qu'il suffit de mettre votre code là-dedans, et les gens viennent et le traduisent gratuitement. J'aimerais mettre en place un tel système. C'est sur la liste des choses à faire ....
Max... mais vous devez équilibrer vos priorités.
Simon: Exactement. Mais je pense qu'en ce qui concerne le bureau Linux, le support de l'internationalisation, ce serait bien si c'était mieux. En tant qu'entreprise, nous ne pouvons pas sortir et faire traduire tous ces trucs. Nous comptons sur les utilisateurs pour nous fournir des traductions. Et le mécanisme par lequel les utilisateurs peuvent fournir des traductions à l'heure actuelle est maladroit - il s'agit de faire des pull requests dans GitHub. Un nombre relativement faible de personnes sont capables de le faire, alors qu'un nombre relativement important de personnes sont capables de traduire une de nos applications dans une autre langue. C'est donc une chose que j'aimerais que nous améliorions à l'avenir.
Dans l'ensemble, je pense que le bureau Linux que nous livrons est assez bon, je pense que nous sommes à peu près là où je veux être. Il n'y a pas d'énormes changements que je voudrais faire à ce stade, je pense que la plupart des choses que j'ai regardées le premier jour et [notées comme] mauvaises, [sont maintenant corrigées].
Max: Vous avez un sentiment d'accomplissement,...
Simon : Une des choses que j'aime faire est de mettre une carte avec Wheezy tel qu'il était au premier jour, et une autre telle que nous l'avons maintenant - et - c'est un ordinateur différent. Et, oui, je suis très fier de ça. En termes de carrière, l'ordinateur de bureau est la chose sur laquelle je suis le plus fier d'avoir travaillé, parce que 95 % de celui-ci est mon propre travail. Je peux vraiment le regarder et dire : J'ai fait le travail de conception, j'ai fait le travail d'implémentation, j'ai écrit le code, j'ai construit les paquets. Je travaille avec un collègue qui s'occupe de la création d'images et de certains aspects de Linux, et je travaille avec un graphiste qui a conçu quelques icônes. Mais j'ai l'impression que le bureau est mon bébé, c'est la chose que j'ai créée. Et j'en suis vraiment fier - je pense que j'ai le droit de l'être - je pense que l'expérience d'utilisation d'un Pi est maintenant comparable à celle d'une machine Windows ou d'un Mac, et c'est là que nous voulons être.
Max: C'est important de rendre le Pi plus convivial et accessible, en tant que plateforme pour tout le monde.
Simon: Exactement. Eben a toujours dit qu'il voulait que le Pi soit un ordinateur à usage général. Et le bureau est une partie importante de cela. Nous sommes maintenant au point où le bureau ne va pas l'empêcher d'être un ordinateur polyvalent. Et je pense que LXDE, il y a quatre ans, aurait constitué une barrière à l'entrée pour certaines personnes. Le bureau est ce que je suis le plus fier d'avoir réalisé - et c'est un bon endroit pour être.
Max: Comment trouvez-vous l'inspiration pour le travail que vous faites ? Sentiments, idées, ...
Simon: L'inspiration vient surtout du fait que je regarde quelque chose et que je me dis : "Mon Dieu, c'est vraiment ennuyeux. Je dois pouvoir le faire mieux. "Ce n'est pas vraiment une inspiration positive, c'est plutôt une frustration face à des éléments qui ne fonctionnent pas aussi bien qu'ils le pourraient. Ça semble être une façon très négative de voir les choses. Mais : Je m'assois et je pense, "Oh mon Dieu, est-ce vraiment la meilleure façon de faire ça ?" Puis je m'assois et je pense, je pourrais faire ceci, je pourrais faire cela.
Je n'ai pas tendance à regarder comment les autres font les choses. J'ai tendance à regarder - quelle est la plus courte séquence de mouvements que je peux faire pour arriver au point où je veux être ? Quel est le plus petit nombre de choses que je veux faire faire à l'utilisateur, pour atteindre ce qu'il veut faire. Et c'est un peu la chose que vous voulez faire.
Max: Supprimer, plutôt qu'ajouter ...
Simon: Oui, il s'agit d'enlever des choses plutôt que d'ajouter des étapes. Il y a plusieurs années, j'ai travaillé sur la conception de l'interface utilisateur des téléphones. En fait, c'était avec Microsoft. Je travaillais pour une entreprise de R&D sous contrat, et nous travaillions sur le premier visiophone qui allait être lancé sur le marché. Je suis allé rencontrer l'équipe de conception de l'interface utilisateur graphique de Microsoft à Seattle - c'était en 1999 environ, et Microsoft n'était pas considéré comme étant à la pointe en termes de conception de l'interface utilisateur. Si vous voulez un exemple de mauvaise conception, vous utilisez l'une de celles de Microsoft, plutôt que celles d'Apple qui étaient bonnes. Bien sûr, ils sont bien meilleurs aujourd'hui. Et ils avaient une liste de directives pour la conception de l'interface utilisateur. Cela m'a déconcerté - parce que c'étaient de si bonnes directives sur la façon de concevoir une interface utilisateur - et Microsoft produisait de si mauvaises interfaces utilisateur. "Vous avez ces lignes directrices brillantes, que diable se passe-t-il entre ces lignes directrices et le produit final ?"
Mais l'une des choses les plus importantes, qui m'a marqué et que je retiens aujourd'hui, c'est que - si je comprends bien - "offrir des options à l'utilisateur ne remplace pas la prise de la bonne décision dès le départ".
C'est une chose très facile à faire de dire : "Eh bien je ne sais pas si on doit faire comme ça ou comme ça, alors mettons une case et laissons l'utilisateur choisir". J'ai vu cela de nombreuses fois, en effet dans ma carrière précédente dans la conception d'interface utilisateur, lorsque je travaillais pour la R&D contractuelle, il y avait toujours cette tendance, "oh bien, nous ne savons pas ce que l'utilisateur va vouloir faire ici, alors donnons-lui le choix. Faisons en sorte que ce soit personnalisable ici, pour qu'ils puissent faire ce qu'ils veulent." Mon exemple ici est toujours le lecteur de disques compacts. Quand les lecteurs de CD sont apparus, vous pouviez programmer les pistes que vous vouliez lire. Par exemple, d'abord la piste 1, puis la piste 5, puis la piste 3, puis la piste 4. Et tout le monde a fait ça pendant les vingt premières minutes où ils ont possédé un lecteur de CD. Et ils n'y ont plus jamais touché. Si vous achetez un lecteur de CD [aujourd'hui] - sur les trois ou quatre derniers lecteurs de CD que j'ai possédés, vous ne pouvez plus les programmer, car ils ont réalisé que personne ne voulait le faire. Ils donnaient aux utilisateurs une fonctionnalité qu'un nombre infime d'entre eux utilisaient, mais qui était à la disposition de tous. C'est le même genre de chose - si je fais les choses correctement dès le départ, je n'ai pas à reporter cette décision aux utilisateurs parce que je ne peux pas prendre cette décision. L'un des aspects importants de la conception de l'interface utilisateur est d'avoir le courage d'y aller : Je pense que c'est la façon dont vous le faites. Je pense que c'est la meilleure façon de faire pour tout le monde. Et vous n'aurez jamais raison à chaque fois. Et vous devez accepter que, parfois, vous recevrez de si mauvais commentaires de la part des utilisateurs que vous vous direz : OK, c'était une erreur, j'aurais dû le faire d'une autre manière.
Et c'est arrivé plusieurs fois sur le Pi. J'ai enlevé les paramètres de l'horloge. "Vous avez enlevé les réglages de l'horloge ! !!" "OK, je vais les remettre." Il s'agit d'essayer de se mettre dans l'état d'esprit, de se demander à quoi sert une personne moyenne, ce qu'elle veut faire, ce qu'elle essaie d'accomplir, où elle veut aller. Comment puis-je les aider à y arriver, sans leur mettre des tas de décisions sur le chemin. Comment voulez-vous faire cela ? Voulez-vous faire ceci ou cela ? Ils ne se soucient pas de cette chose intermédiaire, ils veulent être ici. Et c'est comment ils y arrivent. Comment puis-je les y amener le plus rapidement possible ? C'est en quelque sorte la priorité dont il s'agit - il s'agit de prendre la bonne décision pour vous, plutôt que de laisser les utilisateurs prendre la décision eux-mêmes. Cela semble un peu dictatorial, c'est comme "Je sais ce qui est le mieux pour vous", mais d'un autre côté, c'est ce qu'est la conception de l'utilisabilité - c'est avoir le sentiment de ce qui est le mieux pour les gens.
Max: Pour que les choses fonctionnent intuitivement sans que l'utilisateur doive investir beaucoup de temps pour apprendre comment la chose fonctionne.
Simon: Oui. Pour parler un peu de la théorie de la conception d'interface utilisateur, il y a plusieurs manuels sur la conception d'interface utilisateur, mais le meilleur s'appelle "The psychology of everyday things", qui a été renommé, je crois. Si quelqu'un veut apprendre la conception d'interface utilisateur, "The psychology of everyday things" est le seul livre que vous devez lire.
Max: Il y a une théière avec une poignée dans le mauvais sens sur la couverture ?
Simon: C'est celui-là, c'est le livre. Une des choses qu'il explique, c'est que dans votre cerveau vous faites une carte de comment quelque chose fonctionne. Et tant que la carte mentale correspond à la chose en face de vous, et qu'elles se comportent de la même manière, alors vous pouvez l'utiliser intuitivement. Et dans certains cas, c'est aussi simple qu'une carte réelle. Si je vais à gauche à partir d'ici, je veux voir l'écran se déplacer vers la gauche. Je ne veux pas appuyer sur le bouton gauche et voir l'écran défiler soudainement vers le haut. C'est des trucs comme ça. Il s'agit de faire fonctionner les choses dans votre esprit comme l'ordinateur, et de faire fonctionner la chose sur l'ordinateur comme la chose dans le monde réel. Et si vous pouvez faire cela, c'est ainsi que vous rendez les choses intuitives. Il s'agit de faire en sorte que les choses fonctionnent comme les utilisateurs l'attendent. Et de nos jours, les utilisateurs comprennent le paradigme des ordinateurs. Ils comprennent : je bouge une souris pour déplacer le curseur, j'appuie sur un bouton. Vous n'avez pas besoin d'apprendre cela aux gens, alors qu'il y a trente ans, personne n'aurait su quoi que ce soit. Cette partie est établie, alors ne la modifiez pas inutilement, car cela ne sert à rien. Essayez simplement d'être cohérent. Si vous avez un bouton sur la fenêtre, faites en sorte qu'il ressemble à un bouton. Je pense que c'est là qu'Apple a fait une erreur monumentale lors de l'une des dernières refontes d'iOS, en essayant de rendre l'écran plus joli et en supprimant tous les boutons. Donc maintenant vous avez juste des mots. Maintenant, tout le monde a appris, qu'un bouton ressemble à un mot. Mais quand ils l'ont fait la première fois, les gens étaient comme : "Où sont passés tous les boutons ?". On peut apprécier la simplicité du design, parce qu'ils sont jolis, mais du point de vue de l'utilisabilité, ce n'était pas une bonne idée.
Max: Il n'y a plus d'allusion au fait que ce sont des boutons.
Simon: Exactement. C'est des choses comme ça - si quelque chose est un bouton, faites-le ressembler à un bouton. Ne le faites pas ressembler à autre chose. Vous faites ce que les gens attendent. Et bien sûr, vous pouvez faire le contraire. Vous faites des choses que les gens n'attendent pas. Et si vous faites des choses auxquelles les gens ne s'attendent pas, ils les remarquent. Donc, si vous voulez attirer l'attention de quelqu'un sur quelque chose, faites quelque chose qu'il n'attendait pas. L'exemple le plus évident est l'apparition d'une boîte de dialogue - vous avez changé l'écran, il faut qu'il le remarque. Il s'agit de travailler avec les attentes de l'utilisateur quant à ce qui va se passer et vous pouvez soit utiliser cela pour qu'il se sente à l'aise et familier, soit pour attirer son attention sur quelque chose [que vous voulez qu'il soit capable] de savoir. Je pense que la psychologie sous-jacente est assez intéressante. Je pense que c'est là que beaucoup de programmeurs Linux ne pensent pas en ces termes.
Max: Je pense qu'il s'agit surtout de faire quelque chose qui fonctionne.
Simon: Exactement, oui. C'est presque que ça fonctionne selon la carte mentale qu'ils ont. Mais la carte mentale qu'ils ont n'est pas dans l'esprit des utilisateurs. Donc le fait que ça ait du sens pour eux, parce que c'est comme ça que la base de données fonctionne, c'est un peu le problème. Gérer la base de données est mon problème, je dois le faire. Les utilisateurs ne devraient pas avoir à s'en soucier. Je dois présenter la base de données aux utilisateurs d'une manière qui soit cohérente avec leur modèle de réalité, plutôt qu'avec le modèle de l'ordinateur.
Max: Je vois ce que vous voulez dire. Parfois il y a des applications où vous faites plusieurs étapes, l'une après l'autre, mais ils mettent toutes les étapes dans un seul dialogue. On s'y perd.
Simon: Vous trouvez que lorsque vous développez un logiciel, vous commencez par tout jeter à l'écran - je dois faire cette chose, je dois faire [cette] chose, je dois faire [cette] chose. Vous lancez tout à l'écran. Ensuite, il faut revenir en arrière et regarder à nouveau, et dire "OK, est-ce la meilleure façon de faire ? Est-ce la façon la plus facile de le faire ? Non, bien sûr que non, vous n'avez pas besoin de l'utiliser, je peux cacher ce bouton parce que personne n'a besoin de le voir". Et je pense qu'avec beaucoup de développement Linux ils arrivent au point où tout fonctionne sur l'écran, et c'est fait. Et ils ne font pas l'étape finale - de, comment je peux polir ça pour que ça ait l'air sympa pour les utilisateurs.
Max: C'est ce que les gens remarquent à propos de Linux - c'est plus brut.
Simon: Exactement. Il n'y a pas de polissage. Et c'est moi qui polis. C'est essentiellement mon travail - il y a certaines choses que j'ai écrites à partir de rien. Mais, comme je l'ai dit plus tôt, sans les auteurs de LXDE, je n'aurais rien eu pour travailler, donc tout le crédit pour ce qu'ils ont fait, et leur travail est fantastique. Mais une partie de celui-ci n'avait tout simplement pas ces 5 % de polissage. C'est ce qu'il faut pour passer d'un bon logiciel à une grande expérience utilisateur.
Max: Selon le principe de Pareto, ces 5 % prennent en fait 80 % du temps....
Simon: Ça peut prendre beaucoup de temps, mais oui...
Max: Quel est en fait le retour le plus surprenant que vous ayez reçu de la part des utilisateurs ?
Simon: Des retours surprenants ... Je pense que ce qui me surprend, c'est quand les gens sont incroyablement élogieux. Je pense que, de temps en temps, quelqu'un dira quelque chose comme, vous savez - il y a quelques commentaires de blog en ce moment sur, comment le Desktop est [devenu] fantastique, comment il est devenu un vrai ordinateur, cela devrait être la norme pour l'informatique, ... c'est quand les gens disent des choses comme ça, qui me surprend. Parce que je pense que ce que je fais est bien, mais à la fin de la journée je suis un gars assis dans un bureau avec un ordinateur, qui il y a quatre ans n'a jamais utilisé Linux.
Max: Ce qui est un avantage peut-être.
Simon: Oui ! Je n'ai pas accepté que tout soit cassé. Il doit y avoir un moyen de l'améliorer. Et je pense que ce genre de retour me surprend toujours. Le retour qui ne me surprend pas, c'est quand je change quelque chose et que les gens disent : "Non, vous n'auriez pas dû faire ça". Les gens sont très résistants au changement. Et parfois, je pense que c'est vrai. Parfois - encore une fois c'est l'expérience de ne pas savoir comment Linux fait ça, mais je vais dire : "En fait ce que nous faisons n'est pas bien, nous devrions le faire comme ça, sûrement." Et puis vous vous rendez compte que tout le monde s'est habitué à la façon dont Linux fait les choses, et donc le changer, même si c'est mieux ainsi, n'est pas la bonne chose à faire.
Max: Il y a un biais lorsque vous obtenez des commentaires dans les forums - ce sont plutôt vos utilisateurs engagés, ce ne sont pas les enfants ordinaires.
Simon: Exactement. Chaque fois que les retours sont très très positifs, ils ont tendance à venir des nouveaux utilisateurs, je pense.
On m'a traité de choses hideuses, mais pas dans nos forums. Lorsque nous avons lancé le Pixel - lorsque nous l'avons appelé Pixel [le transcripteur : Raspbian Desktop], c'était sur les forums du Register (un site Web technique). Les commentaires étaient assez virulents. Et l'un d'entre eux s'en est pris à moi, brutalement, en termes de - je pense qu'il m'a traité de demi-portion.
Max: Un demi-morceau ?
Simon: Half wit est un terme d'abus assez standard, il l'a rendu plus informatique en m'appelant half bit. Il a expliqué que "mettre un nom entier sur ce qui n'est qu'un reskinning de LXDE gonflait mon rôle de manière disproportionnée. Cela avait pris tout ce temps pour faire si peu." Vous savez. Dans une certaine mesure, je peux comprendre son point de vue - si vous regardez de LXDE à Pixel, la fonctionnalité fondamentale est exactement la même. Mais ce que j'avais fait, c'est que j'avais appliqué le polish. Et le polissage fait une grande différence. Mais pas pour lui, parce que - je pense qu'il a fait le commentaire suivant : "Le seul but du bureau est d'avoir quelque chose à mettre sur vos fenêtres de terminal." Vous n'êtes vraiment pas mon marché cible, dit-il : "pourquoi avez-vous mis une grande barre de tâches en haut ? Cela prend une partie de l'espace dans lequel j'aurais pu mettre des fenêtres de terminal." Vous n'êtes vraiment pas mon marché cible ici. Ce n'est pas pour vous. Si ce que vous voulez c'est un grand écran de fenêtres de terminal, il y a beaucoup d'autres endroits dans le monde Linux où vous pouvez obtenir cela, ne venez pas ici. Vous n'allez pas rendre tout le monde heureux avec ce que vous faites. Mais c'est quand vous voyez les réactions des gens qui comprennent clairement ce que vous essayez de faire, et qui l'apprécient vraiment. C'est à ce moment-là que vous voyez de la gratitude et un niveau de compréhension de ce que vous faites. Par opposition aux personnes qui ne comprennent clairement pas ce que vous essayez de faire. Dans certains cas, ils ne comprennent pas la quantité de travail qu'il a fallu fournir. Parce que vous ne faites pas ce qu'ils veulent. C'est ces messages que vous recevez quand les gens disent : "Vous l'avez rendu tellement plus agréable à utiliser qu'avant. Et tous les changements sont positifs." C'est quand vous les recevez que vous sentez que ce que vous faites en vaut la peine. Et encore une fois - je ne suis pas parfait, je fais des erreurs. Des choses sortent avec des bugs, des choses sortent avec des décisions d'utilisation qui ne sont peut-être pas parfaites. Mais nous essayons tous de rendre ce produit aussi bon qu'il peut l'être. L'ordinateur de bureau est mon bébé, je veux qu'il soit aussi bon que possible, c'est ce que je vis pour l'instant, essentiellement. C'est le travail le plus gratifiant que j'ai eu en 25 ans d'ingénierie.
Max: C'est en fait merveilleux, d'être dans un endroit où vous vous sentez heureux de faire ce que vous faites.
Simon: J'ai passé - avant d'être ici, j'ai passé neuf ans dans un emploi où je devais me traîner hors du lit chaque matin pour y aller, parce que je détestais ce que je faisais. Et ici, je me lève chaque matin enthousiaste à l'idée d'aller au bureau pour faire ce que je vais faire. J'avais presque oublié qu'on pouvait avoir un travail comme ça. Je pensais en quelque sorte que ça n'arrivait pas. Je viens vraiment tous les matins et j'aime ce que je fais. Et je pense que ça aide beaucoup, parce que je me soucie du produit. Ce produit est presque une extension de moi. C'est le système d'exploitation que je veux utiliser - même à un niveau purement égoïste - c'est le système d'exploitation que je veux utiliser. Quand j'ai commencé chez Pi, je faisais tout mon travail sur le Mac. J'écrivais du code sur le Mac, je le téléchargeais sur le Pi. Maintenant, je fais tout mon travail sur le Pi. J'utilise mon Mac pour le courrier électronique et la navigation sur Internet, et c'est à peu près tout. J'utilise Geany sur le Pi pour tout le développement du code, je suis assis en train de taper sur mon Pi ...
Max: Vous utilisez le Modèle 3 B+ ?
Simon: Oh oui, c'est le plus rapide. Mais oui, et de la même façon avec la version x86 - c'est le système d'exploitation qu'Eben utilise sur son Mac, et cette sorte d'adhésion à ce système est vraiment agréable.
Ce n'est pas vraiment une question de retour d'information... c'est quand je vois des photos ou des vidéos de gens en Afrique, et qu'ils ont une salle de classe équipée de Pi et que tout le monde utilise mon ordinateur. Voir que la chose que j'ai conçue est utilisée dans tous ces endroits, c'est incroyable.
J'ai fait beaucoup de conception d'interface utilisateur au cours de mes dix premières années de carrière dans la R&D contractuelle, mais tout cela concernait des produits assez spécialisés. Donc vous n'avez jamais vraiment eu l'occasion de les voir utilisés dans le monde réel. Mais avec ça... Eben va à CNN ou quelque part, et ils ont des Pi sur les écrans sur le mur. Il aime juste prendre des photos des endroits où il a vu le bureau être utilisé. Il les ramène et dit : "Regardez ça, ils l'utilisent ici".
C'est toujours aussi excitant de le voir. Je me demande si je rêve que ces gens utilisent ce que j'ai conçu. C'est un sentiment incroyable. Ça en vaut la peine, même si je n'ai pas aimé le faire - ce qui est le cas.
Max : En parlant de la version x86, quels sont les plans pour celle-ci ? Avez-vous l'intention de créer une sorte de distribution Linux alternative que tout le monde pourrait utiliser ?
Simon : Nous continuerons à faire des versions x86 autant que possible en synchronisation avec les versions Raspbian. En gardant les deux produits aussi similaires que possible du point de vue de l'utilisateur. La principale différence entre les deux est qu'il y a certaines applications libres que nous avons sur le Pi et que nous ne pouvons pas avoir sur x86. Je ne pense pas qu'il s'agisse d'avoir des plans en tant que tels pour le Pi. Encore une fois, vous avez des gens qui disent qu'en ce qui les concerne, c'est le meilleur bureau / la meilleure distribution Linux. Je n'ai pas l'intention de m'attaquer à Ubuntu ou Debian ou autre. C'est d'essayer de rendre les choses plus agréables, et si les gens veulent avoir une meilleure expérience sur leur ordinateur portable aussi... comme sur leur Pi, alors c'est absolument génial. Nous avons l'intention de continuer à le produire, c'est maintenant un processus assez automatisé pour produire des versions x86 en même temps que des versions ARM, donc oui, nous allons continuer à le mettre à disposition. Son intention était de permettre aux gens avec des ordinateurs moins puissants - parce qu'il est basé sur Debian - son intention était de permettre aux gens avec de vieux ordinateurs moins puissants de l'utiliser. Je pense que c'est une distribution Linux assez décente en soi aujourd'hui. Encore une fois, c'est Debian avec notre peau par-dessus - ne vous méprenez pas, ce n'est pas tout notre travail, c'est surtout Debian, avec le vernis par-dessus.
Max: Avez-vous des chiffres sur l'étendue de la propagation ?
Simon : Nous avons probablement des chiffres de téléchargement pour savoir combien de copies ont été téléchargées. Je pense qu'en termes d'utilisateurs de Pi desktop, c'est probablement 95 % Raspbian. Quant aux versions x86, nous les avons publiées à titre expérimental. C'était presque une blague, car Eben et moi étions assis et discutions au bureau. Nous sommes arrivés à un point où nous étions assez satisfaits de la façon dont le bureau fonctionnait. Et il a dit : "Ce ne serait pas génial, si je pouvais avoir ça sur mon ordinateur portable ? J'aimerais avoir ça sur mon portable." Et j'ai commencé à penser à ça. Je suis rentré chez moi, et je m'ennuyais un samedi à la maison. Et j'ai pensé - je me demande si on peut faire ça. Il doit y avoir une version LXDE de Debian, et j'ai téléchargé la version LXDE de Debian. J'ai ensuite passé environ deux heures à essayer de faire fonctionner la persistance sur celle-ci. J'ai créé une image qui démarrerait sur mon Mac à la maison, avec la persistance basée sur l'image LXDE. Et j'ai réussi à la faire fonctionner, et je me suis dit, voyons ce que je peux faire. Je pense que dans la soirée, j'ai fait fonctionner le bureau Raspberry Pi sur cette clé USB. Je l'ai apporté, Eben avait été à une conférence pendant le week-end et il est venu le lundi, et je lui ai dit : "Jetez un coup d'oeil à ça". J'ai branché la clé USB sur mon Mac, et je l'ai fait démarrer sur le bureau. Et il a dit : "Wow, tu l'as fait. Tu vas l'expédier, alors ?" J'ai dit : "Si tu penses qu'on devrait."
C'est littéralement né d'une remarque spontanée d'Eben, et moi qui m'ennuyais à la maison, je me suis dit : ça ne peut pas être si difficile, je vais essayer. Il s'est avéré que ce n'était pas si difficile en fait.
Max : Il est intéressant de constater qu'une chose aussi importante - vous pensez qu'elle va prendre beaucoup de temps, mais ce n'est pas le cas, mais d'autres choses - comme le qPDF ...
Simon : Oui, ça prend du temps. La seule chose qui a pris autant de temps sur l'image x86 a été d'essayer d'en obtenir une qui démarre sur autant de plateformes que possible, parce que nous avons beaucoup de problèmes avec certains modèles de Mac. Nous avions deux plateformes difficiles, qui étaient : mon Mac mini à la maison, et le MacBook d'Eben. Et nous voulions qu'il fonctionne sur les deux. Mon Mac au bureau, qui était une génération différente de MacBook - tout fonctionnait dessus, toutes les images démarraient dessus. Mais il nous a fallu des siècles pour essayer de manipuler le BIOS Debian de bas niveau et les images, et nous avons passé deux semaines à jouer avec ça. J'en ai fait une grande partie chez moi les week-ends, essayant plusieurs choses en termes de création d'image Debian. Pour la faire démarrer. Finalement, nous avons trouvé un moyen de créer une image qui démarre à la fois sur mon Mac à la maison et sur le Macbook d'Eben. C'est celle que nous expédions, car elle fonctionne sur les deux cas de référence. Je pense que nous avons eu des problèmes parce que Debian a séparé l'image vivante et l'image installable - ce sont deux choses différentes. Et l'image installable fonctionnait sur beaucoup plus de plateformes que l'image live. Mais nous étions à l'époque basés sur la live image. Nous avons donc dû réunir les deux, pour avoir quelque chose qui soit à la fois installable et démarrable sur autant de choses que possible. Et c'est ce qui a été le plus difficile, en théorie nous n'aurions pas dÃ" faire cela - Debian aurait dÃ" le faire pour nous. Mais en fait, installer notre bureau dessus a été un processus relativement rapide. Le processus était opérationnel en un jour.
Max: Vous avez tout dedans, comme le magicien aussi ?
Simon : Celle que nous venons de publier contient tout : l'assistant de démarrage, les applications préférées, la seule différence étant, comme je l'ai dit, des choses comme Mathematica, que nous ne pouvons pas livrer. Tout le reste devrait l'être - chaque changement d'interface graphique que nous apportons à la version ARM ...
Max : C'est également automatique. Je voulais vous demander quelque chose à propos des mises à jour de paquets, car certains utilisateurs ne savent pas comment faire. Est-il prévu de faire des mises à jour automatiques des paquets ? La sécurité en particulier.
Simon: Il y a une mise à jour automatique dans l'assistant. La première fois que vous lancez l'assistant de démarrage, [Raspbian est mis à jour] pour que vous sachiez que vous avez la dernière et la meilleure version à ce moment-là. Rendre les mises à jour automatiques est une chose difficile, car pour chaque personne qui ne met pas à jour son système, parce qu'elle ne sait pas qu'elle devrait le faire - et que vous voulez probablement aider - vous en avez une autre qui ne met pas à jour son système parce qu'elle sait que si elle met à jour son système, ce paquet ici va se casser. Et cette application va cesser de fonctionner. Et c'est un de ces domaines où je suis assez réticent à faire un changement, parce que - en mentionnant la sécurité : c'est comme quand nous avons fait ces changements de sécurité. La chose dont j'ai le plus peur, c'est de casser quelque chose. Si quelqu'un découvre que son Pi fonctionnait hier, et qu'il ne fonctionne plus aujourd'hui, et que c'est de ma faute si les choses ont changé parce qu'ils ont retiré une mise à jour - c'est mon scénario cauchemar. Une ou deux fois, nous avons mis de mauvais paquets sur le dépôt, que je n'avais pas testés de manière adéquate - et cela arrive invariablement lorsque je pars en vacances. Je pars en vacances. Et je découvre, le deuxième jour de mes vacances, qu'il y a des rapports de bogue qui arrivent - pour un paquet que nous avons expédié.
Max : Est-ce que tu t'assois vraiment et tu répares ces bugs ? Vous ne pouvez pas vivre avec la conscience coupable ?
Simon : J'ai tendance à être à la maison de toute façon. J'ai passé la première semaine de plusieurs vacances à corriger des bogues depuis chez moi, et à essayer de régler le système, parce que - oui, je me sens coupable de cela. Je n'aime pas casser des trucs pour les gens. Mon souci avec les mises à jour automatiques est que dans certains cas, sans qu'il y ait faute de notre part, des choses seront cassées. En raison des problÃ?mes de dépendance de Debian, il est trÃ?s facile pour un paquet de passer à une nouvelle version, et nous n'avons pas le backport correspondant pour l'exécuter, et donc ce paquet qui fonctionnait hier ne fonctionne plus aujourd'hui.
Je ne voudrais pas le faire automatiquement. Tant que je n'aurais pas la certitude qu'il n'y aura pas de rupture pour qui que ce soit, je ne voudrais pas le faire automatiquement.
Max: Et pour les trucs critiques en matière de sécurité ?
Simon: Même pour les trucs critiques pour la sécurité. C'est une décision difficile. Microsoft a fait sa mise à jour Creator sur Windows 10, l'année dernière ? Mon Ethernet a cessé de fonctionner sur mon PC Windows. C'est inexcusable. Mon réseau fonctionnait avant que je fasse cette mise à jour, et maintenant il ne fonctionne plus. Il m'a fallu deux heures pour remettre mon ordinateur en état de marche.
Max: Surtout quand vous n'avez pas de réseau.
Simon: Exactement, c'est assez difficile de faire un diagnostic sans les conseils d'Internet. Je suis donc prudent à ce sujet. C'est l'une des choses que nous avons examinées - une forme d'outil GUI pour faire les mises à jour. En fait, vous pouvez effectuer des mises à jour du système via l'outil existant d'ajout/suppression de programmes. En regardant la conception de cet outil, il s'exécute en fait comme une application séparée. Il n'y a aucune raison pour que je ne puisse pas le faire en tant qu'application séparée. Et peut-être la vérification des mises à jour au démarrage et des choses comme ça. Tout cela est faisable, et nous arrivons à un point où c'est le genre de choses que nous allons commencer à examiner.
Max : C'est en fait quelque chose qui est vraiment génial avec Linux par rapport à Windows. Votre ordinateur ne vous force pas à faire ces mises à jour. C'est quelque chose que je déteste vraiment vraiment dans Windows. Et il s'arrête - imaginez faire une présentation, et il s'arrête. C'est là qu'il faut mettre une limite. Comme nous l'avons déjà dit, vous devez prendre des décisions pour les utilisateurs, mais vous ne pouvez pas forcer l'utilisateur à arrêter de travailler sur son ordinateur s'il ne le souhaite pas.
Simon : Ça énerve toujours les utilisateurs si on casse des trucs pour eux. Même si vous le faites avec les meilleures intentions. Il y a aussi quelques applications iOS que j'écris - il y a une application de résolution de mots croisés. De temps en temps, j'envoie des mises à jour, et je me souviens en avoir envoyé une qui ne fonctionnait pas sur une certaine version d'iOS sur laquelle je ne l'avais pas testée. Et vous avez une flopée d'utilisateurs qui sont furieux qu'elle soit cassée, et vous avez une flopée d'autres utilisateurs qui sont probablement plus au fait de la technologie, qui font "juste pour vous faire savoir que c'est cassé". J'ai passé une semaine à Noël à réparer mon application iOS il y a quelques années. C'était Apple qui avait cassé des trucs, pas moi, mais j'ai dû trouver une solution de contournement. On se sent presque plus coupable envers les utilisateurs qui sont gentils, qui font "oui, je comprends que c'est difficile". - "Non, je vais vous trouver une solution pour demain !". - c'est toujours difficile. Les mises à jour sont une chose délicate, et il est très facile de casser des choses.
L'une des choses qu'Apple fait, et que je trouve inexcusable, c'est que sur iOS, ils téléchargent une mise à jour d'image d'un gigaoctet et demi, lorsque je passe d'iOS 10 à iOS 11. Ils la téléchargent automatiquement dès que vous êtes connecté au WiFi, en arrière-plan, sans vous le demander. Si vous voulez utiliser un gigaoctet et demi de ma bande passante, demandez-le moi d'abord. C'est inexcusable. En fait, j'ai enregistré un bogue et j'ai dit : ce téléchargement de données est d'une taille énorme. Ils m'ont dit : non, c'est une mise à jour de sécurité, vous devez l'avoir, donc nous devons tout faire pour que vous soyez sur la plateforme. J'ai dit : non, les gens doivent payer pour leurs données. Il y a des gens qui ont un plafond mensuel de données. Ils ont cinq iPhones à la maison, tous en train de télécharger. Ce sont des choses comme ça - il faut trouver un équilibre raisonnable. Pour l'instant, nous ne faisons rien pour forcer les mises à jour, ni même pour les conseiller. Ce serait probablement une bonne chose si nous le faisions, mais je n'ai pas encore pris de décision sur ce que nous allons faire à ce sujet.
Max : Avez-vous pensé à créer une sorte de zone de notification ?
Simon : Nous avons un système de notification. Le système de notification de LXDE n'est pas génial en fait, il met des fenêtres dans le coin de l'écran. Mais chaque fois que nous avons une application qui les utilise, j'ai tendance à réécrire l'application, parce qu'elles ne sont pas belles. Mais il est certainement possible de lancer quelque chose au démarrage, pour voir s'il y a des mises à jour, et d'afficher une boîte de dialogue à l'écran. Il y a des choses que nous pourrions faire, mais c'est probablement un domaine sur lequel nous allons commencer à nous pencher, simplement parce que nous avons fait le tour des choses les plus évidentes à faire.
Max: Quelles sont les choses qui facilitent le développement pour vous, et celles qui le rendent plus difficile ? Le type d'outils que vous utilisez.
Simon: Geany est génial. Comme je l'ai dit, je fais la plupart de mes développements sur le Pi aujourd'hui.
Max: Fait-il aussi des indications sur le code ?
Simon: Oui. Geany fait à peu près tout. Des choses comme la façon dont il extrait les noms de fonctions pour vous, et vous permet facilement de trouver des choses comme ça, c'est vraiment bien. Cela me manque maintenant quand j'utilise d'autres éditeurs, en fait. [Autres outils que j'utilise :] Glade - qui est l'outil pour la conception de fenêtres GTK. Je l'utilise beaucoup, même si j'ai dû construire l'ancienne version à partir des sources, parce qu'ils ne supportent plus que la nouvelle version qui ne supporte que GTK 3, "non, je veux l'ancienne version, s'il vous plaît, parce que je peux développer pour GTK 2 avec l'ancienne version !".
Il y a quelques outils qui sont utiles pour mon travail. Il y a un outil appelé "A Widget Factory". AWF. En gros, c'est juste un écran avec tous les widgets GTK dessus. Et j'en ai deux versions, une version GTK 3 et une version GTK 2. J'essaie donc de garder mon thème synchronisé entre les deux, je les utilise. C'est une très bonne façon de voir - ils ne se ressemblent pas.
Max : Avez-vous réellement deux Pi l'un à côté de l'autre, l'un exécutant GTK ...
Simon: Non, parce que je peux exécuter cette application en deux ou trois modes, donc j'ai juste deux fenêtres à l'écran. Mon but avec le thème est de faire en sorte que les fenêtres aient la même apparence. Donc vous pouvez le faire sur la même plateforme. C'est très utile. Git et GitHub sont merveilleux. Je serais complètement coincé sans GitHub. Je pense que GitHub est génial.
Max : Documentation interne, la faites-vous en ligne avec la source ?
Simon: La plupart du temps oui. Je ne fais que commenter le code. Je ne fais pas une énorme quantité de documentation externe. Nous avons des personnes qui travaillent sur la documentation indépendamment de moi. Mon intention est d'écrire des choses qui sont suffisamment évidentes à utiliser pour qu'ils puissent le faire sans que je leur dise comment faire. J'essaie d'utiliser des noms de variables utiles, des noms de fonctions utiles, des commentaires lorsque ce n'est pas évident, ce que le code fait, surtout comme des notes pour moi autant qu'autre chose.
Autres choses utiles : l'une des choses qui me frustrent est que Linux ne dispose pas d'un bon outil de comparaison, en termes de graphique. Celui que j'utilise est meld, qui est le meilleur que j'ai trouvé, mais il n'est pas aussi bon que des choses comme "Beyond Compare" sur le PC, qui est vraiment bon. Je me suis retrouvé à déplacer le code Pi sur le Mac, afin de pouvoir utiliser l'outil de comparaison de Xcode. Il y a certaines fonctions de Xcode que j'utilise beaucoup. Je pense que c'est la plupart des outils que j'utilise pour le développement, des trucs que j'utilise au quotidien. C'est probablement tout, je pense. Et en termes de choses qui rendent la vie facile - un code bien structuré est toujours bon. J'essaie toujours d'écrire du code en pensant que je pourrais avoir à y revenir et à en faire autre chose. Il est toujours utile de le faire correctement du premier coup.
Max: Connaissez-vous cette théorie des deux systèmes, quand vous construisez le premier système, il vaut mieux le jeter ?
Simon: Oui. Je l'ai fait dans le passé. Surtout quand on est moins expérimenté. C'est l'une des choses que je trouve maintenant quand je reviens en arrière et que je regarde certaines applications que j'ai écrites la première année, pour le Pi, je reviens en arrière et je me dis "oh, pourquoi ai-je fait ça ? Oh, c'était mauvais." Si je les trouve, je les corrige aujourd'hui. Je pourrais probablement trouver, que dans quatre ans, je regarde en arrière les choses que j'écris maintenant, [je ressentirai la même chose]. Tout développement de logiciel est un processus d'apprentissage. Vous vous améliorez au fur et à mesure que vous avancez, vous vous améliorez au fur et à mesure que vous faites quelque chose. Plus vous comprenez votre art.
GTK est l'une de ces choses dont plus vous apprenez les petits défauts, plus vous l'utilisez, mieux vous pouvez le faire se comporter. GTK lui-même est un outil très utile. En tant que concepteur d'interface utilisateur, il est très utile d'avoir des contraintes. GTK est excellent de ce point de vue. Toute boîte à outils d'interface utilisateur est géniale - je n'ai pas un écran vide et je ne dois pas décider de l'apparence de cette fenêtre. Je sais à quoi va ressembler cette fenêtre, car elle va ressembler à toutes les autres fenêtres. Je sais à quoi vont ressembler les boutons, car ils vont ressembler à tous les autres boutons.
Max: Vous vous concentrez donc sur l'application elle-même ?
Simon: Ouais. Plutôt que de la poudre aux yeux. C'est bien que ce soit séparé. Parce que toutes ces choses, je peux les faire dans le thème. Si je veux que toutes mes applications soient plus jolies, je peux changer le thème. Si je veux que l'application fonctionne mieux, je n'ai pas à me soucier de la rendre plus belle.
Max: En tant qu'utilisateur, je préfère que les applications soient prévisibles, qu'elles se ressemblent. Connaissez-vous WinAMP ? Il ne ressemble pas à une application Windows.
Simon: Oh oui, ça ne ressemble pas à une application Windows. Ces tout petits ... Ouais. Et nous avons quelques développeurs qui ont écrit des applications pour nous, qui veulent faire leur propre truc qui a l'air différent de tout le reste. Et [je dis à chaque fois qu'ils le font] : "Ne le faites pas". Je comprends le désir de le faire. Je comprends le désir de faire en sorte que la chose ressemble à "c'est à moi". C'est de l'image de marque, c'est la même chose que l'image de marque du bureau. Mais ce n'est souvent pas utile aux utilisateurs. C'est surtout mon argument, parce que vous voulez que l'environnement soit cohérent. Et quelqu'un qui veut faire son propre truc n'est pas utile en termes de création de cohérence.
Max: Je pense que c'est vraiment l'idée derrière tout ça, n'est-ce pas, que vous voulez mettre votre propre nom dessus.
Simon: Oui, exactement. Quelques autres personnes qui produisent des choses pour Pi le font. C'est bien, j'essaie de les dissuader de le faire, mais au bout du compte, s'ils développent pour nous, je ne peux pas dire "non, vous devez faire ça !".
Max: "Le dixième commandement."
Simon: Exactement.
Max: Qu'est-ce qui vous inspire pour le développement ?
Simon: Qu'est-ce qui m'inspire ? Améliorer les choses. Est-ce que c'est aussi bien que possible ? Et si non, comment puis-je l'améliorer ? Il s'agit de faire en sorte que l'expérience de l'utilisateur me plaise en tant qu'utilisateur. Je veux m'asseoir et trouver que c'est une expérience agréable pour moi. Si c'est une expérience agréable pour moi, j'espère qu'elle le sera aussi pour d'autres personnes. C'est ça, le design. Si vous parlez à n'importe quel designer industriel, le design consiste à améliorer les choses pour les gens.
Max: Il s'agit d'éliminer les frictions. Je me souviens de cet exemple avec le réfrigérateur dans le livre "The design of everyday things" où l'utilisateur pensait, il y a deux boutons ou quelque chose comme ça, un pour le compartiment congélateur et un pour le compartiment normal. Et en fait, c'était une sorte de mélange bizarre... Ou comme ces robinets en Grande-Bretagne - il est écrit "attention, eau extrêmement chaude". Mais qu'est-ce que tu es censé faire ?
Simon: Les interrupteurs de lumière qui ne fonctionnent pas de la même façon. Des choses comme ça. Je crois avoir vu un documentaire avec Seymourpowell, les designers industriels de Londres. Ils disaient : un designer veut améliorer les choses.
Max: Qu'est-ce qui vous a poussé à vous lancer dans la conception d'interfaces utilisateur ?
Simon: C'était il y a de nombreuses années. J'ai étudié l'ingénierie à l'université. Et je me suis spécialisé dans les logiciels. Mais j'ai toujours apprécié un bon design. [Par exemple] J'avais un appareil photo Canon, et il était si satisfaisant à utiliser, parce que tout avait été bien fait. Et je ne fumais pas. Je n'ai jamais fumé. Mais j'avais un briquet Zippo, parce que c'était une si belle chose. J'ai passé mon temps à penser - je n'ai aucun talent artistique du tout. Je ne sais pas dessiner, je ne sais pas peindre, je ne sais pas esquisser des choses. Je ne sais pas comment on fait de belles choses comme ça. Mais j'aurais vraiment aimé pouvoir le faire. Comment puis-je combiner mon désir de créer de belles choses avec la réalisation de logiciels ? Et le lieu logique de cette rencontre était la conception d'interfaces utilisateur. J'ai passé un entretien avec Cambridge Consultants, mon premier employeur. Ils m'ont montré - parce qu'ils commençaient tout juste à concevoir des interfaces utilisateur à l'époque - qu'ils développaient des technologies pour la simulation d'interfaces utilisateur. Ils ont donc pu me montrer qu'ils avaient conçu une chaîne hifi, et qu'ils avaient un écran qui ressemblait à cette chaîne hifi. Et vous pouviez cliquer sur des boutons sur l'écran et tout répondait. Et vous pouviez développer l'ensemble de l'interface utilisateur dans ce monde virtuel. J'ai vu cette démonstration, et j'ai dit "Je veux venir travailler pour vous et faire ça." Je pense que c'est la raison pour laquelle j'ai obtenu le poste, parce que j'étais si complètement épris de ce qu'ils ont fait. C'est ce que je veux faire. Je voyais un moyen de le faire - si je pouvais le faire, je serais heureux. Parce que cela signifie que je peux faire de belles choses, mais je n'ai pas besoin de savoir dessiner, colorier et concevoir. Je peux faire de belles choses comme ça. Et c'est de là, je pense, que tout est parti pour moi.
Max: Alors c'est probablement comme les ingénieurs en matériel qui viennent à Raspberry Pi...
Simon: J'ai toujours été très frustré, quand je regardais les designers industriels, et j'ai vraiment souhaité pouvoir faire ce qu'ils faisaient. Mais comme je l'ai dit, vous devez avoir des talents, que je n'ai pas pour cela.
Max: Conception de produits comme des étuis, etc.
Simon: Exactement. Lorsque je travaillais à Cambridge Consultants, je suis passé d'un groupe de logiciels à un groupe de design industriel. Parce que je voulais être considéré comme un designer plutôt que comme un ingénieur à ce moment-là. Je me souviens que c'était un mouvement très impopulaire auprès de mon patron en ingénierie logicielle. Il m'a dit : "Vous faites une énorme erreur. Vous ne vous en sortirez jamais avec ça." Et j'ai dit : "C'est ce que je sens que je dois faire." J'étais un ingénieur logiciel qui travaillait très étroitement avec des designers industriels, et je travaillais sur la conception d'interfaces avec eux. J'ai trouvé extrêmement stimulant d'être dans un bureau avec des gens qui faisaient toutes ces choses que j'aurais aimé faire, qui s'occupaient de la conception du boîtier, de l'apparence, de la mise en page des graphiques et de ce genre de choses. Et la meilleure chose que je pouvais faire moi-même était de travailler avec eux et de contribuer au produit qu'ils créaient. Et c'est de là qu'est venue mon inspiration pour la conception d'interfaces utilisateur. Je voulais faire quelque chose que je ne pouvais pas faire et j'ai trouvé ce qu'il y avait de mieux après, c'est-à-dire la conception d'interfaces graphiques dans les logiciels.
Max: Quelles sont les fonctionnalités ou les changements que vous aimeriez personnellement voir dans Raspbian, des choses que vous n'avez pas encore faites, dont nous n'avons pas discuté. Peut-être des choses qui sont vraiment hors de portée, qui sont vraiment très difficiles à faire ?
Simon: Pour être honnête, j'ai commencé le premier jour, j'ai fait une liste de toutes les choses que je voulais faire. Et je pense que j'ai maintenant atteint le bas de la liste des choses que je voulais faire.
Max: Mieux vaut faire une nouvelle liste.
Simon: Je pense que je dois faire une nouvelle liste. Je ne suis pas encore sûr de ce qui sera sur cette liste. C'est une question à laquelle il est difficile de répondre. Si vous m'aviez posé cette question il y a un an, ou deux ou trois ans, j'aurais eu une idée beaucoup plus claire de la réponse. Je suis maintenant en quelque sorte arrivé au bas de ma liste de choses originales. Il y a une tâche de maintenance constante avec tous ces trucs. Tous les deux ans, nous allons devoir supporter une nouvelle version de Debian.
Max: J'espère que l'équipe pourra s'agrandir.
Simon: D'une certaine manière, je ne le veux pas - parce que j'aime ça.
Max: Vous aimez vraiment bricoler avec GTK 3 pour qu'il se comporte bien ?
Simon: Je m'assieds, je jure et je maudis, mais je ne laisserais personne d'autre le faire, parce que...
Max... parce que c'est ton bébé.
Simon... parce que c'est mon bébé, et je veux que ce soit bien. C'est associé à moi. Il y a des gens qui savent que Simon Long fait le design des interfaces graphiques pour Raspberry Pi. Ce n'est pas une question de ne pas faire confiance à quelqu'un d'autre pour le faire. C'est une question de - j'ai passé tellement de temps à en apprendre les subtilités, que c'est presque que je suis la meilleure personne pour le faire de toute façon.
J'ai été manager pendant neuf ans à mon précédent emploi, et je détestais ça.
Max: Vous avez réellement apprécié de faire les tâches au lieu de les déléguer ?
Simon: J'ai aimé le faire. Mon cauchemar est qu'Eben arrive et dise : "Ah Simon, on t'a trouvé du personnel pour faire des choses. Tu vas t'asseoir en haut et prendre des décisions." Et je ferais : "Nooon, ne me l'enlève pas." Parce que j'aime avoir mes mains sur le code. Et je n'aimerais vraiment pas qu'on m'en prive. D'une certaine manière, je suis heureux de continuer à faire ça, parce que je trouve ça gratifiant. Je trouve ça gratifiant de [pouvoir dire] : "Regardez, j'ai fait ça." En tant que manager, je n'ai jamais vraiment senti que je pouvais dire, "J'ai fait ça." - Mes collaborateurs le faisaient, je ne le faisais pas. Alors que maintenant je m'assois et je dis : "Je l'ai fait."
Max: Une question plus technique : qu'allons-nous gagner avec le pilote OpenGL ? Avantages / inconvénients ?
Simon: En gros, cela donnera des animations plus rapides et plus fluides dans tout ce qui utilise OpenGL. Les applications OpenGL, évidemment. L'intention, je pense, est que tout sera effectivement rendu par OpenGL, le bureau, etc. passera par lui, ce qui signifie que vous obtiendrez les avantages de l'accélération matérielle sur tout cela. Donc, en théorie, l'expérience sera plus rapide et plus fluide pour tout le monde. Je ne pense pas qu'il y ait d'autres avantages que ceux-là.
Max: Si je comprends bien, devez-vous vraiment modifier le bureau ? Ou est-ce qu'il en bénéficiera automatiquement ?
Simon: Oui. Mais de combien - ce n'est pas un domaine dans lequel je suis un expert technique du tout. OpenGL est l'un de ces arts noirs. Si j'ai bien compris, il s'agit essentiellement d'essayer d'obtenir une meilleure accélération matérielle sous le système, pour tout ce qui va sur l'écran.
Max: Donc, par exemple, le Pi 1 sera plus performant, idéalement ?
Simon: Potentiellement oui, bien qu'encore une fois, un des problèmes je pense avec le pilote OpenGL est la quantité de mémoire qu'il utilise. Nous pourrions donc avoir des problèmes sur le Pi 1. Je pense que nous les avons largement résolus, mais - les améliorations évidentes seront dans des choses comme les jeux OpenGL. Elles iront toutes directement au matériel. Vous devriez voir une amélioration générale des performances vidéo.
Max: Wayland, Weston. Complètement abandonné ?
Simon: C'est largement sur l'étagère, oui. Je ne pense pas qu'il soit complètement abandonné. Il se peut qu'il se développe à un moment donné. Mais pour l'instant, nous n'avons pas fait de travail de développement actif dessus depuis quelques années.
Max: Quel est votre moyen préféré de passer le temps sur un Pi ?
Simon: (rires) Je suis ennuyeux, j'aime programmer pour améliorer les choses, je dois dire. Je rentre souvent chez moi le soir et s'il y a un problème technique que je n'ai pas encore résolu, je me dis que ça va être intéressant. Il m'arrive souvent de télécharger du code sur GitHub et de le modifier sur mon Pi à la maison.
Max: Juste parce que tu ne peux pas résister ?
Simon: Oui. Je veux le rendre meilleur, je ne peux pas le laisser seul. Si j'utilise un ordinateur à des fins purement récréatives, je n'utilise pas un Pi. J'utilise un Pi comme plateforme de développement, mais j'aime tellement le développement. Je n'utilise pas de Pi pour des choses comme la navigation sur le Web, car même avec Chromium, l'expérience est bien meilleure sur une machine Windows ou Mac, car la navigation sur le Web nécessite beaucoup de puissance. Mais les choses pour lesquelles j'utilise mon Pi en termes de plaisir sont les mêmes que celles que je fais au travail.
Max: C'est plus comme des vacances, quand tu es au travail.
Simon: Mon partenaire à la maison est parfaitement conscient que si je suis assis à l'étage dans mon bureau, je suis probablement en train de taper des trucs pour le Pi. C'est ce que j'aime faire.
Max: J'ai rencontré Martin lors de l'événement Raspberry Pi fields, et il m'a parlé de la nouvelle aide. Vous prévoyez de publier une aide pour le nouveau numéro, qui sera livré avec Raspbian.
Simon: Martin a fait un excellent travail en termes de mise en ordre de nos ressources web. Ses pages web sont très bonnes. Et sérieusement, vous devriez jeter un coup d'oeil aux liens dans le menu, parce qu'il a fait beaucoup de travail sur eux, et je pense qu'ils sont excellents. Et oui - l'intention est que nous prenions cela hors ligne d'une manière ou d'une autre, que ce soit des pages web statiques qui sont sur le Pi, ou que nous le fassions comme une application Electron, bien que les applications Electron ne soient pas terriblement efficaces en termes d'espace, parce que vous vous retrouvez avec l'ensemble du navigateur Chromium intégré dans chacun d'eux. Nous en avons déjà un sur le système pour Scratch 2.
Ses ressources d'aide sont formidables, et oui, les rendre disponibles hors ligne est une très bonne chose à faire, donc nous le ferons à un moment donné dans le futur.
Max: Aucun projet concret pour l'instant.
Simon: Pas encore.
Max: Ce serait évidemment une chose où vous pourriez tirer des mises à jour. L'aide s'améliore...
Simon: Encore une fois, c'est l'un des avantages d'avoir une aide qui n'est pas sur la plateforme, car elle se met à jour automatiquement - vous avez donc une décision à prendre là.
Une des choses que j'ai faites avec les applications recommandées - qui se met à jour à chaque fois qu'elle est lancée. J'ai donc créé une application qui se met à jour automatiquement au démarrage. Parce que je voulais m'assurer que les gens aient toujours la dernière et la meilleure liste d'applications recommandées. J'ai donc prouvé qu'il est possible de créer une application dont la première chose qu'elle fait est de se mettre à jour. Avec l'aide, nous pourrions faire quelque chose de similaire.
Max: Peut-être que si vous donnez aux utilisateurs un bouton "annuler". Si quelque chose se casse pour eux, ils peuvent revenir en arrière. Le problème est évidemment de trouver quelle chose a cassé le système.
Simon: Ce qui n'est pas si facile. Vous devriez être en mesure de le faire via apt. Et malheureusement avec apt, il n'est pas toujours facile de le défaire.
Max: Une chose que je fais, c'est que je mets à jour les paquets, parce que je fais confiance à la Fondation Raspberry Pi pour faire ce qu'il faut. Je ne m'inquiète pas vraiment que certaines choses puissent se casser.
Simon: Nous essayons de faire ce qui est juste, mais comme je l'ai dit, nous ne sommes pas infaillibles. Donc de temps en temps, nous sortons des choses qui n'auraient pas dû être la bonne chose à faire. Mais nous essayons de garder cela au minimum.
Max: Avec les problèmes de corruption de la carte SD, je pensais qu'il y avait beaucoup de journalisation dans Raspbian...
Simon: En termes de corruption de SD, l'une des choses que nous avons envisagé de faire, et que nous pourrions faire à l'avenir, est ce que nous faisons avec l'image x86. Ce qui est effectivement de livrer une image fixe avec une partition persistante par dessus. Dans ce cas, vous pouvez toujours revenir à un bon état. C'est l'une des choses que nous avons envisagé de faire. Vous avez une partition de base, et ensuite vous appliquez la persistance par dessus.
Max: Fondamentalement, une superposition.
Simon: Exactement. C'est quelque chose que nous avons pensé à faire. Je n'ai pas le temps [de le faire], mais c'est probablement la voie à suivre à l'avenir.
Max: Une des premières choses que j'ai vu en arrivant au Royaume-Uni, était une navette - quand vous sortez de l'aéroport de Stansted, ils ont une navette, qui va au terminal. Et il y avait un Raspbian [gelé pendant le démarrage].
Simon: Cela arrive. Nous sommes très souvent utilisés dans les expositions. Et la capacité de récupérer de quelque chose comme ça est évidemment une bonne chose. Mais oui, les cartes SD ne sont pas une technologie parfaite. Il est bon de rendre cette technologie plus robuste. Je pense que nous allons évoluer vers un système de fichiers superposé à une partition de base. Ce qui signifie au moins que vous pouvez revenir à quelque chose que vous savez fonctionner, même si ce n'est pas nécessairement avec tout votre travail [existant] dessus.
Max: Avez-vous des projets pour les utilisateurs industriels qui ne touchent pas au système, pour une image en lecture seule ?
Simon: Des gens se sont penchés sur les images en lecture seule. Nous ne nous sommes pas penchés sur la question en interne - on en parle de temps en temps, mais nous n'avons pas travaillé dessus. Il est certainement possible de le faire.
Max: La dernière question que j'ai est sur les binaires ARMv6, et les binaires ARMv7. En gros, ce que vous faites c'est que vous supportez tous les Raspberry Pi.
Simon: Nous ne voulons pas rendre orphelins les gens qui ont acheté des Pi 1 - car par définition, ils peuvent avoir un budget limité. C'est seulement 35 $ pour un nouveau Pi, mais ils peuvent ne pas avoir 35 $. Nous essayons donc de supporter toutes les anciennes plateformes dans la mesure du possible. Le seul endroit où nous ne le faisons pas pour le moment est le lecteur Flash. Le lecteur Flash n'est disponible que sous forme de binaire ARMv7, c'est tout ce qu'Adobe fournit. Nous ne pouvons donc pas faire grand-chose à ce sujet. Nous ne voulons pas consciemment rendre orphelines les anciennes plates-formes avec les nouvelles versions des logiciels.
Max: La raison de ma question concerne les performances. Il est évident que les binaires ARMv6 n'utilisent pas toutes les fonctionnalités que les binaires ARMv7 utiliseraient.
Simon: Dans certains cas, nous avons effectivement des bibliothèques hybrides, certaines de nos bibliothèques d'accès à la mémoire, par exemple. Elles regardent si elles fonctionnent sur un ARM 6 ou un ARM 7 et exécutent un code différent en conséquence. C'est quelque chose que nous pourrions envisager de faire.
Max: Le noyau est également optimisé ... les bibliothèques de base [où le plus gros impact se produirait].
Simon: Oui. Ce sont des choses comme les copies de mémoire, la comparaison de mémoire. Des choses qui sont des surcharges générales du système, qui sont optimisées pour différentes plateformes. C'est une chose compliquée à faire fonctionner. Mais ça marche. Nous ne le ferions probablement pas pour tout - mais quand nous trouvons des endroits où nous pouvons obtenir un avantage. Nous n'optimiserions probablement pas une application individuelle. Mais si nous pouvons optimiser pour plusieurs applications - et nous avons un gars qui est très bon à cela - à respirer sur des bits de code de bas niveau à cette fin. Nous avons un programme continu de recherche d'éléments nous permettant d'obtenir un avantage en termes de performances en optimisant.
Max: Donc, essentiellement, ce qui se passe, par rapport à d'autres plates-formes, où fondamentalement il s'agit plus de matériel bon marché, avec le Raspberry Pi vous obtenez un ordinateur qui s'améliore tout le temps, parce que le logiciel s'améliore tout le temps.
Simon: On l'espère, oui.
Max: Des choses que vous aimeriez mentionner, des trucs sympas, des idées ?
Simon: Je pense que nous avons couvert la plupart des choses qui flottent dans ma tête en ce moment, donc je pense que c'est génial.
Max: Merci d'avoir pris le temps.
Simon: Pas de problème, très heureux de vous revoir.