A software application development system and method of developing and running
software is disclosed that allows multiple developers to access, develop and run
a common software application simultaneously; even while others are running and
using the same software application. In a first aspect of the invention, a software
development environment includes combined run mode and design mode functions and
code which allow a user to seamlessly toggle between run mode and design mode without
compiling or otherwise converting the software application. This is accomplished
through the use of common properties tables in both the run mode and the design
mode for the application. In a second aspect of the invention, multiple clients
of a software application server are each able to develop, run, and otherwise interact
with a software application at the same time from different computers so that each
modification by each client is reflected immediately in the software application
running on each other client. Thus, multiple users can use and develop the same
software simultaneously through update notices between the clients and the server.
This aspect of the invention allows a software application to be developed and
tested by multiple users through a network while a customer is running and commenting
on the application from a remote location. Several specific uses for embodiments
of the invention are also described.