Naked Objects create applications without custom coded GUIs. The one interface is directly listing the members of an object; values can be modified, references followed, and methods executed.

Naked Javascript is barely a proof of concept at this point; It can edit simple values and display but not execute functions.

The look and feel is vastly improved by using jQuery.UI, albeit in beta (I did make one small patch, which appears to be fixed in the upcoming code base.) I also did some source-code formatting with Chili.

Function editing will probably be a long shot. It will probably happen only in very restrained circumstances if at all - I don't know of any way to get at the previous function's scope of definition, so you won't necessarily have access to it's variables.

Simple strings and numbers can be edited in-place. The changes will affect the object, with a couple of caveats. First, related fields in i.e., DOM objects won't update; you can close and re-open a browser if necessary. All changes are transient; I haven't even looked at how saving might work when running on a local filesystem. Most of the things that can be done now are toys, but I do have one pointer to a text element on the page, which can be updated.

Live Demo

A bunch of stuff doesn't work in IE (big surprise) Editing, function pretty-printing, and hasOwnProperty on builtin objects.

Get Naked

'victim' is a reference to the above DOM element. You can change it's text by editing victim.nodeValue. Or, if you prefer, god.document.body.childNodes.1(HeadingElement).childNodes.0.nodeValue. But I figured I'd save you some typing ;^)

nakedjs.zip.

Known Bugs

Resovled
My publish script wasn't configured to upload .js files. The demo should be working now.
Resolved (0.2)
jQuery.UI allows draggable, closeable object browsers.
Resolved (0.2)
Strings and numbers can be edited in-place.
Resolved (0.2)
Functions are formatted nicer.
Resolved (0.3)
Single-file include. Actually two, because you need require.js first.
Resolved (0.4)
Functions can now be executed.
Resolved (0.4)
Browsers refresh after data is edited.
Bug
Only declared function arguments can be supplied.
Bug
Modified state can't be saved.
Bug
IE: function pretty-printing.
Bug
IE: edit in-place doesn't seem to be calling call-back.
Bug
IE: error on hasOwnProperty.
Feature
DontEnum properties aren't shown.
Sweet Dreams
It remains to be seen if functions can be edited.