Enviada el 14/07/2010 por Michael Gomez Cruz
Categorias: desarrollo, diseño, internet, paginas, web

Ya es casi recurrente que luego de meses sin escribir en el Blog, aparezca con un monton de cosas para mostrar, entre ellas, las campañas más recientes en las cuales he participado (programando los backends, lo que tenga que ver con php + javascript :D ).

Barrio la Fuente

Sitio web bastante sencillo, con muy poca programación, pero con la integración de “Goals en analytics” y varios A/B Test que terminaron por transformar a la versión actual en la más exacta.

Firme con la Roja

Blog en WordPress con la campaña de Sodimac para llevar a 1.000.000 de Chilenos a Sudáfrica (Las fotos de cada uno en un lienzo gigante). Constaba de una aplicacion desarrollada en Flash para poder grabar los gritos de la hinchada (en conjunto con una solución de Streaming), una especie de banner dinámico donde se podían visualizar las fotos de las personas. Este lienzo iba creciendo a medida que llegaban las fotos al sistema, totalizando más de 1.000.000

Nivea Angel Star Youwow

Una completa aplicación donde los usuarios podían subir su foto y la de sus amigos, para utilizarlas como personajes principales de 3 distintas películas (utilizando el tracking de puntos), donde la protagonista intentaba safar de “Un Jote, Un Perro faldero y una peculiar Flor”. Bastante interacción de Flash con servicios PHP basados en AMFPHP. URLs únicas y amigables para compartir con las demás personas a través de Twitter o Facebook.

También fue necesaria la utilización de un servidor de Streaming para el almacenamiento de los videos.

Tu Verdadera Edad

Otra aplicación más, donde la idea básica era que los usuarios podía subir una imagen, que posteriormente era evaluada por cualquier persona que entrase al sitio, que otorgaba una edad acorde a lo que la persona representaba. La gracia era que uno podía ingresar a su propio panel y saber que opinaban los otros de uno.

Espacio Vivo

Minisitio de Homecenter Sodimac. Desarrollado en Flash (solo tuve que hacer la galería :D en AS3, lo demás lo potencio Theguaz)

Zapatillas de Culto

Sitio web montado sobre WordPress. Con un montón de características desarrolladas desde 0, o en base a Plugins. Una moderna galería programada con JQuery y JSON. Planteaba ciertos desafíos de compatibilidad entre browsers.

Prime Digital

Este es uno de esos proyectos que a uno le gusta mostrar  y destacar en el Portafolio. Es de aquellos que integra la mayor experticie en lo que uno desarrolla a diario. Integrando HTML + AS3 + CSS + PHP + JAVASCRIPT + Todo lo demás :D . Al igual que las versiones anteriores, posee un sistema inteligente de filtros, que van apareciendo a medida que uno avanza en la búsqueda del Teléfono Celular adecuado. Sistema de comentarios y iLike de Facebook. Reviews de las marcas, ZOOM de las imagenes, entre muchas otras cosas. Y lo mejor de todo es que esta con Ajax y no requiere actualizar ni esperar esas infinitas cargas.

Los Cracks

Una aplicación para el mundial (Falabella), donde tu podías elegir a 5 Cracks (jugadores de alto nivel, como Messi, CR9, KAKA) y tener más oportunidades mientras estos hacían goles durante el mundial. A eso, se le podía sumar también, las invitaciones a tus amigos y el ingreso de boletas en Falabella.com

———

La mayoría de estos proyectos integran mejoras que se van adquiriendo gracias a la experiencia en campañas pasadas. Cosas que me falta por agregar, son los History Browsing, para poder controlar los botones Atrás – Adelante en los navegadores (he visto muchos plugins, pero aún no encuentro el que necesito realmente, quizás hacerlo no sea una mala idea).

Enviada el 26/02/2010 por Michael Gomez Cruz
Categorias: desarrollo, juegos, Programacion

Nueva campaña para Nivea SilverMoto. Participa en el juego de los IONES y ganate uno de los pack o afeitadoras diarias. Si durante el juego invitas a uno de tus amigos, podrás obtener de forma automática 5 oportunidades más seguir jugando.
Desarrollado con actionscript 3 + Flash + AMFPHP para el backend de la aplicación.

Enviada el 27/01/2010 por Michael Gomez Cruz
Categorias: css, desarrollo, php, Programacion, web


Hace algunos días se entrego el nuevo sitio para Oportunidad Digital “Fotografía”. Desarrollado en HTML + CSS y harto Javascript de la mano de jQuery. Se aplico un sistema de “filtros inteligentes”, que van apareciendo de acuerdo a los resultados que van quedando y agrupandose de acuerdo al mismo parámetro y luego son entregados a la aplicación Flash que controla la aplicación paso a paso.

El slider de productos se forma a través de una respuesta JSON, que se genera en cada clic sobre los botones de avanzar y retroceder, y una vez que cargan, se desliza una mascara para dar el efecto de slide.

También se reprogramo un sistema de ventanas modales “Fancybox” para poder implementar 2 hojas de estilo en la misma ventana modal (para las imagenes del fondo y bordes).

Enviada el 13/11/2009 por Michael Gomez Cruz
Categorias: apache, desarrollo, web

logo_05

Al igual que con Eucerin kids, Eucerin Solar es el nuevo proyecto que sale al aire. Uno de los principales desafíos era determinar la forma en la cual cargar elementos compartidos sin utilizar PHP (por que realmente era innecesario).

Aplicando técnicas aprendidas, determinamos que usar SSI (Server Side Includes) (El próximo post será sobre esto) sería lo más óptimo. Además en una de las secciones principales se agregó un Blog desarrollado sobre WordPress con un theme propio. Contiene también su Google Map para localizar tiendas DERMACENTER cercanas y un concurso para ganar productos Eucerin solar para un mes.

Enviada el 28/10/2009 por Michael Gomez Cruz
Categorias: php, Programacion

He buscado y buscado desde que comence a programar en PHP, la mejor manera de comprobar si un email es válido o no, y si esta bien escrito y además que sea de un dominio válido con sus DNS y registros MX correctos. En fin, sonaba imposible, pero navegando y googleando, encontré la solución:

function validateMail($email){
		   $isValid = true;
		   $atIndex = strrpos($email, '@');
 
		   if(is_bool($atIndex) && !$atIndex){
		      $isValid = false;
		   }else{
		      $domain = substr($email, $atIndex+1);
		      $local = substr($email, 0, $atIndex);
		      $localLen = strlen($local);
		      $domainLen = strlen($domain);
 
		      if ($localLen < 1 || $localLen > 64){
		         $isValid = false;
		      }else if ($domainLen < 1 || $domainLen > 255){
		         $isValid = false;
		      }else if ($local[0] == '.' || $local[$localLen-1] == '.'){
		         $isValid = false;
		      }else if (preg_match('/\\.\\./', $local)){
		         $isValid = false;
		      }else if (!preg_match('/^[A-Za-z0-9\\-\\.]+$/', $domain)){
		         $isValid = false;
		      }else if (preg_match('/\\.\\./', $domain)){
		         $isValid = false;
		      }else if(!preg_match('/^(\\\\.|[A-Za-z0-9!#%&`_=\\/$\'*+?^{}|~.-])+$/', str_replace("\\\\","",$local))) {
		         if (!preg_match('/^"(\\\\"|[^"])+"$/', str_replace("\\\\","",$local))){
		            $isValid = false;
		         }
		      }
		      if ($isValid && !(checkdnsrr($domain,'MX') || checkdnsrr($domain,'A'))){
		         $isValid = false;
		      }
		   }
 
		   return $isValid;						
		}
// Para implementarlo
if(validateMail('algun@email.com')){
    echo 'email valido';
}else{
    echo 'email no valido';
}

Aplica cosas básicas como comprobar la existencia del @, además de RFC para el largo máximo permitido por el estándar y expresiones regulares para validar los simbolos. Y por si fuese poco, chequea que el dominio exista (A) y que sus MX sean válidos.