TBO, artículo para novática

TBO's picture

Como finalista en el Concurso Universitario de Software Libre del año pasado, la revista novática me ha pedido que escriba un artículo sobre mi proyecto. Como lo acabo de terminar, lo voy a publicar aquí tal cual.

TBO, Editor sencillo de cómics para GNOME

TBO pretende ser un editor sencillo de cómics para el escritorio GNOME. Presentando una interfaz simple y sencilla que ofrezca la posibilidad de realizar cómics a cualquiera.

Introducción

Una forma simple y eficaz de contar una historia es a través de un cómic.

Contar algo en forma de cómic es interesante por diferentes motivos:

  • Hace una historia mucho más amena.
  • Cuando algo va enfocado a niños es un formato mucho más eficaz.

Existen multitud de aplicaciones libres que sirven para dibujar cómics y son bastante potentes, sin embargo para utilizarlas se requieren habilidades avanzadas de diseño, por lo que no todo el mundo puede realizar un cómic a partir de una historia de manera simple.

Por otra parte, con la llegada de iternet a todo el mundo, ha habido un boom en los contenidos proporcionados por usuarios, en los blogs y las redes sociales, y existen multitud de tiras cómicas que se publican periódicamente en diferentes blogs, al igual que las tiras que se publican en los periódicos tradicionales.

Problema

Para realizar un cómic digital es necesario controlar una herramienta de diseño, además de tener los conocimientos básicos sobre dibujo para poder crear personajes y así poder contar una historia gráfica.

Además, muchas de las tiras cómicas, y cómics utilizan los mismos modelos (personajes) una y otra vez, y si utilizas una herramienta tradicional acabas dibujando una y otra vez lo mismo.

Por lo tanto, las personas que no tienen habilidades para el diseño, y quieren llevar a cabo una historia gráfica no tienen la posibilidad de hacerlo.

Por otra parte, las personas que realizan un cómic de manera periódica están dibujando continuamente lo mismo, para contar diferentes historias, por lo tanto están dedicando más tiempo del necesario.

Solución

TBO pretende ser la solución a estos problemas. La idea principal del programa es proveer una interfaz sencilla con modelos pre diseñados, de tal forma que dibujar un cómic sea tan fácil como arrastrar modelos y escribir el texto.

Motivos personales por los que se desarrolla TBO

La motivación principal para el desarrollo de TBO es una necesidad personal. Llevo más de cuatro años dibujando una tira cómica semanal en la web linuxhispano, y cada semana tenía que dedicar alrededor de una o dos horas para dibujar una nueva tira.

Así que pensé en realizar un programa que me facilitara la tarea, y que me ahorrara el mayor tiempo posible, y de esta idea nace TBO.

Desarrollo

Arquitectura

Un cómic de TBO consta de diferentes partes:

  • Cómic: Es el objeto principal, tiene un tamaño de página.
  • Página: Un cómic tiene una o varias páginas. Una página tiene una posición dentro del cómic.
  • Viñeta: Una página tiene cero, una o varias viñetas. Una viñeta tiene una posición dentro de una página, así como un tamaño, un color de fondo y un borde.
  • Objeto: Dentro de una viñeta existen cero, uno o más objetos. Estos objetos tienen una posición dentro de la viñeta, así como un tamaño, y una rotación. Además un objeto puede estar reflejado tanto horizontal como verticalmente.

Existen diferentes tipos de objetos, cada uno con sus propiedades:

  • SVG: es un modelo svg, que se dibuja a partir de una ruta a un fichero svg.
  • Pixmap: una imagen, actualmente sólo están soportados los ficheros png.
  • Texto: un objeto de tipo texto consisten en un texto, con propiedades de fuente y color.

Interfaz

Los editores gráficos normalmente ofrecen una interfaz bastante compleja puesto que tienen que ofrecer la posibilidad de realizar cualquier diseño o dibujo.

Sin embargo TBO es algo bastante espécifico, por lo tanto la interfaz tiene puede ser bastante más sencilla.

La interfaz muestra una area de dibujo, donde se irán metiendo los modelos, y una zona de herramientas. Además, puesto que un cómic puede presentar diferentes páginas, se utilizan pestañas para cada página.

Existen dos modos de edición, y durante el dibujo de un cómic se pasa tiene que pasar de uno a otro para poder realizar diferentes modificaciones.

El primer módo es el de edición de página, dónde puedes añadir viñetas, redimensionar o mover las viñetas ya existentes.

Al hacer doble click sobre una viñeta se entra en el modo de edición de viñeta, donde se pueden añadir modelos, texto e imágenes png.

La interfaz ofrece la posibilidad de exportar un cómic a diferentes formatos, como por ejemplo, png, pdf y svg.

Librerías gráficas

Para el desarrollo de TBO he utilizado Cairo, que es la librería gráfica que se usa en GNOME para dibujar.

Cairo ofrece herramientas de dibujo vectorial, por lo tanto puede ser escalado al tamaño que se quiera sin perder calidad.

Los modelos prediseñados son ficheros svg y para su manejo se utiliza librsvg.

Utilizar Cairo prácticamente no fue una decisión, puesto que es la librería que utiliza inkscape (un editor svg para diseño), y muchas más aplicaciones GNOME para el dibujado.

Formato de ficheros

Para almacenar un fichero .tbo y poder editarlo en un futuro he diseñado un tipo de fichero sencillo.

En el fichero .tbo sólo se almacena texto, por tanto las imágenes se almacenarán como rutas a los diferentes ficheros, por tanto, para poder pasar un fichero .tbo a otra persona hay que pasar también las diferentes imágenes utilizadas, aunque si sólo se utilizan modelos básicos del programa, esto funcionará sin problemas ya que estos modelos van en el programa en sí.

El fichero se almacena en formato xml, guardando las propiedades básicas de un cómic, por lo tanto un fichero .tbo es fácilmente editable a mano o a través de un script.

Factores innovadores del proyecto

Antecedentes

Existen multitud de aplicaciones libres con las que se pueden realizar cómics, como por ejemplo gimp, inkscape, etc. Sin embargo, estas herramientas son bastante generales y por tanto algo complejas. No existe una herramienta específica para el dibujado de cómics como tal.

Aportaciones de TBO

TBO ofrece una interfaz sencilla y una forma un poco diferente de dibujar cómics, centrando el dibujado de un cómic en la historia en sí, no en el dibujo y separando así lo que es el dibujo de personajes o modelos de la maquetación de la historia en un cómic.

Por qué C y GTK+

En un principio pensé en desarrollar el proyecto en python, porque es un lenguaje que ya domino. Pero pensándolo bien me di cuenta de que haciéndolo en C posiblemente aprendiera mucho más, y así ha sido. El desarrollo del proyecto en C me ha ayudado a aprender mucho más acerca de las librerías GTK, glib y gobject.

El desarrollarlo en GTK y para el escritorio GNOME fue una decisión fácil, puesto que es el escritorio que uso normalmente, y por tanto quería hacer el desarrollo para que se integrara perfectamente en mi sistema.

Colaboración

TBO es un proyecto GNOME, por lo tanto la colaboración en este proyecto implica colaboración con el escritorio GNOME, que es uno de los escritorios más usados en los sistemas operativos GNU/Linux.

Busco colaboración en el proyecto principalmente para que no dependa únicamente de un desarrollador, sino que el desarrollo, mantenimiento y difusión se haga desde una comunidad de desarrolladores.

Aún quedan muchas cosas que se pueden desarrollar para TBO y quedan muchos bugs por corregir.

Animo a todo el mundo a colaborar en el proyecto ya sea usándolo y reportando bugs, o mandando pequeñas modificaciones, sugerencias o cualquier comentario.

Además, TBO es un buen proyecto para adentrarse en el desarrollo de aplicaciones gráficas con GTK+, puesto que es relativamente sencillo.

Me gustaría colaborar, pero no se por dónde empezar

El mejor lugar por el que empezar es preguntando. Si quieres colaborar en el proyecto, porque tienes una idea de mejora, o simplemente porque te interesa el proyecto, y no sabes por dónde empezar, manda un correo a dani@danigm.net y con mucho gusto te explicaré el estado del proyecto y podremos crear una comunidad de desarrollo del proyecto.

Soy estudiante y me gustaría estudiar TBO

Si quieres estudiar el funcionamiento de TBO, descargarte el código y empieza a mirarlo, si no entiendes algo, no dudes en preguntar. Si crees que puedes mejorar algo, no dudes en modificar el código y enviar el parche, cualquier mejora al código será bienvenida.

No se programar, pero me interesa el proyecto y quiero colaborar

Si no sabes programar, o no eres informático, también puedes colaborar en el proyecto. Si eres diseñador, puedes dibujar nuevos modelos, que se pueden añadir a la biblioteca básica de modelos del programa. Se puede hacer publicidad del proyecto, darlo a conocer, o simplemente reportar problemas que un usuario se encuentra al intentar usarlo.

Si quieres colaborar de alguna manera, y no sabes cómo, ponte en contacto con danigm (dani@danigm.net) y nos coordinaremos para hacer de TBO un proyecto mejor.

Enlaces de interés

El desarrollo del proyecto: http://git.gnome.org/browse/tbo
Wiki del proyecto: http://live.gnome.org/TBO

Conclusión y futuro

El concurso universitario de software libre se vió como una oportunidad para motivar un desarrollo necesario, dado que TBO nace de una necesidad personal.

Desde la primera versión funcional, antes de finalizar el concurso, empecé a utilizar tbo para dibujar mi tira cómica semanal, lo que motivó muchos cambios y desarrollos que no estaban contemplados en un primer momento, pero que con el uso se vieron necesarios.

El participar en el concurso ha sido una motivación para llegar a "finalizar" el proyecto por tener una fecha límite, permitiendo así disponer de este editor de cómics en un tiempo razonable.

Comunidad

Después del concurso empecé a mover el proyecto por la comunidad de GNOME, y finalmente conseguí que se metiera el proyecto como proyecto oficial de este escritorio.

Hay gente que lo utiliza y he recibido un par de colaboraciones, pero todavía no existe una comunidad grande y constante ni de usuarios ni de desarrolladores, por lo tanto, aún queda mucho trabajo por hacer aquí.

Futuro

Al ser el editor que utilizo para realizar mi tira, hoy en día es un proyecto imprescindible para mí, por tanto seguiré desarrollándolo y haciendo pequeñas modificaciones al proyecto para que siga siéndome útil.

Comments

10
Monigote's picture

¿Esto podría ser de utilidad para traducir tebeos (scanlations)?

gatlin's picture

Que bien as tirado tierra a tu propio tejado. Ahora los creativos he ilustradores lo tenemos aun mas dificil para trabajar.

Monigote's picture

Con esas faltas de ortografía menudos engendros que vas a "crear".

Monigote's picture

Great post, Mason! A fantastic summary/overview.
Thanks for the work! Keep going!

Guile's picture

Y ni una imagen de ejemplo. Gran post (IronyMode = On;).

Miriam Ruiz's picture

Ahí teneis una versión preliminar del programa empaquetado para Debian y Ubuntu: http://ppa.launchpad.net/miry/ppa/ubuntu/pool/main/t/tbo/

txongoku's picture

Felicidades, es una buena aplicacion, me ha petado un poco al cambiar las fuentes de texto, pero tiene muy buena pinta.

ubuntu 10.10

visitante's picture

hola

felicitaciones por tu trabajo y no hagas caso a los trolls. se pueden hacer faltas de ortografia y dibujar comic inmejorables o programar muy bien.

te quisiera pedir si puedes colgar alguna captura de pantalla del programa. me gustaria verlo antes de instalarlo.

la gratitud no esta hecha para el troll pq no sabe ver mas q los defectos. no le dediques tu tiempo :)

gracias por dedicarnoslo a los q si te valoramos!!!!

seriematic's picture

unas capturas de pantalla vendrían muy bien para apoyar el artículo

templix's picture

me anda de maravilla.... voy a emplearla para mis historias...