TODO Make it work for rotations. For this, I need to know how to reverse an affine transformation about a different centre. Specifically, if you have an element and apply "translate(50px, 50px) rotate(30deg)", it does the translation and rotation about its own centre. How do I calculate the matrix that I need to apply to the *body* in order to shift and rotate the body so the element appears where it should have been before the transformation was applied? I know how to invert a matrix, but I don't know how to invert a matrix and take into account the different centres of rotation. UI for rotation: slide-out drawer with rotate icon in it. Make the resulting document saveable Pop up a new window with the rendered doc in and ask them to do Save Page As? POST the content of the page to an online web service and have that download it? Note that an online service is no good since the page isn't served from there; the whole point is that it's editable just as a page loaded off the hard drive. Something else? Make it not look like arse Design skills, I have none. I need some. This could be great if it didn't look utterly shit. Think up a name The only hard things in computer science are cache invalidation and naming things. Implement image addition Ask for an image URL, then convert that URL to a data URL (this will need some sort of online service) and embed in the page. Note that an online service is no good since the page isn't served from there; the whole point is that it's editable just as a page loaded off the hard drive. Images are done as: The transform-origin is required, or zooming zooms to the wrong place. Use scale to make the image whatever size you want in the overall pres view. Allow images to be zoomed in and out Draggable corner? Implement changing text sizes An "expander" drawer slides out of highlighted (hovered) items, with six squares of increasing size; choosing one changes the nodename Change display order of items UI is a challenge. Have lines joining each item to the next item? Show lines for this item and the two or three around it, on hover. Should be able to move an item to be in another place in the list, as you can if items are just shown as a list. Maybe have a global edit-box button which reorganises everything in a list and lets you drag items in the list up and down? Then press the button again to go back to different ordering. Delete all button to delete the instructions Make big text a lot bigger; small text a lot smaller. Change background/foreground colours Slide-out drawer again for foreground colour of text; button in edit box for background colour of presentation. WebKit doesn't have input type=colour? Make it work in Mozilla Unlikely, since Moz doesn't have CSS transitions. Is it going to get them? Think of a logo and make it come up in the corner of the last slide? Intrusive? Allow editing of notes Any heading can have a

after it which is notes for that heading. These notes need to be editable through the UI. Another slide-out drawer with an icon, which when clicked slides out a big drawer with the note in it? Semanticness It is Not Very Semantic to have all the content in headers. Talk to someone like brucel about this. Presenter view in a different window Show slide title, any slides notes, next slide title, timer Outline mode for creating the thing