Interactive Document

An InteractiveDocument is a document that accepts and responds to user input. Significantly, it is a document. Note the singular!

The fundamental difference between 'document' and 'application' regards state and identity: If you open a calculator 'application' ten times, you'll have ten different calculators each with their own state. If you open a calculator 'document' ten times, you'll have ten views of one calculator. Pressing a button in one view should be, to some degree, visible in all others. (Ideally, you could even see the button-press animation and hear the button-press click sound from the other views.) In a document-based UserInterface, if you want ten calculators you'll need to explicitly create ten documents with different names - which really means: different URLs.

Different 'views' of an InteractiveDocument can differ, however. For example, the same calculator could be presented with different styles, different rotation angles, different scrollbar locations.

InteractiveDocument is a mode for UserInterface development that is potentially quite competitive with RichInternetApplications. In particular, the InteractiveDocument model allows opportunity for further improvements:

One could implement apps atop docs easily enough, by (for example) explicitly cloning a prototype calculator upon the press of a button.

Challenges for InteractiveDocuments:


See Also: NakedObjects, CroquetProject?, RestArchitecturalStyle, DocumentDefinitions, ZoomableUserInterface, CurlLanguage


EditText of this page (last edited January 18, 2011) or FindPage with title or text search