Data channel

@pendletons You can all but ignore `index3.html` the main work was in `main.js` which combines the data stuff from step 7 and some of the code already there.