Chocolate.js Tour
-----------------

### Preamble

First of all I was an Apple II programer : back in 1984 I wrote the first [Tennis Simulation](http://www.virtualapple.org/tennischampionshipdisk.html) on that computer.

Back in 1998, when I was programming version 2 of my [French Bible CDROM](http://www.cdweb.com/ltqc/Products/BJ3/Demo/Demo0001.htm), 
I decided that Visual Studio was not intentional enough. I wanted it to remember what I had in mind when I was writing this or that function...
So that making my C++ source code evolve would be a pleasure.

At the end of that year, I started to work at Microsoft France and discovered an internal research project call [Intentional Programing](http://www.intentsoft.com).
I found that we had many ideas in common. But it was not possible for me to integrate that team.

My journey to intentional computing started...

I created the Intentware project and web site in january 2001 and started build and rebuild prototypes.

Few years later, in 2006, I wrote :

        Imagine a scenario where everyone 
        can publish services it offers 
        and subscribes to those it needs.
        
        Imagine a tool which makes it possible 
        to learn by experimentation. 
        
        A tool which makes it possible to manage intentions 
        and projects and to describe and program web services easily.

Crawling the Internet again and again I did not find what I was looking for.

However, I saw a slow movement toward my vision.

I also found that some of my goals where :

 - I want to have an immediate computing environment where, like in Excel, there is no time between intention and realization.
 
 - I want to have to know only one programming language that I can use to program on servers, clients, database, user interface...

My journey continued...

In 2007, I wrote Ijax, a javascript framework based on Mootools, where I experimented some of my ideas:
declarative user interface contexts. I used it in few web sites: [http://sefarim.fr]() and [http://sefarim.fr/hamore]()

In 2011, after an exploration in the Python world, I decided to give javascript a last chance... And... I discovered Coffeescript (and then CoffeeKup).
It was what I was looking for: only one programming language for every aspect of my programer's life,
and a nice balance between functional and imperative programming.

Intenware project could resurrect!

So I started to build Intentware using Node.js and Coffeescript. I quickly needed an online web development environment, so I created one.

In 2012, Jeremy Ashkenas twitted about an astonishing video: Bret Victor's Inventing On Principle...  
Finaly I found someone with ideas close to mine. I decided to integrate the Immediate principle in my work and also one of its demos in my development environment.
I decided to integrate all those tools in one interface and I started to make interesting progress. So much that I want to share it.

I called my web development environment **Chocolate.js**. 

Why? 

#### Because I don't drink coffee!