Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Encapsulate pyp5js as Processing Mode or perhaps as a Mu mode #41

Open
villares opened this issue May 18, 2019 · 15 comments
Open

Encapsulate pyp5js as Processing Mode or perhaps as a Mu mode #41

villares opened this issue May 18, 2019 · 15 comments

Comments

@villares
Copy link
Contributor

villares commented May 18, 2019

Pyp5js Enhancement Proposal

Rationale: Working inside a code editor, and with no need of the command line interface, makes the tool much more accessible to beginners.

Maybe working out how to create a new Processing IDE mode is too much trouble (Java, Eclipse...). If we should try this we might look at the P5js Mode for inspiration https://github.com/fathominfo/processing-p5js-mode (and the old Javascript Mode based on ProcessingJS https://github.com/fjenett/javascript-mode-processing).

Then we could look at Mu, a simple [yet wonderful] Python editor for beginner programmers (https://codewith.mu/) and it has "modes" too: https://mu.readthedocs.io/en/latest/modes.html and here are the docs for developers willing to create a Mu mode: https://mu.readthedocs.io/en/latest/modes.html#create-a-new-mode

@berinhard
Copy link
Owner

I'm a HUGE +1 1 for this functionality because I really think and agree with you that this will enable pyp5js to be widely used by people.

@villares
Copy link
Contributor Author

There is yet another way... make it work as a web editor like Prof. Esperaça's Brython IDE...

@berinhard
Copy link
Owner

@villares strategically speaking, I think that the web editor is the ideal solution. We could host it somewhere and this would drastically reduce the barrier of usage because we won't require any installation process to experiment with pyp5js.

@berinhard
Copy link
Owner

@jeremydouglass
Copy link

Both are good ideas. I actually like the mode approach through Contributions Manager -- although for teaching and play, sending people to a website like the p5.js web editor is wonderfully convenient.

Mode developer documentation is sorely lacking, unfortunately. I have just start added up some basic mode development documentation here:

https://github.com/processing/processing/wiki/Mode-Overview

@berinhard
Copy link
Owner

Thanks for the reference @jeremydouglass 👍

@Wildernesss
Copy link

Hi everyone.

I don't know if this thread is still active and if it's the relevant area to ask this question: could pyp5js be integrated into p5js online editor (editor.p5js.org). User would have the choice to write online code of a sketch in JS or Python. This polymorphism would be great. This would be a good mean to stop those sterile disputes between CS teacher concerning the choice of the BEST language to teach programming, and more especially the quarrel between JS and Python, which are certainly the two main languages used for teaching prog. And it would have the advantage to show our students that programming language is only... programming language, that means a mean to write programs, not a religion to fight for. We can already do this with the destkop IDE of Processing of course. But for teaching, the online editor is fare more easier to use with students and beginners.

Thanks a lot for all your work making bridges between those languages!

Laurent

@tabreturn
Copy link

@Wildernesss -- something like this?
https://editor.computiful.org/

@Wildernesss
Copy link

@tabreturn Woaaww!!! Fabulous. Who has made all this work, that's amazing... Yes, it's exactly that. What would be great would be to integrate this to https://editor.p5js.org/. This later adds the advantage of files storage and adding files to sketches, as well as the possibility to add HTML interface to sketches. Into the p5js oneline editor paradise there would a drop down list to choose between Python and Javascript when creating a new sketch! When I see https://editor.computiful.org/ I begin to believe this paradise could be not just simple dream...

@tabreturn
Copy link

@GoToLoop
Copy link
Contributor

What would be great would be to integrate this to https://editor.p5js.org/.

I'd much rather prefer PyP5Js to become the 4th engine mode for https://OpenProcessing.org/sketch/create. ^_^

@villares
Copy link
Contributor Author

I'd much rather prefer PyP5Js to become the 4th engine mode for https://OpenProcessing.org/sketch/create. ^_^

Our friend Carlos/Vamoss has put Sinan from OpenProcessing in contact with Bernardo from pyp5j, and it is a real possibility. But things are moving slowly, we could very much use your wisdom @GoToLoop to make this go forward. I think I might open a discussion and tag you there... cheers!

@Wildernesss
Copy link

Wildernesss commented Sep 10, 2021

What would be great would be to integrate this to https://editor.p5js.org/.

I'd much rather prefer PyP5Js to become the 4th engine mode for https://OpenProcessing.org/sketch/create. ^_^

@GoToLoop It's another online editor that seems to be nice too. I don't know it enough to talk about it. But at first glance I just worry that in public schools like the one I teach CS couldn't afford it financially with small budget... For storage of assets, editor.p5js.org offers 250 MB free storage per account, what is rather comfortable for beginners making small multimedia sketches. OpenProcessing offers 25 MB, not a lot if you join a little bit of sounds or video to sketches. Of course OpenProcessing also offers managing options of their students for teachers, what is nice. But it's not free. Don't see this comment as a critic against OpenProcessing. This is certainly a great tool, as well as this of p5js.org. Just that this later is apparently developped and supported by the Processing Fundation and community that work on it and is fully free. And it's a very good tool (using it for more than 2 years with my students) for low budget school :o) I don't know the 'history' reason why there is two different editors for p5js (couldn't their community join their skills to work on a unique and common tool? It makes me think of the annoying splitting between LibreOffice and OpenOffice supporters).

Anyway, folks developping PyP5js make great work too! And it's up to them to know what's the option they feel the most confortable with.

Have a nice week-end

@GoToLoop
Copy link
Contributor

GoToLoop commented Sep 16, 2021

I just worry that in public schools like the one I teach CS couldn't afford it financially with small budget...

  • When I voted for OpenProcessing I confess I didn't have schools in mind.
  • I use OpenProcessing (and others) as a sketch gallery for others to check out.
  • B/c Editor.p5js.org got a customized syntax linter it's more appropriate for teaching p5js.

I don't know the 'history' reason why there are two different editors for p5js.

  • Actually there are more, such as http://p5js.SketchPad.cc for example.
  • Before p5js, Processing Foundation didn't have any online sketch hosting service.
  • Instead they would recommend other sites like OpenProcessing, SketchPad.cc, etc.
  • BtW, SketchPad.cc is from 2010 and OpenProcessing is 20 years old already!

Couldn't their community join their skills to work on a unique and common tool?

  • For the long time I know ProcessingFoundation.org they don't seem to work w/ folks outside their hand-picked umbrella projects, which are basically Java Mode, Python Mode & p5js currently.
  • Actually I'd daresay the likelihood of Editor.p5js.org accepting an alternative engine mode such as pyp5js is almost nil.
  • The other Processing hosting sites already maintain the old Pjs mode as an alternative to p5js.
  • OpenProcessing even has a 3rd mode which allows raw JS + HTML mode, which we can use any JS library.
  • I believe they'd be much more open for the idea to include a Python syntax mode.

@berinhard
Copy link
Owner

Thanks a lot for all this discussion! As the maintainer, I'm currently more focused on finishing with the final fixes to pyodide integration and feel that I built myself a stable tool. Currently, having issues such as #147 makes me unmotivated to think about integrating pyp5js with any extra tool.

But although I see benefits on using p5JS editor, from the project's perspective, I think Open Processing integration is more suitable. It has this focus on the creative coders community that can help to bring newcomers to the project and into python. Besides that, their UX has a lot of cool tooling as @GoToLoop described in his comment.

Anyway, I'm always open to welcome people to build their own integrations as @ranoya did with pyp5js + Observable. But, as I said, for now porting the lib to other infrastructures is still not my priority.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants