Projet de la semaine : Voltra
Cette semaine, nous avons rencontré Aprile Elcich et Paolo Fragomeni pour parler de Voltra, un lecteur de musique basé sur Electron.
Qu'est-ce que Voltra ?
Voltra est un lecteur de musique destiné aux personnes qui veulent posséder leur musique. C’est aussi un magasin où vous pouvez découvrir et acheter de nouvelles musiques en fonction de ce que vous possédez déjà. Voltra est sans publicité, multi-plateformes pour bureau et mobile. De plus, il ne vous espionne pas.
À qui destiné Voltra ?
A quiconque écoutant de la musique.
Qu'est-ce qui vous a motivé à créer Voltra?
La radio a toujours eu une grande part d'auditeurs. Elle quitte les ondes pour l'Internet. Maintenant vous pouvez louer de la musique à la demande — c'est le renouveau de la radio ! De nombreux nouveaux produits et services ont vu le jour grâce à cela, mais la radio en streaming laisse encore quelqu'un d'autre au contr ôle de votre musique et la façon dont vous la vivez.
Nous voulions un produit entièrement axé sur la musique que vous possédez. Quelque chose qui permette de découvrir et d'acheter facilement de la nouvelle musique directement auprès des artistes ou des labels.
Existe il une version gratuite ?
Le lecteur de bureau est complètement gratuit. Vendre votre musique est également gratuit ! Nous ne sommes pas financés par la publicité.
Puisque l'application est gratuite, nous pourrions en ouvrir les sources plus tard. Pour le moment, nous n'avons pas la bande passante pour gérer cela. Nous avons également des idées très précises concernant les fonctionnalités et la direction que nous voulons donner aux choses. Nous avons une communauté bêta active et nous prenons les commentaires à cœur.
Comment gagnez-vous de l'argent ?
Nous avons des fonctionnalités premium !
Notre archive audio Voltra est un service de sauvegarde cloud conçu spécifiquement pour la musique. Nous ne compressons ni ne partageons les blocs de données. Votre collection musicale est sauvegardée physiquement pour vous.
Pour les artistes et labels, notre adhésion pro offre des outils qui les aident à atteindre des publics plus pertinents, tels que des analytiques et des pages web professionnelles pour les artistes.
Qu'est-ce qui rend Voltra différent?
Le design et la facilité d'utilisation sont extrêmement importants pour nous. Nous voulons offrir aux auditeurs une expérience d'écoute sans distraction ! Il existe des lecteurs de musique et des magasins intéressants. Mais beaucoup d'entre eux sont plus avancés et plus difficiles à utiliser que leurs créateurs ne le pensent. Nous voulons rendre Voltra accessible au plus grand nombre de personnes possible.
Nous ne prenons pas non plus de commission sur l'artiste ou le label. C'est un différenciateur clé pour nous. C'est vraiment important car cela abaisse la barrière pour les artistes qui souhaitent commercialiser leur musique.
Quels sont les aspects de design & décisions techniques que vous avez prises?
En concevant Voltra, nous avons envisagé des conventions de l'interface utilisateur à partir d'applications natives et du web, nous avons également beaucoup réfléchi à ce que nous pouvions supprimer. Nous avons un groupe bêta privé actif qui nous a donné des commentaires critiques au cours de ces derniers mois.
Nous avons découvert que les pochettes d'album et la photographie sont vraiment importantes pour les gens. De nombreux lecteurs ne sont que des listes de fichiers. L'une des choses intéressantes de la possession d'albums physiques est la pochette de l'album, et nous avons voulu mettre l'accent sur cet aspect dans l'application de bureau Voltra.
Nous nous sommes également assurés de ne pas toucher aux fichiers des gens. Nous utilisons la surveillance de fichiers pour que vous puissiez placer vos fichiers où vous voulez, nous ne les renommons pas et ne les déplaçons pas pour vous. Nous disposons d'une base de données intégrée pour suivre l'état des répertoires surveillés afin de pouvoir suivre ce qui est nouveau, même lorsque le processus n'est pas en cours d'exécution.
Quels sont les défis que vous avez rencontrés lors de la création de Voltra ?
Nous passons beaucoup de temps à nous concentrer sur les performances. Nous avons commencé avec des frameworks, mais nous sommes passés à du Javascript classique. D'après notre expérience, les abstractions généralisées qu'ils fournissent l'emportent sur les pénalités de performance et le cérémonial qu'ils introduisent.
Nous gérons assez bien les très grandes collections à ce stade. De grandes collections signifient potentiellement des dizaines de milliers d'images ! Le fait d'avoir le module de système de fichiers de Node.js directement accessible depuis le processus de rendu a permis de facilement charger et de décharger paresseusement de nombreuses images très rapidement en fonction des événements DOM.
En général setImmediate et requestIdleCallback ont été des outils super importants pour effectuer beaucoup de traitement tout en maintenant l'interface utilisateur réactive. Plus précisément, la répartition des tâches liées au processeur dans des processus distincts aide beaucoup à garder l'interface utilisateur réactive. Par exemple, nous avons déplacé le contexte audio dans un processus distinct, communiquant avec l'interface par IPC pour éviter les interruptions potentielles d'une interface utilisateur occupée.
Pourquoi avez-vous choisi de construire Voltra avec Electron?
Le bac à sable du navigateur est trop restreint pour notre application. Mais nous développons également un lecteur web. Le fait que nous puissions partager presque 100 % du code entre les deux implémentations est donc une grande victoire.
Nous avons en fait commencé par construire une application native avec Swift. Le principal problème que nous avons rencontré était que nous devions réinventer beaucoup de choses. Le web possède le plus grand écosystème open source au monde. Nous sommes donc assez rapidement passés à Electron.
De plus, et c'est le plus important, avec Electron, vous développez une fois et cela devrait Juste Fonctionner™ sur toutes les principales plateformes. Ce n'est pas garanti, mais le coût du codage natif pour chaque plateforme dépasse nettement sur les autres coûts qu'Electron introduit.
Quelles sont vos choses préférées à propos d'Electron?
GTD!: Having Node.js’ networking stack and Chromium’s presentation layer packaged together is a recipe for getting things done.
Compétence : C'est juste la couche web, donc littéralement toute notre équipe est impliquée dans la construction du produit.
Communauté : Il existe une communauté très organisée qui sait très bien communiquer ! Nous sommes très heureux de pouvoir nous développer avec un tel soutien.
Dans quels domaines Electron pourrait-il être amélioré ?
Nous aimerions voir Electron approuver un seul empaqueteur. L'empaqueteur est aussi important pour Electron que le gestionnaire de paquets est à Node. Il y a plusieurs empaqueteurs dans la zone utilisateur, chacun avec des fonctionnalités intéressantes, mais chacun avec des bogues. Un consensus de la communauté permettrait de diriger l'énergie dépensée par les contributeurs.
What's coming next?
Nous développons actuellement une application mobile et travaillons avec des artistes et des labels pour ajouter leur musique à la boutique Voltra. Hé ! Si vous êtes un artiste ou un label, inscrivez-vous maintenant ! Nous prévoyons d'ouvrir la boutique lorsque nous aurons atteint notre objectif de 10 millions de titres.