Development Speed by:
 Copernicus Software Training Center

In a speed test conducted in November 99 (illustrated below), XLiRAD proved to be a faster development tool that Allaire's ColdFusion or Microsoft's application server. And since then we've made even further advancements in the area of development speed.

The speed test results below illustrate how much time you can save on complex projects by using XLIRAD.

Date: November 20, 1999

Venue: Copernicus Software Training Center 

Objective: Determine if there is an obvious speed advantage given to web developers using XLiRAD. 

Time limit: Five hours 

Participating developers: An experienced independent programmer for each application was contracted to participate in the test, representing Cold Fusion, Microsoft InterDev and, of course, our developers at XLiRAD.

Summary Results: InterDev: Partially completed test in 5 hours Cold Fusion: Completed test in 2.5 hours XLiRAD: Completed test in 37 minutes 

Challenge Criteria:

The following criteria outlines the specifications of the XLiRAD
Challenge. The test parameters are as follows: 

  1. The test will be conducted at and monitored by the Copernicus Training Facility, San Diego, Ca.  
  2. All participants were informed of the desired functionality ahead of time.  
  3. All participants pre-setup their database before the test.  
  4. All participants installed their client tools on the machines provided or brought their own pre-configured systems.  
  5. All participants began the assignment when instructed to do so by the Copernicus representative. 
  6. Participants signed a claim to certify that they did not cheat in any way by having pre-made functionality to include in the test. 

The functionality to complete is as follows:

A) Simple Database Interactivity 

  1. Add, Change and Delete functionality to a Contact Info table. The Contact Info table will consist of a unique contact info number, name, address, address 2, city, state, zip, phone number and company name. 
  2. A search page with 3 search criteria. Name, Company Name, Phone Number. The search page will return a page with the matches. Each row will contain a link to edit that row.
  3. A general report listing that shows all the rows in the Contact Info table. If the number rows returned is greater than 5 rows, then paging logic should kick in, allowing the user to page thru the results with next/prev links/buttons. 
  4. All of the functionality described above should work and display using a web browser only. The participants can pre-setup a web server to accomplish this.

B) Extra Functionality [Complete if time permitting as much as possible.] [Accomplish in any way possible.] 

  1. Security: Secure the pages from part A) such that the Edit,Change,Delete,View, and Search pages are realmed off by username and password. Username and password should be persistent, if possible, to prevent re-entering it each time the administrator wishes to see these pages. 
  2. Form validation: Secure the entry data from the add and edit forms from part A) such that all fields except "Address 2" are mandatory. 

C) Extra Functionality Part 2 [Complete if time permitting as much as possible.][Accomplish in any way possible.] 

  1. E-mail: Add an entry box to the add contact page that accepts an e-mail address from the new contact. Send that new contact a confirmation e-mail after a successful registration. Do not worry about changing the database table to accept the new field. Just use the entry box to get the address for sending the e-mail, create a short, generic response e-mail, and send it in real-time to the
    contact. [We can validate this with a known e-mail address that we can check during or after the test.] 
  2. Generic Cookies: Create a page that allows the user to enter a name and a value for a cookie in a form. Have the response page to the form set that cookie on the user's browser. Create another form that allows the user to enter the name of a cookie, or "all" for all of them. The response page to this form should merely display to name and value of the cookie chosen, or all of the cookies if "all" is selected.