Outils pour utilisateurs

Outils du site


Action disabled: revisions
php:puffblob

PuffBlob

PuffBlob is only a concept at the moment. Nothing is fixed. Some concepts may be abandonned or modified. No implementation is planned at this time (I lack time).

What if PuffBlob ?

The cloud is all the rage. With the cloud, your data is stored somewhere on the internet (but you do not know where), on big server (owned by others), mixed with the data of plenty of other users.

PuffBlob is not a big cloud, it's only a puff. But it's your puff. Not only it's yours, but you know where it is, and you control it. It's not a big cloud you can't reach.

But PuffBlob is also a blob: It absorbs plenty of different things: Links, images, web pages, texts, music, videos, program snippets, articles, files… And that's a good thing because you have plenty of interesting thing you want to keep. Just throw them at your PuffBlob: It will absorb and keep them preciously. And it can grown large, as large as you want.

The good thing with a blob is that it can take different shapes. It can shape itself into a blog, displaying selected items stored in your blob. It can shape itself into a gallery, showing nice picture you have taken. It can shape itself into public bookmarks, showing interesting links you have found on the net. It can shape itself into a video gallery, showing the videos you have taken or found. It can shape itself in a MP3 player so that you can listen to your music.

You can create as many shapes as you want, each shape picking selectively different items from your blob and showing them in different manners.

Goals

  • Keep : Store everything you are interested in.
  • Organize what you have stored.
  • Retrieve what you have stored.
  • Share selectively what you have stored with others.

Concepts

Key concepts

  • Storage: Absorbs anything you throw at it: texts, links, images, music, videos…
  • Classification: Optionnally classify the things it contains (tags, folder, topics ?). It will try to classify as intelligently as possible (Use Bayesian networks on meta information and content ?)
  • Shapes: you can shape it in different manners, so that it can show different part of its content in different manners: blog (with navigation by date/tags), gallery (with navigation by folders), music (with navigation by artist/album/genre), links (with navigation by page/date/tags)…

Additionnal concepts

  • Inputs can be manual (add a link or text entered in a form, uploaded file, link or file drag'n dropped in PuffBlob window…) or automated (read an external RSS/ATOM feed, etc.)
  • Output can be shapes (blog,gallery,twitt,feed… displayed in a web page) or actions (send a file through FTP, send an email, send HTTP request, save to file…)
  • Visibility: Some shapes are public (everyone can see them), some are private (some shapes will be visible only to people you select (login/password or not)), some will be secret (only you can see them).
  • Caching: Some things are linked, some others are stored or cached locally. Example: Articles you write are stored. Links to images will cache the images locally. Links to web pages will not cache them (except if you want it to cache the page locally, to keep a copy).
  • Meta-information: type (mime?), title, tags, folder (eg. for galleries), author, licence… ? (and probably plenty of other things.). Meta information fields should not be fixed nor mandatory.

Should it be scriptable ? (I would vote for "no").

Partial example

Say you collect links about programming and music. You also write articles about these subjects. You take videos of concerts. You write programs and snippets.

You can create a blog about music simply by creating a shape which will automatically pick content from your blob about music (articles you have written and/or links and/or videos of concerts and/or mp3 files…).

You can create another blog about programming in the same manner, simply by creating a shape that will display items you have collected about programming in your blob (articles, snippets, files…).

You can create a public music listening playlist by creating a shape which will pickup all music (mp3 or videos) automatically from your blob.

Credits

If you re-use the concepts expressed in this page, I would be glad if you could mention my website (sebsauvage.net). Thanks, I know you're a good person.

Discussion

Debetux, 2011/11/04 23:41

Intéressant !

Je vais tenter de faire quelque chose.

qwerty, 2011/11/05 10:16

Bonne idée, mais il faudrai aussi couplé a une carte identité numérique type foaf. Et adieu FB

Gilles, 2011/11/05 12:50

@qwerty :genre le défunt openid ?

Sinon ça me rappelle le message sur fansub streaming avec sa galerie vidéo…

Sébastien SAUVAGE, 2011/11/05 13:03

oui justement:

Shaarli est simple et efficace pour partager des liens. La galerie vidéo de Mitsukarenai est bien pour les vidéos. MiniGal Nano est bien pour les images… le tout serait justement un logiciel qui prend indifféremment ce qu'on lui donne à stocker, quitte à ce qu'on puisse l'organiser plus tard.

Gilles, 2011/11/06 10:06

Bon courage :) surtout si tu veux jouer à “un seul fichier PHP” :D Mais l'idée est bien sauf que tu vas limite créer un CMS complet… Reste plus qu'à trouver un soft qui encoderait “tout format vidéo existant” en WebM pour le jouer sur son hébergement…

Sébastien SAUVAGE, 2011/11/06 15:22, 2011/11/06 15:23

ça ressemble un peu à un CMS, mais ce n'est pas l'esprit: Dans un CMS, tu créé des documents que tu publie ensuite (étapes: création, publication).

Là ça serait différent: Les “shapes” savent ce qui les intéressent. Elle vont sélectionner ce que tu ajoute dans ton blob et le publier automatiquement.

Exemple 1: Tu as trouvé une musique intéressante: Tu l'ajoute à ton blob. Elle sera automatiquement publiée dans ton blog sur la musique, et dans ta web radio. (Tu n'as pas à 1) créer explicitement un document. 2) publier explicitement ce document.)

Exemple 2: Tu as créé une image et tu l'ajoutes au blog. Deux shapes le republieront: Ton blog de graphiste (qui s'intéresse aux images que tu créé), et ta galerie. Tu n'as pas à explicitement crée une entrée sur ton blog et la publier.

Enfin voilà l'esprit.

(Quand on ajoute qqchose dans le blob, les shapes qui sont intéressées s'affichent. On peut choisir d'en décocher certaines pour qu'elles ne publient pas cet élément.)

Dans PuffBlob, pas besoin de “créer” un document puis le “publier”. Tu ajoute tout ce qui t'intéresse à ton blob, les shapes se chargent de les publier.

cynoque, 2011/11/19 04:35

superbe concept…

le hollandais volant, 2011/12/15 20:50

En fait, on lui donne tout ce qu'on veut, et il le trie tout seul ?

mhh… tu sais mon projet de centraliser tout son cloud, et basé sur Blogotext, je peux peut-être faire ça en fait : au lieu de tenir un blog (+rss), une liste de liens (+rss), un dossier d'images (+peut-être rss) et des notes, statut, documents), etc, je peux tout relier et faire un système plus dynamique…

Sébastien SAUVAGE, 2012/01/03 16:19, 2012/01/03 16:23

L'idée c'est que le système essaie (plus ou moins) de catégoriser les contenus qu'on lui balance en se basant sur diverses infos:

  • le type de contenu (image, mp3, texte, page html…)
  • les métas-infos du contenu (URL source, nom d'artiste, infos EXIF, commentaires JPEG, titre du document PDF/ODT…)
  • le contenu lui-même (un coup de réseaux baysiens sur le texte pour le classifier ? cf. l'exemple en Python), présence de mots-clés… (C'est un source Python ? C'est un article en français/anglais ? Il parle d'HADOPI ?…)

Ces critères vont permettre à chaque “shape” de savoir si elle est intéressée. En fait, ce que j'imagine, c'est qu'au moment où tu ajoutes quelque chose (quoi que ça soit), la liste des Shapes potentiellement intéressées s'affichent (pré-sélectionnées). L'admin peut alors décider de décocher certaines (ou au contraire d'en ajouter de force).

Exemple: Ainsi si tu ajoutes une image de ton groupe favori (le nom de l'image ou les commentaires JPEG contiennent le nom du groupe). –> la shape “galerie” est intéressée (c'est une image), et ton blog sur la musique aussi (car le nom du groupe apparaît).

Soit tu valide la sélection par défaut (ça sera publié sur les deux), soit tu en décoche un (genre: tu ne veux pas que ça apparaisse sur le blog: du décoche la shape “blog musique”). Du coup, en deux clics (comme dans Shaarli), tu publie une image et ajoute une entrée au blog.

Je ne sais pas si je suis clair.

Le but est vraiment de conserver tout ce que tu lui jette que tu trouves intéressant, et éventuellement de le publier dans une ou plusieurs shapes. La détection permet d'automatiser la publication (shapes sélectionnées par défaut).

le hollandais volant, 2012/04/06 19:00

Pour les fichiers, c'est ok pour le moment : blogotext peut trier lui même les fichiers et les images (mais le système de shapes n'est pas fait). Il suffit d'uploader un fichier, de lui donner une description (facultatif) et un nom (facultatif) et de dire s'il est privé ou public. La détection du type de fichier se fait tout seul (basé uniquement sur l'extension (.doc/.docx/odt ⇒ document texte ; .py/.php/.c ⇒ code source ; etc).

Après, côté blog c'est l'internaute qui choisis ce qu'il veut voir : juste les fichiers partagés ? les images ? les liens ? les commentaires ? le blog ? Tout apparaitra sous la forme de postes de blog par défaut, sauf si on choisis un truc comme par exemple les images (fait un pict-wall) ou autres truc comme ça.

Je prévois d'ajouter la possibilité pour publier un lien en même temps qu'on upload un fichier (case à côcher) ou même de télécharger le fichier si c'est un une URL (et la placer en 'local').

Par contre mon truc reste basique : upload/suppression avec édition de quelques méta données comme le nom de fichier et une description (pas de navigation des fichiers en AJAX ni de recherche incrémentielle dans les dossiers par exemple).

qwerty, 2012/01/04 13:50

Ca serai intéressant avec un système d'upload de glisser-déposer.

Vivement que ca puissent se faire.

Sébastien SAUVAGE, 2012/01/30 14:47

En attendant pour le glisser-déposer pour stocker/partager des fichiers, tu peux jeter un coup d'oeil du côté de DropCenter. Je ne l'ai pas encore essayé, mais ça a l'air bien cool.

Idleman, 2012/04/04 10:02

Très sympa comme idée, je pense que de nombreux geeks en rêvent depuis longtemps, mais techniquement c'est l'affaire de quelques années de dev pour un groupe réduit et non rémunéré…

Il serait aussi intéressant de développer des “Modèles de shape” en arborescence, admettont qu'on ai un modèle de base fournis avec le logiciel :

default.shp :

http://share.idleman.fr/uploads/partages/shp.png (le schéma est moche et plein de fautes, mais c'est un exemple de triage)

Mais aussi la possibilité de créer simplement et de se partager ces fameux .shp entre utilisateurs du programme afin d'obtenir un triage plus pertinent et plus spécialisé en fonction du domaine dans lequel on évolue (un informaticien souhaitera trier avec sa logique, proprement différente de cette du jardinier ou de la mamie du cantale).

Sébastien SAUVAGE, 2012/04/05 10:09

Partage de shapes, excellente idée.

idleman, 2012/04/05 12:04

J’intégrerais bien le concept (petit à petit, bout à bout) sur les prochaines version de dropcenter, tu m'y autoriserais?

Sébastien SAUVAGE, 2012/04/12 07:01

Aucun problème !

Idleman, 2012/04/12 07:05

Merci, ça viendra certainement d'ici la V2 alors :)

php/puffblob.txt · Dernière modification : 2021/07/19 05:57 de sebsauvage