US 7,475,339 B2
Method apparatus and computer program product for interactive surveying
Lane Thomas Holloway, Pflugerville, Tex. (US); and Nadeem Malik, Austin, Tex. (US)
Assigned to International Business Machines Corporation, Armonk, N.Y. (US)
Filed on Aug. 09, 2001, as Appl. No. 9/925,585.
Prior Publication US 2003/0033193 A1, Feb. 13, 2003
Int. Cl. G06F 17/00 (2006.01)
U.S. Cl. 715—237  [715/234] 5 Claims
OG exemplary drawing
 
1. A method for generating a survey for a computer system on a network, the method comprising the steps of:
storing an HTML formatted survey document on a computer-readable medium of a first computer system, the survey document having questions and answers in a certain format, wherein the questions and answers are for delivery in the survey document over a network to a second computer system and wherein the survey document is for presenting to a user by the second computer system i) ones of the survey document questions and ii) answers from the survey document for selecting on the second computer by the user of the second computer, wherein according to the certain format of the survey document, the questions and answers are defined as XML data elements included in the survey document as strings of text surrounded by text markups, including tags describing the data elements and attributes defining associations among the questions and answers, including associations such that ones of the questions branch from ones of the answers;
storing a document type definition file on the computer-readable medium of the first computer system, the document type definition file being for delivery over the network to the second computer system, wherein programming instructions include instructions for causing the second computer system to validate the XML data elements responsive to the document type definition file; and
storing an HTML formatted document and programming instructions on a computer-readable medium of the first computer system, the programming instructions being written in an object oriented, interpreted, dynamic programming language and the HTML formatted document and programming instructions being for delivery over the network to the second computer system, the programming instructions including:
first instructions for receipt and execution as an applet in a browser of the second computer system, wherein the execution of the first instructions as an applet causes the second computer system to parse the data elements from the survey document into data arrays comprising a hash table and having cross-references defining the associations among questions and answers;
second instructions for receipt and execution as an applet in a browser of the second computer system, wherein the execution of the second instructions as an applet causes the second computer system to display in a browser on a user interface of the second computer system a first set of one or more of the questions and corresponding, selectable answers and causes the second computer system to then repeatedly select and display additional sets of one or more of the questions and corresponding, selectable answers, wherein the repeated selecting and displaying of the additional sets of one or more of the questions and corresponding, selectable answers is by the second computer and not the first computer and is responsive to answers selected by the user on the second computer, and wherein the repeated selecting by the second computer system is further responsive to ones of the cross-references of the data arrays arising from the second computer system parsing the data elements from the survey document; and
third instructions for receipt and execution as an applet in a browser of the second computer system, wherein the execution of the third instructions as an applet causes the second computer to return survey results to the first computer system as an XML formatted answer response document defining the answers selected by the user as data elements included in the survey document as strings of text surrounded by text markups, including tags, wherein the text markups describe the data elements.