Buscar
Social
Ofertas laborales ES
« JBoss Transactional File I/O: Transacciones para ficheros | Main | Como integrar varias herramientas de QA en un proceso de integración continua »
miércoles
sep032008

Join'g (AKA WebPC) Beta disponible para evaluación

Después de casi dos años, hemos publicado Join'g (al final se llama así).

Ya sé que a estas alturas nadie creía que el proyecto siguiera vivo, pero han sido dos años de mucho trabajo y de muchas complicaciones.
No es fácil llevar a cabo un proyecto tan complejo y hacerlo en el escaso tiempo libre que uno tiene.

Al proyecto le falta mucho por hacer (sobre todo de la parte del cliente), pero miradlo con ojos de futuro: pensad en las posibilidades, no en el estado actual.

 

Primero los méritos

Un millón de gracias a Antonio Varela que ha hecho el Bootstrap, ha aportado geniales ideas y ha estado todo este tiempo apoyando el proyecto.
Otro millón de gracias para Fernando Ortigosa que se ofreció cuando solicitamos a alguien aquí en JH y que ha hecho un estupendo trabajo con JSF y que ahora se encarga de la parte de gestión de login y de usuarios del lado del servidor.

Cómo jugar con Join'g

He instalado un servidor en mi casa (Ubuntu 7.10) que podéis utilizar para jugar con Join'g.
El cliente de Joing se lanza (vía Java Web Start) desde la página (previamente hay que darse de alta como usuario):

http://www.peyrona.dnsalias.com:8080/Joing-Server-war/

La oficial es: http://www.joing.org  (pero por algún motivo que solucionaremos en breve no re-direcciona bien)


Por favor, tened en cuenta que sólo tengo una ADSL muy cutre, así que no os extrañéis si todo tarda una eternidad. Y si no funciona para nada, por favor, intentadlo más tarde: puede que el servidor esté saturado (no, no tengo puesto el aMule).
Nota: estoy buscando un servidor de verdad con un ancho de banda apropiado.

Por otro lado, lo único que necesitáis para ejecutar Join'g es la versión 1.6 del JRE.

  1. Hay que darse de alta como usuario (en el campo "email" poned cualquier cosa, por ahora no se usa).
  2. Lanzar la parte cliente (vía JavaWebStart) desde el botón "start" de la web.
  3. En el diálogo introducid el nombre de usuario y la password (esperad a que se descarge el desktop)

 

Algunas consideraciones previas

  • Todos los datos (usuarios, ficheros, etc.) puede que sean borrados al finalizar este periodo de pruebas por lo que no guardéis en el servidor información delicada.
  • Como la base de datos no está encriptada, no uséis la misma contraseña que la de vuestro banco.
  • Si estáis detrás de un proxy, podéis configurarlo con una utilidad gráfica que está en: Start --> Sistema --> ProxyConfig.
  • Cualquier duda que pueda surgir, será respondida (preferentemente en inglés) desde los "Discussion forums" de la web del proyecto: https://joing.dev.java.net/servlets/ProjectForumView

 

En qué estado está el proyecto

De los objetivos marcados, hemos conseguido el 80%. Y cada pieza (de ese 80%) está implementada en mayor o menor medida: algunas al 80%, otras al 50% y otras al 20%.

A continuación os dejo una captura de PDE (PDE es a Join'g lo que KDE o Gnome son a Linux) y describo lo que se ve (de arriba a abajo y de izq a dcha:

 

   
  • Dos accsesos directos (launchers) uno a un directorio y otro a una aplicación (calculadora).
  • Una ventana con un file explorer mostrando parte de los ficheros del escritorio de mi portátil.
  • Una ventana con el monitor del sistema (System Monitor) mostrando la pestaña de consumo de memoria (como se ve Join'g consume realmente poca memoria).
  • Una ventana (con foco) con un sencillo editor de textos que muestra dos ficheros, uno local y uno remoto (almacenado en www.joing.org)
  • Una ventana con un visualizador de imágenes que muestra tres imágenes, dos locales y una remota (almacenada en www.joing.org).
  • El botón de inicio mostrando a un usuario (se llama "Guest Guest User" (un nombre poco común)) con el menú de inicio abierto y su submenú de "Accesorios".
  • Una barra de tareas con 4 aplicaciones (Notes es la seleccionada). El ratón estaba sobre el botón correspondiente al System Monitor, por ello muestra (a modo de tooltip) una miniatura de la aplicación.
  • Un selector de escritorios: de los tres disponibles, el seleccionado es el primero (en rosa, los otros en gris ocuro).
  • Un reloj que muestra la fecha y la hora.

 

Bugs destacados

  • Quizás el más visible de todos es que la primera vez que se arrastra una ventana, ésta "se guarrea": basta con hacer clic en el escritorio de Join'g, fuera del área que ocupa la ventana para que aparezca. El resto de las veces que se arrastra funciona con normalidad.
  • Los eventos de teclado no llegan a las aplicaciones. Creo que el problema está en un bug con algunos eventos AWT. Como consecuencia, los dos juegos (Tetris y PacMan) no son jugables.
  • No considero que sean bugs la falta de funcionalidad (y problemas en el refresco visual), pero como ya he dicho, de esto hay mucho...
  • Un falta de funcionalidad clara está en que los "lanzadores" que creemos en el desktop, no serán guardados para siguiente sesión. Es decir los iconos del escritorio (al igual que el resto de propiedades: color, imagen de fondo, etc) se perderán al cerrar la sesión (falta serializar el estado).

 

Cómo podéis ayudar

Si has llegado hasta aquí y sigues leyendo: gracias.
Como los usuarios de JH sabéis, Join'g existe porque vosotros lo pedísteis, así que ahora os toca cumplir con vuestra parte y apoyar el proyecto, que no es de Antonio, de Fernando ni mio, sino de todos los que lo usen y los que lo mejoren.

Para ayudar:

1. Portando aplicaciones existentes para se integren con Join'g: es trivial hacer que cualquier aplicación Java existente se integre con Join'g.
Hay una aplicación (Notes, un editor de textos simple) que está terminada al 90% y bastante documentada. Este es un buen punto de comienzo.
Estoy trabajando en un manual que en breve estará disponible en la pag. web del proyecto (lo anunciaré en JH):
    https://joing.dev.java.net/
Y además intentaremos daros todo el soporte posible mediante los foros de la página del proyecto.

2. Creando o portando una aplicación de 1/4 de litro (250 c.c.)
Básicamente se trata de crear aplicaciones que cubren el 90% de las necesidades de un usuario promedio, pero que (una vez compiladas y comprimido el JAR) no ocupan más de 250 Kb (aprox.). Estas aplicaciones tendrán un tratamiento preferente en Join'g.
Algunos ejemplo son: reproductor de música, cliente de email, visualización de fotos, hoja de cálculo, proceso de textos, etc.
Lo mismo que antes: si tenéis una aplicación de las básicas y comprimida no ocupa más de 250 Kb, portadla, por favor, no os llevará más de 2 o 3 hrs de trabajo.
Algunas de estas aplicaciones cuentan con tutoría, es decir, si tenéis una app. hecha y os gustaría portarla a Join'g, poneos en contacto con Antonio, Fernando o conmigo, la evaluaremos y si queda aceptada, contaréis con nuestra ayuda personal (no sólo mediante foros) para portarla a Join'g.

3. Resolviendo alguno de los muchos bugs existentes: te bajas el proyecto de java.net (si usas NetBeans lo tienes chupado), lo compilas, juegas, encuentras un bug, encuentras la solución y la envías por email (código + comentarios, por favor) a Antonio, Fernando o a mi.

4. Asumiendo el liderazgo de un proyecto muy especial: integrar OpenOffice dentro del Join'g. No es complicado pero sí que es el más importante de entre los pendientes de iniciar. Si alguien ya ha trabajado empotrando OpenOffice en un JPanel le rogamos que se anime a iniciar este proyecto.

5. Formando parte del core-team.
Los integrantes del core-team tienen acceso a las partes más delicadas de Join'g, y por ello hemos decidido que para otorgar a alguien acceso completo (lectura y escritura) a estas partes de Join'g, se haga por méritos (como ocurre en otros muchos proyectos): quien demuestre su interés por el proyecto y su buen hacer, podrá (si lo solicita) formar parte del core-team. Por ahora este equipo lo integramos Antonio, Fernando y Peyrona.


Despedida

En fin, esperamos que os guste y que participéis. Nosotros hemos cumplido con nuestra palabra: hemos trajado duro, quitado tiempo a familia y amigos para construir las bases; el resto, depende de vosotros...

Gracias a todos.
Antonio Varela, Fernando Ortigosa y Peyrona.

Reader Comments

There are no comments for this journal entry. To create a new comment, use the form below.
Comentarios deshabilitados
Comentarios deshabilitados en esta noticia.