= Field — Introduction =
Field is a development environment for ''experimental code'' and ''digital art'' in the broadest of possible senses. While there are a great many development environments and digital art tools out there today, this one has been constructed with two key principles in mind:
* '''Embrace and extend''' — rather than make a personal, private and pristine code utopia, Field tries to bridge to as many libraries, programming languages, and ways of doing things as possible. The world doesn't necessarily need another programming language or serial port library, nor do we have to pick and choose between data-flow systems, graphical user interfaces or purely textual programming — ''we can have it all'' in the right environment and we can both leverage the work of others and take control of our own tools and methods.
* '''Live code makes anything possible''' — Field tries to replace as many "features" with editable code as it can. Its programming language of choice is Python — a world class, highly respected and incredibly flexible language. As such, Field is intensely customizable, with the glue between interface objects and data modifiable inside Field itself. Field takes seriously the idea that its user — you — are a programmer / artist doing serious work and that you should be able to reconfigure your tools to suit your domain and style as closely as possible.
The best way to follow what's happening in Field development is to read [FieldNews the news].
{{{
#!html
}}}
== A fully featured core text editor for code ==
Field provides a powerful text editor at its core that has all the features you'd expect of a good script code editor. It supports '''syntax highlighting''', '''auto-completion''', '''inspection''', '''in-place unit testing'''. It has numerous ways of selecting and executing code '''quickly'''.
The editor also has a few surprises. '''Graphical user elements''' like sliders, graphs, buttons and combo boxes can be integrated into the text editor directly as if they were text; toolbars, menus and filters '''can be customized from within the environment itself'''; a set of elements allows '''other programming languages''' to be embedded into the same document — including programming languages that execute inside other applications like '''Maya and Aftereffects'''; embedded elements can be '''extended using code written in Field'''; and '''version tracking information''' is integrated directly into the document so that you can visualize the history of the document in-place.
{{{
#!html

Designed for Mac OS X 10.5
Field is exclusively developed and tested on the most recent hardware and software from Apple. A PC port is possible but only with your help.

Field is Open Source, licensed under the GPL v3
You should read the license , but the gist of it is this — the source code for Field is open for everybody to see, modify and learn from with one main condition: if you distribute software that uses Field, '''you have to open your source too''' (at least to the people that you distribute it to).

Interface with Java
Field is based on work conducted at he MIT Media Lab and has been in constant development for about 6 years. It comes with important pieces of engineering "under the hood" that are of of potential interest to many people even outside the context of the Field project. These include a sophisticated and fast Java-based scene-graph library for 3d graphics; an application framework for animation and music; and a byte-code rewriting annotation library for extending Java. Field's architecture allows you to build things visually in the canvas and text editor and then load canvases and code in your own programs without instantiating any user interface at all.

Render with OpenGL
Field and Field's underlying code-base are built using a reusable, high-performance OpenGL-based rendering system implemented using JOGL, the Java bindings for OpenGL.

Write in Python / Build in Jython
Field is a development environment for Python written using the Java implementation of this language — Jython. This means that you can use many Python libraries in addition to any Java library while also letting you use the excellent tutorials available for the Python language. Finally, even away from our main concern — digital art — Field provides an excellent Python text editor.
}}}
==== Current status: beta ====
The Field open-source project has been instigated by [http://openendedgroup.com The OpenEnded Group] and is in daily use in their studios (and a handful of other partners). It has been quietly available online for a year to developers, but it's time now to open up the platform to a broader audience. While it's been harshly battle-tested in technically demanding !OpenEnded Group artworks for years, from the perspective of the general public the code-base and its documentation are now at what we consider "beta" quality. It needs your attention, enthusiasm and bug reports to make this project flourish. We're particularly interested in engaging Processing "power users" for some significant testing of the !ProcessingPlugin since Processing is not a significant part of our developer population to date.
==== Download ====
Field is distributed as two flavors — '''for developers''' from the [InstallingField public source repositories]; '''for users''' as a [BetaBinaryRelease binary distribution]. For both there's a very good chance that you'll need an account to file bug reports with. Email field 'at' openendedgroup.com with a username and a password and we'll get you started.
The central starting point for the documentation on this site is [StandardLibrary here].