Go to page content



Nitrogen is an Erlang framework for highly dynamic web sites.

Nitrogen was a source of inspiration for Zotonic.  In fact, we started with all our anyMeta experience and then took a look at Nitrogen.  We liked the way Nitrogen implemented event driven web site programming and how it always sends Javascript to the user-agent.

There were three areas where we had some problems with the Nitrogen route:

  • Our template designers would like to use all that event driven goodness, but then with templates for all the HTML.
  • Our programmers didn't like the use of the process dictionary for state.  We program functionally by passing state in a parameter instead of hiding state in the process dictionary.
  • We model the user, session and page using processes, enabling easier extensions for comet like push communication.

Inside Zotonic you can still see Nitrogen code and ideas:

  • Actions are almost the same as in Nitrogen.
  • Validations are almost the same.
  • Some context record names echo the similarly named process dictionary variables of Nitrogen.

Using a context parameter for handling state made the Zotonic much easier to program, debug and extend.