(1) Create a we page with canvas and a palette. The palette will hold the HTML UI elements like Textbox, Textarea, Radio buttons and so on.
(2) The user can drag and drop the UI elements to the canvas.
(3) The user specifies the properties of the droppped UI elements (say for example, if the user has dropped a Submit button then he can right click on it and specify what should happen during onClick of it)
(4) The user then saves the form which ultimately gets saved as a HTML file in the File system