[Pertinence] Tableau blanc assisté, interactif, animé, partagé et collaboratif

L'auteur de ce sujet a trouvé une solution à son problème.
Auteur du sujet

Bonjour à tous,

Je souhaiterais décrire un projet que j’ai en tête depuis un certain temps et que je pense commencer à développer même si je n’ai aucune idée de par où commencer :D Plus précisément, j’attends de vous des critiques faites sur la pertinence de ce projet : existe-t-il déjà ? Si non : sera-t-il relativement très utilisé ? Si oui : y a-t-il un risque pour que le projet ferme (en particulier : ne coûtera-t-il pas trop cher à maintenir disponible, alors qu’il ne me rapportera rien) ?

Description

Description > Point de vue de l’utilisateur-final

Il s’agit d’un site Web permettant à l’utilisateur-final de dessiner sur un tableau blanc (le site Web est ce tableau blanc). Ce dernier a plusieurs caractéristiques censées le différencier de projets déjà existants et/ou disponibles sur le Web :

  1. Assisté - n°1 : l’utilisateur-final peut certes dessiner des formes libres (ie. : dessiner ce qu’il veut), mais il peut également écrire du texte, dessiner des tableaux, tracer des lignes, des formes géométriques (chacun de ces éléments sera alors affiché "parfaitement", l’avantage étant qu’il n’y aura pas besoin de le dessiner à la main donc pas de tremblements de la part de l’utilisateur-final, etc. => ces éléments sont donc affichés proprement) ;

  2. Assisté - n°2 : lorsque l’utilisateur-final est en train de dessiner une forme libre, l’état à l’instant "t" de cette forme libre est comparé avec l’état à l’instant "t-1" de cette forme libre, et la différence entre l’image dont l’état est à l’instant "t" et l’image dont l’état est à l’instant "t-1" (différence qui est donc une image), est cherchée dans un ensemble de différences auquel on aura accédé grâce à une clef, et cette clef est la catégorie du tout premier mouvement que l’utilisateur-final a fait. Si cette différence a été trouvée, on choisit la différence à "t + 1" la plus dessinée par tous les utilisateurs-finaux et on la propose à l’utilisateur-final ;

  3. Assisté - n°2 (éclaircissements) : il s’agit en fait de prédire ce que l’utilisateur final est en train de dessiner, et de lui proposer de compléter ce qu’il dessine. EXEMPLE : si le gars dessine un maison, il va sans doute effectuer un mouvement très anguleux (ie. : le triangle ou le carré de la maison => "catégorie du mouvement" = "très anguleux"), donc au bout de 5ms on va regarder dans notre ensemble toutes les "différences d’images à l’instant t = 5ms" appartenant à la catégorie "très anguleux", on va sélectionner celle qui est égale à la différence d’image de l’utilisateur-final 5ms-0ms ("-" = "moins"), et on va regarder la prochaine différence d’image qui est le plus souvent (statistiquement parlant) dessinée, et on propose ça à l’utilisateur. Et ainsi de suite toutes les 5ms par exemple. Bon ce délai est trop court et ça va être ennuyant pour l’utilisateur mais l’idée est là, d’ailleurs peut-être qu’il n’y a pas besoin de délai…

  4. Assisté - n°2 (intérêt) : de cette manière, l’utilisateur n’a pas besoin de s’embêter à dessiner sa maison de A à Z (avec un peu de chance, si notre programme trouve ce qu’il faut pour compléter). DE PLUS, un dessinateur "professionnel" qui ne tremble pas et qui est capable de produire plein d’images qui s’affichent parfaitement bien (ie. : sans tremblement dans les pixels, etc.) pourrait dessiner tout un ensemble d’images. Du coup si un autre utilisateur-final veut dessiner une maison, le programme pourrait lui proposer celle du dessinateur professionnel. Bon ce cas d’utilisation implique que je revois certaines choses dans ce que j’ai précédemment expliqué.

  5. Interactif : cf. ce que j’ai dit précédemment : l’utilisateur peut choisir une forme géométrique à dessiner (cercle, triangle, tableau, texte) MAIS peut également dessiner une forme libre et se verra alors proposé une suite de tracés prédis, pour l’aider à faire plus rapidement et proprement sans doute ce qu’il comptait faire ;

  6. Animé : à chaque groupe de pixels est associée une animation et un déplacement, que l’utilisateur-final peut choisir. Eg. d’animation : "apparition en fondu", "disparition instantanée". Eg. de déplacement : vecteur horizontal vers la gauche d’intensité XXX et de longueur YYY. Un groupe de pixels est défini par l’utilisateur-final : dès qu’il appuie sur le clic gauche de sa souris, il dessine des pixels qui appartiennent à un nouveau et même groupe de pixels. Un gestionnaire de groupes de pixels sera disponible pour pouvoir unir différents groupes de pixels pour en faire un plus important, etc.

  7. Partagé : il sera possible de sauvegarder sur le serveur le tableau blanc, et de créer plusieurs tableaux blancs, de leur donner à chacun un nom, une description, etc. Il sera également possible d’exporter le tableau (et ses animations) vers un format vidéo reconnu par YouTube, Daylimotion, PowerPoint (?), Prezzi (???) (NB : "?" = incertain). Idem vers un PDF mais les animations ne seront pas supportées.

  8. Collaboratif : plusieurs utilisateurs pourront modifier le tableau mais PAS en même temps (on évite les problèmes de concurrence), ie. : Alpha modifie le tableau et Beta le regarde faire. Tant qu’Alpha maintient le clic gauche de sa souris, Beta ne peut rien faire. Et réciproquement évidemment.

Description > Point de vue du développeur

Je pense que tout est faisable en HTML5, CSS3, même les animations.

JavaScript serait plutôt utilisé côté serveur avec Node.JS et MongoDB (qui se prête bien au stockage des tableaux, puisque les données - éléments dessinés, animations, etc. - se prêtent bien à être stockées dans un objet au format BSON/JSON).

Pour la prédiction des prochains tracés, je ne sais pas du tout comment m’y prendre : mais bon ça relève plus des stats que d’autre chose. Je ne pense pas que les réseaux de neurones artificiels puissent être utiles ici ? Ou bien il faudrait revoir entièrement l’"algorithme" que j’ai exposé ci-dessus.

L’enregistrement du tableau peut se faire au format BSON/JSON du coup, du moins pour le stocker dans MongoDB. Pour l’exporter en YouTube, etc. , il faut que je me renseigne.

+3 -0

Salut,

À mon avis, tu sous-estimes largement la difficulté de mise en œuvre de ton système de prédiction. Je n’ai jamais rien vu de tel pour des dessins libres.

À l’inverse, le système collaboratif est faisable avec l’état actuel de la technique, puisque c’est sensiblement ce que fait Google Docs, par exemple.

+6 -0
Auteur du sujet

Salut,

À mon avis, tu sous-estimes largement la difficulté de mise en œuvre de ton système de prédiction. Je n’ai jamais rien vu de tel pour des dessins libres.

À l’inverse, le système collaboratif est faisable avec l’état actuel de la technique, puisque c’est sensiblement ce que fait Google Docs, par exemple.

Aabu

Ok, donc il serait d’abord préférable d’étudier ce sujet : comment compléter une suite de tracés d’un utilisateur-final (UF) avec une autre suite de tracés choisis de façon à compléter de manière cohérente la suite de tracés de l’UF (eg. : proposer les fenêtres pour une maison constituée d’un triangle + d’un carré, etc.).

Après le fait de se baser avant-tout sur la catégorie du tout premier mouvement effectué permet sans doute de réduire le nombre de choix possibles de manière assez efficace. Genre une maison c’est souvent très anguleux (carrés, triangles…), un corps c’est souvent elliptique, etc.

Édité par The-Aloha-Protocol

+0 -0
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte