Search this site


Metadata

Articles

Projects

Presentations

XML Presenter - an xml/xslt slideshow tool

Impatient? View the Demo

Download the demo

Some would consider my behavior and preferred operating environment in unix-like operating systems to classify me as a "power user." Whatever you want to call it, there only a few graphical programs that I've used that don't make me angry. Many graphical interfaces place a significant burden on me, the user, through various means. These burdens include hide-and-seek games looking for a particular function or feature, heavy mouse usage (which perhaps isn't all that bad), and generally making me spend more time actually *using* the program than getting useful work done.

I'm completely unfamiliar with any and all existing tools to create PowerPoint-like presentations, so my attempts at making useful work come out of these programs bring frustration and annoyance. Frankly, I'm a programmer and a sysadmin; my goal is to increase productivity while decreasing the amount of superfluous effort I have put towards actually achieving the end result, which might be a finished PowerPoint-like presentation. Time and energy are wasted on hunting through a seemingly endless pile of context menus and toolbars.

As I mentioned, I am a programmer. I like doing useful work. At the office, I was told I needed to give a presentation to my co-workers on some various topics. In an effort not to have to use PowerPoint or OpenOffice, I decided that instead of spending time putzing around in either of those programs, I'd write my own presentation/slideshow solution and use it to write and show my presentation.

I'm fairly well-versed in the ways of XML/XSLT and HTML/JavaScript, so I figured that's where I'd start. The end result allows me to very simply and quickly throw together presentations on anything I want.

As for the technical aspects of the project: it makes use of XSLT to turn my own "XPL" files into web-based PowerPoint-like slideshows. The xml formatting of the project is very simple. Slide bodies can contain any HTML I choose to use for formatting.

<slideshow>
	<title> Simple Slideshow Example </title>
	
	<slide>
		<title> My First Slide </title>
		<body>
			The body can contain any valid html. It's pretty much copied verbatim using 'xsl:copy' and recursion.
		</body>
	</slide>

	<slide>
		<title> This is another slide </title>
		<body>
			<h3> Example use </h3> <i> of </i> <b> html</b> in this tool.<p/>

			<ul>
			<li> point 1 </li>
			<li> point 2 </li>
			</ul>

		</body>
	</slide>
</slideshow>

That's the gist of it. Slides are displayed in order of appearance in the XPL file. This solution solves many issues:

  • No cumbersome graphical interface
  • No learning curve (for me anyway, I wrote it!)
  • Uses programs I'm already familiar with: Firefox, vi, xsltproc.
  • Doesn't make me angry

A demo can be seen here: View demo

Browser Support List:

  • Mozilla Family: 100% works
  • Konqueror 3.4.0: 100% works
  • Opera 8: Everything works except browser back/forward (history)
  • Internet Explorer 5: Navigation works kind of works, something's busted.
  • Safari: Basic features work. Browser history, side-bar, etc do not.

Download the demo