Screencast y en general sobre vídeos en la web

04:03PM dic 12, 2006 in category Programacion by Alberto Gimeno

Alberto Molpeceres habla en el weblog de LinkingPaths sobre los screncasts. Le iba a contestar, pero como la contestación es muy larga, la reflejo como un nuevo post

A mi me parecen muy, muy útiles. Precisamente la semana pasada estuve haciendo pruebas para una idea que tengo pensada: hacer una web en la que colgar screencasts y otro tipo de vídeos tipo "do it yourself". Es decir, por un lado screencasts, pero que también se puedan colgar vídeos hechos con cámaras digitales por ejemplo.

Por compatibilidad y sencillez, la mejor forma de colgar un vídeo en una web es con una película flash. Probé a utilizar youtube para colgar algún screencast pero los vídeos pierden mucha calidad (ejemplo). En GoogleVideo lo mismo. Así que busqué algún script para insertar un "reproductor embebido" que no dependiera de ningún servicio como youtube o GoogleVideo. Encontré estos: Flash Video Player y FlowPlayer. Ambos son unos scripts en ActionScript que reproducen archivos .flv. Reproducir un archivo .flv desde ActionScript es trivial, pero bueno, con estos dos últimos reproductores el trabajo ya está hecho.

Para convertir un archivo .mpeg, .avi, .wmv o .mpeg a .flv se puede utilizar este programa: Riva FLV encoder que básciamente es un front-end de la librería ffmpeg. También se puede utilizar el mismo entorno Macromedia Flash para hacer esto.

Para grabar lo que ocurre en la pantalla del ordenador he probado varios programas. Estos son:

  • Cam Studio para Windows. Es GPL. Guarda en ficheros AVI
  • Snapz Pro X para MacOS X. Guarda en ficheros .mov que ocupan muy poco. Curiosamente al pasar el .mov a .flv con ffmpeg el archivo ocupa mucho más y se pierde calidad. Este programa es shareware
  • vnc2swf. Es Open Source, está disponible para varias plataformas. Utiliza VNC, así que debes instalarte un servidor VNC. Esto tiene sus ventajas y sus inconvenientes.
  • wink. Para Windows. Permite poner "cartelitos" informativos y genera archivos SWF, EXE o PDF. Es gratuito. Su principal inconveniente es que no permite carga progresiva de la película flash. Así que el usuario tiene que esperar hasta que se carga todo el vídeo para poder empezar a verlo.

Bueno, como podéis ver hay variedad. Resumiendo, hay algunas aplicaciones que te permiten grabar lo que tienes en pantalla y guardarlo directamente como película flash (SWF) o bien se puede guardar con otro formato y luego convertirlo a .flv, tras lo cual ya se puede reproducir fácilmente desde flash. No obstante, como ya he comentado, he usado Snapz Pro X en MacOS X y genera archivos .mov que ocupan muy poco y tienen una calidad insuperable. El problema es que a la hora de mostrarlo en la web no todo el mundo tiene instalado QuickTime... Y al pasarlos a .flv ocupan mucho más y tienen menos calidad.

¿Qué programas habéis usado vosotros? Por otro lado si no se usa ningún servicio como YouTube o GoogleVideo, ¿dónde guardar los pesados vídeos? Alberto Molpeceres habla de Amazon s3. No lo conocía, voy a echarle un vistazo.

Comentarios[2]

Getting Real - conclusiones

09:48PM dic 01, 2006 in category Programacion by Alberto Gimeno

En el anterior post os hablaba del libro Getting Real. Bueno, pues me lo he leído ya unas tres veces, es genial. Muchas de las cosas que cuenta pueden ser "perogrulladas" (verdades obvias), pero son cosas que siempre deberían estar en mente al hacer cualquier tipo de aplicación.

El libro da consejos sobre cómo crear una aplicación web de éxito de forma sencilla. Se centra siempre en la sencillez. Se divide en varias partes: prioridades, selección de requisitos, el proceso, la organización, el personal de la empresa, diseño de la interfaz, el precio del servicio, la promoción,... Son pequeños consejos de una o dos páginas. Consejos muy concretos como... "céntrate en la interfaz", "es un problema cuando es un problema" (refiriéndose a la escalabilidad), "ten un enemigo" (refiriéndose a que fijándote en la competencia aprenderás a qué hacer y qué no hacer),...

Un consejo que me ha llamado la atención especialmente es... Hay tres tipos de "página": la página en blanco (sin datos), la página repleta de datos, y la página de error. La mayor parte del tiempo mientras desarrollamos una web o cualquier tipo de aplicación estamos trabajando con la interfaz gráfica llena de datos, probando el comportamiento y tal. También desarrollamos, aunque a veces no con especial énfasis, las páginas de error. Sin embargo, yo al menos, pocas veces me paro a pensar en la "página en blanco". Esto es, cuando el usuario entra por primera vez en la aplicación, ésta por lo general no contiene datos. El usuario puede sentirse frustrado, perdido, sin saber qué hacer si la interfaz no tiene datos y no sabe por dónde empezar. El libro aconseja que este tipo de pantallas es ideal para mostrar mensajes de ayuda, pequeños mini-tutoriales. A mí se me ocurre que en una aplicación de webmail se muestre al usuario con letras enormes: "Todavía no ha recibido ni enviado ningún correo. Para redactar un correo pulse en REDACTAR NUEVO MENSAJE". En fin, parece una cosa muy tonta, pero el libro me ha hecho darme cuenta de su importancia real. Y esto es sólo un ejemplo, el libro no tiene desperdicio. Lo recomiendo encarecidamente. Desde luego este libro ha cambiado mi forma de hacer las cosas.

Comentarios[1]

Getting Real

03:06PM oct 27, 2006 in category Programacion by Alberto Gimeno

Vía Versión Cero (noticia) me entero de que 37signals, popular empresa de esas que se dedican a a eso que llaman Web2.0, ha publicado un libro: Getting Real. Se puede leer gratis en la propia web, o se puede comprar el PDF o el libro impreso.

Me he permitido el capricho y yo ya lo he comprado impreso :D. Pinta muy interesante.

ribe software ya posee blog

08:34PM oct 02, 2006 in category Programacion by Alberto Gimeno

ribe software, mi pequeña criatura :P ya posee blog (en español o en inglés). Le he instalado wordpress. Todavía tengo que modificarle el aspecto para adaptarlo al aspecto del resto de la web y todavía tengo que enlazarlo desde la página principal. Pero es que quería que leyeseis la primara entrada :D. Para los perezosos el título de la entrada es ribe software estará allí: SIMO 2006.

Para el que quiera saber un poco más sobre ribe software decir que es mi pequeña criatura y que todavía está aprendiendo a ponerse de pie. SIMO será una ayuda para echar a andar. Estoy trabajando en otros proyectos, no sólo en MPO. Sobre todo mi próximo proyecto es algo con lo que voy a trabajar con muchísima ilusión. Bueno, muchas cosas tengo que hacer, mucho trabajo por delante.

Diseño y usabilidad

02:49PM sep 12, 2006 in category General by Alberto Gimeno

¿Cuántas veces has ido a conectar un dispositivo a tu ordenador mediante un puerto USB y has tenido que darle la vuelta al conector al menos una vez para lograrlo enchufar? ¡Cuánto tiempo perdido! :P Si no fuesen tan simétricos siempre conseguiríamos conectarlos a la primera.

Comentarios[2]

Aplicaciones web segunda parte: Flex

02:30PM sep 10, 2006 in category Programacion by Alberto Gimeno

Voy a responder a alguno de los comentarios de el post titulado Aplicaciones web vs aplicaciones escritorio

Cierto, me olvidé de Open Laszlo. Que es muy similar a Flex. Pero con el añadido de que es Open Source y además no sólo genera interfazes Flash sino que también genera interfaces DHTML. Sin duda un producto a tener en cuenta.

Hablaba en el otro post sobre que sería interesante que las aplicaciones Java se comunicasen de forma más sencilla con el servidor. Con esto me refería a que en Flex es muy sencillo, por ejemplo, rellenar una tabla con datos obtenidos del servidor.

Rellenando la tabla con XML y HTTPService

Tenemos la siguiente interfaz gráfica (las interfaces en Flex se definen en XML).

	<mx:HTTPService id="srv" url="catalog.jsp"/>
	<mx:DataGrid dataProvider="{srv.lastResult.catalog.product}" width="100%" height="100%"/> 
	<mx:Button label="Get Data" click="srv.send()"/>

Creamos un objeto HTTPService (similar a XMLHttpRequest en JavaScript). Luego creamos una tabla (DataGrid) y luego un botón. Al hacer click en el botón se envía la solicitud HTTP y la tabla se rellena. La solicitud se hace a una página JSP ("catalog.jsp"). Así podría ser la página JSP.

<?xml version="1.0" encoding="utf-8"?>
<catalog>
<%
	ProductService srv = new ProductService();
	List list = srv.getProducts();
	Product product;
	for (int i=0; i<list.size(); i++)
	{
		product = (Product) list.get(i);
%>	
    <product productId="<%= product.getProductId()%>">
        <name><%= product.getName() %></name>
        <description><%= product.getDescription() %></description>
        <price><%= product.getPrice() %></price>
        <image><%= product.getImage() %></image>
        <category><%= product.getCategory() %></category>
    </product>
<%
	}
%>
</catalog>

El XML es totalmente inventado por nosotros. No sigue ningún Schema ni DTD. La "magia" está en que la tabla se rellena sola de forma "inteligente". En el XML previo habíamos definido la tabla con un "dataProvider" con este valor "srv.lastResult.catalog.product". Esto es, "srv" es el objeto HTTPService, "lastResult" es el resultado de la petición, que es un documento XML dentro de el cual tenemos un tar raíz "catalog" y varios elementos "product". Pues bien, cada elemneto "product" será una fila de la tabla, y los elementos hijos serán las celdas de cada fila. Así de sencillo.

Así es como se ve la interfaz gráfica en el navegador

ejemplo data grid

Rellenando la tabla con un WebService

También se puede usar un Web Service de forma muy sencilla. Por ejemplo:

	<mx:WebService id="srv" wsdl="http://coenraets.org/services/ProductWS?wsdl" showBusyCursor="true"/>
	
	<mx:DataGrid dataProvider="{srv.getProducts.lastResult}" width="100%" height="100%">
		<mx:columns>
			<mx:DataGridColumn dataField="productId" headerText="Product Id"/>
			<mx:DataGridColumn dataField="name" headerText="Name"/>
			<mx:DataGridColumn dataField="price" headerText="Price"/>
		</mx:columns>
	</mx:DataGrid>
	
	<mx:Button label="Get Data" click="srv.getProducts()"/>

Sencillamente genial :).

Rellenando la tabla con un RemoteObject

Y luego también puedes utilizar "Remote Objects", es decir, coges un POJO Java y lo puedes utlizar desde ActionScript como si estuviera en local, como si estuvieses utilizando RMI. Por ejemplo:

	<mx:RemoteObject id="srv" destination="product"/>
	<mx:DataGrid dataProvider="{srv.getProducts.lastResult}" width="100%" height="100%"/> 
	<mx:Button label="Get Data" click="srv.getProducts()"/>

En este caso definimos un RemoteObject de nombre "srv". El atributo "destination" lo podemos considerar un alias. Este alias se define en un archivo de configuración "remoting-config.xml". Este es un pedazo de ese fichero:

    <destination id="product">
        <properties>
            <source>flex.testdrive.store.ProductService</source>
        </properties>
    </destination>

Donde flex.testdrive.store.ProductService es la clase de nuestro POJO. En el ejemplo se ve que podemos usar los métodos de nuestro POJO. Al hacer click en el botón se llama a getProducts() que es un método de nuestro POJO. Este POJO sería una cosa así...

public class ProductService {

	public List getProducts() { /* ... */ }

}

El método getProducts() devuelve una lista de objetos Product. La clase Product podría ser una cosa así:

public class Product {

	private int productId;
	private String name;
	private String description;
	private String image;
	private String category;
	private double price;

	/* métodos get y set */
}

En fin, no soy un experto ni mucho menos de Flex, pero me están gustando muchas de las ideas que aporta. Seguiré investigando :)

Todos estos ejemplos los he sacado de Flex Test-Drive for Java Developers.

Actualizado: bueno, ahora se me ocurre que en Java no sería nada complicado hacer un par de TableModels que permitiesen esta facilidad. Por ejemplo:

TableModel tableModel = new HttpTableModel(new URL("http://.../catalog.jsp"), "catalog", "product");

El primer parámetro sería la URL a la que solicitar los datos, y el resto sería un varargs indicando el nivel de anidamiento que buscar. En este caso cada elemento "product", hijo del elemento "catalog" sería una fila.

También se podría hacer un TableModel que obtuviese los datos de un Web Service.

TableModel tableModel = new WebServiceTableModel(new URL("http://coenraets.org/services/ProductWS?wsdl"), "getProducts");

El primer parámetro sería la URL donde se localiza el WSDL, el segundo parámetro sería el nombre del método, y luego habría un varargs de objetos que se utilizaría si el método del Web Service tuviese parámetros.

Quién se anima a implemnetar estos TableModels? :P

Comentarios[1]

Error gracioso de Windows

03:20PM sep 08, 2006 in category Programacion by Alberto Gimeno

Esto es lo que de repente apareció mientras usaba Windows...

error de windows

Comentarios[1]

Aplicaciones web vs aplicaciones escritorio

02:36PM sep 05, 2006 in category General by Alberto Gimeno

Quizá alguno al ver el título haya pensado... tema redundante y cansino. De todas formas voy a ello.

Desde hace mucho tiempo al hacer una aplicación a veces uno se pregunta. ¿Aplicación web o aplicación de escritorio? O lo que es lo mismo... ¿HTML o Swing/SWT/GTK/Qt/...? Para algunas aplicaciones está claro. Para otras no tanto.

Una aplicación web te da varias ventajas. Más o menos son estas...

  • Instalación. Si el usuario ha llegado a tí es que tiene instalado todo lo necesario para ejecutar tu aplicación: el navegador con el que ha llegado a tu página.
  • Actualizaciones. No hay que actualizar nada porque tampoco ha habido que instalar nada.
  • Ubicuidad. Muchas veces la razón por la que hacer una aplicación con interfaz web es simplemente porque así el usuario tiene todas sus preferencias/configuraciones guardadas en el servidor web y no en su ordenador. De este modo el usuario podrá "ejecutar" la aplicación con sus mismas preferencias y configuraciones en cualquier ordenador del mundo sin tener que instalar nada.

Sin embargo el principal inconveniente es obvio: una interfaz de usuario rica es mucho más sencilla de programar en cualquier toolkit gráfico (Swing/SWT/...) que en HTML+JavaScript. El panorama ha mejorado con AJAX. Han surgido muchos frameworks de todo tipo para facilitar la tarea: prototype, dojo, Google Web Toolkit, cualquier implementación de JSF con componentes AJAX,...

Sin embargo doy la razón a aquellos que dicen que esto es un tremendo e increíble hack. HTML no se diseñó para esto. Pero al fin y al cabo este inmenso hack funciona, es extensible y flexible y están surgiendo herramientas que, al menos, nos abstraen de los detalles oscuros :P

¿Cuánto durará esto? Pues no lo sé. ¿Se pueden hacer aplicaciones web sin tener que sufrir? Pues han surgido alternativas: Adobe Flex. Flex es sin duda, para mí, la filosofía a seguir. Una buena herramienta (Flex Builder) para hacer las interfaces de usuario, componentes ricos, drag&drop,... Todo de forma sencilla y eficaz. Pero... ¿no podíamos hacer lo mismo con los applets de java? Pues sí, más o menos. Las ventajas de flex son varias... Flash es aparentemente más ligero que un applet. En flash hay cosas muy fáciles de hacer: animaciones, efectos, streaming de audio y vídeo, una interfaz eye-candy,... Otro punto a favor es el plug-in de flash, "siempre ha estado ahí", sin embargo los plugins para Java en casi todos los navegadores no han estado todo lo integrados o no han sido todo lo transparentes que debieran bajo mi punto de vista. Pero sobre todo, la principal diferencia que veo es la herramienta de desarrollo: Flex Builder. También hay que decir, muy imporante, que el gran inconveniente de Flex es que para uso comercial es de pago.

También hay una alternativa que no conozco mucho: XUL. ¿Los inconvenientes? Sólo funciona en navegadores basados en Mozilla y, creo, que no alcanza todas las características de Flex (streaming de audio y vídeo, animaciones,...).

¿Con todo esto a qué quiero llegar? Pues a que Flex me parece el camino a seguir. Sería muy bueno tener un Flex Open Source. Quizá ya alguien lo esté desarrollando. Que pienso que se ha avanzado muchísimo en las aplicaciones web basadas en HTML, pero que en ese aspecto aún hay mucho que mejorar. Cuando veo cosas como eyeOs pienso... "Si esto existe... en algo nos hemos equivocado". Y ¿por qué pienso esto? Pues porque estos tipos se han construido un gestor de ventanas y una serie de ventanas, etc. a base de etiquetas div, getElementById,... Vamos, un trabajo a muy bajo nivel. ¡Necesitamos una tecnología mejor para construir aplicaciones web! Y sería muy bueno que estas aplciaciones se integraran en el escritorio. Quizá alguno ya lo esté pensando... sí! como Java Web Start. Quizá sería interesante mejorar las herramientas que hay disponibles en Java para que construir una aplicación desplegable con Java Web Start fuera tan sencillo como hacer una aplicación Flex. Es decir, alguna librería que simplificase aún más el diseño de la interfaz gráfica y la comunicación con el servidor.

En fín. Espero comentarios. Un saludo!

Comentarios[5]

Windows Vista, MacOS X, Linux

02:33PM sep 01, 2006 in category General by Alberto Gimeno

Durante muchos años he utilizado Windows, hasta que descubrí Linux. Más tarde me compré un ibook y descubrí las maravillas de MacOS X. Vamos, que he utilizado los tres sistemas operativos más populares en mayor o menor medida.

En los últimos años he visto como Linux iba mejorando poco a poco, y cosas que siempre habían estado allí, ahora tienen o tendrán su sustituto. Por ejemplo XFree86 - XGL y ahora los de Ubuntu se proponen sustituir a init (el sistema de arranque de Linux).

MacOS X ha seguido innovando. Ha seguido añadiendo nuevas funcionalidades a su sistema operativo sin parar y a un ritmo uniforme. Además las novedades siempre han sido implementadas de manera impresionante. Se permiten el lujo de cambiar de arquitectura de procesador, cambian el sistema de archivos para soportar una nueva tecnología: SpotLight, añaden "pijadas" impresionantes como Exposé, y ahora próximamente Spaces y Core Animation. Y la cosa no queda ahí, el otro día me quedé con la boca abierta al ver en funcionamiento Time Machine.

¿Y windows? Ah, sí... A estas alturas todo el mundo ha oído hablar de Vista. Sí, ese Sistema Operativo que lleva tantos años de retraso y que al final no llevará todas esas características tan prometedoras que iba a tener. Mientras Apple ha sacado 5 revisiones mayores de su Sistema Operativo, Microsoft no ha hecho más que sacar alguna versión beta. Sí, bueno, estoy siendo un poco sarcástico. Microsoft se ha equivocado con esta jugada, aunque tampoco importa mucho. Un estudio decía por ahí que Apple había conseguido una cuota del 12% en portátiles en EEUU. Bueno, eso sólo es en mi opinión una cifra ligeramente significativa, el resto del mundo seguirá usando Windows... Quizá no Windows Vista porque aún hay gente que usa Windows 98 (o incluso Windows 95!), pero al fin y al cabo la gran mayoría del mundo seguirá usando Windows. Al menos por el momento. De lo que no hay duda es que Microsoft no está pasando su mejor momento. Y en cuanto a Linux, mejora día a día y tiene buen futuro, pero creo que por el momento para usuarios de escritorio tardará mucho en tener una cuota de uso apreciable.

Comentarios[1]

Dojo toolkit

01:54PM sep 01, 2006 in category Programacion by Alberto Gimeno

Estoy planeando un nuevo servicio para Ribe Software. No voy a desvelar detalles, sólo daré algunas pistas. Se trata de una aplicación web que necesitará mucho Ajax y mucho javascript para que el interfaz sea intuitivo. Entre otras cosas en el interfaz necesitaré que el usuario pueda hacer drag&drop y cosas por el estilo.

Así que he empezado a mirar algunas librerías JavaScript que me faciliten la tarea. Del que más había oído hablar era de prototype; libería que utilizan otras como script.aculo.us. Pero creo que me voy a quedar con dojo. Ofrece muchos de los widgets y funcionalidades que voy a necesitar:

  • Drag and drop
  • Un componente para editar texto con formato
    editor de texto con formato
  • "Diálogos modales"
    dialogos
  • Otros componentes como: calendario, selector de colores, split panes, etc.

Por lo poco que he probado es una librería muy completa y fácil de utilizar. En la página web del proyecto podeis ver las demos, que son muy, muy buenas.

Nuevo weblog personal

10:10AM sep 01, 2006 in category General by Alberto Gimeno

Hace un par de semanas que he decidido empezar un nuevo weblog personal. Para, a partir de ahora, utilizar este weblog solamente para todo lo relacionado con la informática y la programación.

My Persistent Objects

12:39PM jun 06, 2006 in category Programacion by Alberto Gimeno

Hola a todos.

Quiero dejar constancia aquí también de que My Persistent Objects 1.0 está ya disponible.

My Persistent Objects es una herramienta orientada al desarrollo de aplicaciones que hagan uso de una base de datos.

MPO realiza todo aquel código obvio y redundante presente en cualquier aplicación que utilice una base de datos (insertar, eliminar, actualizar, y realizar busquedas de registros en la base de datos). A partir del modelo conceptual de su aplicación, MPO genera los objetos de negocio, la capa de persistencia y otros archivos como: archivos de configuración o pruebas de unidad. El desarrollo con MPO está, pues, dirigido por el modelo conceptual (model-driven).

El código generado por MPO ha sido diseñado para ser totalmente mantenible, reutilizable y escalable, y sigue las mejores prácticas (best practices) de cada plataforma y tecnología. El código de ningún modo es intrusivo y no depende de MPO de ninguna forma, de modo que si usted lo desea podrá dejar de usar MPO cuando lo desee sin perjuicio alguno.

Actualmente MPO le ayuda en el desarrollo de aplciaciones Java. El soporte para .Net, PHP y otros lenguajes de programación y plataformas está en fase de desarrollo.

La funcionalidad de MPO se divide en módulos. Cada módulo genera código para un lenguaje o tecnología diferente. Por ejemplo un módulo genera código Java usando Hibernate para la capa de persistencia, otro módulo simplemente genera los objetos de negocio y un script SQL, otro módulo genera la capa de persistencia usando JDBC, etc. Puede ampliar la información sobre los módulos disponibles. También puede navegar por los vídeos y documentación para ampliar la información sobre MPO.

Un saludo a todos. Espero que lo disfruteis. ¿comentarios, opiniones, tirones de oreja?

Propósitos de año nuevo (II)

07:15PM dic 20, 2005 in category General by Alberto Gimeno

Hace un mes os hablaba de mis propósitos de año nuevo. Pues de momento en mi "ToDo list" particular ya puedo casi tachar uno de ellos. He perdido 4 kilos de peso. Y ahora añado dos propósitos más:

  • Aprender a tocar bien la guitarra eléctrica. Unos amigos y yo vamos a quedar los domingos en un centro cívico para tocar. Ayer mismo me compré la guitarra. Guitarra eléctrica + amplificador + funda + correa + garantía de 2 años con cambio de cuerdas gratis cada 6 meses = 166 euros :D. Estamos una teclista, una chica que canta genial, otro guitara, un batería y otro que es polifacético jeje.
  • Ya que estamos con instrumentos musicales, quizá me compre un saxo. He visto una oferta de un saxo por 299 euros + 20 euros de gastos de envío.
  • Dar la vuelta al mundo? He descubierto OneWorld. Es una alianza de compañías aéreas que ofrece paquetes de viaje. Ejemplo: por $800 puedes hacer un tour por Asia
    itinerario tour por Asia
    Estaría genial viajar por el mundo con el saxo colgado a la espalda y tocar en las grandes plazas de las capitales del mundo :D

Comentarios[1]

Propósitos de año nuevo

09:39PM nov 21, 2005 in category General by Alberto Gimeno

Bueno, aún queda más de un mes para que termine el año, pero ya tengo definidos mis propósitos para el año que llega.

  • Sacarme el carnet de conducir. Mañana mismo me apunto a la autoescuela!!
  • Ponerme en forma. Ya estoy apuntado en el gimnasio :P La vida sedentaria de un informático pasa factura
  • Terminar la carrera. Que ya estoy bastante hartito de alguna asignatura y de algún profesor.
  • Crear una empresa. Sí, sí, alguno quizá lo sepa ya si ha leído los foros de planeta código. Ya está todo en trámites. Esta es una de las causas de que durante el último año haya estado algo ausente. Tengo varias ideas, y ninguna de ellas requiere inversión económica, sólo tiempo de desarrollo. Y como no tengo que pagar hipoteca ni coche ni nada, no pierdo nada por intentarlo. Alguno pensará que se me va la cabeza, bueno ya veremos dentro de unos meses.

Bueno, un año movidito jeje. También querría irme de viaje a Argentina, la India o Japón, pero no encuentro con quién. Os apuntais?

Comentarios[5]

Qué pasa con MPO...

10:44AM oct 26, 2005 in category Programacion by Alberto Gimeno

Hace mucho que no hablo de MPO. MPO para quién no lo sepa es una aplicación que llevo un tiempo desarrollando. Se encuentra segunda en el ránking de descarga de javaHispano.net.

Pues bien, hace mucho que no hablo de ella, pero eso no significa que no siga desarrollándola. Os quiero enseñar una demo para que veais lo mucho que ha cambiado. MPO ahora soporta herencia, relaciones, colecciones, componenetes (a la Hibernate), y estoy trabajando para que genere código para muchos frameworks. La demo es muy, muy sencilla y hay cosas por depurar. Es simplemente para que os hagais una idea y me digais qué os parece. ver demostración.

Un saludo.

Comentarios[7]