This is part of an ongoing effort at the ECAL to use Scriptographer for teaching programming to students of graphic design and interaction design in a way that allows them to use it as a integral part of their daily workflow, in areas where scripting makes sense.

These workshops are part of a research project conducted by Jonathan Puckey and Jürg Lehni and assisted by Florian Pittet. The project started a bit less than one year and will carry on for the whole of 2010.

Each semester there is one workshop in which new ideas for methods and approaches of teaching scripting are tested, and of which the outcome is fed back into the further work on both Scriptographer and the documentation and tutorials that we are currently preparing for it.

One of the early results is a modification of Rhino, the JavaScript engine inside Scriptographer. This modification allows vector algebra to be written in a far more intuitive way, facilitating its use as a base in a one week workshop where students have no pre-requirements in programming or vector geometry. Due to this feature, a complicated line like the following can be rewritten in far more readable way:

var middlePoint = event.lastPoint.add(event.point).divide(2);

becomes:

var middlePoint = (event.lastPoint + event.point) / 2;

Other changes that stem from this project are the recently introduced simplifications in the way the Scriptographer interface works, based on observations made in an early workshop.

We believe that by continuously testing our concepts and code with students, Scriptographer will benefit more and more, both in the API and in the way its interface works.

Big thanks to the ECAL for supporting our efforts and providing brilliant students as guinea pigs ;-)

Expect more materials from other workshops to be posted on this site soon.

After many weeks of work, version 2.6 of Scriptographer was finally released today. This is mainly a maintenance release with many changes that should increase stability and not affect existing scripts so much.

The most obvious change for users is probably the change of folder structure in the scripts folder. We decided to introduce two root folders, Examples and My Scripts, to encourage people to separate own scripts from predefined examples. In a future release there will be a third folder called Tutorials, which will server as a base for people to learn scripting in Scriptographer, and a simple way of adding other folders in different locations as code repositories or projects, to avoid the risk of overwriting existing self written scripts when updating Scriptographer.

Speaking of tutorials, we also spent a lot of work on improving the documentation and the tutorials and this site, of which you are now only seeing the beginning. In the coming weeks we will be more and more focusing on this effort in order to remove many of the initial hurdles when learning Scriptographer.

And finally I would like to point out the new path.smooth() function which comes in very handy when trying to put a smooth curve through a group of points.

It took far longer than anticipated and far too long for anyone who was waiting for it to be released, especially after after all the false predictions about possible release dates in the past months. But here it is finally, the all new version, with lots of bug fixes, many new features and improvements, and finally proper CS4 support.

Many of the changes are under the hood and not visible straight away, but the more you work (and hopefully write code) with this new version, the more you will notice these improvements on all levels: A better structured and simplified API, syntax simplifications and improvements through tweaks to the Scripting Engine, a series of coding conventions that we will start writing about in tutorials, better structured documentation, etc. With this release we are only lying the base for many more improvements to come, and the more of the hard work is done, the more this becomes the actual fun-part of the project: Designing the architecture itself, coming up with conventions about how to make and use things in easy ways and communicating these, etc.

Several parts of the API have changed, so please do not expect your scripts written for previous versions to just work without some tweaks. We believe that the changes were worth the risk of breaking existing scripts, and we are willing to help with porting to the new version. As a start, we ported most of the scripts that users have uploaded to this site. Each script page still contains the original file, marked with -previous in the name.

We have prepared an extensive changelog with explanations about the API changes and how to adapt and use these.

We believe that this version was well worth the wait. But from now on, we will go back to a scheme of releasing often and early, to keep users in the loop as much as possible.

Since this question was raised twice on the forum now, here a post to inform everyone that things are moving on. CS4 support is on its way. The last release of Scriptographer is a long while back, and a bit buggy in many ways. In the meantime many of these bugs were fixed and many features added. We also changed the API in parts and therefore broke backward compatibility with existing scripts. The scripts will be easy enough to update, and the syntax got easier in many places.

It all ended up becoming a far longer transition than initially planed. The challenge now is to wrap this unfinished transition up a bit for a CS4 release soon, then finish the pending changes, and not mess everything up.

A preview version will be offered along with the current version, for backward compatibility until the transition to the new API is over.