Form Markup Language (FML) for Flexible Form Creation and Filling through the Internet

Musslih I. A. Harba*, Law Yaw Eng and Che Mat Hadzir
School of Electrical and Electronic Engineering,
Universiti Sains Malaysia
Perak Branch Campus, 31750 Tronoh, Perak,Malaysia
*Email address:musslih@eng.usm.my

Abstract:

This paper describes the Form Markup language (FML) which is developed specifically for the purpose of virtual form creation and filling through the Internet. It is a hybrid of the Hyper Text Markup Language (HTML), suitably enhanced for forms creation and editing.

Form filling, as in making applications or in data collection, is a standard procedure in the majority of business and government entities. With the advent of the Internet, it was possible to create virtual forms to be filled remotely, thus improving efficiency and helping establish a paperless society. Such virtual forms are usually displayed and consequently filled via an HTTP browser, which accesses a suitably written page on the remote Server. Often these forms looked different from normal paper forms, and usually they are to be filled using the standard mouse and keyboard.

Being a general purpose language, HTML does not lend itself easily for converting standard paper forms into identical looking virtual forms. Further, hand-written form filling, through a light pen or a graphic tablet, will extend this application even to the computer illiterate users.

FML provides convenient means for form creation, and allows a flexible choice of input devices and formats for form filling. By maintaining only needed attributes, FML is made simple. With an FML editor, it will be possible for the user to make a from in truly 'What You See Is What You Get' concept. With handwriting, it will be possible to fill in forms irrespective of the language the user is writing in. Suitable compression techniques are incorporated to economize on bandwidth when transmitting the handwritten text.

Unlike other software which accesses the WWW using HTTP, the applications here uses FTP to retrieve and reply to forms.

1. Introduction:

Form filling as in making applications or in data collection, is a standard procedure in the majority of business and government entities. In a paper-based society, pre-printed forms are made available with spaces allocated for the users hand-written or printed answers. Except in few cases, these forms are handled manually, and when necessary re-typed to store them in a computer database.

With the advent of the Internet and the drive towards the paperless society, computer based virtual form creation, filling and submission became a very attractive alternative. Not only speed of submission and processing is improved, but efficiency and convenience to the user have also been enhanced.

Virtual form filling through the Internet has been around for quite some time. Normally such virtual forms are displayed and consequently filled via an HTTP browser, which accesses a suitably written page on the remote Server. Often these forms look different from normal paper forms, and usually are filled using the standard mouse and keyboard.

Being a general purpose language, HTML does not lend itself easily for converting standard paper forms into identical looking virtual forms.

In this paper a special purpose mark-up language for form creation is presented. It is a hybrid of the hypertext Mark-up Language (HTML), but suitably enhanced for the purpose of form filling. Thus it has more fonts, and allows the use of special symbols. Facilities for capturing handwritten data are also embedded in this language.

The proposed FML-based form-filling package consists of three basic components, which will be described in the following sections of the paper. These basic components are:

  1. - An FML Editor for form creation, modification, and storing on the Server
  2. - An FML Browser running on the remote PC, to retrieve the form from the Server, decode it and display it on the monitor. The user then fills the form, through the keyboard or by handwriting, and sends the filled form to the Server.
  3. - An FML Manager to review the received replies, and manage the form directory on the Server.

FTP is utilized to retrieve the forms from the Server (whether for editing or filling), and to submit the filled forms. The system will only go on-line in the process of retrieving and sending the form files to the Server. Otherwise it will be off-line to conserve the bandwidth of the network. In other words, the network connection is maintained only during these operations, and is closed during form editing or filling. This helps reduce on-line time especially for those forms that require a lot of attention and thinking time. Income Tax forms are one good example.

Before describing the basic components of the package, a quick introduction to the structure of FML will be given.

2. The Form Mark-up Language (FML):

Being a general-purpose language, the HTML that is commonly used for web page making is quite complex to use because of the huge range of options that are available to the user. FML is a simplified Hybrid of the language for the specific purpose of making forms. As an advantage over HTML, the number of fonts available to the user is increased, with the addition of symbols that are not available in HTML. Further, facilities for handwritten input, in addition to the printed, have also been incorporated. The options available in FML are summarized in Table 1 below. The options are enclosed in the brackets < >. As well as these options a number of macros have been written to facilitate drawing lines, boxes, and such shapes that often appear in printed forms.

Option Symbol (begin) Symbol (end) Variable Comment
Font size <#h>   #= 1,2,…8 Each number corresponds to a different Windows size
Font Type <font#>   #=1,2,…15 Maps to certain characteristics of Windows' fonts, including Symbol and Windings
Bold font <b> </b>   Display in Bold
Italic font <I> </I>   Display in Italic
Underline Font <u> </u>   Display underlined
New Paragraph <p>     Start a new question
New line <n>     Next word on new line
Type of input <input x=####, y=###> and Button   #### = width/height of the input Specifies area of handwritten or printed input, or buttons for MCQ questions
Grouping <g> </g>   Buttons belong to one question, e.g.gender of user
Next question <q>     Next question on form.

3. The FML Editor:

The function of this component is to create new forms to be stored on the Server. This is either done from scratch or through modifying available forms in the Server. In order for the administrator to check whether the finalized form is satisfactory or not, a preview option is added to make it a reality.

The FML editor runs on the administrator's PC. The administrator retrieves a form template form the Server via FTP (with a password), or creates the form from scratch. The administrator edits the retrieved form, previews it, and sends the finalized form to the Server for storage and access by form fillers.

Two windows are opened for the administrator, one to show his FML source, and the other is show how it will appear when browsed by users.

The editor is created in such a way to make the forms in truly "What You See Is What You Get". Enough macros are incorporated in the Editor to facilitate the creation of forms that look as much as possible similar to the normal paper forms that people are used to deal with (e.g. the standard Income Tax Form). Pull down menues, easiliy identified button shapes, standard form templates, cut-and-paste and other features are built into the Editor to simplify the task of form creation. As an example, Figure 1 below shows the window displayed when the users opens the Change Font Window. Ease of use is quite clear.


Figure 1: The Change Font Window.

The steps included in the FML Editor may be summarized as follows (see Figure 2):

  1. - Retrieve the form template from Server, or create a new form
  2. - Edit the Form.
  3. - Store new Form in Server.

Figure 2: Transactions in the FML Editor

4. FML Browser:

The browser on the users PC operates by downloading selected forms from the Server to the hard disk of the PC. The form may then be filled using handwritten text, through a graphic tablet or a light pen (in our system a graphic tablet is used), or through the standard mouse/keyboard.

When the form is completely processed, the user can transmit the reply to the Server. Again FTP is utilized for downloading and transmitting the form, and the connection is maintained only during those times.

The steps involved in the browser's operation may be summarized as follows (see Figure 3):

  1. - Log in
  2. - Retrieve list of forms.
  3. - Request form.
  4. - Terminate connection.
  5. - Decode and display form.
  6. - Fill the form (using handwritten or printed text)
  7. - Data is coded into ASCII/binary format
  8. - Log in Server
  9. - Send reply data
  10. - Terminate connection.

Figure 3: Mode of operation of Browser

Data is compressed before transmission. Each multi-choice question is allocated a maximum of seven radio buttons. One byte is used to encode the status of the buttons; seven bits for the status of the buttons and one bit is allocated to indicate that all answers are false (i.e. unfilled by user)

For handwritten input, the data is transmitted to the Server as an image. Future work will try to incorporate a hand-written character recognition engine in the browser itself. The handwritten data is encoded so that each character represents a set of seven consecutive pixels in a horizontal row. However for a set of seven horizontal consecutive blanks, these are encoded in a different manner:

Integer representation of character = 128 + number of consecutive sets of blanks (with a maximum of 127 consecutive blanks).

Although very simple, this compression technique proved adequate. However, it is possible to incorporate more advanced compression techniques in a future development of the package.

5. FML Manager:

As the name implies, the FML manager is used to manage the file system of the Server that contains the forms and the replies. It is also used to retrieve the replies that have been submitted.

It also manages the forms, i.e. by providing facilities for deleting old forms or moving them out to an old form directory so that the form will only be available to the administrator but not for the users. It also allows printing of the replies, previews old replies, and such functions.

The FML manager is only available to the administrator, who must log on the Server with a privileged password.

6. Conclusions:

The above components were programmed in Visual C++ in a Windows 3.1 environment. The Server is Unix Based, with special accounts reserved for the purpose of this work. An initial version of the program was used for the creation of a form for student data collection.

However, more work is needed to make form creation more flexible, by incorporating more functions in the Editor and Browser. We are also in the process of modifying FML to include more graphical macros to facilitate the creation of dynamic forms. Here, the form shape may change in response to the user's answers, without having to make it look identical for all users, as is the case for paper forms at present

Acknowledgements:

The authors acknowledge the research grant provided by Universiti Sains Malaysia, Penang that has resulted in this article.





Webmaster Address: itrssm@au.ac.th
©Copyright 1997, Intranet Center , Tel.3004543 ext.1315, 3004886
Assumption University , Ramkamhaeng 24, Bangkok 10240 Thailand