CD On Demand – On Demand Business RIA made in Pixlib (PalmER Edition)

L’offre CD On Demand

La plateforme CD On Demand est un projet pionner initié par Joachim Garraud où « L’artiste invite ses fans à découvrir sur son site une offre de CD à la demande. A partir d’une playlist non exhaustive le client choisie ses chansons préférées et peut créer sa propre compilation qui lui est envoyé chez lui. La compilation est complètement personnalisable, depuis le matériaux du CD au packaging en passant par la sélection du artwork et du livret. Les CD sont pressés, imprimés, packagés et envoyés en moins de 72 heures. »

Mon employeur BB&PP, créateur de solution professionnelle de vente de musique en ligne, toujours en partenariat avec MPO international, spécialiste de la distribution de contenus via des supports physiques et numériques, décida l’an dernier d’aller encore plus loin dans la démarche en proposant une plateforme vraiment générique, dédiée non seulement aux artistes mais aussi aux labels et permettant de s’adapter à l’univers et aux spécificités de chaque client à partir de l’offre de base que constituent la conception d’un CD et le download de Digital.

Palmer, IoC, Ant & Co

Avec un roadmap très riche et s’étalant sur plusieurs années il était très clair dès le départ que parmi les objectifs primordiaux figurait le développement d’une architecture pérenne et évolutive et la mise en place d’une solide solution de déploiement.

L’applicatif a donc été complètement réécrit avec « Palmer » le dernier né des frameworks de la famille Pixlib. Un développement bicéphale assuré par Romain Ecarnot et moi-même.

Grâce à son architecture-workflow IoC made in Palmer, CD On Demand est en mesure d’offrir des possibilités de personnalisation par client vraiment très poussées allant de la sélection des modules (produit CD, produit Digital, panier d’achat, profil utilisateur…) à la configuration de l’intégration (polices de caractères, bitmaps, CSS) jusqu’à la définition-inclusion des états de l’application (Strategy pattern).

Plus globalement l’implémentation IoC de Palmer nous aura permis d’aller vraiment extrêmement loin (aussi loin que le développeur puisse aller dans sa réflexion finalement) et à titre d’illustration je pourrai citer la possibilité de générer dynamiquement des formulaires ou encore de mettre en place un système de localisation double à la fois commun à l’application mais aussi propre à chaque modules.

Optimisation et Performance

Plus que jamais, et surtout par les temps qui courent, il est vital d’offrir la meilleure expérience utilisateur possible, entendons une RIA qualitativement performante. Un intérêt tout particulier (et somme toute bien normal) a donc été porté aux problématiques de performance et d’optimisation.

Concernant la programmation proprement dite nous avons été très attentif aux coûts de consommation des ressources processeur et mémoire. Soit dit en passant la considération de la performance « va normalement de soi » car elle jalonne tous les aspects ou phases d’un développement – de la conception (architecture), à l’implémentation (maîtrise de l’api, choix des librairies) jusqu’au debuggage (logging, profiling).

Parmi les bonnes pratiques de programmation à retenir nous avons eu recours au mécanisme de l’object pooling afin de stabiliser la consommation mémoire fortement sollicitée par des objets qui normalement sont très fréquemment détruits et recrées (des cellRenderers majoritairement)

Je ne peux m’empêcher de saisir l’occasion afin évoquer mon vif intérêt pour l’alternative de gestion évènementielle proposée par Robert Penner (as3-signals). Une solution dont les taux de performance m’amène sérieusement à reconsidérer la microarchitecture MVC de certains modules…

Mais l’optimisation ne se cantonne pas seulement au champ du développement. L’application se doit d’ être accessible en un temps record. Nous nous sommes donc attachés à assurer un chargement initial optimum allant de l’exclusion des classes communes aux modules jusqu’au merging de requêtes AMF. Passé ce premier chargement l’application puise ensuite dans le cache du navigateur (sauf cas de mise à jour).

Un mot sur le modèle économique du CD on Demand

A l’ère de l’économie numérique la fidélisation du client est une exigence de premier plan. Toute réussite est véritablement fonction de la qualité des échanges noués avec sa clientèle. Les décisions d’achat se prennent il est vrai plus facilement lorsque l’acheteur parvient à trouver rapidement un compromis entre coûts et gamme de produits. Il est donc primordial de lui offrir le plus de flexibilité et de choix possible.

Le cœur du concept du CD On demand est d’offrir à l’artiste ou au label un accès à un inventaire de produit physique virtuellement illimité et vendu à la demande. Un tel système présente des avantages évidents et exclusifs allant de la revalorisation de l’objet, au flux tendu et à la suppression des stocks et plus globalement donne accès à un service évolutif. La réussite d’un tel modèle économique provient finalement et assez logiquement du nouveau partage des revenus qu’il génère. Les artistes et labels peuvent vendre directement, sans passer par la lourde chaine de distribution qui enlève aux records une sérieuse marge sur les bénéfices. Ce faisant, voici un modèle où l’artiste peut s’il le souhaite se permettre de proposer des prix beaucoup plus concurrentiel.

Extrait de clients CD On Demand

DAVID GUETTA

JOACHIM GARRAUD

Twist my Dj

Smooth

GKOOT ELECTRONIC

TIMID RECORDS

IoC, Palmer, Pixlib, RIA

If you enjoyed this post, please consider to leave a comment or subscribe to the feed and get future articles delivered to your feed reader.

Comments

8 Responses to “CD On Demand – On Demand Business RIA made in Pixlib (PalmER Edition)”

Leave Comment

(required)

(required)


eXTReMe Tracker