Playing the Field

How often do you take a break from your own system to try out alternatives? Could you learn something?

I have always been and always will be a huge proponent of dogfooding. If you aren’t willing (and able) to use your own product, why would your customers use it?

At the same time, I’m also recognize the need to evaluate and learn from others in the community.

Online Presentations

It’s probably no secret, but I spend a lot of time hacking on seoslides. I’m incredibly proud of the product we’ve created, even if it’s had a couple of directional pivots in its history.

seoslides gives you, a WordPress site owner, the ability to create dynamic presentations and host them yourself on the same infrastructure you use for your blog. WordPress is all about democratizing publishing – seoslides is all about democratizing online presentations.

That said, it’s only one approach to the solution.

When we built seoslides, we originally used the Shower Presentation Engine at its core. A few product requirements forced us to replace Shower later with deck.js instead, and this system has powered seoslides ever since.

Unlike a vanilla deck.js presentation, though, seoslides abstracts the HTML hacking into a dynamically-positioned GUI. The objective here (and this objective could change) was to make it easier for non-developers and those who don’t know HTML and JavaScript to build an HTML-based presentation. No code is required at all on your part to build the presentation, just a drag-and-drop UI.

This direction is not without its limitations.

[seoslides]’ interface is not the WordPress post editor. I suspect, if it was, I’d be happy since I can mangle HTML there all day long. But [seoslides] doesn’t let you at the source code of the page, you have to use their GUI[ref]All is Revealed[/ref]

Some WordPress aficionados are super savvy with HTML. Some are not. Our target has always been those who can’t otherwise use an HTML presentation tool, and that limits what we can provide in a way.

Navigational elements all need to be visual – hidden keyboard shortcuts just won’t do. I’m super comfortable with the command line, so a keyboard shortcut is easy for me; it’s incredibly foreign to someone used to clicking buttons for navigation or seeing animated menus for information.

Take a look at any seoslides presentation today. Then press “m” on your keyboard to get an exploded “overview” of the presentation. It’s a cool feature,[ref]This is actually a part of deck.js itself.[/ref] but not marketed because we don’t yet have a GUI button to trigger the view.

Reveal

One of the other slide systems I like today is reveal.js. I’ve used it for my past two presentations so I can get a feel for another tool on the market, and I love some of the features it provides; I’d absolutely love to bundle some of its awesomeness into seoslides.

But I also have certain trepidations to doing so.

On the one hand, the side-by-side speaker view is amazing. On the other hand, it doesn’t work in every browser (and we’re trying to keep things fairly compatible across demographics).

On the one hand, nested slides are an incredible way to navigate through different topics. On the other hand, a visual editor for creating such a relationship would be needlessly complex (and likely not used by enough of the target market to justify the engineering time).

Also, there is no visual GUI for creating a reveal.js presentation. You have to know and be able to hack HTML to build the slideshow.

Are there things I like about reveal.js? Definitely. Will I try to utilize some of these tools for further improving seoslides? You bet.

Do I think reveal.js is better than seoslides? No. But not because of product pride, but because each product serves a different audience – anyone can build a presentation with a drag-and-drop tool. Not everyone can hack and layout HTML.

Neither workflow is superior; they are each used by different demographics and fit certain personality types. That doesn’t make either tool better than the other, but it does help to evaluate which features and workflows can be borrowed from each and implemented in the other.

How often do you take a break from your own system to try out alternatives? Could you learn something?