Introducing: Whiteboard

I made a cool thing: Whiteboard is slideshow application for teaching programming. It embeds a code editor, terminal, and web browser into a slide-show like interface to eliminate context-switches and dead-space, while enabling more content content to be set-up ahead of time. It's great for guiding code-heavy classroom lectures, tutorials, workshops, and webinars.

I initially developed it for my own teaching at UC-Berkeley Extensions, but I realized it might be useful for others, as well. Essentially the goal is to make a "slide-show" app that transforms the concept of a "slide" into an activity, as opposed to static content. Thus, the slide deck functions as a sequential collection of activities, each of which can consist of one or more sub-applications.

Features

As of v0.0.27 (which is the first known critical bug-free and feature complete build), the following "sub-applications" (or panes) are available:

Code editor

Save tab layouts of multiple files for your presentations

Based on ACE Editor

Syntax highlighting for 100+ languages

Web Browser

Have fully-functioning websites embedded in your slides

Uses Chromium-based WebView, for full support for all sites no matter how complex

Use to demonstrate websites as you build them

Useful for webinar tutorials

Terminal

Save a terminal to start at a working directory

Useful for running example code as you write it

Full color and cursor support, e.g. vim works

Based on the same library (xterm.js) as VSCode

Markdown

Easily add rich text with Markdown

Useful for content-only slides

Can be mixed with other panes to add instructions or context

Save and edit slide decks

By saving preset combinations of the above activities, craft a slide deck that guides the

Michael Bethencourt
(@mbgamedev) is
a developer based in the SF Bay Area. He blogs
about indie game development on his OS of choice,
Linux.

My Coding School

I founded a cutting-edge coding academy. If you live in the San
Francisco Bay Area, you can learn to code full-stack web development in
Python and React.js, by taking one of my affordable, intensive courses.