Chrome a (presque) démoli une extension sur laquelle nous avons travaillé pendant trois ans, et ne veut pas dire pourquoi

Imaginez que vous ayez une petite entreprise. Un beau jour, vous recevez une lettre, composée par un robot, vous informant que vous enfreignez une clause de la réglementation gouvernementale. Ce que vous violez exactement n'est pas dit, mais vous avez quatorze jours pour corriger la situation, sinon vous serez fermé. Si vous recevez trop de demandes de révision, le robot rapporte, vous serez fermé sans droit de recours.



C'est le genre de roulette russe que la boutique en ligne Chrome fait jouer aux développeurs. Certains ont de la chance, et à travers de longues querelles et des jeux de devinettes, ils finissent par être modérés - comme c'était le cas avec Pushbullet . D'autres sont moins chanceux - ils coupent l'oxygène... Nous étions parmi les perdants: le 11 juin, nous avons été exclus du marché. Les affaires sont au bord de la mort, et leur sort est décidé par des personnes qui refusent de nous contacter.



Notre extension est un outil pour créer un environnement en ligne accessible; il permet aux personnes souffrant de troubles moteurs ou de blessures d'utiliser la commande vocale au lieu d'une souris et d'un clavier lors de l'utilisation du navigateur. Nous travaillons honnêtement: pas de publicité, pas de téléchargement de données - juste un choix transparent entre une version gratuite et un abonnement payant. La note est de 4,7, le nombre d'utilisateurs actifs par semaine est d'environ quatre mille. Nous avons investi trois ans de travail d'appel pour ce produit.



Le 26 mai, nous avons été informés que nous enfreignions les règles comme suit:







« », :



  • , ;
  • , , ;
  • « », , .


, , , , . .



C'était: débogueur, notifications, onglets, activeTab, tts, stockage, unlimitedStorage, autorisation d'hôte

Maintenant: onglets, débogueur, notifications, tts, stockage, autorisation d'hôte



Le 16 juin, nous avons reçu une nouvelle notification indiquant que l'application était rejetée, mais maintenant sur une autre raison. La lettre nous a paru encourageante: elle disait que la version précédente, qui était modérée, restera sur le marché, il suffit de corriger la description. Le problème était que la version précédente avait également été refusée en raison d'un problème d'autorisations. Par conséquent, notre extension était toujours présentée sur le marché avec une page 404.



Texte de désactivation:



C



, , .



, , .
Nous avons décidé que c'était un bon signe: cela signifie qu'au moins nous avons tout fait correctement avec les autorisations. Et c'est une question de la plus haute importance - si nous réduisions davantage la liste des autorisations, nous devrions sérieusement restreindre les capacités du produit, y compris celles dont nos utilisateurs ne peuvent se passer.



Nous n'avons pas très bien compris où les modérateurs voyaient l'abus des mots-clés, mais il y avait vraiment beaucoup de mots en général, car la description incluait la chronologie des changements par version. En conséquence, nous avons supprimé cette partie et la description a été réduite de 90%. Voici la version éditée .



Le 17 juin, nous avons reçu une lettre de refus pour la même raison - spam et publicité dans le magasin. À ce stade, nous avons arrêté de comprendre quoi que ce soit et avons commencé à compresser la description au maximum. Peut-être n'a-t-il pas aimé le fait que nous ayons indiqué des sites spécifiques pour lesquels les outils ont été créés (Gmail, Google Sheets, Reddit, Hacker News)? Nous avons des plugins dans l'extension, qui fournissent des fonctions spéciales pour ces ressources. Eh bien, par exemple, pour Gmail, il existe des commandes spéciales "écrire", "répondre", "retourner à la boîte de réception" et ainsi de suite. Peut-être que les modérateurs n'ont pas approfondi ces détails.



Nous avons rapidement jeté le superflu du texte jusqu'à ce que quelque chose comme ça reste .



Ce matin 18 juin, nous avons reçu une autre lettre de bonheur de la boutique Chrome. Cette fois, le sujet du spam et de la publicité n'a pas été abordé, mais nous sommes revenus à notre point de départ - nous avons été refusés en raison des autorisations. Comment avons-nous été renvoyés à notre position de départ? Après tout, nous n'avons apporté que des modifications à la description, aucun nouveau package avec de nouvelles autorisations n'a été téléchargé. Une sorte de non-sens.



Nous sommes complètement perdus. J'ai essayé de contacter l'assistance aux développeurs Chrome, mais je n'ai reçu aucune réponse. Personne ne nous dit quelles autorisations sont considérées comme redondantes pour l'expansion. Nous avons nous-mêmes soigneusement analysé chacun d'eux et sommes arrivés à la conclusion qu'ils sont tous strictement nécessaires au travail.



Toutes les lettres de l'administration Chrome se terminent par ces mots:

Des violations régulières ou flagrantes des règles du Chrome Web Store peuvent entraîner le gel de votre compte de développeur ou son interdiction d'utiliser la plate-forme.
Après trois ans d'efforts pour rendre Chrome plus accessible, cette attitude sans visage et inhumaine de l'administration du magasin est choquante. Voici une liste des autorisations que nous demandons. À notre avis, ils sont tous dictés uniquement par les exigences de fonctionnalité.



onglets



L'autorisation activeTab nous permet d'accéder à l'onglet à partir duquel l'utilisateur a cliqué sur l'icône de l'extension. Mais cela ne suffit pas à nos besoins. Imaginez: un utilisateur lance une extension en cliquant sur une icône puis dit "Onglet suivant" pour naviguer vers un onglet adjacent dans la même fenêtre. Dans cette situation, sans l'autorisation des onglets, il ne pourra plus émettre de commandes, car activeTab fonctionne uniquement dans l'onglet où le lancement a eu lieu. C'est pourquoi les onglets sont obligatoires, ce qui n'est pas si restrictif.



débogueur



Il est nécessaire d'appuyer sur les touches avec votre voix («appuyez sur la flèche gauche», «appuyez sur Entrée»). Les écouteurs qui répondent aux événements générés ne se déclenchent pas dans de nombreux cas, comme dans Google Sheets ou avec certaines instructions div avec l'attribut contenteditable. Il est impossible de rendre la permission facultative (la restriction est écrite dans le manifeste).



permission d'hôte



Cette autorisation est ajoutée par défaut, car les scripts ContentScript pour nous doivent s'exécuter librement sur toutes les pages. L'injection de scripts qui interagissent avec le DOM est nécessaire pour donner aux utilisateurs la possibilité de contrôler le contenu de la page - cliquer sur des liens, faire défiler, lire des vidéos, etc.



tts



Mis en œuvre pour les utilisateurs dyslexiques qui ont besoin d'être parlés. Il est impossible de rendre la permission facultative (la restriction est écrite dans le manifeste).



notifications



Nous l'utilisons pour informer les utilisateurs que l'extension LipSurf a été désactivée après une longue période d'inactivité, ou qu'une mise à jour a été installée.



espace de rangement



L'autorisation est utilisée pour stocker les paramètres utilisateur et les plugins personnalisés.



Supplément à l'article publié ultérieurement



Nous avons gagné cette bataille, mais nous n'avons pas gagné la guerre.



J'ai eu de la chance. Si je n'avais pas remporté le prix principal dans l'intérêt de la loterie Internet ce jour-là , notre projet aurait été arrêté et les utilisateurs auraient été laissés à eux-mêmes avec un outil qui les a aidés dans la vie quotidienne, et n'est plus pris en charge. Des milliers de personnes handicapées pourraient perdre leur confortable environnement en ligne, et nous - notre entreprise, car le sort des deux était entre les mains d'un contrôleur impersonnel, qui fait parfois des erreurs.



Pour récapituler, notre application Chrome a été retirée du marché, apparemment parce qu'elle enfreignait les règles. Après de nombreuses modifications de code, de nombreuses tentatives infructueuses pour passer la modération et des semaines d'expulsion du marché sans possibilité de discuter de la situation avec l'administration, nous avons commencé à nous indigner bruyamment sur Reddit. Notre message a attiré l'attention d'une personne entrant dans la cuisine intérieure de la boutique en ligne Chrome. Cet homme nous a écrit sur Twitter - a dit qu'il y avait un malentendu et s'est excusé. Le même jour, nous avons de nouveau envoyé l'extension pour modération et réapparu sur le marché.



Mais les plaintes en ligne ne doivent pas devenir un moyen de communication avec l'administration. Les développeurs ne devraient pas compter sur la loterie Internet par désespoir. Le Chrome Store existe depuis dix ans, il est donc temps pour eux de nettoyer leur désordre. Eh bien, chez LipSurf, nous voulons profiter de notre position enviable sous les projecteurs et aider d'autres développeurs à améliorer le système.



Tout d'abord, nous voulons remercier le héros du jour @DotProto . Il nous a non seulement sauvés, mais aussi Pushbullet et bien d'autres. De plus, il le fait pendant son temps libre . Bien que @DotProto dise que l'administration travaille sur les processus de débogagede l'intérieur, de notre côté, il serait en quelque sorte ridicule de rester à l'écart, d'attendre et d'espérer. Le problème est clairement systémique, à en juger par le fait que les forums de marché regorgent d'appels à l'aide , et dans les commentaires de notre publication sur Reddit, tout un recensement de ces histoires a été recueilli . Cela peut arriver à d'autres et est plus susceptible de se produire.



Sur cette base, nous ouvrons aujourd'hui un groupe de développeurs collaborant avec le Chrome Web Store, qui mènera un dialogue avec le marché. Il ne s'agit pas d'un canal de support technique ou d'une plate-forme où vous pouvez attirer l'attention si l'administration ne vous répond pas. C'est le lieu où les développeurs peuvent se réunir et discuter de la manière d'améliorer les principes fondamentaux de la collaboration. L'initiative n'est pas sponsorisée par Google et le groupe n'y est pas affilié.



Ensemble, nous aurons de meilleures chances de succès dans les domaines suivants:



  1. Convainquez Google Chrome d'autoriser les magasins avec des extensions tierces. Cela ajoutera de la variété à une gamme d'extensions auparavant clôturée, mettra les développeurs dans une meilleure position et réduira le risque de démolition irrévocable de votre produit simplement parce que.
  2. Chrome . , , – , . , - .


Vous devez commencer à vous blottir ensemble et à construire vos défenses maintenant - si vous ne le faites pas, tout restera entre les mains d'un contrôleur nommé Chrome. Le forum sera également ouvert aux employés de l'entreprise et aux personnes qui défendent les intérêts des développeurs, comme @DotProto. Nous n'allons pas les combattre, en fait - une bonne plate-forme elle-même représente, pas contre ses clients.



Si vous développez des extensions pour Chrome ou si vous avez des amis qui font cela, veuillez soutenir l'effort en remplissant le formulaire ou en supprimant le lien . Nous prévoyons d'ouvrir le forum dès que nous nous assurerons qu'il y a suffisamment de personnes intéressées.



FAQ
?



, , , , . Chrome . – , (, ) , .



adware , ?



, – , . , Google.




All Articles