hey

1 view
Skip to first unread message

elias lamela

unread,
Mar 29, 2011, 2:58:48 PM3/29/11
to Propuesta para mejorar Meneame
Hey Jaime, ¿que hay?; ya he visto que has estado jugando con el código de ideasp2p.
Cuenta: ¿Como has introducido las noticias? ¿Como ves el código fuente original? ¿Y las bases de datos?
Explícame como va, que has descubierto…




Te traigo un par de dibujos.
text3237-7-5-3.png

El primero es para explicar que es un espacio. Puedes ver que corresponde a una noticia de Menéame. Los recuadros negros son espacios de consulta. Muestran información de la base de datos. Los rojos muestran resultados adquiridos por la aplicación, el verde es de información y de edición (envía un meneo a la base de datos). 
El contenedor donde están el resto de las noticias también es un espacio.

El segundo muestra una hipotética base de datos de tipo grafo. Cada nodo tiene sus reglas. Por ejemplo, el nodo comentario solo permite relaciones rosas y naranjas entrantes y relaciones azules salientes.

Como ves, esta base de datos permite diseñar redes sociales de una forma muy rápida. Y también hacer cambios muy rápidamente. Yo mismo he diseñado una regla que permite la relación (línea de puntos) entre dos comentario; lo que permitiría una conversación mas “auténtica”.  En cuanto a las suscripciones, ¿Cómo las crearías? (te reto).

Ten en cuenta que las relaciones son (al menos éstas) bidireccionales. Aunque tengan una punta. Así pues, en un sentido la relación es “contiene”, y en la otra “es contenido por”. De modo que si tenemos el titular de una noticia, podemos conocer la noticia, a continuación el autor (o autores), y por último su nombre.
Ah: hay una diferencia entre usuario y “persona”. La persona tan solo posee los permisos para acceder a sus usuarios y a los datos que se le permita. Pero eso es otro tema.

PD: Encontré esto: una Base de Datos orientada a grafos en java. http://neo4j.org/   
            "massive scalability. Neo4j can handle graphs of several billionnodes/relationships/properties on a single machine and can be sharded to scale out across multiple machines."

text3237-7-5-3.png
red_meneame.svg

Jaime García Marsá

unread,
Apr 5, 2011, 4:08:51 AM4/5/11
to propuesta-para-...@googlegroups.com
Hola Elias, disculpa que no contestase antes, pero estos días ando algo liado. Espero quitármelo en una o dos semanas.

En cuanto a ideasp2p, el código es todo mio, excepto la hoja de estilos. No me he basado en el programa de meneame. Sin embargo te puedo decir que la base de datos va a ser en todo caso muy parecida, y seguirá siempre en parte el esquema que me envías (a pesar de que el formato de tablas de las bases SQL no es inherentemente tan descriptivo).

Para introducir las noticias simplemente cargo cada hora el RSS de meneame y almaceno las noticias como propias. No es complicado. La idea era haber atraído a bastante gente con la que empezar a "jugar", probando lo de publicar y suscribirse, pero aún así no ha funcionado.

Si necesitas saber o ver algo concreto del código o la base de datos avísame. Por mi parte en cuanto me quite el lío que tengo mi próxima estrategia es convertir ideasP2P en una especie de blog. Utilizarlo para publicar mis propias ideas y contenidos y así poder ir atrayendo visitas. La idea es encontrar con el tiempo a más gente que comparta mis ideas y que publique las suyas propias. Puede ser un proceso más lento pero es más seguro.

Es decir, mas que un meneame sería una especie de Microsiervos, centrada en "mis" gustos concretos, con la salvedad de que podrían publicar terceras personas. A más publiquen y más participen más se alejará del formato blog y se dirigirá hacia red social.

En cuanto a lo que me envías, en teoría es la mejor solución. Lo ideal sería describir la estructura de datos y las reglas que la integran y que con ello se generase toda la aplicación. Naturalmente habría que definir también el HTML que generan las vistas, y los estilos. Sería un modelo muy interesante para poder definir redes sociales de una manera flexible, aunque aún así me planteo quien podría definir dichas estructuras de datos y reglas. Si simplemente lo hace el creador de la red, tan solo se ganaría en tiempo de desarrollo. Pero ¿Y si "cualquier" usuario pudiese introducir sus propios formatos de contenidos según sus propias preferencias? Eso si que sería una auténtica revolución.

Para mi la parte mas compleja es la definición de reglas. Naturalmente podemos crear ahora mismo algunas que funcionen en el 90% de los casos, pero me queda la duda de si sería posible alcanzar el 100%, pues siempre puede haber casos muy específicos que no sean obvios a simple vista.

En cuanto a suscripciones, no me parece difícil: usuario - (se suscribe a) -> lista de noticias - (contiene) -> noticia. De nuevo la cuestión está en las reglas: Cualquier usuario puede crear lista de noticias e incluir noticias en su propia lista. Cualquier usuario puede suscribirse a la lista de noticias de otro usuario. Pero a la hora de visualizarlo ¿como haces para combinar todas las noticias de todas las listas a las que estás suscrito? Con programación se como hacerlo, pero no se como se haría con un conjunto básico de reglas genéricas, a menos que las diseñase específicamente para esta tarea.

A esto me refiero: Puedo generar reglas específicas para cualquier circunstancia. Pero no se me ocurre un conjunto de reglas reducido que pueda garantizar que sirve para cualquiera (exceptuando el hecho de usar directamente instrucciones clásicas).
text3237-7-5-3.png

elias lamela

unread,
Apr 13, 2011, 2:56:44 PM4/13/11
to propuesta-para-...@googlegroups.com
Hola Jaime. Desde luego los espacios tienen que estar etiquetados dentro de HTMLs y los CSSs, aunque preferí obviar la plataforma de programación.

Ya te habrás dado cuenta de que he desechado algunos conceptos de mis anteriores posts. De todas formas todavía estoy interesado en el concepto de "red social universal"

También estoy interesado en el tema de "restricción de leyes" y "herencia"; ................... Imagínate la siguiente situación:

Digamos que los creadores de Menéame han utilizado un sistema con posibilidad de restricción:
1) Así que crean una página Menéame sin ningún tipo de restricción en su base de datos; exceptuando quizá aquellos que puedan ser destructivos. Cuando los usuarios crean contenidos el código de Menéame se encarga de "enganchar" cada contenido en su lugar dentro de la base de datos. Cuando los usuarios consultan contenidos el código de Menéame se encarga de solicitar dicho contenido a la base.
Pero ahora imagínate que yo quiero hacer una inclusión; por ejemplo una lista de suscripciones. Como no hay restricciones puedo crear una red de suscripciones. Por supuesto no puedo hacer esto mediante el interface de Menéame, y tampoco puedo verlo mediante el interface de Menéame, pero el sistema de suscripciones está ahí, para quien quiera usarlo. Sólo resta crear un espacio de consulta y un espacio de edición en el interfaz para que gestione las suscripciones.
2)Los creadores de Menéame han restringido todas las operaciones de su base de datos. Tu les propones crear un sistema de restricciones. Así que les dices, quiero crear tal relación, y tal, y tal. Ellos quitan las restricción que te lo impiden, así que enganchas esto con esto, y haces algunas pruebas. La cosa funciona y la interface se cambia.
3) Haces un Menéame paralelo basado en el mismo Menéame, con la opción de usar los datos de su base. Lo pruebas tú mismo. Si funciona, estupendo


La verdad es que tengo que echarle una buena ojeada a neo4j. Es orientada a objetos y eso da muchas posibilidades. Me gustaría tener la oportunidad de crear redes sociales con herencia de restricciones y un pequeño interfaz gráfico para que crear la base de datos fuera tan sencillo como dibujar el esquema que te envié.

Aunque lo que de verdad me gustaría sería desplazar a Facebook.

Oye, muy buenas tus modificaciones. Seguimos en contacto.

Por cierto, sí estoy interesado en el código, especialmente en la estructura de la base de datos.

Por otro lado, creo que habría que ir pensando en si hacemos un proyecto común, y en qué consiste exactamente dicho proyecto.
Y también ¿son compatibles nuestros intereses con respecto a este hipotético proyecto común?
text3237-7-5-3.png
Reply all
Reply to author
Forward
0 new messages