Open superbobry opened 7 years ago
Chalkboard sounds really cool! Thanks for the suggestion!
In the "normal" notebook, this would be hard, as it is responsive to changing screen sizes, etc. This is a slippery slope, as I never want to get into the business of providing something too rich, as most "real" content belongs in cells! But when a shared, responsive x/y space is needed, we'll have to do some freaky stuff that the base notebook wouldn't touch.
For the handwriting-challenged, such as myself, other kinds of annotation such as sticky notes, arrows, highlights would be nice... but see caveat about getting too crazy with it :)
Not to hate on jquery/chalkboard/canvas, but here's a potential implementation that is already in d3 (the manipulation engine nbpresent uses).
Further, the colors from themes could be offered as the "chalk," though I could see want to pick colors on the fly.
From a data model point of view, this could go down a few ways:
metadata/nbpresent/slides/<slide>/regions/<region>
a new content
type that went into a region, prepared in advance: currently, this is limited to a cell id
(i make my own, just for nbpresent... long story) and the type of content (whole
, source
, outputs
, widgets
). This would be a blackboard
(or glassboard
?)I'll have to mull over which of those would be the most compelling! Having them live in regions would be good, as it wouldn't be a new high-level "thing".
Finally, there would be the question of whether this goes into nbpresent core, or as an extension that would ship as a separate package... this could hook into the "currentSlide" changing, and could (probably) be hacked in directly, without the rest of nbpresent even knowing about it... but something a little more elegant is probably better. The approach taken by the reveal plugin where the left-bottom buttons toggle different interactivity modes is nice, which we've already considered for showing run buttons, etc.
Thanks again!
Reveal.js has a chalkboard plugin which allows to annotate slides using handwritten notes. While this is surely not a widely used (nor requested) feature, it might make teaching from Jupyter much easier and enjoyable.
Interesting stuff, thanks for the link!
@damianavila I've managed to get it working in RISE, see superbobry/RISE@d3ae7488dcb5b8f224b28a1575dfd6f8ac4f997e.
@superbobry :wink: I guess a PR is coming from you in the RISE repo, don't you? :stuck_out_tongue_winking_eye:
Btw, sorry @bollwyvl to hijack the thread for a little bit :wink:
Reveal.js has a chalkboard plugin which allows to annotate slides using handwritten notes. While this is surely not a widely used (nor requested) feature, it might make teaching from Jupyter much easier and enjoyable.
Do you think it is possible to integrate Chalkboard into
nbpresent
?