Differences between revisions 7 and 36 (spanning 29 versions)
Revision 7 as of 2009-06-19 04:53:59
Size: 3344
Comment: renamed the tool, updated performance
Revision 36 as of 2009-08-06 04:17:16
Size: 7924
Editor: pool-71-117-189-35
Comment:
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:
= Makeshow = = WYDIWYS =

== webslide presentation compiler ==

[[ wydiwysFAQ | wydiwys FAQ ]] - It doesn't work! How can I help? How do I ...?
Line 5: Line 9:
[[attachment:makeshow]] perl code [[attachment:wydiwys]] perl code
Line 9: Line 13:
[[attachment:style_D_style]] a style sheet to go with the template, instantiated as an image [[attachment:style.css]] a style sheet to go with the template, instantiated as an image
Line 11: Line 15:
[[attachment:list03]] example control file, piped as standard input into makeshow [[attachment:design]] example control file, piped as standard input into wydiwys

[[attachment:wydiwys.js]] navigation functions, someday image sizing

You will also need [[http://jquery.com/ | jQuery ]].

[[http://www.server-sky.com/slides/wydiwys_demo/ ]] is a short presentation (about wydiwys) made with wydiwys.
 
[[http://www.server-sky.com/slides/wydiwys_demo.tar | tar file of presentation ]] - the design directory contains the files needed to reconstruct wydiwys.
[[http://www.server-sky.com/slides/wydiwys_slide_images.tar | tar file ]] of original construction images
 

[[http://www.server-sky.com/slides/stest1024/ ]] wydiwys test images, sizes from 512x284 to 2048x1536 .

[[http://www.server-sky.com/slides/stest1024.zip | zip file ]] ... [[attachment:stest1.c | source file ]]

=== usage - Navigating a WYDIWYS presentation ===


With Firefox under Linux, there are 5 buttons:

|| '''keyboard''' || '''wireless presenter''' || '''action''' ||
|| PAGE UP, UPARROW, BACKSPACE || back || Previous Slide ||
|| PAGE DOWN, DOWNARROW, SPACE || forward || Next Slide ||
|| HOME || --- || First Slide ||
|| END || --- || End Slide ||
|| ENTER || ''other control'' || Navigate to/from menu ||

The first slide of the presentation is aliased to 00000.html, aaaaa.html, index.html, and zzzzz.html .

WYDIWYS output presentations are intended for use with any browser with javascript and flash animation capabilities. It has been verified working so far with:

|| Linux || Firefox 3.5 || Firefox 2.9 ||
|| Win7 || Firefox 3.5 || IE8 || Chrome ||
|| Mac OSX || Firefox 3.5 || Firefox 3 || Safari || Chromium || Omniweb ||

If it works with another browser, please add to the list above.

For most browsers, F11 toggles between regular and fullscreen display. In the menus, you can navigate to other menu items by clicking on them as hyperlinks.

=== todo ===

Feel free to update wydiwys (the perl code) or wydiwys.js ( the javascript ), and send me the results.

 * this site ( server-sky.com ) needs a git repository, so you don't need to send me the results.

 * make some "window calibration slides" - diamonds and squares at 1280x960, 1024x768, 800x600, 640x480, and 512x384 . Bigger slides contain the smaller diamonds and squares. Perhaps a ruler around the edges, and grids of pixels that will moire.

 * wydiwys (perl) loads the template once, before the slides are prepared. It should attach a copy of the template to each slide, allowing the template to be changed during the presentation. Since the template refers to the style sheet and calls the javascript, this allows for multiple style sheets, sizing options, etc.

 * The template file contains either fixed display sizes or "100%". Sucky. '''wydiwys.js''' should be able to measure the aspect ratio of the display window, and the image or swf, and render the image at the "best" size to preserve designed aspect ratio.
Line 14: Line 68:
WYDIWYS ( What You Draw Is What You See) is a cheap hack for making image-based slide presentations that can be shown with any web browser on any platform. WYDIWYS does not create content, it just arranges a series of html slides, each with a pointer to a browser-compatible image, with navigation javascript to link them all in a hierarchical way. The images ( PNG and SWF preferred, but GIF, JPG, and any other format a browser can render is acceptable) can be made with any image composition process, including ad-hoc programs driving LibGD, !GnuPlot, Mathematica, the Gimp, Photoshop, digital camera output, screenshots, and so forth. Powerpoint and !OpenOffice Impress can output single slides as images; these can be used as source images, too, too. You can turn a series of images into a SWF ( !ShockWaveFlash , pronounced "swiff" ) movie with the open source swftools.
Line 15: Line 70:
Makeshow is a cheap hack for making image-based slide presentations that can be shown with any web browser on any platform. Makeshow does not create content, it just arranges a series of html slides, each with a pointer to a browser-compatible image, with navigation javascript to link them all in a hierarchical way. The images ( PNG and SWF preferred, but GIF, JPG, and any other format a browser can render is acceptable) can be made with any image composition process, including ad-hoc programs driving LibGD, !GnuPlot, Mathematica, the Gimp, Photoshop, digital camera output, screenshots, and so forth. Powerpoint and !OpenOffice Impress can output single images as slides; these can be used, too. You can turn a series of images into a SWF ShockWaveFlash movie with the open source swftools.

Makeshow is written in Perl. It is uses an HTML template file, template.html, which may call a style sheet. There is more information about operation in the perlpod documentation inside makeshow, which Linux users can see with "perldoc ./makeshow".
WYDIWYS is written in Perl. It is uses an HTML template file, template.html, which may call a style sheet. There is more information about operation in the perlpod documentation inside WYDIWYS, which Linux users can see with "perldoc ./wydiwys".
Line 21: Line 74:
If slide images are rendered down to and stored as full-screen pixel-based images, they cannot be mis-presented. Ditto for simple Flash movies. The same image can be used in multiple presentations, and with Linux hard links, updating an image will propagate to all the presentations.   If slide images are rendered down to and stored as full-screen pixel-based images, they cannot be mis-rendered. Ditto for simple Flash movies. The same image can be used in multiple presentations, and with Linux hard links, updating an image will propagate to all the presentations.
Line 23: Line 76:
Slides can be connected by hyperlinks, not just simple forward and back. Makeshow adds a third control, "enter", which is used to navigate up and down through hierarchy. With a few clicks on a wireless presenter control, or with keyboard buttons or mouse, the user can quickly navigate to any part of a presentation. This is not a real-time text rendering system like [[ http://meyerweb.com/eric/tools/s5/ | Eric Meyer's S5 ]] or [[ http://svn.scratchcomputing.com/Text-Slidez/ | Eric Wilhelm's Text::Slidez ]], two great products of the [[ http://www.catb.org/~esr/ecsl/ | Eric Conspiracy ]].
Since many slide sets are all text, these tools and others like them can be great front-end composition tools. Some kind of
macro or add-on for Firefox, to render a sequence of these slides to fixed names and locations, suitable for processing by WYDIWYS, would be very handy.
Line 25: Line 80:
Makeshow builds from a simple text control file, described in the perlpod documentation. The control file can be built by other programs, though a text editor is good enough for composing most shows. Multiple control files use the same slide images to build different presentations. Since the composition is controlled with text files, the construction and maintenance of presentations can be controlled with "make", integrated design environments, and revision control systems. Slides are connected by hyperlinks, not just simple forward and back. WYDIWYS adds a third control, "enter", which is used to navigate up and down through hierarchy. With a few clicks on a wireless presenter control, or with keyboard buttons or mouse, the user can quickly navigate to any part of a presentation.
Line 27: Line 82:
This is most definitely alpha code, and needs the attentions of competent programmers (incompetent programmers, please contribute to other projects!). But it works OK for me. It was developed for Linux, it should be easy to port to Mac, and if you run Windows, then I must inform you that God hates your operating system. WYDIWYS builds from a simple text design control file, described in the perlpod documentation. The design file can be built by other programs, though a text editor is good enough for composing most shows. Multiple design files can use the same slide images to build different presentations. Since the composition is controlled with text files, the construction and maintenance of presentations can be controlled with "make", integrated design environments, and revision control systems.

WYDIWYS presentations are started by browsing one of 00000.html, aaaaa.html, zzzz.html, or index.html .

WYDIWYS builds a subdirectory called "design" which contains a copy of the original design file ("design_original"), template file, and a copy of wydiwys itself. The directory also contains a design file called "design_proto". If WYDIWYS is run from the design directory, with "./wydiwys < design_proto", it will make a duplicate of the presentation underneath it. This is useful as a starting place for making a modified presentation. By changing INDIR and OUTDIR in design_proto, the duplicate can be built someplace else.

This is most definitely alpha code, and needs the attentions of competent programmers (incompetent programmers, please contribute to other projects!). But it works OK for me. It was developed for Linux, it should be easy to port to Mac, and if you run Windows, then I must inform you that God hates your operating system, because He did not give you hard links.


Note: renamed WYDIWYS from Makeshow

WYDIWYS

webslide presentation compiler

wydiwys FAQ - It doesn't work! How can I help? How do I ...?

downloads

wydiwys perl code

template.html an html template file, contains the javascript buttons

style.css a style sheet to go with the template, instantiated as an image

design example control file, piped as standard input into wydiwys

wydiwys.js navigation functions, someday image sizing

You will also need jQuery.

http://www.server-sky.com/slides/wydiwys_demo/ is a short presentation (about wydiwys) made with wydiwys.

tar file of presentation - the design directory contains the files needed to reconstruct wydiwys. tar file of original construction images

http://www.server-sky.com/slides/stest1024/ wydiwys test images, sizes from 512x284 to 2048x1536 .

zip file ... source file

usage - Navigating a WYDIWYS presentation

With Firefox under Linux, there are 5 buttons:

keyboard

wireless presenter

action

PAGE UP, UPARROW, BACKSPACE

back

Previous Slide

PAGE DOWN, DOWNARROW, SPACE

forward

Next Slide

HOME

---

First Slide

END

---

End Slide

ENTER

other control

Navigate to/from menu

The first slide of the presentation is aliased to 00000.html, aaaaa.html, index.html, and zzzzz.html .

WYDIWYS output presentations are intended for use with any browser with javascript and flash animation capabilities. It has been verified working so far with:

Linux

Firefox 3.5

Firefox 2.9

Win7

Firefox 3.5

IE8

Chrome

Mac OSX

Firefox 3.5

Firefox 3

Safari

Chromium

Omniweb

If it works with another browser, please add to the list above.

For most browsers, F11 toggles between regular and fullscreen display. In the menus, you can navigate to other menu items by clicking on them as hyperlinks.

todo

Feel free to update wydiwys (the perl code) or wydiwys.js ( the javascript ), and send me the results.

  • this site ( server-sky.com ) needs a git repository, so you don't need to send me the results.
  • make some "window calibration slides" - diamonds and squares at 1280x960, 1024x768, 800x600, 640x480, and 512x384 . Bigger slides contain the smaller diamonds and squares. Perhaps a ruler around the edges, and grids of pixels that will moire.
  • wydiwys (perl) loads the template once, before the slides are prepared. It should attach a copy of the template to each slide, allowing the template to be changed during the presentation. Since the template refers to the style sheet and calls the javascript, this allows for multiple style sheets, sizing options, etc.
  • The template file contains either fixed display sizes or "100%". Sucky. wydiwys.js should be able to measure the aspect ratio of the display window, and the image or swf, and render the image at the "best" size to preserve designed aspect ratio.

description ... sorta

WYDIWYS ( What You Draw Is What You See) is a cheap hack for making image-based slide presentations that can be shown with any web browser on any platform. WYDIWYS does not create content, it just arranges a series of html slides, each with a pointer to a browser-compatible image, with navigation javascript to link them all in a hierarchical way. The images ( PNG and SWF preferred, but GIF, JPG, and any other format a browser can render is acceptable) can be made with any image composition process, including ad-hoc programs driving LibGD, GnuPlot, Mathematica, the Gimp, Photoshop, digital camera output, screenshots, and so forth. Powerpoint and OpenOffice Impress can output single slides as images; these can be used as source images, too, too. You can turn a series of images into a SWF ( ShockWaveFlash , pronounced "swiff" ) movie with the open source swftools.

WYDIWYS is written in Perl. It is uses an HTML template file, template.html, which may call a style sheet. There is more information about operation in the perlpod documentation inside WYDIWYS, which Linux users can see with "perldoc ./wydiwys".

The motivation for this is that all presentation programs suck, especially when they talk to each other. They are dependent on fonts, and what the presenter (and version) does with them. They use "slide sorters" for navigation, a metaphor made obsolete by hyperlinks. They present animation very badly. They scale badly to screen size. It is very difficult to evolve a presentation into multiple versions and maintain the versions as a group.

If slide images are rendered down to and stored as full-screen pixel-based images, they cannot be mis-rendered. Ditto for simple Flash movies. The same image can be used in multiple presentations, and with Linux hard links, updating an image will propagate to all the presentations.

This is not a real-time text rendering system like Eric Meyer's S5 or Eric Wilhelm's Text::Slidez, two great products of the Eric Conspiracy. Since many slide sets are all text, these tools and others like them can be great front-end composition tools. Some kind of macro or add-on for Firefox, to render a sequence of these slides to fixed names and locations, suitable for processing by WYDIWYS, would be very handy.

Slides are connected by hyperlinks, not just simple forward and back. WYDIWYS adds a third control, "enter", which is used to navigate up and down through hierarchy. With a few clicks on a wireless presenter control, or with keyboard buttons or mouse, the user can quickly navigate to any part of a presentation.

WYDIWYS builds from a simple text design control file, described in the perlpod documentation. The design file can be built by other programs, though a text editor is good enough for composing most shows. Multiple design files can use the same slide images to build different presentations. Since the composition is controlled with text files, the construction and maintenance of presentations can be controlled with "make", integrated design environments, and revision control systems.

WYDIWYS presentations are started by browsing one of 00000.html, aaaaa.html, zzzz.html, or index.html .

WYDIWYS builds a subdirectory called "design" which contains a copy of the original design file ("design_original"), template file, and a copy of wydiwys itself. The directory also contains a design file called "design_proto". If WYDIWYS is run from the design directory, with "./wydiwys < design_proto", it will make a duplicate of the presentation underneath it. This is useful as a starting place for making a modified presentation. By changing INDIR and OUTDIR in design_proto, the duplicate can be built someplace else.

This is most definitely alpha code, and needs the attentions of competent programmers (incompetent programmers, please contribute to other projects!). But it works OK for me. It was developed for Linux, it should be easy to port to Mac, and if you run Windows, then I must inform you that God hates your operating system, because He did not give you hard links.

Note: renamed WYDIWYS from Makeshow

wydiwys (last edited 2021-06-08 17:28:02 by KeithLofstrom)