Sistemas educativos usando aplicaciones web

Cuando estás creando aplicaciones web sueles pensar…¿hay algo más glamuroso que eso?…
es como cuando estás concentrado en la meditación, ¿hay algo más real que estar profundamente centrado en tu propio ser? 🙂
¿Cuándo fue la última vez que escuchaste a alguien que te hablara de haber visto o estar viendo un producto que no fuera a través de la web? (sin contar el iPod ni la TV) , esto es porque todos los proyectos más innovadores suelen ser vistos online..nada que ver con los productos desarrollados para ser ejecutados en un PC de escritorio que están bastante más lejos de tener la simplicidad de la web…de ahi su rápida proliferación…
Entre ambas opciones se encuentran los productos que combinan todo lo que forma la informática: gadgets como un equipo de música formado por unos altavoces y un hardware que se conecta a internet para descargar la lista de bandas sonoras, haciendo disponibles miles de ellas de forma que podemos acceder a la radio de casi cualquier parte del mundo como antes manejábamos la manibela de nuestra radio FM (tipo last.fm) de casa o del coche.
Las aplicaciones web han mejorado tanto que se ve reflejado en la simplicidad, hasta el ladrido del perro en un barrio puede ser convertido en algo sorprendente si se trata bien. XD
Es por esto que el e-learning 2.0 o como la tecnología Web está dando forma a la educación.
Este proyecto tiene una gran parte de educativo ya que se enseña un lenguaje y como solucionar problemas que todo programador web tiene.
Hemos de tener en cuenta el gran impacto de la web sobre la educación, la promesa del e-learning ha de ser la de emplear entornos virtuales mezclados con reales, de forma que ambas partes se interconecten incitando al alumnado a “blogear” para recibir así críticas que habrá de responder y que forma parte de su aprendizaje.
zenphp proporciona la magia necesaria para crear enormes entornos cooperativos a modo de redes sociales interconectadas que permiten comunicar a gente que tiene una gran pasión por la física con profesores de perros, por ejemplo.
El éxito o el fracaso de estos proyectos depende de la evolución del e-learning y del grado de inmersión de cada “profesor”…

Detalles del Modelo Visualizador VS MVC

Acabo de estar mirando el nuevo modelo de datos de Joomla 1.5 junto con su controladores y vistas…es interesante sin embargo complicado y necesitas tener el manual cerca (a “mano” :D) porque no sabes nada de nada al estar dentro de una vista…si estás en una vista tipo “blog” de una categoría, cómo puedes conseguir la sección a la que pertenece? En algunos foros se discute el tema, acabando por hacer un nuevo y completo módulo o extensión también llamado para cubrir las necesidades…sólo por necesitar un identificador? …como veis parece absurdo tener una división que no te da libertad y crea más confusión…

En zenphp está el modelo de datos donde están todos los datos que está comunicado con punteros con el resto de modelos de la aplicación y por otro lado está, asociado al modelo ,el visualizador, nunca perdemos nada de vista y todo es parametrizable y accesible fácilmente, casi no tenemos ni que usar el manual o la documentación…veis la pauta? notais la diferencia? ahi radica la potencia de hacer algo simple y que funciona…

Saludos!

Curiosidades del motor de rendering Gecko en Firefox 2 para GNU/Linux

Mostrando el infinito a través de iframes gracias a Gecko:

Mostrando el infinito a través de iframes

Firefox nunca deja de sorprenderme, a veces ocurren cosas extrañas como esta, en zenphp escribo una línea para depurar una consulta SQL y al mostrar el HTML, Firefox inventa una página nueva :D,dentro de un iframe y otra vez y así sucesivamente hasta el infinito, es un bug visual pero no consume recursos…impresionante…

Ahora que ha salido la versión 3 de este navegador imprescindible para algun@s 🙂 espero que los chicos de firebug tengan listo su módulo cuanto antes para mudarme alli…

Sistemas de etiquetas cíclicos para la web: buena idea, difícil implementación

La idea es crear una navegación única para cada usuario con la que vamos “barriendo” la web, usando los tags como cepillo: arrastra el polvo del contenido y nos quedamos con lo que interesa,gracias a un sistema cíclico de etiquetas clasificadoras.

Un sistema de etiquetas cíclico se basa en un sistema de etiquetas simple donde se dispone de una lista de n reglas de etiquetas (tags, cada una de una forma especial) que se aplican en un sistema de orden secuencial y después empiezan de nuevo por la primera regla.
En un sistema de este tipo, cada conjunto de reglas de etiquetas tiene una estructura especial donde es asociado un patrón a un usuario sólo si el primer elemento no es requerido, i.e., es independente del conjunto, entonces es borrado.

El lado oscuro del sistema

Sin embargo no todo es un camino de rosas, como suele pasar en los sistemas, se producen muchos problemas por el mal diseño del software y una pésima implementación puede hacer que un servidor web incluso se colapse…

Por ejemplo technorati usa un sistema de tags con 467 mil tags diferentes,cuando un típico diccionario puede tener alrededor de 75 mil entradas…la diferencia es impresionante, teniendo en cuenta que no todos los usuarios están utilizando realmente tags para clasificar sus artículos.

La parte oscura del sistema viene dado por los “memes”: si uso una cita o etiequeta específica en un artículo de mi blog o web, entonces, se conectará con otros artículos incluso de otros sitios, se crean vínculos…

Pero…sorpresa sorpresa!!, esto no funciona tan bien como se espera porque acabas creando subcomunidades que se estandarizan, pero que están navegando en contra de la dirección de otras subcomunidades.

Soluciones: usuarios y desarrolladores

En esta situación, ¿cuál de los dos grupos van a cambiar sus etiquetas retroactivamente?, o ¿es la persona que está navegando a través del sistema de etiquetas a partir de una serie de artículos la que debería saber acerca de esto y salirse del anillo a voluntad?

Con casi medio millón de etiquetas en una comunidad a la que le encanta progresar, quizás deberíamos replantearnos estas ideas y rediseñar nuestras aplicaciones…

Y ,pronto…¡la implementación!

Aprende a programar aplicaciones web

Como dije en mi presentación de la Final del Concurso, nunca intentaré llevarme a mi terreno a nadie para ganar la batalla de quien usa más qué framework & lenguaje…
Me gusta bastante lo que ha escrito y ha dejado muy claro Daniel López en su artículo “Ruby on Rails vs PHP: una falsa comparación”.

Para empezar con un framework, realmente debemos sentirnos cómodos con el lenguaje, después con la forma de trabajar (filosofía?) y por último darnos cuenta de la sencillez de las tareas de mantenimiento de una aplicación.

A mi no me acaba de convencer Rails, por eso sigo mejorando zenphp.

¿Qué tipo de proyecto haces?

El otro día leí que existen dos tipos de hombres, los constructores y los jardineros…los primeros se sumergen en el mundo de la construcción de su proyecto y cuando lo ven finalizado se alegran mucho de haberlo terminado, aunque esta meta no los hace libres ni mucho menos sino que se dan cuenta de que están enjaulados entre las paredes de la propia construcción, sin saber qué más hacer o donde ir y ya que la alegría no suele durar mucho, se cuestionan sobre el sentido de la vida…

Por otro lado están los jardineros, que son los que plantan semillas a lo largo del profundo universo, pasan por tempestades, son engañados por los elementos, pierden cosechas y son atacados por toda clase de males, pero, con el tiempo ,la perseverancia y la paciencia que han ido aplicando en todo momento han hecho que la cosecha de muchos frutos, muchos proyectos tienen lugar y pueden compartir todo lo que han aprendido con toda clase de personas.

¿Cuál es la decisión que formará tu futuro?

Ideas que funcionan: las rutas de una aplicación

El año pasado cuando empecé a escribir el enrutador del framework lo hice de forma muy general, para dar al programador la libertad de escribir el suyo propio y lo pudiera enlazar con cualquier aplicación de modo que se pudiera escribir una clase como zen_enrutador y asignar expresiones regulares únicas para determinadas rutas propias definidas por el usuario.

Un ejemplo de que la idea funciona es que se está usando en muchas páginas web, por ejemplo en el Pais, ¿cómo podemos descubrir que la idea del enrutador se está utilizando?, muy fácilmente, eliminando parte de la URL xD

…Veamos un ejemplo,de un artículo del país…

La dirección original es la siguiente:

http://www.elpais.com/articulo/sociedad/traje/cibernetico/
permite/personas/paralisis/volver/correr/
elpepusoc/20080411elpepusoc_4/Tes

De aquí, podemos ir “quitando trozos” que sabemos que no forman parte de la acción de un controlador de una aplicación web, sólo por el nombre. Lo explicaré con un ejemplo, un nombre de acción puede ser: “articulo”, “sociedad”, etc. sin embargo aquí se puede eliminar “sociedad” quizás, se dejó para categorizarlo en google…veamos como sigue funcionando la URL con las palabras clave de las acciones y los datos que necesita el modelo para recuperar el artículo:

http://www.elpais.com/articulo/usamos/un_enrutador_muy_parecido/al/de/zenphp/
elpepusoc/20080411elpepusoc_4/Tes

Por lo que podemos deducir que la acción es “articulo” y que los datos que necesita son:la fecha en formato AñoMesDia, con el autor y un identificador para el artículo, de forma que se analizará primero la acción y se tomará el final de la URL de derecha a izquierda para recuperar el identificador único de artículo a mostrar, si seguimos eliminando al final observaremos que esta pequeña introducción a la ingeniería web (inversa) nos indica que las ideas simples suelen funcionar, mirad como queda la URL válida al final:
http://www.elpais.com/articulo/20080411elpepusoc_4/Tes
es lo único que necesita, podeis comprobar por qué el 4 es el número de artículo porque (además de ser lo más lógico) podemos ir a
http://www.elpais.com/articulo/20080411elpepusoc_3/Tes ,que es el siguiente 🙂

Saludos!

Lo bueno de hacer las cosas simples

Lo mejor de zenphp es que mucha gente lo va a usar y le va a ayudar porque trae muchos mecanismos automáticos, aunque nadie lo sabe, esto es bueno para la seguridad. Se parece al ejemplo del hombre que nadie conoce que es un “don nadie”, es decir, no es un político ni nadie importante ni famoso y no tiene que quitarse la careta, imaginaos lo difícil que le puede resultar a ese tipo de hombre dejar de actuar como lo que es en su vida laboral,en su casa…salirse del papel…ser común, ser normal, ser feliz. No digo que no pueda serlo disfrutando de lo que hace en sus labores cotidianas, pero mientras más aspiraciones tenemos,más deseos perseguimos, más nos cuesta darnos cuenta de ver qué es lo que no nos hace más felices.

Lo bueno de que este proyecto no tenga instalación y sea configurable en 3 pasos: hoy lo instalé en un departamento de la Facultad de Filología de Granada,el sistema me dió algunos problemas pero nada que no se pueda solucionar fácilmente…

He escrito un pequeño artículo sobre funciones en PHP en la comunidad PHP-Hispano, basado en mis ideas y las de un genial libro listado en la bibliografía del proyecto…hay una copia en GranadaPHP.

Parece que el éxito va llegando para los participantes de este concurso…con esfuerzo,dedicación y disfrutando dia a dia con lo que hacemos, estas cosas suceden.
Buena práctica!

Análisis del código de zenphp por Ohloh

Gracias al proyecto del amigo Juan Pedro Bolívar he descubierto Ohloh, una web donde al introducir la dirección SVN de tu proyecto se analiza y te cuenta cosas interesantes…hasta cuánto cuesta en dólares escrito desde 0 (from scratch) por un número determinado de desarrolladores…
He aquí alguna información interesante sobre zenphp…
[leer más]
Continue reading