Giter Site home page Giter Site logo

Chalkboard integration about nbpresent HOT 4 OPEN

superbobry avatar superbobry commented on September 19, 2024
Chalkboard integration

from nbpresent.

Comments (4)

bollwyvl avatar bollwyvl commented on September 19, 2024

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:

  • in 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?)
  • another thing altogether, stored directly on the slide, that was guaranteed to be "on top" of all the notebook content

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!

from nbpresent.

damianavila avatar damianavila commented on September 19, 2024

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!

from nbpresent.

superbobry avatar superbobry commented on September 19, 2024

@damianavila I've managed to get it working in RISE, see superbobry/RISE@d3ae748.

from nbpresent.

damianavila avatar damianavila commented on September 19, 2024

@superbobry 😉 I guess a PR is coming from you in the RISE repo, don't you? 😜

Btw, sorry @bollwyvl to hijack the thread for a little bit 😉

from nbpresent.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.