Final Project

As mentioned in the syllabus, our final project will be a finished, exhibition ready, work of online generative art. It should extend the work you've created earlier in the quarter, by either combining and/or iterating on one (ore more) of your prior assignments. Unlike your meditations (which are open ended explorations of generative art concepts and techniques) your final project needs to have a stated goal, context and title...

Class Critique

To receive full credit for you final, the work must be submitted on canvas as a published URL (just like the prior meditation assignments) and must also be presented in class on either week 8, week 9 or 10 (finals week) for an in-class ~15 min critique. You will be given ~5 mins to introduce your work, your goal and any necessary context. The rest of the time will be spent giving/receiving critique as per our Critique Guide.

Local Workflows

It may be the case that netnet.studio provides exactly the sort of tooling you need to create your final project. However, if your project requires a more complex file structure or heavily depends on features like URL Parameters that might be trickier to test on netnet.studio, you could optionally choose to work in your own code editor. There are loads of professional code editors to choose from (they all look a little different, but ultimately all do the same thing) some popular editors include the the cult classic Sublime Text, the corporate choice VSCode and the open source Pulsar (formerlly "Atom"), my personal favorite (featured in the videos below)

Here's how you can take a project you started on netnet.studio and continue working on it locally with your editor of choice. First you'll need to visit your GitHub repository (or "repo" for short) by clicking on the "project-name/index.html" link at the top of netnet's editor. There you can copy the git URL. We can use that URL to "clone" our repo, which means make a copy that not only contains all the code/files but also the history of changes we've made since first starting the project.

Then open up your editor to clone your repo. You could also use a terminal, git clone https://github.com/YOUR-PROJECT-URL. NOTE: if you don't have "git" installed you may need to do download and install that first. Below is an example of how to clone a repo using the Pulsar editor: use the CMD+Shift+P shortcut to open the search bar, then search for "clone". Paste your clone URL into the first field, and make sure the path in the second field is creating your cloned copy in the location you want it.

If you're unfamiliar with filepaths, that's something you'll want to learn about before creating complex project structures with multiple sub folders and files.


You can open your index.html file directly in the browser to preview your work, but if your project includes JavaScript code that loads assets (like image or audio files) you'll need to run a server on your computer in order for your code to fully work. Just like there are loads of different browsers you can use to access the Web, there are also loads of different servers you can use to publish work on the Web, below I'm using a simple server (which you can download) that i created for Mac, Windows and Linux. But you could also use servers packaged with different languages like python or php (I have detailed notes on that here.)

The project being served by our simple server is only accessible by browsers on our computer. That is of course, unless we change our computer's firewall/sharing settings to allow others on our network to send us requests, that would make it accessible to anyone on the same WiFi (particularly useful when testing on your mobile device). We could also change settings on our WiFi router to "port forward" requests to our computer which would essentially make our project (served on our comptuer) accessible to anyone in the world (ie. officially published on the Web). That said, we don't want to commit our personal computer to hosting and serving our project, so instead we'll publish our work by sending our updates back to GitHub and using their server to share our work to the general public.

The video below demonstrates how to do that in Pulsar. We open the "Git" panel, then choose which of our changed files we want to send back (or "push") to our GitHub repo. Once we've chosen the filese we want (ie. "added them to our stage") we then write a small message associated with that change (just like we do on netnet) and then click "Commit to main". Once it's comitted, we can click the "Push" button to send those changes back up to GitHub.