Posiblemente los usuarios de tecnologías libres que no somos asiduos a dar conferencias mediante presentaciones; tal vez, nos conformamos con las herramientas que nuestro sistema favorito trae instalado por defecto, como puede ser el caso de LibreOffice Impress o Calligrastage; sin embargo, existen otras herramientas de presentación que también pueden hacer de nuestra charla o conferencia una gran experiencia.
Una de esas herramientas que captó mi atención a pesar de no tener un desarrollo acelerado es Pinpoint, una pequeña aplicación escrita en C cuyo tamaño no supera 1 MB; su objetivo, texto conciso y bellas imágenes de fondo. Es relativamente simple, rápido y dinámico.
La herramienta fue creada con orientación a hackers (en el buen uso de la expresión hacker); se centra en hacer presentaciones basadas en texto fuente; para lo cual, es desplegado en pantalla luego de ser interpretado por pinpoint de acuerdo a las configuraciones hechas por el usuario.
Características:
Posición de texto y duración:
- [duration=5.000000]
- [left] [right]
- [top] [top-left] [top-right]
- [bottom] [bottom-left] [bottom-right]
- [center]
- [text-align=center] [text-align=left] [text-align=right]
Básicamente nos permite situar el texto en todas las posiciones posibles; además de justificarlo mediante la alineación (izquierda, central, derecha). La posición central es la predeterminada. En cuanto a la duración (opcional), se fija un tiempo por cada diapositiva las cuales harán su transición de forma automática.
Estilo de fuente, color de texto, cambio de fondo y el posicionamiento de texto para predeterminado global; y por las anulaciones de diapositivas:
- [font=Sans 50px]
- [red]
- [text-color=white]
Antes de la primera linea de la diapositiva marcada por el guión (-), se define un pequeño preámbulo donde se establecen las opciones para toda la presentación, puede ser una imagen, un color de fondo en particular y otras opciones mencionadas.
En el caso de una imagen borrada accidentalmente, se mostrará el fondo predeterminado global; si se opta por no definir imagen o color en el preámbulo, se mostrará un fondo negro.
Imágenes y videos de fondo:
- [bg.jpg]
- [vídeo.ogg]
En cualquier diapositiva se podrá colocar una imagen distinta a la determinada en el preámbulo como así también videos.
La transición de diapositiva (imagen/fondo) al video se logra prácticamente de forma instantánea.
Marcado dentro de las diapositivas:
- [no-markup]
- <s></s>, <b></b>, <span foreground=’color’></span>, <u ></u>, <sup></sup>, <i ></i>
Uso de las etiquetas más comunes (subrayado, itálica, negrita, superíndice, coloreado…) están plenamente soportados mediante la herramienta Pango. La opción [no-markup] es utilizada para mostrar el texto fuente; no el resultado del mismo.
Transiciones, ampliable a través de JSON:
- [fit] [fill]
- [transition=text-slide-up] [transition=text-slide-down] [transition=spin-text]
- [transition=swing] [transition=sheet] [transition=page-curl-both]
- [transition=slide-left] [transition=slide-up] [transition=slide-in-left]
Se puede disfrutar de hermosas transiciones, efectos en texto y background son accesibles de forma independiente; además, tiene la posibilidad de redimensionar la pantalla adaptándose el texto a ella. La opción [fill] mantiene la imagen de fondo en modo de ampliación, mientras que [fit] es en modo centrado, este último es el predeterminado.
Uso de Viñetas:
- ❥ • ✽ ✩ ✔ ☃ ◦
Gracias al soporte Unicode se pueden utilizar todos los caracteres especiales.
Exportación a PDF:
La presentación puede ser exportada escribiendo en la Terminal el siguiente comando:
$pinpoint presentación.pin -o presentación.pdf
Incorporación de los comandos a ejecutar para demostraciones en diapositivas, con línea de comandos editable durante la presentación:
- [command=killall xterm ; xterm]
Tenemos la posibilidad de ejecutar un comando en cualquier momento de la presentación presionando la tecla Tab para abrir el SHELL; o bien, invocando el comando en la/s diapositiva/s que el editor elija en el texto fuente, luego este se desplegará en la parte inferior de la pantalla; el cual podrá ser ejecutado mediante la tecla Intro .
Monitoreo de archivo de origen con actualizaciones en tiempo real de la diapositiva modificada para la creación:
Algo muy útil, ya que podemos mantener el editor de texto y pinpoint (ventana siempre encima) abiertos en pantalla, hacer cambios en el texto fuente y al pulsar “Guardar” automáticamente se actualizará el cambio en la presentación en el lugar donde se realizó la modificación o adición de nuevo código.
Inhibición de screensaver y pantalla presentadora (se activa pulsando la tecla F1); donde tiene notas del expositor, diapositiva actual, miniaturas de diapositiva anterior/siguiente y un temporizador.
Instalación:
Debian GNU/Linux y derivados:
$sudo apt-get install pinpoint
Arch Linux:
$sudo yaourt -S pinpoint
Para invocar la presentación podemos hacerlo de dos maneras:
En la Terminal y situados en la carpeta donde está nuestro archivo de texto fuente junto a las imágenes y videos que tuviéramos para la presentación, por ejemplo: introducción.pin
$pinpoint introducción.pin
En el caso de haber creado una variable de entorno (#!/usr/bin/env pinpoint) como en el archivo introducción.pin y con permisos de ejecución, este será ejecutado con un simple click del mouse.
$sudo chmod +x introducción.pin
Operaciones con teclado y mouse:
Down/Up; Right/Left: Avance/Retroceso.
Space: Avance.
Intro: Ejecuta comando.
Tab: SHELL para invocar comando.
F11: Full screen.
F1: Pantalla presentadora.
Botón del mouse Izquierdo/Derecho: Avance/Retroceso.
Al finalizar el artículo los usuarios interesados podrán descargar una presentación de proxmox realizada por el ponente: Eduardo Roldán Malo de Molina; la cuál la adapté a una presentación para pinpoint, además los ejemplos utilizados en este artículo. También pueden encontrar una presentación en inglés auto-explicativa con todas las opciones disponibles en «/usr/share/doc/pinpoint/examples/introducción.pin«. Todas pueden ser modificadas a gusto del usuario, utilízalos para experimentar y aprender.
Creando una presentación:
Hacer una presentación en relativamente sencillo, solo debemos contar con un editor de texto como Gedit, nano u otro de su preferencia.
Mostraré algunos ejemplos simples que luego se irán completando con más opciones (imágenes, sombreado, efectos…); si bien algunas no son tan indispensables mejoran nuestra presentación.
El protagonista principal en toda presentación es el guión (-) este define donde comienza cada diapositiva, y como condición sine qua non debe escribirse pegado al margen para que se genere la transición entre ellas. Yo utilicé 3 guiones (- – -) para que se observen bien los cortes entre diapositivas, pero es igual a utilizar 1, 2, 5 o los que fueren, no hay una regla escrita; está en cada uno.
ejemplo_1.pin:
#!/usr/bin/env pinpoint --- #ejemplo simple de presentación Entornos de Escritorios: KDE SC Gnome Xfce --- Gestores de Ventanas: Fluxbox Openbox PekWM --- Fin de presentación
ejemplo_1.pin produce:
En este ejemplo ya tenemos una presentación de 3 diapositivas (transiciones) sin ninguna opción predefinida (tanto global como en el resto de las diapositivas), se mostrará simplemente una pantalla negra con letras blancas; y aunque no está mal, no es lo que busco en mi presentación.
En el siguiente definiré un preámbulo con algunas opciones globales (acompañarán a toda la presentación; salvo en donde se especifique otra opción) como color de fondo y texto, tipografía y opacidad.
ejemplo_2.pin:
#!/usr/bin/env pinpoint [brown][font=Sans Bold 50px][text-color=orange][shading-opacity=0.45] #se define color de fondo, tipografía, color de texto y opacidad para toda la presentación salvo donde se especifique otra opción. --- Entornos de Escritorios: KDE SC Gnome Xfce ---[gray][text-color=blue][shading-opacity=0.25] #se especifican opciones para esta diapositiva. Gestores de Ventanas: Fluxbox Openbox PekWM ---[text-color=cyan] Fin de presentación
ejemplo_2.pin produce:
Un último ejemplo dónde definiré un fondo con imagen/es, efectos de texto y fondo, uso de etiquetas y viñetas, posición de texto, ejecución de un comando y sombreado/opacidad.
ejemplo_3.pin
#!/usr/bin/env pinpoint [bg4.jpg][fill] [shading-opacity=0.50] [font=monospace 50px] ---[bg3.jpg][font=Sans Bold 100px][text-color=gray][bottom][text-align=center][shading-opacity=0.15][transition=slide-left] <span background='red'><span foreground='white'>G</span></span><span background='white'><span foreground='red'>UTL</span></span> Distribuciones Linux: --- <span foreground='black'><span background='orange'><b><i> Distribuciones orientadas a empresas y servidor: </i></b></span></span> • RHEL (Red Hat Enterprise Linux) • SLES (Suse Linux Enterprise Server) • CentOS • Debian GNU/Linux • Ubuntu Server ---[text-align=center][shading-opacity=0.35][transition=text-slide-up] Distribuciones basadas en rmp: Fedora OpenSuse Mageia OpenMandriva ---[bg6.jpg][top][text-align=center][transition=page-curl-both] Distribuciones basadas en deb: Debian GNU/Linux Ubuntu Linux Mint Kubuntu Lubuntu elementary ---[command=xterm][transition=swing][font=Sans bold 50px] Un ejemplo práctico del comando lsof en consola: ---[font=DejaVU Sans 100px][transition=spin-text] FIN
ejemplo_3.pin produce:
Configuraciones extras:
Podemos configurar Gedit y otros procesadores de texto basados en gtksourceview-3.0 para obtener resaltado de sintaxis.
- Establecer un nuevo tipo de mime (text/x pinpoint) para los archivos pinpoint con extensión *.pin
En mi caso particular en Debian wheezy tuve que crear la carpeta packages:
$mkdir ~/.local/share/mime/packages $cp x-pinpoint.xml ~/.local/share/mime/packages/ $update-mime-database ~/.local/share/mime
- Copiar archivo de resaltado:
$cp pinpoint.lang ~/.local/share/gtksourceview-3.0/language-specs/
En caso de que la carpeta gtksourceview-3.0 no se encuentre en ~/.local/share/:
$sudo cp pinpoint.lang /usr/share/gtksourceview-3.0/language-specs/
Conclusiones:
Para ser una herramienta que no supera 1 MB. de tamaño está bastante bien; apenas consume recursos, y aunque está destinada a presentaciones con pocas lineas de texto el resultado con lineas más extensivas se ven bien en mi monitor, en un proyector debería ser aún mejor.
Esta pequeña herramienta nos puede sacar del paso si no contamos con tiempo; ya sea porque estamos en una conferencia y se nos convoca para realizar una presentación de último momento; o un expositor no pudo asistir y se necesita cubrir ese espacio con el mismo tema u otro; a tal caso, para un usuario que está acostumbrado a trabajar sin herramientas gráficas le puede resultar muy atractivo, solo basta abrir un editor de texto y empezar a escribir y cortar con guiones, elegir un bonito wallpaper y listo.
Por último comentar que futuras ideas pueden ser implementadas a Pinpoint, algunas de ellas:
- Arrastrar y soltar imágenes de Flickr.
- Recortar/escalar imágenes de alta resolución para evitar grandes presentaciones que causen el uso excesivo de memoria.
- Selector de diapositivas Visual, para volver a una parte particular de la presentación durante el Q & A, probablemente mostrando las diapositivas en una cuadrícula.
- Un procesador de HTML.
- Las esquinas redondeadas en el sombreado.
- Visor de ecuaciones LaTeX.
Descargas:
archivos resaltado de sintaxis
Fuente:
https://wiki.gnome.org/action/show/Apps/Pinpoint?action=show&redirect=Pinpoint
Reviso GUTL de arriba a abajo y nunca he leído algo mejor explicado que este POST. Mis respetos y tomo noto de como redactar un POST explicativo
Muchas gracias; tanto GUTL como los sitios hermanos son mi lectura diaria. Cuando redacto un artículo muchos de ustedes son una referencia para mi, también la guía de redactores es un gran apoyo.
Saludos.
Saludos a todos, igualmente te felicito por la calidad del post, en particular por la claridad de exponer el tema. Con relación a este tipo de aplicaciones, hace un tiempo publicamos en artículo dando a conocer otra alternativa con los mismos fines para realizar una presentación, aquí les dejo el vínculo para los que no habían leído.
http://swlx.cubava.cu/impressive-un-gestor-de-presentaciones-poco-conocido/
Saludos
Carlos Parra Zaldivar
Genial, ¿quién necesita Microsoft Powerpoint? esto es un ejemplo de que con una app bastante chiquita se pueden hacer cosas, con tremendo estilo y calidad. Me instalo el Pinpoint ahora mismo y a probarlo, me descargo los ejemplos y +10 por el post me gustó y también me lo llevo. 🙂
Fueron solo 740 Mb a descargar, cosa que me alegra.
Felicidades por tu post, pero en verdad a mi no me extraña, realmente siempre hemos recibido de ti lo mejor, así como tu siempre oportuna e incondicional ayuda. Gracias. 😀
Incluso se puede crear un editor (si es que no existe) y así quien utilice esta app no es esclavo de recordar tags, token o como se le llame a las palabras que definen la apariencia de la presentación, la idea sería un GUI con opciones como: color, tamaño y tipo de letra, texto en negrita, cursiva y subrayada, color e imagen de fondo, etc.
Hace un tiempo junto a Delio manejamos la posibilidad de desarrollar un editor de presentaciones pero estas creadas con CCS3 y HTML5. Pero otros proyectos de mayor interés nos han impedido realizarlo.
Fe de errata:
donde dice CCS3 y HTML5 debe decir CSS3 y HTML5
disculpen el error
Hmm.. con GUI no estaría mal, pero por mi se puede quedar tal y como está pues, es bastante usable. Ayer lo probé, experimenté hacer 3 diapositivas con texto y una imagen de fondo y quedó muy chula mi presentación. 🙂
Colegas:
De todos estos proyectos el que más me ha satisfecho es «Slidy» y sobre este fue que Maikel y yo pensamos adicionarle un editor de html para hacer más inteligible su uso. Este programa trae definido un pequeño .js y dos ficheros css que permiten crear hasta una tabla de contenido e ir directamente a la presentación o página en cualquier momento.
Por la utilidad y versatilidad que de su aplicación emanaría, crearle un GUI a Slidy resultaría un esfuerzo loable y a ese fin he iniciado las conversaciones con dos colegas que mi amigo Maikel Pernía conoce muy bien: Herlin Matos y Carlos Pollán. Esperemos los resultados.
offtopic
Delio:
Me pudieras brindar toda la información posible sobre alarife. Si el proyecto se mantiene activo, los requisitos necesario, en fin todo lo que pueda.
En mi escuela se desea crear un sitio web en el cual se pueda almacenar y toda la información de los trabajos investigativos creados por los estudiantes para que le sirva de cantera a nuevas
investigaciones.
Toda la ayuda posible sera bien agradecida.