Frequently Asked Questions. There are many questions surrounding the enigmatic and youthful Processing project and we don't have all the answers, but we have many.
Select a topic from the pulldown:
 
 

When can I download Processing and how much does it cost?
How do I get started?
How do I learn to use Processing?
On which platforms does Processing run?
Is Processing open source?
Do I have to cite Processing or share my code? Can I distribute my sketches?
What's with the version numbers?
Why is it called “Processing”?
What is the sketchbook? What do you mean by sketches?
Why Java? Or why such a Java-esque programming language?
Dude, Where's the Timeline? This Sucks… / Awesome! A Flash Killer!
Why Is Processing Connecting to the Network?
What is that fantastic typeface used for the page headers?



 

When can I download Processing and how much does it cost?

The software is free to download. If you are interested in testing the BETA version of the software, visit the download page and follow the instructions.

We think it's important to have Processing freely available, rather than selling it for a million dollars under some godawful yearly contract update scheme. To that end, we encourage people to spread the word and refer them to the processing.org site.
 

 

How do I get started?

Double click the 'Processing' application, and select something from the examples menu: File → Open → Examples. Hit the 'run' button (which looks like the play button on a vcr or tape deck).

Lather, rinse, repeat as necessary.

More information on using Processing itself is can be found in the environment section of the reference.

If you're having trouble getting Processing to start, check here for possible solutions.
 

 

How do I learn to use Processing?

To learn the Processing language, we recommend you try a few of the examples, read some of the tutorials and check out the reference.

When using the examples (or trying someone else's code), if you run across a function that you're not familiar with, highlight the word, right-click (ctrl-click on the mac), and select "Find in Reference" to open the reference page for that keyword. This can be helpful for understanding how programs work.
 

 
On what platforms can I run Processing?

We release versions for Windows, Mac OS X, and Linux. We test extensively on Mac and Windows platforms, but not much on Linux.

More detailed information for the specific platforms can be found in the Platforms section of this FAQ, which also includes information about running the Processing Development Environment on other platforms.
 

 
Is Processing Open Source?

The Processing development environment is released as open source under the GPL. The export libraries (also known as 'core') are released under an LGPL license, which means they can be used as a library and included in your project without you having to open up your code (though we encourage people to share anyway). But if you make changes to core, you have to submit back to us. More information about the GNU Public License can be found at www.gnu.org/copyleft/gpl.html.

Processing also relies on other open projects, namely: The source code is stored on our developer site, and more information about its use can be found over there.

We need help! Having shared all the code and made it available for free, doesn't it just make you want to pitch in? We have too much work to do and can't keep up with things. We love to see bug fixes, new libraries, etc. If you're interested, contact us via the discourse section of the site.
 

 

Do I have to cite Processing? Do I have to share my code? Can I distribute my sketches?

We like it when people include a "Built with Processing" note with a link back to the site, since it helps create interest and brings in more people to the project. We don't/can't/shouldn't require it, but it makes us happy because the project is free and this is one way you can help give back to us.

You can also remove the source code from web pages that you export, but in the spirit of the Processing project overall, we include it by default so as to encourage sharing and learning from one another.

You can distribute your sketches all you want, and commercial projects should be just fine too, however we place no warranty on the software (see the download page for the license shenanigans).
 

 

What's with the version numbers?

This is not 1.0 software.. It's buggy and may kill people. That's part of why we used to make everyone sign up to download, so that we know that you care enough to bother and have more of an inkling of what you're getting into.

At least until the final 1.0 version, we'll be using four digit numbers for the release. Revision 0085 was the first "beta" release, which means that all the features are in, but not all the bugs are out. There remain several known issues with the beta release that will need to be sorted out before we're comfortable calling a release an actual final 1.0.

The numbered releases aren't always heavily tested, so don't be surprised if/when something breaks. Check the bugs section of the site and report the problem if it's new, and in the meantime, you can go back to the previous numbered release until there's a fix.
 

 
Why is it called “Processing”?

At their core, computers are processing machines. They modify, move, and combine symbols at a low level to construct higher level representations. Our software allows people to control these actions and representations through writing their own programs. The project also focuses on the “process” of creation rather than end results. The design of the software supports and encourages sketching and the website presents fragments of projects and exposes the concepts behind finished software.

“Proce55ing” is the spelling we originally used for the url. Even though it's a combination of numbers and letters, it was simply pronounced “processing.” We saved our pennies and had a can drive so now we've since acquired the processing.org domain name. As a result we are no longer using the name “Proce55ing.” When we see it with the 55's it annoys us and we want to punch people in the face. Or punch ourselves in the face for using it in the first place. Actually, we try not to be that emotional about it but we're trying to kill off the previous naming. However, to make it more confusing, we sometimes still use “p5” (not p55) as a shortened version of the name.
 

 

What is the sketchbook? What do you mean by sketches?

We think most “integrated development environments” (Microsoft Visual Studio, Codewarrior, Eclipse, etc.) tend to be overkill for the type of audience we're targeting with Processing. For this reason, we've introduced the 'sketchbook' which is a more lightweight way to organize projects. As trained designers, we'd like the process of coding to be a lot more like sketching. The sketchbook setup, and the idea of just sitting down and writing code (without having to write two pages to set up a graphics context, thread, etc) is a small step towards that goal.

The idea of just writing a short piece of code that runs very easily (via a little run button) is a direct descendant of John Maeda's work in Design By Numbers, and our experiences maintaining it. (Yes, other languages and environments have done this first, but in our case, the concept is drawn from DBN).
 

 

Why Java? Or why such a Java-esque programming language?

We didn't set out to make the ultimate language for visual programming, we set out to make something that was:
  1. a sketchbook for our own work, simplifying the majority of tasks that we undertake,
  2. a teaching environment for that kind of process, and
  3. a point of transition to more complicated or difficult languages like full-blown Java or C++ (a gateway drug to more geekier and more difficult things)
At the intersection of these points is a tradeoff between speed and simplicity of use. i.e. if we didn't care about speed, Python, Ruby or many other scripting languages would make far more sense (especially for the simplicity and education aspect of it). If we didn't care about transition to more advanced languages, we'd get rid of the crummy C-style (well, algol, really) syntax. etc etc.

Java makes a nice starting point for a sketching language because it's far more forgiving than C++ and also allows users to export sketches for distribution via the web.

Processing is not intended as the ultimate environment/language (in fact, the language is just Java, but with a new graphics and utility API along with some simplifications). Fundamentally, Processing just assembles our experience in building things, and trying to simplifies the parts that we felt should be easier.
 

 

Dude, Where's the Timeline? This Sucks… / Awesome! A Flash Killer!

We're not targeting Flash. If we wanted to make a Flash killer, we'd have set out to do that and our stated purpose would have been more specific (and we'd have more on the site about "Processing vs. Flash" in the competitive shootout sense... right now we just have information about how the syntax differs so that people can make the transition).

We could have saved a lot of time if we just wanted to build a better Flash. And in the end, as two people, do you really think we can or should bother competing with a company as large as Macromedia? Macrodobe? Does anyone really want a better Flash?

There are things that are always going to be better in Flash, and other types of work that will always be better in Processing. But fundamentally (and this cannot be emphasized enough), there is no all-or-nothing game… We're talking about tools. Do people refuse to use pencils because pens exist? No, you just use them for different things, and for specific reasons. If Processing works for you, then use it. If not, don't. It's easy! It's free! You're not being forced to do anything.

As we have heard, Flash 8 will be better at doing some of the pixel editing/image stuff you can do in Processing, but there are still lots of things we're covering that's not focused on moving pixels (OpenGL acceleration, easy serial port access, video input) and other things that are incomplete in beta but just around the corner ("Export to Application" and more).
 

 

Why Is Processing Connecting to the Network?

After you double-click Processing, it will check the site for updates. This is helpful so that we can keep people aware of the frequent updates to Processing.

In so doing, it also sends a random number that identifies yours as a unique machine (but sends no personal information to us). This really helps us get a general idea of how many people are using the software, which is really important for things like writing grants so that we can keep Processing free.

If the network connection causes you trouble, it can be shut off inside the Preferences window.
 

 
What is that fantastic typeface used for the page headers?

The typeface “PS” was developed specifically for Processing by Mike Cina of WeWorkForThem. Other typefaces designed by Mike are available at YouWorkForThem.
 










 
  Processing is an open project initiated by Ben Fry and Casey Reas  
  © Info