Desarrollando una red social libre

Buenas!!
Desde hace aproximadamente unos meses he estado desarrollando una red social de código abierto, la he llamado Vidali y basicamente este es el aspecto a dia de hoy:
Imagen
Tengo que mencionar que estoy en fase Pre-alpha, y si... está muy verde!.

Es por eso que me gustaría escuchar a la comunidad open source de EOL, para saber que les gustaría ver en una red social abierta.
Yo comencé a desarrollar este proyecto por mi cuenta como manera a la vez de aprender a mejorar mis conocimientos sobre php, mysql y el diseño web, pero aun estoy muy verde! (creo que se ve en la imagen no? xD)

He probado diaspora, pero sinceramente, decepciona un poco... Por eso tengo mayor motivación en desarrollar este proyecto de manera seria y me gustaría escuchar consejos.
Además, si estais interesados en colaborar en este proyecto, podeis buscar "vidali" en google y ahi tendreis algunos sitios donde hablo del proyecto.

En fin, para dejar claro por si acaso, no intento hacer publi ni nada, solo busco gente que quiera aportar sugerencias o se interese en esta iniciativa!
Saludos!
Aham, no te gusta Diaspora y en vez de ayudar, sugerir, hacer un folk con mejores cosas y tal..., ¿empiezas otra tu solo?

Una red social no es cosa de novatos, hay muchas cosas detras aparte del simple diseño final que al final es lo mas facil de modificar y cambiar (vease para ello que todos los CMS decentes tienen algo llamados themes y modificacion mediante CSS y demases).

Mi consejo es ese, ayuda a Diaspora, la red social libre por excelencia, lo que no guste, cambialo, sugiere, ayuda con el codigo para que se puedan volcar en otras cosas, etc.

Y otra cosa... copyright con autor y a la vez AGPL v5?, WTF?, yo estoy algo verde en esas cosas pero... uff.

Cuentanos que tienes sobre ella:
Cualidades, estructura, seguridad, codigo, etc...
blackgem escribió:Aham, no te gusta Diaspora y en vez de ayudar, sugerir, hacer un folk con mejores cosas y tal..., ¿empiezas otra tu solo?

Una red social no es cosa de novatos, hay muchas cosas detras aparte del simple diseño final que al final es lo mas facil de modificar y cambiar (vease para ello que todos los CMS decentes tienen algo llamados themes y modificacion mediante CSS y demases).

Mi consejo es ese, ayuda a Diaspora, la red social libre por excelencia, lo que no guste, cambialo, sugiere, ayuda con el codigo para que se puedan volcar en otras cosas, etc.

Y otra cosa... copyright con autor y a la vez AGPL v5?, WTF?, yo estoy algo verde en esas cosas pero... uff.

Cuentanos que tienes sobre ella:
Cualidades, estructura, seguridad, codigo, etc...


Ermm, si, aunque no lo creas uso el feedback de diaspora para colaborar... de hecho estoy esperando la mejora con algunos colores que dificultan la lectura de etiquetas, ademas de mejorar la integración con twitter.

Diaspora no es red social libre por excelencia, de hecho, la comunidad de usuarios es baja, solo estamos limitados a 5 invitaciones por cuenta, y si a eso le añadimos que la comunidad en si es relativamente poco activa pues te deja una mala impresión para un proyecto que recibió 200 mil USD de donativos.

Lo de la ultima linea no lo tomes en cuenta, lo puse cuando comencé en el proyecto y me olvide de quitar la morralla de cuando no lo había pensado como software libre xD (y si lees bien pone v3 en la licencia agpl)

Sobre las cualidades, bueno a diferencia de diaspora, está escrito en php, usando mysql INNODB como base de datos.
Se puede decir que pretendo crear una red social mas simple que las existentes, con un enfoque a que tus amigos sean los existentes en cualquier red social, por lo que aparte de una lista de amigos, también tienes una lista de redes. Esta lista de redes puede ser ampliada creando tu propia red de amigos (por ejemplo, una red de amigos amantes de EOL).
Además, he hablado con el desarrollador del protocolo tuentidad, el cual promete un sistema bastante fuerte para conectar a todos los usuarios de vidali con su sistema, pero aún estoy a espera de que termine de optimizar su API.
Dicho protocolo sería el que se encarga de la seguridad, ya que permite encriptar toda la información y con ello mantener la privacidad de los usuarios a salvo.

Sobre el código, directamente tengo una deuda técnica monumental, necesito simplificar la base de datos, y por otro lado, cuento con un conjunto de clases que se encargan de la seguridad, de las redes, y los usuarios. Estas clases usan otros objetos que se encargan por ejemplo de las notificaciones del usuario, de las entradas en su blog, de actualizar la información del perfil, etc.

En fin, como bien dije arriba estoy en pre-alfa y llevo en ese estado aproximadamente 6 meses, avanzando lentamente y aprendiendo bastante.

Sobre lo que dices que una red social no es cosa de novatos... me pregunto entonces como comenzaron todos (steve jobs, mark zuckerberg, Matt Mullenweg...). A decir verdad un comentario de ese estilo no es precisamente algo que encaje en la filosofía de la mayoría de las personas de la comunidad open source...

Saludos!
Diaspora esta en fase beta por invitacion, como es normal por ello tiene una base de usuarios restringidas dedicadas a solucionar bug y demases.
Y claro, ya se sabe, si una red social no ofrece algo con verdadera identidad y que los usuarios demanden de nada sirve, por ejemplo hay fantasticas redes sociales intermediarias del resto que permiten llevar un seguimiento completo, seguro y demas perfectamente llevado..., pero "como no es la moda"... XD

Lo que hablaste de incluir redes de las ya existentes..., ¿te refieres a importar contactos o a poder sincronizar información mediante las API existentes o tal es solo estilo grupos/red/etiquetas que tienen el resto de redes?


En ese caso ya sabes que tanto con facebook como con twitter (han capado ciertos servicio últimamente) puedes tener problemas, son algo piquismikis con segun que cosas... XD


Mi consejo, mira tambien a fondo XMMP, es el sistema del chat de facebook, gmail y tuenti, es libre y puede usarse desde muchos clientes tanto web como locales.
Si lo integraras bien tendrias una red social global donde podrias conseguir que hablaran en una misma red social gente de otras redes sociales aunando ademas tablones y demases cuestiones sin la necesidad de estar logueada en 4 o 5 a la vez con sus clientes o pestañas, sino desde una sola web.
Tambien permite tener bots traductores, transporter para otros protocolos (msn, irc, etc), ayudantes, juegos, acceder a correo, twittear, usar identi.ca y mil usos mas que le des al programarlos.

Eso si seria un boom y donde se podria sacar una punta de lanza importante con la cual captar seguidores, yo desde luego yo otros muchos estamos HARTOS de tener que tener mas de 5 pestañas o un par de programas dedicados para poder estar comunicados con cada una de las redes.

Una cosa es las redes sociales de hace años que no era necesario tanta proteccion como lo que hay hoy dia.

A ser posible me gustaria poder ver un organigrama o lista de detalles de las ideas de la red social, aunque sean bocetos, por ahora no veo nada distante a lo que se puede hacer normalmente son simples modulos añadidos a CMS mas globales como Drupal y Joomla los cuales permiten interactuar con otras redes sociales con sus propias APIs internas.

P.D.: Me molesto mas en criticar porque asi la gente saca los dientes y cuentas las cosas que realmente interesan mas..., ni me moleste en ampliar la imagen XD.
blackgem escribió:Lo que hablaste de incluir redes de las ya existentes..., ¿te refieres a importar contactos o a poder sincronizar información mediante las API existentes o tal es solo estilo grupos/red/etiquetas que tienen el resto de redes?

En ese caso ya sabes que tanto con facebook como con twitter (han capado ciertos servicio últimamente) puedes tener problemas, son algo piquismikis con segun que cosas... XD

Efectivamente, haría un uso de las API's de facebook y de twitter, ya que si tratase de importar sus contactos no dudarían en soltar los abogados con sus impecables TOS (Si, se lo que paso con cierto servicio de twitter... un poco triste el tema)

blackgem escribió:Mi consejo, mira tambien a fondo XMMP, es el sistema del chat de facebook, gmail y tuenti, es libre y puede usarse desde muchos clientes tanto web como locales.
Si lo integraras bien tendrias una red social global donde podrias conseguir que hablaran en una misma red social gente de otras redes sociales aunando ademas tablones y demases cuestiones sin la necesidad de estar logueada en 4 o 5 a la vez con sus clientes o pestañas, sino desde una sola web.
Tambien permite tener bots traductores, transporter para otros protocolos (msn, irc, etc), ayudantes, juegos, acceder a correo, twittear, usar identi.ca y mil usos mas que le des al programarlos.

Eso si seria un boom y donde se podria sacar una punta de lanza importante con la cual captar seguidores, yo desde luego yo otros muchos estamos HARTOS de tener que tener mas de 5 pestañas o un par de programas dedicados para poder estar comunicados con cada una de las redes.

Pues mira, eso es información que se agradece, ya que algo que si me molestaba es ese detalle de las redes actuales, que cierran su mundo y cada uno tiene que tener x identidades por cada red, al unificar bajo vidali, el uso de XMMP será vital entonces!

blackgem escribió:Una cosa es las redes sociales de hace años que no era necesario tanta proteccion como lo que hay hoy dia.

A ser posible me gustaria poder ver un organigrama o lista de detalles de las ideas de la red social, aunque sean bocetos, por ahora no veo nada distante a lo que se puede hacer normalmente son simples modulos añadidos a CMS mas globales como Drupal y Joomla los cuales permiten interactuar con otras redes sociales con sus propias APIs internas.

P.D.: Me molesto mas en criticar porque asi la gente saca los dientes y cuentas las cosas que realmente interesan mas..., ni me moleste en ampliar la imagen XD.

jajaj veo normal lo de criticar, en eso se basa el aprendizaje tambien, y sobre las ideas las tengo expuestas en el blog oficial (vdli wordpres com; espero que no me acribillen por la direccion). De todos modos en estos dias voy a organizar todo para comenzar a optimizar el sistema, por lo que la informacion en dicho blog será actualizada poco a poco.

Asi da gusto discutir XD
Solo un pequeño apunte, el protocolo es XMPP (no xmmp), conocido informalmente como Jabber XD
Y un pequeño spam de este mismo foro hilo_open-discussion-day-dia-de-la-comunicacion-libre_1024552
JanKusanagi escribió:Solo un pequeño apunte, el protocolo es XMPP (no xmmp), conocido informalmente como Jabber XD
Y un pequeño spam de este mismo foro hilo_open-discussion-day-dia-de-la-comunicacion-libre_1024552


gracias por la info! hay que mirar bien sobre ese protocolo
Se ve que le has dedicado muchísimo trabajo... y como programador y desarrollador entiendo el trabajo que le has dedicado. No obstante, creo que no vale de nada duplicar esfuerzos :( lo mejor es que nos centremos todos en Diaspora y que la hagamos despegar.
capitanquartz escribió:Se ve que le has dedicado muchísimo trabajo... y como programador y desarrollador entiendo el trabajo que le has dedicado. No obstante, creo que no vale de nada duplicar esfuerzos :( lo mejor es que nos centremos todos en Diaspora y que la hagamos despegar.


Para ser sinceros, yo estuve por colaborar con diaspora, pero hay detalles que no me convencen sobre su filosofia:
-Todo codigo que se desarrolle en base a diaspora debe estar disponible en la rama de desarrollo principal (vamos, que aunque hagas un fork del proyecto, estas obligado a colaborar con los cambios a diaspora) [Esto he leido en algunos sitios... aunque en la wikipedia pongan que su licencia es Agpl]

-Una donación de 200 mil $ del mismo creador de facebook, un mal uso de ese dinero, un gran boom mediatico y un gran pluf en base al desarrollo... Creo yo, que con 200mil de los grandes se avanzaría mas rapido de lo que van... sobretodo si ellos son 4 estudiantes y tienen en github un grupo de aproximadamente 50 personas trabajando activamente

-El uso de Ruby on Rails y MongoDB, que para los programadores experimentados es una delicia, pero si queremos que las redes sean realmente accesibles para todos, mi opinion es que la base debe ser php+mysql (y de por si creo que a los usuarios mas noveles les va a costar usar esto...)

Ademas, mi proyecto no deja de ser otra opción mas, como tantas que puede haber en el software libre...
He leido tambien por algun sitio sobre GNU social, gNewBook, y algunos proyectos indie que hay sueltos... asi que no me desmotivo a seguir programando mi idea :D
daredj escribió:
capitanquartz escribió:Se ve que le has dedicado muchísimo trabajo... y como programador y desarrollador entiendo el trabajo que le has dedicado. No obstante, creo que no vale de nada duplicar esfuerzos :( lo mejor es que nos centremos todos en Diaspora y que la hagamos despegar.


Para ser sinceros, yo estuve por colaborar con diaspora, pero hay detalles que no me convencen sobre su filosofia:
-Todo codigo que se desarrolle en base a diaspora debe estar disponible en la rama de desarrollo principal (vamos, que aunque hagas un fork del proyecto, estas obligado a colaborar con los cambios a diaspora) [Esto he leido en algunos sitios... aunque en la wikipedia pongan que su licencia es Agpl]

-Una donación de 200 mil $ del mismo creador de facebook, un mal uso de ese dinero, un gran boom mediatico y un gran pluf en base al desarrollo... Creo yo, que con 200mil de los grandes se avanzaría mas rapido de lo que van... sobretodo si ellos son 4 estudiantes y tienen en github un grupo de aproximadamente 50 personas trabajando activamente

-El uso de Ruby on Rails y MongoDB, que para los programadores experimentados es una delicia, pero si queremos que las redes sean realmente accesibles para todos, mi opinion es que la base debe ser php+mysql (y de por si creo que a los usuarios mas noveles les va a costar usar esto...)

Ademas, mi proyecto no deja de ser otra opción mas, como tantas que puede haber en el software libre...
He leido tambien por algun sitio sobre GNU social, gNewBook, y algunos proyectos indie que hay sueltos... asi que no me desmotivo a seguir programando mi idea :D

Bueno, son 200 mil $, sí, aunque también se requieren servidores... sobre lo de facebook no tenía ni idea.

Personalmente yo habría usado Django, no Ruby on Rails.
capitanquartz escribió:Bueno, son 200 mil $, sí, aunque también se requieren servidores... sobre lo de facebook no tenía ni idea.

Personalmente yo habría usado Django, no Ruby on Rails.


Bueno lo de los 200mil, Mark (creador de FB) dijo que lo hizo porque "es interesante", según se mire, o se cubre las espaldas o era una manera de mofarse...

Lo de los servidores... suponiendo que diaspora es descentralizado, lo que debían facilitar es la instalacion del sistema en otros equipos....

La verdad es que tengo que probar Django, aunque no se, crees que es mas comodo para desarrolladores noveles?
daredj escribió:Lo de los servidores... suponiendo que diaspora es descentralizado, lo que debían facilitar es la instalacion del sistema en otros equipos....

Link en su pagina de portada: https://github.com/diaspora/diaspora/wi ... g-Diaspora
daredj escribió:
capitanquartz escribió:Bueno, son 200 mil $, sí, aunque también se requieren servidores... sobre lo de facebook no tenía ni idea.

Personalmente yo habría usado Django, no Ruby on Rails.


Bueno lo de los 200mil, Mark (creador de FB) dijo que lo hizo porque "es interesante", según se mire, o se cubre las espaldas o era una manera de mofarse...

Lo de los servidores... suponiendo que diaspora es descentralizado, lo que debían facilitar es la instalacion del sistema en otros equipos....

La verdad es que tengo que probar Django, aunque no se, crees que es mas comodo para desarrolladores noveles?

Django se encuentra en Python, el cual es el cuarto lenguaje más usado (por detrás de C, C++ y Java) y por delante de PHP (desde hace poco). Además se suele encontrar instalado en las gran mayoría de distribuciones GNU/Linux y también en MacOS X. Por tanto, trabajar con Python es relativamente más fácil que en Ruby.
JanKusanagi escribió:
daredj escribió:Lo de los servidores... suponiendo que diaspora es descentralizado, lo que debían facilitar es la instalacion del sistema en otros equipos....

Link en su pagina de portada: https://github.com/diaspora/diaspora/wi ... g-Diaspora


Con facilitar me refería a que gente sin conocimientos de informática tengan mas facilidades para instalarlo. Se que aun está en alfa, pero vamos, que poco a poco deberían mejorar esas cosas de cara a los usuarios con menos conocimientos de informática.
capitanquartz escribió:
daredj escribió:
capitanquartz escribió:Bueno, son 200 mil $, sí, aunque también se requieren servidores... sobre lo de facebook no tenía ni idea.

Personalmente yo habría usado Django, no Ruby on Rails.


Bueno lo de los 200mil, Mark (creador de FB) dijo que lo hizo porque "es interesante", según se mire, o se cubre las espaldas o era una manera de mofarse...

Lo de los servidores... suponiendo que diaspora es descentralizado, lo que debían facilitar es la instalacion del sistema en otros equipos....

La verdad es que tengo que probar Django, aunque no se, crees que es mas comodo para desarrolladores noveles?

Django se encuentra en Python, el cual es el cuarto lenguaje más usado (por detrás de C, C++ y Java) y por delante de PHP (desde hace poco). Además se suele encontrar instalado en las gran mayoría de distribuciones GNU/Linux y también en MacOS X. Por tanto, trabajar con Python es relativamente más fácil que en Ruby.


Pues eso si que no lo sabía, supongo que un paso a Django sería mas favorable entonces!
No quiero seguir con el offtopic pero es que cada vez que veo que se habla del tema no puedo evitar decir que django es una delicia. Muere [uzi] PHP muere [jaja]
Gooler escribió:No quiero seguir con el offtopic pero es que cada vez que veo que se habla del tema no puedo evitar decir que django es una delicia. Muere [uzi] PHP muere [jaja]


jajaja pues no se trataré de ver sobre django, aunque de momento sigo en php por ser mas extendido jejeje.

dentro de poco empezaré a subir info, y si veo que estoy a tiempo, podría migrar a django XD
Bueno, tengo por aquí un pequeño adelanto de lo que estoy haciendo, para muestra una captura:
Imagen

¿Alguna sugerencia?

De momento (hablando sobre el código) he decidico seguir sobre php, y he realizado lo siguiente:
-Reducir código inútil, mejorar la POO.
-Optimizar la base de datos.
-Evitar ataques XSS y SQL-Injection.
-Usar ventana de Login, home y perfiles.

Espero realizar una documentación para mostrarla a los interesados y eso... Lo que si tengo una duda a los gurús eolianos con conocimientos de php: en determinados momentos, las rutas a determinados archivos no se dirigen correctamente. Por ejemplo:

desde index.php hago un include a sesion_start.php, la cual llama a la clase "security" y crea un objeto desde el cual se inicia la conexión a la base de datos parseando un fichero "db.ini" donde esta la direccion del servidor y eso...
Pues resulta que hay veces que dicho db.ini no es encontrado... lo cual me ralla un poco porque se que tiene que ver con el enrutamiento y creo que no lo hace correctamente... ¿Alguien puede sugerirme maneras de que el enrutamiento no se vuelva loco?

Espero no dar mucho la vara jeje, y espero que alguien sepa entender lo que pregunto porque se que soy malo explicandome...
Saludos!
16 respuestas