Education/Projects/ProcessingForTheWeb: Difference between revisions

Added section on benefits to Mozilla community
(Expand material further)
(Added section on benefits to Mozilla community)
Line 1: Line 1:
__NOTOC__
__NOTOC__


'''This is a draft in progress describing a proposed project to bring a complete implementation of the Processing language to the open web.'''
'''This is a working draft describing a proposed project to bring a complete implementation of the Processing language to the open web.'''


== Summary ==
== Summary ==
Line 31: Line 31:
== Why Processing for the Web? ==
== Why Processing for the Web? ==


Why do "Processing for the Web"? Given Processing's Java syntax and heritage, wouldn't it make more sense to encourage people to move to using web technologies like JavaScript and Canvas directly, perhaps supplemented by JavaScript toolkits where appropriate? And even if porting Processing to the web is a good idea, why should Mozilla get involved?
Why re-implement Processing for the web"? Given Processing's Java syntax and heritage, wouldn't it make more sense to encourage people to move to using web technologies like JavaScript and Canvas directly, perhaps supplemented by JavaScript toolkits where appropriate? And even if porting Processing to the web is a good idea, why should Mozilla get involved?


For the reasons discussed below, we believe that this project can bring real benefits to the Processing community, to Mozilla products and the Mozilla community, and ultimately to the open web.
For the reasons discussed below, we believe that this project can bring real benefits to the Processing community, to Mozilla products and the Mozilla community, and ultimately to the open web.
Line 40: Line 40:
* It helps get more people involved in using Processing by lowering the barrier to entry: potential Processing developers would not have to download and install the Processing envronment, but could develop and run Processing sketches directly in their browsers. The resulting sketches could also be viewed in any modern browser, without the need for browser Java plugins.
* It helps get more people involved in using Processing by lowering the barrier to entry: potential Processing developers would not have to download and install the Processing envronment, but could develop and run Processing sketches directly in their browsers. The resulting sketches could also be viewed in any modern browser, without the need for browser Java plugins.
* It would help enable new types of Processing uses that leverage the power of the web, for example to access web-based data and services, enable web-based user interaction and collaboration, and so on.
* It would help enable new types of Processing uses that leverage the power of the web, for example to access web-based data and services, enable web-based user interaction and collaboration, and so on.
* Last but not least, it could also help enable easier collaboration on development of Processing applications, given suitable support in the underlying web-based Processing development environment.
* Last but not least, it could also help enable easier collaboration on development of Processing applications, given suitable support in an underlying web-based Processing development environment.


A high-quality web-based Processing implementation could help spark a new wave of innovative uses of Processing. These would be valuable both for their own sake and also for demonstrating and promoting the power of the open web technologies that made Processing for the web possible.
A high-quality web-based Processing implementation could help spark a new wave of innovative uses of Processing. These would be valuable both for their own sake and also for demonstrating and promoting the power of the open web technologies that made Processing for the web possible.
Line 54: Line 54:


=== It's good for the Mozilla community ===
=== It's good for the Mozilla community ===
As has been said many times, Mozilla products like Firefox are not ends in themselves but rather a means to an end, namely creating an open web that is open, transparent, participatory, distributed, and hackable, and otherwise embodies the ideals of the Mozilla Manifesto.
As has been said many times, Mozilla products like Firefox are not ends in themselves but rather a means to an end, namely creating an open web that is [http://commonspace.wordpress.com/2009/05/28/what-makes-the-web-better/ open, transparent, participatory, distributed, and hackable], and otherwise embodies the ideals of the [http://www.mozilla.org/about/manifesto.en.html Mozilla Manifesto].


In order to achieve this goal we need to continue to grow and strengthen the Mozilla community itself, in order to increase our ability to create new products and technologies for the open web, as well as reach out and work with other communities with similar goals, in order to grow the constituency of people leveraging the open web and promoting its values.
* to reach out to and increase cooperation with the design, art, and new media communities, both as part of the existing [http://education.mozilla.org Mozilla Education] program and as a key component of a proposed Mozilla Media program
 
The Processing for the Web project could help achieve both these goals:
* Computer science and programming students could work on a wide variety of [https://wiki.mozilla.org/Education/ComputerScience#Finding_a_good_student_project student projects] related to Mozilla platform infrastructure needed for Processing for the Web. These would include not just coding but also performance testing and bug fixing, technical documentation, etc.
* Due to the roots of Processing in the arts and visualization, the Processing for the Web project offers an entry point into the Mozilla project for students studying design and related topics. This includes not only creating and testing new Processing applications on top of Processing for the Web, but also helping to design and build the user experience for the Processing on the Web development environment.
 
Processing for the Web offers an opportunity to strengthen existing Mozilla Education initiatives directed at faculty and students in computer science programs, and also to leverage Mozilla Labs initiatives (most notably the [http://labs.mozilla.com/2009/01/introducing-the-design-challenge/ Design Challenge series]) of interest to faculty and students in design programs. The Processing for the Web program could also be a key initial component in a possible new "Mozilla Media" program to reach out and work with artists, filmmakers, musicians, and other creative individuals working with the open web and open media.


== Notes ==
== Notes ==
* Should address the question of why bring Processing to the web, from the perspective of why this is good for Processing and its users, why it is good for the web in general, etc.
* Address educational tie-in explicitly.
* Need to address objection of why we shouldn't just focus instead on JavaScript + Canvas, perhaps with new toolkits. (i.e., Processing API but with JavaScript control logic, not Java syntax)
* Should lay out high-level tasks in the project, and how each one might be addressed.
* Should lay out high-level tasks in the project, and how each one might be addressed.
Confirmed users
610

edits