racket based smart notebook alternative
intro⌗
Text is by far the easiest type of interface to deal with. Text-encodings are limited and mostly standardized, and that leads to better portability across systems.
Since text is rather universal, in that it is used by every single operating system there is, it’d make sense to turn it into a file format.
Web-pages are expressed in text, including the specific stuff like styling, logic, and formatting.
One part where text hasn’t gotten through is mainstream programs made for public consumption, such as but not limited to: Microsoft Office, Adobe Suite, and Educational programs like Smart Notebook.
I am mainly concerned with Smart Notebook, as I have been using it frequently over the past months.
Now, Smart Notebook is a program for creating slides but geared towards education. It is rather useful when teaching students, as it allows for engaging and constrained lessons.
It allows supports a vast amount of flash-based games and mini-programs, like a Group Picker for students, or a Spinner game and so on.
But using Smart Notebook is inefficient. Like other mainstream programs, its downfall is the lack of extensibility. Which is where Racket, and text, and Smart Notebook all collide.
slideshow⌗
Before I talk about the vision I have about future Lesson Planning programs, let’s talk first about slideshow
.
Slideshow is a figure and presentation tool similar to Powerpoint, but unlike Powerpoint is has no interface for constructing slides, instead the slides are created within text, and Slideshow displays that presentation.
Think of it like a Lisp-powered presentation browser.
Creating slides, formatting text, re-using slides is rather simple in Slideshow. You invoke normal lisp functions such as slide
, bt
(stands for bold text), and define functions to re-use slides.
This program, to me, represents what happens when high efficiency meets extreme use. We all need to create presentations in-order to present our ideas, but the tools that exist are too geared for newbie users. They require using the mouse, they have binary file formats, they are not portable and so on.
Slideshow is efficient to use because it can invoke real-life code, slide templates can be modified easily, and because it uses text and is therefore easily modifiable.
lesson planning⌗
In the field of teaching, one cannot skip preparing. All efficient lessons need to be prepared beforehand.
A lesson plan could be a simple run down of everything you want to do written in a paper, or a set of slides each with a specific goal in mind.
Lesson plans consist of a map of activities and a timer assiociated with each acitivity. The reason is because time is really short, and you want your students to finish in time.
Lesson planning allows the teacher to conduct a more efficient class through constricting of scope.
slideshow + interactivity⌗
Slideshow can already provide 60% of what a lesson plan requires, which is a set of slides that have clear instructions on what to do. What is missing is the interactivity.
And interactivity is a big part of lesson planning. It is far easier to play a timer on the screen, than to look for the timer program, set it, and then start it.
Or, for example just click on the screen rather than go to the book program and look for the unit and lesson, then find the listening and click on it.
If slideshow has interactivity like this, it’d easily replace Smart Notebook for me.
cons⌗
Perhaps, this is too out of reach. Many users are not as technology savvy as I am, and wouldn’t benefit from a text-based Smart Notebook.
Or maybe, interactivity is too far out of reach. Slideshow should be good at one thing, and that is slideshows. Maybe, it’d complicate it to the point where it is not as useful as I think…
A backend that could enable this technology already exists, and it is the WEB suite of HTML, CSS, and Javascript. Highly portable, and efficient with little to no performance issues(depending on how you use it though).
Since racket already has libraries for translating Lists into HTML, and one to translate CSS and Javascript wouldn’t be too hard to create.
And The WEB has a lot of libraries that allow regular old HTML to function with slides, so implementing is easy. But does it need to exist?
I am rather unclear about whether such a program should exist, but I enjoy entertaining these silly ideas. Perhaps such a concoction of software ideals is useless when combined together, or maybe it is not.