Page 1 of 1

"deck" a presentation tool

Posted: Wed Jun 26, 2013 6:31 am
by ajstarks
Deck is a tool for doing presentations on your Raspberry Pi.
The tool is written in Go, using the OpenVG library [1]. See [2] for the
source code, including a sample deck.

By design the number of objects supported is small: text (plain and code blocks, plain and bullet lists), and images.
Positioning of the objects is done via percentages, scaled to a specified canvas size. Text sizes are also specified by a percentage of the canvas. For example, this deck contains two slides, a title page, and a slide with a bulleted list.

Navigation is done with simple keyboard commands to advance and go back, go to the start or end of the deck, as well as search the deck for a given string.

Code: Select all

<deck>
  <canvas width="1920" height="1080" />

  <slide bg="white" fg="maroon">
    <text xp="50" yp="60" sp="5" align="center">Why I use Go</text>
    <image xp="50" yp="50" width="75" height="100" name="doc.png"/>
    <text xp="50" yp="20" sp="1.5" align="center">Anthony Starks</text>
    <text xp="50" yp="15" sp="0.75" align="center">@ajstarks</text>
    <text xp="50" yp="12" sp="0.75" align="center">[email protected]</text>
  </slide>

<slide bg="maroon" fg="white">
      <text xp="20" yp="80" sp="3">Go is:</text>
      <list xp="20" yp="70" sp="2" type="bullet">
         <li>Simple</li>
         <li>Productive</li>
         <li>Portable</li>
         <li>Compiled</li>
         <li>Fast</li>
         <li>Concurrent</li>
      </list>
  </slide>
</deck>
[1] https://github.com/ajstarks/openvg
[2] https://github.com/ajstarks/openvg/tree ... lient/deck

Re: "deck" a presentation tool

Posted: Sat Jun 29, 2013 2:07 am
by ajstarks
Here is a short video of deck in action:

http://www.youtube.com/watch?v=JNtBS60UFUI

Re: "deck" a presentation tool

Posted: Sat Jul 13, 2013 10:00 am
by ajstarks
Deck is now a Go package, with a separate "vgdeck" client. (see http://github.com/ajstarks/deck)

You should be able to install it via:

$ go install github.com/ajstarks/deck/vgdeck

Re: "deck" a presentation tool

Posted: Mon Aug 26, 2013 3:14 pm
by nilliams
Looks good, impressive speed :) I wonder whether you experimented with transition animations and what problems you found.

I've been using your OpenVG Testbed [1] project for the last 2 days to do a simple "Now Playing" page for a Spotify app, and I've got some basic animations working fine (a full screen scrolling-line-of-text or 'ticker'), but haven't tried any more adventurous animations yet, so curious of your experience, especially regarding performance.

I'm also having a hard time figuring out how to do clipping/masking, i.e. even the simplest case where text within a Rect gets clipped so as to not overflow the bounding Rect. Did you find any particularly useful OpenVG reference material? Seem to be a distinct lack of tutorials/examples online.

Anyway thanks for your work on the test bed, I'm having fun!

[1] https://github.com/ajstarks/openvg (for interested readers)

Re: "deck" a presentation tool

Posted: Mon Aug 26, 2013 11:20 pm
by ajstarks
Also note that the deck package has two other clients that work on the Raspberry Pi: pdfdeck for making presentations in PDF format, and svgdeck for SVG. To install:

go get github.com/ajstarks/deck.pdfdeck
go get github.com/ajstarks/deck.svgdeck

Re: "deck" a presentation tool

Posted: Mon Aug 26, 2013 11:29 pm
by ajstarks
nilliams wrote:Looks good, impressive speed :) I wonder whether you experimented with transition animations and what problems you found.

I've been using your OpenVG Testbed [1] project for the last 2 days to do a simple "Now Playing" page for a Spotify app, and I've got some basic animations working fine (a full screen scrolling-line-of-text or 'ticker'), but haven't tried any more adventurous animations yet, so curious of your experience, especially regarding performance.

I'm also having a hard time figuring out how to do clipping/masking, i.e. even the simplest case where text within a Rect gets clipped so as to not overflow the bounding Rect. Did you find any particularly useful OpenVG reference material? Seem to be a distinct lack of tutorials/examples online.

[1] https://github.com/ajstarks/openvg (for interested readers)
OpenVG supports clipping and masking, but my library does not support it (yet).
My library also does not support animation, but I'm interested in what the animation API would look like. Should it model SMIL, CSS, iOS?

Here are good OpenVG references:

www.khronos.org/registry/vg/specs/openvg-1.1.pdf
www.khronos.org/files/openvg-quick-reference-card.pdf

Re: "deck" a presentation tool

Posted: Tue Aug 27, 2013 11:23 pm
by ajstarks
nilliams wrote:
I'm also having a hard time figuring out how to do clipping/masking, i.e. even the simplest case where text within a Rect gets clipped so as to not overflow the bounding Rect. Did you find any particularly useful OpenVG reference material? Seem to be a distinct lack of tutorials/examples online.
Note that you can use the TextWidth function to determine the size of text and clip or scale your Rect appropriately.

Re: "deck" a presentation tool

Posted: Fri Jul 18, 2014 12:49 am
by ajstarks

Re: "deck" a presentation tool

Posted: Sun Jul 05, 2015 11:13 pm
by antonio.raspberry
Hello,

Looks really interesting.
I use the RPi "armless", no keyboard nor mouse, and control the same desktop that shows in the connected tv set with x11vnc. When I start a deck it displays ok in the tv screen but I cannot see it on the vnc client, nor I can control the presentation with the vnc keyboard. Is there a solution for that, or do I need to find other presentation solutions?

Thanks & regards.
Antonio

Re: "deck" a presentation tool

Posted: Sun Jul 05, 2015 11:31 pm
by AndyD
antonio.raspberry wrote:Hello,

Looks really interesting.
I use the RPi "armless", no keyboard nor mouse, and control the same desktop that shows in the connected tv set with x11vnc. When I start a deck it displays ok in the tv screen but I cannot see it on the vnc client, nor I can control the presentation with the vnc keyboard. Is there a solution for that, or do I need to find other presentation solutions?

Thanks & regards.
Antonio
Hi, ajstarks program uses OpenVG. OpenVG output can only be displayed on the actual Raspberry Pi display. So if you need a presentation that can be viewed remotely you will need to find another presentation solution.

Re: "deck" a presentation tool

Posted: Mon Jul 06, 2015 11:34 am
by ajstarks
Another "remote" method is to use the deck web API: you can control a deck from any computer that speaks HTTP. In this case a Raspberry Pi is connected to some display, listening to web requests.

In https://speakerdeck.com/ajstarks/deck-a ... sentations see slides 31-33.

Re: "deck" a presentation tool

Posted: Thu Jul 16, 2015 10:23 am
by antonio.raspberry
Thanks for your answers.

Re: "deck" a presentation tool

Posted: Wed Dec 16, 2015 11:08 pm
by ajstarks