miércoles, 15 de julio de 2009

Estado de tucongreso.es

Hace ya un mes del último post y es un buen momento para comentar las últimas noticias sobre el proyecto en el que se está trabajando con tanto empeño.

Aunque la página tucongreso.es no está visible todavía la primera versión del sistema ya está funcionando en un congreso que se celebrará en octubre en La Rioja. El sistema se podrá utilizar en breve desde el dominio tucongreso.es pero da la posibilidad de integrarse en páginas ya existentes, un requerimiento por parte de muchos congresos para conservar la estética de la página en todas las secciones.




Voy a tratar de explicar toda la funcionalidad que tiene implementada hasta la fecha y la que falta por incluir.

Para los que no han leído el post anterior, tucongreso.es es un sistema para la organización online de congresos. Esto es, para gestionar a través de Internet todos los datos de un congreso, desde los usuarios y la inscripción al congreso, como el envío de propuestas, gestión del horario, etc.

Voy a utilizar el listado de funcionalidades del post anterior para así describir cada uno con un poco más de detalle.

  • Gestión del flujo de envío de textos. Desde que una propuesta se envía hasta que es aceptada puede suponer diversos pasos sobretodo si además del envío de propuestas también se requiere del envío de los textos completos, para llevar a cabo una posterior publicación. Todos estos pasos se registran en la base de datos de forma que en todo momento se puede consultar su estado. Cuando una propuesta se envía por primera vez pasa a un estado enviado pero pendiente de revisión. Cuando el revisor la consulta, si utiliza evaluadores, puede enviar la propuesta a los evaluadores pasando a un estado de enviada a evaluación. Cuando los evaluadores han enviado la evaluación al revisor se pasa a un estado de evaluada y pendiente de revisión. Tanto si ha utilizado evaluadores como si no, hay una persona responsable de tomar la decisión de aceptar, rechazar o pedir cambios a una determinada propuesta. Cuando toma una de estas decisiones la propuesta vuelve a cambiar de estado e indicar por ejemplo que ya ha sido aceptada. Si de esta propuesta luego tiene que enviarse el texto completo el procedimiento es bastante parecido. Esta gestión de estados es utilizada en otros puntos del sistema como el envío de correos o la sección de estadísticas. Gracias a este estado se puede saber en todo momento el estado actual del congreso. Como ya veremos en posteriores puntos, estos cambios de estado desencadenan eventos que se guardarán en la base de datos para trazabilidad y suelen conllevar el envío de algún correo electrónico a los interesados.

  • Gestión de usuarios, roles y permisos. En un sistema para la organización de congresos intervienen distintos tipos de usuarios. Por una parte tenemos a los organizadores del congreso, a los revisores, a los evaluadores, a los ponentes, plenarios,... Cada uno de estos usuarios puede llevar a cabo sólo una serie de acciones en el sistema.
    Cualquier funcionalidad del sistema está protegida de forma que sólo se puede acceder a ella cuando se tienen los permisos apropiados. Así, los organizadores del congreso pueden consultar los detalles de todas las propuestas, los participantes sólo sus datos enviados,... Para los menos acostumbrados a estos términos un usuario tiene una serie de roles y un rol tiene un conjunto de permisos asociados, de forma que los permisos de un determinado usuario se definen por los roles que posee. Aunque hay variantes este es el procedimiento más usual. Inicialmente se cuenta con una serie de roles ya configurados y que cubren seguramente el 90% de los congresos pero ante cualquier requisito especial de un congreso en particular se puede añadir un nuevo rol con los permisos necesarios.
  • Redacción online de abstracts. Los congresos pueden configurar el envío de abstracts de forma que sea online. Esto es, los usuarios escriben el abstract directamente en la página web, sin necesidad de enviar un PDF, Word, ODT,... Los textos completos tiene mucho menos sentido pues las necesidades de formateo son mucho más amplias. Esta redacción online permite, de forma sencila, generar automáticamente el libro de abstracts partiendo de tanto el asbtract como la información de los autores que está guardada en la base de datos.
  • Generación automática de libro de abstracts. Tal y como se ha comentado en el punto anterior, gracias a la redacción online de abstract se permite generar automáticamente el libro de abstracts para aquellos congresos que así lo requieran.
  • Soporte multi-idioma. Los congresos suelen ser eventos donde interviene gente de muchas nacionalidades. Así, es muy necesario que la página pueda incorporar tantos idiomas como sea necesario. El sistema cuenta con un motor de internacionalización (i18n) de forma que todo texto que se muestra en pantalla es un recurso de traducción. Antes de mostrarse en pan y dependiendo de las preferencias del usuario, se traduce a su idioma. En el momento de registro en el congreso el usuario puede indicar este idioma de preferencia. Gracias a este dato, todos los correos automáticos que se le envían se hará en su idioma de preferencia, ayudando lo máximo posible.

  • Gestión de plantillas de correos. Durante el proceso de registro de usuario, envío de propuestas, aceptación o rechazo de estas, envío de textos completos, asignación de horarios,... se produce un intercambio muy importante de correos electrónicos. Además de la personalización de la parte visual de la página (fuente, imágenes, paneles,...) todos los correos que se intercambian pueden personalizarse. Inicialmente se cuenta con un texto por defecto que puede ser utilizado pero si en un momento determinado alguno de los correos intercambiados se quiere personalizar, cada congreso puede definir los suyos. Para poder permitir esta personalización el sistema incorpora un motor de plantillas. Cada asunto y cada mensaje de un correo está definido en la base de datos y cada congreso puede utilizar el que hay por defecto o bien escribir el suyo propio. Hay ciertos campos de cada correo que pueden ser dinámicos como el nombre del autor, el título del texto,... Para poder tratar estos campos cada plantilla cuenta con una serie de parámetros que se pueden incorporar o no de forma que cuando se envíe el correo el sistema convierta estos parámetros a su valor real.





  • Historial de acciones (trazabilidad). Recurriendo de nuevo a Murphy cuando algo malo tiene que pasar pasará. Hay algunos casos en los es necesario saber cuándo se envió un determinado artículo, cuándo el director de panel lo aceptó/rechazó, cuando se envió una nueva versión del texto completo... En resumen, controlar todo el flujo de acciones que el sistema permite llevar a cabo. El sistema cuenta con un sistema de registro de eventos de forma que cada vez que un evento relevante ocurre se guarda en la base de datos. El organizador del congreso podrá en un momento determinado consultar este historial de eventos para poder solucionar algún problema o duda que pueda surgir.



  • Gestión de autores y coautores. En las primeras páginas que programamos para la organización de un congreso fue uno de los requisitos que se vio con el tiempo que no estaba perfectamente recogido. Un paper en un congreso suele estar firmado por varias personas e inicialmente los datos de estas personas se recogían de forma vaga. Básicamente su nombre y apellidos. Esto luego puede conllevar problemas, por ejemplo, cuando se generan todos los certificados, cuando se escriben las actas del congreso, para gestionar los pagos del congreso... Por ello, el sistema permite vía configuración obligar a que todos los coautores de un determinado texto sean usuarios ya existentes. Esto luego se refleja en las estadísticas, inscripciones, generación de certificados... Un consejo: si crees que un dato no va a ser necesario lo será. Ley de Murphy.


  • Gestión de paneles o áreas temáticas. En ciertos congresos las ponencias se dividen en áreas temáticas o paneles. Suele ser común en aquellos congresos menos específicos donde las ponencias cubren un amplio número de campos. A través de la página se permite indicar si el congreso utiliza paneles o no e indicar el nombre de cada uno de ellos. Enlazando con el punto de la seguridad, los roles se pueden asociar a un determinado panel en lugar de que se apliquen de forma global al congreso. Por ejemplo, el rol organizador del congreso, que tendría asociados por defecto permisos como listar los usuarios, consultar las inscripciones, gestionar el horario... se aplica de forma global a todo el congreso, sin embargo un rol como revisor (llamado muchas veces director de panel) se asociaría a un determinado panel de congreso de forma que permisos como aceptar propuesta, rechazar propuesta sólo se aplicarían a aquellas propuestas que se han enviado a su panel. Por lo tanto, no podría aceptar, ni rechazar las propuestas de un panel distinto al suyo.

  • Gestión de asistentes no ponentes. Como los asistentes a un congreso no es necesario que presenten paper también se tiene en cuenta esta necesidad y a través de la página un asistente que no va a presentar ningún trabajo se puede registrar. La distinción entre asistente ponente y no ponente se refleja en la base de datos. Esto es así porque el pago en muchos casos es distino y porque estadísticas sobre este tipo de asistentes son muy importantes para la organización de un congreso.
  • Generación automática de certificados. Otra funcionalidad que ahorra mucho trabajo en muchos congresos es la generación automática de certificados. Gracias a todos los datos almacenados en la base de datos el sistema permite generar un certificado para cada uno de los asistentes. Cada congreso puede crear su propia plantilla (bien en formato ODT, Word o HTML) e incluso definir plantillas distintas por roles, pudiendo generar un certificado distinto para ponentes, directores de panel, asistentes, plenarios, becarios,...


  • Envío de correos online a usuarios. En un momento determinado del congreso puede ser necesario enviar un correo electrónico a todos los asistentes, o a todos los ponentes de un determinado panel, o bien a todos los asistentes que todavía no han pagado... Así, se cuenta con una página para el envío de correos a usuarios utilizando un potente mecanismo de filtros. Así, además de indicar el asunto y el cuerpo del mensaje se puede seleccionar los usuarios a los que va a ir dirigido el mensaje. Esto evita tener que enviar un mensaje a todos los usuarios cuando sólo una parte de estos son los interesados o tener que utilizar exclusivamente la web para enviar una cierta noticia.




  • Estadísticas del congreso. Otra sección obligada de la página y muy útil de cara a los organizadores es la de las estadísticas del congreso. En esta página se puede llevar un seguimiento de los usuarios, ponentes, propuestas aceptadas, rechazadas,... Un amplio número de estadísticas que pueden servir al organizador para tomar decisiones, para comparar con ediciones anteriores...

A pesar de que se ha dado un paso muy grande con la primera versión del sistema hay funcionalidades que todavía no han sido incorporadas pero que en unas pocas semanas se irán incorporando paulatinamente:
  • Gestión de horarios
  • Aplicación móvil
  • Conexión con sistema de pagos

sábado, 13 de junio de 2009

Nuevo proyecto: tucongreso.es - Organizador de congresos online

Quería explicar en el blog uno de los proyectos que tenemos entre manos y que nos está ocupando estas últimas semanas. Se trata de tucongreso.es un organizador de congresos online.

Desde hace 4 años colaboro a modo personal y ahora Sinergics de forma profesional con AESLA (Asociación Española de Lingüística Aplicada). Esta asociación, de casi 800 socios organiza anualmente un congreso al que asisten cerca de 250 personas. Este congreso se divide en 10 áreas temáticas (o paneles) que se pueden consultar en la página de la asociación. Aquellas personas que quieren exponer trabajos en el congreso envían un resumen de la ponencia a uno de estos paneles, concretamente a uno de los directores del panel que lo acepta o rechaza. Después de enviar la propuesta, unos meses más tardes se abre el plazo para enviar la versión ampliada de esta propuesta (lo que llamamos texto completo). El proceso es similar, se envía al director del panel correspondiente que lo acepta y/o rechaza. Este texto completo se envía para unas actas que se publican posteriormente al congreso.

Hasta el año 2008 el envío de estos resúmenes y textos completos se envíaban a través de correo postal, algunos a través de e-mail,... En ningún momento el organizador del congreso conocía el estado real en el que se encontraba el congreso.

El año 2008 implementé un sistema para el envío de propuestas y textos completos que informatizaba todo el proceso. Directores de panel, organizador del congreso, junta directiva, socios y no socios de AESLA contaban con usuario/contraseña para poder enviar los textos al congreso. Ante cualquier evento que se producía en el sistema (envío de propuesta, aceptación/rechazo de propuesta, envío de texto completo,...) se envíaba un e-mail a los interesados.

Habiendo funcionado satisfactoriamente en el año 2008 este año se le ha dado una vuelta de tuerca a la funcionalidad ampliándola considerablemente. Gestión de pagos, ampliación de las estadísticas del congreso, envíos de correos por criterios (participantes con propuestas aceptadas, participantes que no han pagado,...).

Gracias a la experiencia en este congreso y las experiencias que nos están transmitiendo otras personas de la universidad surge el proyecto de tucongreso.es. En desarrollo actualmente, la idea es construir una plataforma para la organización de congresos online.

Esta plataforma nace con la flexibilidad como uno de sus pilares fundamentales. En un primer análisis de requerimientos comprobamos como hay varios aspectos en los que divergen la mayoría de los congresos y por eso, desde un primer momento, la funcionalidad de la plataforma se está haciendo muy parametrizable. Áreas temáticas, gestión de usuarios, roles y permisos, gestión de asistentes no ponentes, gestión de autores y coautores,... funcionalidades que en algunos casos serán necesarias y que para otros congresos no tienen sentido.

En las próximas semanas os iremos dando más detalles de la plataforma pero de forma esquemática estas son las funcionalidades definidas en el primer análisis de necesidades:
  • Gestión de usuarios, roles y privilegios
  • Gestión de autores y coautores
  • Gestión de asistentes no ponentes
  • Gestión de paneles o áreas temáticas
  • Redacción online de abstracts
  • Historial de acciones (trazabilidad)
  • Generación automática de libro de abstracts
  • Gestión de horarios
  • Generación automática de certificados
  • Conexión con sistema de gestión de pagos (TPV)
  • Soporte multi idioma
  • Envío de correos online a usuarios
  • Estadísticas del congreso
  • Aplicación móvil con información del congreso
  • Personalización de e-mails automáticos

También indicar que toda la programación se está haciendo sobre Symfony. Este proyecto nos está sirviendo para explotar realmente la potencia de este fabuloso framework. No quiero ni imaginarme el estado en el que se encontraría el proyecto de no ser por Symfony.

Seguiremos informando.

Hasta ahora!

miércoles, 27 de mayo de 2009

Soporte remoto con VNC y uso de túneles SSH

En una de mis visitas a Otime en Segovia me enseñaron una variante de soporte remoto que no conocía y sencillamente me encantó. He usado VNC desde hace muchos años pero tiene un problema importante cuando quieres ofrecer soporte a clientes y es cómo acceder a ordenadores que están en una red local detrás de un router/firewall. La solución consistiría en cambiar la configuración del router para que redireccionara los puertos a las máquinas locales pero creo que estaréis conmigo cuando pienso que no es una solución factible.

Pues bien, en Otime me enseñaron el uso del VNC inverso. Lo conocía con SSH pero no caí en que fuera posible hacerlo con VNC. La idea es que en lugar de iniciar tú la conexión al ordenador del cliente sea el cliente el que inicie la conexión contigo y luego tomes el control de su ordenador. Esto es mucho más factible pues sólo es necesario modificar las reglas del firewall en un sitio, en tu oficina. Además tiene otro punto muy favorable y es que es gratis. Hay varias soluciones de helpdesk en el mercado pero de esta forma, aunque algo más compleja, te lo haces tú mismo.

Las formas de hacer este VNC inverso son distintas dependiendo del cliente que utilices. Yo voy a explicar el uso de Ultra VNC y su addon Single Click. Ultra VNC te ofrece un .zip a modo de distribución para que lo personalices con los logos, los mensajes en tu idioma,... y mediante su página web te generas un .exe ya configurado como el que se ve en la imagen siguiente.


Las instrucciones están detalladas en http://www.uvnc.com/addons/singleclick.html por lo que no merece la pena que las repita pero únicamente decir que es sencillísimo. Este Single Click representa al programa que tiene que ejecutar el cliente. En cuanto a Sinergics lo que tenemos es un script que arranca winvnc indicando que escuche en un determinado puerto (el mismo que se pone en la configuración del Single Click).
> vncviewer -listen 8888

Por lo tanto, a modo resumen:
- Llama el cliente indicando que tiene un problema y requieres controlar su ordenador.
- Arrancas el VNC en modo escucha.
- Le indicas que se descargue de la página web el ejecutable y que lo abra.
- Cuando lo ha abierto tendrás el control de su máquina.
- Justo antes de dejar de tener el control de su máquina le cierras el cliente de VNC por si las moscas.

Un esquema gráfico muy sencillo de cómo quedaría la cosa:



Hasta aquí todo bien pero... muchas veces me encuentro que estoy en la universidad, donde me conecto a través de una VPN y mi máquina no es accesible desde el exterior por políticas de seguridad. La única forma de ver acceder a máquina es desde otra máquina a la que sí que se tiene acceso desde fuera, pero únicamente vía SSH ¿Eingg? Pues sí, esto me ha pasado.

La solución a la que he llegado, por lo menos la única que se me ocurrió fue la siguiente... Tengo un servidor privado alojado en Internet con control total sobre él. Lo que decidí hacer fue crear un túnel SSH desde un puerto, por ejemplo 8989 de forma que cuando alguien se conecte a este puerto se redirija los datos a mi máquina pasando a través del ordenador de la universidad que está visible a través de SSH. La orden es algo así:
ssh -L IP_PUBLICA_DE_MI_SERVIDOR_PRIVADO:8989:IP_DE_MI_MAQUINA:PUERTO_ESCUCHA_VPN
usuariomaquinauniversidad@ipuniversidad

Como ni yo mismo entiendo este párrafo después de escribirlo voy a pegar otro diagrama para que quede algo más claro.



Lo que he hecho es configurar el SingleClick con la IP y puerto del servidor que tengo contratado y entonces cuando el cliente se conecta a dicho puerto el túnel se conecta con mi máquina local pasando a través del servidor de la universidad que es el que hace de túnel.


ACTUALIZACION
Indagando un poco más he encontrado otra solución más sencilla para el caso en el que no te encuentras en la oficina y que es en mi opinión más práctica . Consiste en utilizar un túnel SSH inverso.

El funcionamiento de un túnel SSH es más o menos el siguiente. Desde una máquina A quieres acceder a una máquina C, pero A no ve a C. Sin embargo A ve a una máquina B que esta a su vez ve a la máquina C. A haría un túnel utilizando a B de forma que mapea un puerto local de la máquina A con un puerto de la máquina C. Si A hace un telnet por ejemplo a dicho puerto local el túnel SSH configurado lo que hace es enviarlo a la máquina B que a su vez lo envía a la máquina C. B hace las veces de mensajero.

Pues bien, el túnel SSH inverso hace algo parecido. En el caso del túnel normal lo que haces es permitir a A que se conecte con C. En el túnel inverso lo que haces es preparar a A para que pueda recibir datos de C enviando dichos datos a través de B (que es pública). Con el ejemplo de la VPN quedará más claro. Me voy de viaje y estoy en las oficinas de un cliente. En este entorno no puedo tocar el router de la oficina y mi máquina no es visible desde fuera. Necesito conectarme con un cliente con el VPN inverso (luego el cliente tiene que iniciar la conexión conmigo). Lo que hago es crear un túnel inverso desde mi máquina al servidor privado que tengo contratado y que es público. Este túnel lo que hará es mapear un puerto de dicho servidor remoto de forma que cuando alguien se conecte a dicho puerto reenvíe los paquetes a mi máquina. Realmente que esta máquina me envíe datos no se puede hacer sin túnel porque mi máquina no es visible desde fuera pero al iniciar yo la conexión mediante el túnel inverso ya pasaría a ser visible.

La sintaxis del ssh inverso, que se ejecutaría desde mi máquina local, es la siguiente.
ssh -R IP_MAQUINA_PUBLICA:8989:localhost:8888 usuariomaquinapublica@IP_MAQUINA_PUBLICA

Lo que indica es que cuando alguien acceda al puerto 8989 de la máquina remota el túnel reenvíe dicho dato a mi puerto 8888 que es donde tendría escuchando el UltraVNC con el -listen 8888.

Otra cosa a tener en cuenta es que hay que modificar la configuración del sshd tal y como indica la página man. Por defecto la máquina remota sólo escucharía este puerto mediante la loopback interface.
By default, the listening socket on the server will be bound to
the loopback interface only. This may be overriden by specifying
a bind_address. An empty bind_address, or the address '*', indi-
cates that the remote socket should listen on all interfaces.
Specifying a remote bind_address will only succeed if the
server's GatewayPorts option is enabled (see sshd_config(5)).

Espero que os haya servido de ayuda este post.

domingo, 24 de mayo de 2009

Uso de Symfony en Sinergics.com

Alguno de nuestros colaboradores me ha preguntado qué es eso de Symfony que aparece en el pie de nuestra web.


Symfony es un framework para la creación de aplicaciones Web que conocí hace unos 4 meses aproximadamente. Llevo programando en Java desde hace más de 7 años y el hosting disponible de esta tecnología es escaso y bastante caro. Esto, añadido a que en la universidad el alojamiento en sus servidores sólo permite PHP me hizo formarme en este lenguaje hace varios años.

Quizás por los vicios a los que te acostumbra Java busqué IDEs y frameworks para que formaran parte de mi batería de utilidades. Después de programar "a pelo" durante estos años y tras comparar todo lo que vi disponible elegí Eclipse y Symfony como mis herramientas de trabajo.

De Eclipse espero hablar en sucesivos posts porque es de las cosas más grandes que ha creado la informática en los últimos tiempos. A modo resumen diría que es una plataforma para la creación de entornos de desarrollo. El más conocido es el plugin de Java para poder trabajar con este lenguaje pero otros lenguajes como C, C++ y PHP son soportados con sus plugins correspondientes. El plugin de PHP utilizado es PDT.

Symfony, como he dicho anteriormente, es un framework para la creación de aplicaciones web. Es una implementación desde mi punto de visto muy acertada del patrón MVC (Modelo Vista Controlador).

Empezamos por el modelo. Para trabajar con bases de datos utiliza los ORM (Object-Relationship Mapping) Propel o Doctrine. Estos frameworks sirven de puente entre el mundo de la orientación a objetos y las bases de datos relacionales. Permiten mapear clases con tablas de la base de datos y por consiguiente instancias de estas clases (objetos) con registros de las tablas.
Evitan mucho del famoso glue-code al permitir definir la estructura de una base de datos en unos ficheros de configuración (por ejemplo xml) y autogenerar los sql para crear la base de datos. También crear los ficheros PHP que representan cada una de las clases del modelo con sus correspondientes métodos save, update... Esto, junto con el API de Criteria para hacer las búsquedas da una flexibilidad enorme para trabajar con la base de datos.

Cada página de la aplicación se separa en dos partes básiscamente: acción y plantilla. La acción es el código php que se invoca cuando se llama a la página y es la responsable de acceder al modelo y dar el resultado a pintar a la vista que sería la plantilla. Por lo tanto la acción es el controlador del MVC. De esta forma tienes el controlador perfectamente localizado dentro de un proyecto Symfony.

En cuanto a la vista Symfony ofrece un mecanismo de layout (o master-pages) muy potente. Puedes definir una página de plantilla con la cabecera y el pie y especificar el lugar donde se pintará el contenido de cada una de las páginas de las que constará la aplicación web. Estos layouts no son para nada estrictos. Mediante el uso de slots puedes definir sitios dentro del código donde las páginas pueden insertar código (muy útil si por ejemplo quieres cambiar el title en alguna de las páginas). Un paso más de flexibilidad está en el uso de componentes pero no viene al caso en esta entrada.

Otro de los módulos que ofrece Symfony y que me parece muy interesante es el de routing. De forma declarativa te permite definir las páginas de las que consta la web, qué parámetros acepta, cuál es la url,... Cada una de las páginas tiene un identificador unívoco que puede ser utilizado desde las propias páginas para referenciarlas sin conocer su URL. Esto permite modificar las urls de las páginas de forma sencilla. Esto es una gran ventaja para trabajar con SEO..

Otra de las características que más agradezco a Symfony es la capacidad de crear distintos entornos de aplicación. Después de trabajar en proyectos en La Caixa y Caja Navarra donde en un aplicativo nos podíamos encontrar con hasta cuatro entornos de desarrollo distintos (test, integración, preproducción y producción) es una funcionalidad que busco en todas las herramientas. Symfony te permite configurar la aplicación de forma distinta dependiendo de en qué entorno te encuentras y utilizar uno u otro sólo invocando una url de inicio distinta. En el caso de la web de Sinergics tengo definidos dos entornos, uno de test, para hacer pruebas en local, y otro de producción, que es donde está alojada la web. Cada entorno trabaja con una base de datos distinta. A lo hora de mostrar los errores también la configuración es distinta, en local se obtiene un stacktrace mientras que en remoto sólo te muestra que ha habido un error,... Los logs también son distintos, el uso de la caché es completamente diferente. Es un mecanismo realmente potente.

Otra de las herramientas más interesantes de Symfony es el generador de formularios. Dada la estructura de la base de datos crea los CRUDs (Create-Replace-Update-Delete) para cada una de las tablas. Estos CRUD son luego fácilmente configurables por lo que ahorran mucho tiempo en el desarrollo del backend de una aplicación.

Espero encontrar el tiempo para explicar con más detalle lo que es Symfony en sucesivos posts.

Sólo dar las gracias a todo el equipo de Symfony y especialmente a Fabien por este magnífico framework.

Hasta ahora!

Iniciador Castellón

El día 22 de mayo Sinergics asistió al primer Iniciador en la provincia de Castellón en el CEEI de Castellón (Centro Europeo de Empresas Innovadoras) . Los asistentes tuvieron la suerte de conocer a Rodolfo Carpentier, presidente de Digital Assest Deployment (DAD), incubadora de proyectos como CinemaVIP, Tuenti, BuyVIP o Baquía.




El evento se dividió en dos fases:

En la primera de ellas uno de los asistentes introdujo su idea de negocio y Rodolfo organizó la clase en 5 grupos: estrategia, marketing y ventas, tecnología, experiencia de usuario y viabilidad. Cada uno de los grupos, formados por unas 8 personas tenían que dar su opinión acerca de los puntos fuertes y débiles de la idea de nuestro compañero emprendedor. La primera tarea fue resumir en 5 ideas los puntos que cada uno de los grupos consideraba más importantes y que el compañero debía considerar. Posteriormente cada uno de nosotros tuvimos que dibujar nuestra visión del problema. Aquí mi gran amigo David Cebrían hizo de las suyas y pintó un dibujo que algún día llegaré a entender... A ver si lo consigo y lo incluyo en el post porque no tiene desperdicio.

Ya en la segunda fase Rodolfo nos explicó un poco el panorama del emprendedor no sólo en España sino fuera de nuestras fronteras. Insistió en varias ocasiones en la necesidad de un plan de negocio claro y sobretodo en la pasión por la idea. Fue en este punto donde no se me olvidará lo que dijo. "Nosotros descartamos cualquier idea de negocio que venga de una persona que siga trabajando en una empresa. Si de verdad cree en su idea esa persona debería estar ahora mismo con su idea, sacándola adelante".

Luego llegaron el turno de preguntas y respuestas y se dio paso al clásico intercambio de tarjetas bien acompañado por un estupendo catering.

Desde estas líneas quería dar las gracias a los organizadores del evento: Pep Gómez, Iskiam Jara, Carlos Matallín y Álvaro Verdoy y a los patrocinadores: CEEI Castellón, Espaitec y TISSAT. Espero que se repita el evento en futuras ocasiones.

Hasta ahora!

miércoles, 13 de mayo de 2009

Sinergics

Hola a todos,

Esta es, por fin, la primera entrada del blog de Sinergics. Después de muchos años cocinando a fuego lento la idea de empresa finalmente ya ha visto la luz.

Sinergics nace como una empresa de informática diferente. En los cursos de empresas te recalcan la importancia de centrarse en un campo, de especializarse en unos ámbitos y explotarlos. Sinergics no pretende ser así. El potencial de Sinergics reside en el conocimiento de diversas tecnologías. A través de los años te das cuenta que aprender una nueva tecnología es mucho más sencilla cuando conoces sus competidores. Estableciendo relaciones entre ellas se comprende mejor las necesidades que las impulsaron, las debilidades que intentan paliar. Con una visión reducida del problema el aprendizaje es muy incompleto.

Realizar una labor de consultoría y sólo conocer y trabajar con un tipo de soluciones creemos que es lo opuesto a las necesidades del cliente. La empresa debe ser flexible al cliente, adaptarse a sus necesidades.

No sólo debemos ser flexibles de cara al cliente final, también debemos ofrecer distintas posibilidades a nuestras sinergias. Sinergics ofrece apoyo a otros grandes profesionales del sector que por distintos motivos no han podido invertir en I+D+I. Grandes colaboraciones, grandes soluciones. Es lo que el cliente necesita.

Uno de los canales de comunicación más importantes de Sinergics deseamos que sea este blog. Cada día los blogs representan un medio más común para la difusión de información. Su carácter cordial, personal y desenfadado creemos concuerda con nuestra idea de empresa.


Querría dar las gracias a todas las personas que ayudaron a tomar la decisión de emprender este proyecto.


Hasta ahora!