Users can enter a function which will define the rules of a cellular automata. Looping through the grid, coloring cells, and getting neighboring cells are abstracted away.
Multiple users can view/edit the same simulation at the same time. This is made possible (and easy!) via the Croquet library.
If you want to share your session with someone else, you must send them the complete url which includes the session id.
See the deployed site here: https://evanhackett.com/cellular-automata-creator-croquet/