VR Studios incorporates a wide variety of software development techniques into the development of its products. Below are listed some of the main features of the products developed here.:
Model - View - Controller (MVC) - Most of the Flash / ActionScript tools are developed using the MVC design pattern. For fast prototyping, initially all components reside within the compiled .swf file. Once the tool is ready for production, the Model component is rewritten and segmented such that all of the business logic is extracted and rewritten as a server component. The server components are written in either Java, Perl or PHP.
- Interactive - This tool provides a navigation panel with options to select either of the 2 main views or the help view, which sits atop the tool. Overall this is a very complex tool that provides special features based on the level of the logon account. If no session has already been granted then a guest account will be assumed. Technologies used with this tool are ActionScript, Perl and Java.
- Astrology - This tool provides access to the open source astrology project developed at AstroDeinst.com, converted to Java by Thomas Mack, and extended here at VR Studios (see Open Source). This tool was developed using the MVC design pattern and coded using ActionScript, Java and Perl.
- Reference - This tool is merely a driver for the following 3 reference tools, all using the MVC design pattern and coded using ActionScript and Perl. Navigation for the Reference tool is along the top, and defaults to 'The 7 Chakras'.
- The 7 Chakras - This is a training tool that acts as a reference to one of the main aspects of the OracleCards metaphysical study. This tool employs the following functional asynchronous events:
- MP3 Streaming (with progress bar)
- Background loading of graphics (with progress bar)
- The Caduceus - Another training tool as part of the OracleCards tool set.
- General - Currently under development.
Database Design - Most every project that we develop requires a back-end database to house the company data. In some cases the data resides behind a firewall available only to employees via the company intranet. As a result, database design is an integral part of the analysis phase of project development. .
- Goodrich Aerostructures - We consulted with Goodrich for over 8 years, and in the process developed what became known as the S.M.A.R.T tools. These tools are a set of aerospace engineering applications, developed first in Excel and then ported to VB6. The project entailed developing both a web and a database that represents the MIL-HDBK-G engineering data for aircraft materials. The tools allow engineers to pull in material property data using a drop-down menu, the data being used in the calculations specifically designed for the aircraft component being analyzed.
- Healthy People, Inc - One of our current contracts has been to develop and manage the HealthyPeopleTeam.com web presence. This project entails managing customer accounts along with their proprietary data. The DBMS for this project is a combination of MySQL and PHP, which evolves based on the customer's reporting needs.
- iRepattern - Our company owns a number of independant websiters that, taken together, describe the full range of products and services offered through this business. As expected, database design is a fundamental part of the operations employed here. Since all of our websites reside on the same VPS, the databases are shared between projects, as are some of the software components.
Session Management - When company data is private, proprietary or highly sensitive, public access to the data is restricted. This restricted access is attained using a combination of customer logons and session management.: Below are listed some of our projects where session management is essential.
- Healthy People, Inc - This project entails managing customer accounts, as well as managing access to the data that customers upload to the site. Access restrictions are enforced based on the priority level assigned to each account. There is a session timeout feature that is activated when a logged on user session is idle for15 or more minutes, cancelling the session and requiring the user to log on again.
- OracleCards - This project involves managing membership accounts, and provides session mangement and the access methods necessary for users to be granted permission to run member-specific interactive tools. Many of these tools are provided to the public where key features or functionality are restricted or reduced. The engineering logic all resides on the server and made available to the user based on the priority level of the active account. If no session is indicated, then a guest account is assumed and the tools respond accordingly.