skyBuilders offers so many different tools I am confused. What if I just want a couple of applications or "web services."
Our new licensing/pricing plan lets you buy just what you need. When you want to add something, just go on the web and pay for the additional licenses. The fundamental timeLines server engine and the open database model are in place and ready to run a dozen more web applications for you with no additional installations. As your organization grows, you can make more use of the web to manage your enterprise.
What is a web application, and why are they so important today?
In a standard desktop application (shrink-wrapped software) the code and the data all run in the desktop computer, and the application runs very fast. Web applications run partly in the browser (client) and partly on the web server, actually on an application server behind the web (HTTP) server. The application server typically connects to a database, and the multistep process of retrieving data from the database, executing code on the application server, packaging the results for the web server, and sending it to the client, makes web applications slow.
Fast modern web applications partition the code and data between the browser and the server. This way a lot of work can be done on the browser, reducing the number of slow round trips back to the database. But now the web server must send client-side code (usually Javascript) and datasets as well as plain HTML to the browser. And since it is interpreted rather than compiled code, client-side Javascript is also slow.
So why bother with a web application? The answer is very simple - your data can now be shared with everyone in your organization (with appropriate permissions) anywhere in the world. And on the bright side, today's high-speed web connections and super-fast processors make web applications faster all the time. Many things can be done well. Things that do not work generally stumble on the poor graphical interface in the browser, even with Dynamic HTML in the 4.0 browsers.
Which applications are suited for "web services," and which aren't?
Word processing, page layout, and graphics-intensive applications are out. E-commerce, Events and Resource scheduling, Project management, Knowledge (or Content) Publishing, Document and File sharing, Financial management, Presentations, Multimedia streaming, Web-based Training, and Groupware of all kinds are in. See our list of Competitors for the range of web applications now available.
Web applications may change the standard model of shrink-wrap software - multiple licensed copies running on independent CPUs. The new model is of a central, database-backed web server providing computer power and data storage, a "shared space" for hundreds or thousands of members of an organization. We call this a "community computer". Most of our competition has a per-user pricing model. We see scalable solutions that charge a single license fee per functional module per server, and provide the organization and its consulting developers with all the source code to protect their investment.
How much do database-backed web sites cost?
Suitable relational database management systems (RDBMS) cost from nothing - PostgreSQL and MySQL (no charge for non-profits), to hundreds of dollars - desktop databases like Access and Filemaker Pro, to thousands of dollars for Microsoft SQL Server with an Internet Connector license, to tens of thousands and up for industrial-strength IBM, Oracle, and Sybase software.
The web (HTTP) servers range from free (Apache) to a thousand dollars for Microsoft IIS (if Windows NT Server or Windows 2000 Server is required).
Application server code can be written in many free languages. The original and still most popular one is Perl, used to write most CGI Scripts. Many web application servers are written in Java. New free productivity tools like Active Server Pages, Java Server Pages, and PHP greatly simplify the building of web applications.
The minimum cost of a database-backed web site is then the computer with adequate data storage and a fast Internet connection. If you want high-bandwidth and 100% uptime, you should consider locating this computer in an Internet Data Center. If money is a problem, we can show you how to use two DSL lines connecting to two Ethernet (NIC) cards in your server(s). This increases reliability and uptime for a modest cost ($250/month), while keeping the servers under your direct control.
The absolute minimum is then about $1000 plus $125/month for Internet connectivity. Figure several hundred dollars for the web application software. Look for packages that fit your organization needs as is, because consulting fees are high (hundreds of dollars per hour).
What is a Server Page?
With the 2.0 version of Active Server Pages, Microsoft created a single file that encapsulates server-side scripting and works as its own HTML template for return of the executed server-side code to the browser. Previously three files were needed, and some other web application tools still require two. There is now a strong one-to-one relationship between Server Pages and Client Pages.
A typical Server Page is a mixture of plain HTML and possibly client-side Javascript, with server-side code delimited by special <% %> tags. Anything between the tags is passed to the ASP.dll for conversion to characters that can be interpreted as HTML or Javascript, depending on their surrounding context.
What is a timeLines "serverPage?"
timeLines serverPages are Server Pages (written in ASP, JSP, PHP, and even Perl) that standardize the sections of the page responsible for moving client-side code and datasets to the client, and the procedures for round-tripping client-side variables (new user input) back to the server. This standardization simplifies the automatic code conversion of timeLines serverPages between ASP, JSP, PHP, and to - but not generally from - Perl.
What are timeLines builderPages, builtPages, and the buildPage() function?
timeLines builderPages are sent to the client but never seen (except in special debug mode). A very special Master builderPage is a frameset page (FoundationBuilder.asp) that contains all timeLines global variables and dozens of timeLines general functions. The frameset includes frames for the other builderPages and the visible builtPages. A builderPage contains the buildPage() function that rewrites a builtPage instantly with no return to the server.
The fundamental reason for this two-step process is that when a page is reloaded, all Javascript in it is lost - code and variables. builderPages provide persistence of variables and a location for code that survives the rewriting of the builtPages HTML.
What is skyBuilders timeTravel?
timeLines builderPages can be preloaded with datasets for a wide range of time. Clicking on the Calendar builtPage causes it to rewrite itself with a new date highlighted. It also calls the buildPage() functions to rewrite other builtPages with appropriate data.
A special page is the timeLines frame with its timeTravel and/or timeRanger controls. Clicking on the control calls functions in the timeLines BuilderPage (and in the Calendar in case a date changes) which cause a rewrite of the timeLines builtPage.
This allows timeTravel to move into the past and future, and zoom in to finer intervals of time (minutes) or zoom back out to see weeks or months of temporal data.
What is skyPublishing, and how does it differ from ordinary web page publishing with ftp file uploads?
skyPages are timeLined pages that are usually part of a page series. Each page appears on the web at a definite time, then is replaced by the next page in the series. Weekly, daily, even hourly news pages are possible. All the earlier versions of a page are always available on the web, accessible through a permanent archive, or by a bookmark with the page's unique date/time stamp.
skyPages are editable over the web (with proper permissions) from a web browser, so many people can participate in skyPage creation. There is no need for ftp software and complex navigation of the remote web server directories. Each skyPage knows where it belongs in the site hierarchy. When you open it in skyWriter, you can edit it there, or download it into a sophisticated visual editor then upload the revised page. The skyPage goes back to its proper location. Past versions of a page can easily be made the current version. So skyPages gives you a simple but powerful versioning tool.
When you navigate to a different date in the skyCalendar, your web pages are seen "as of" that date. skyPages provide you a permanent record of how your web site looked at all times.
What do you need to install skyBuilders timeLines on your organization's current web server?
The initial release of timeLines is for Microsoft Windows Internet Information Server (IIS). You need IIS running on Windows NT Server 4.0 or Windows 2000. Several other requirements are described in the Installation Manual. If this seems too technical, you need a skyBuilders consultant.
skyBuilders hardware partners can build a complete timeLines server solution in a 1U-high rackmount case suitable for co-locating at a web hosting service, or in a less expensive tower case.
How do you get a development site at dev.skybuilders.com for your personal use and study?
If you qualify as a skyBuilders consultant or developer (a "skyBuilder"), we can provide you with a working demonstration or development site on skyBuilders own hosting service computers.
But we encourage you to set up a timeLines server on your own machine, where you can work with the hundreds of server pages directly. You can download the timeLines installer from the skyBuilders ftp site. See the timeLines Installation Manual for the many steps needed to configure NT Server (or Windows 2000 Server), IIS web server, network connections and DNS load balancing, and timeLines server itself.
Why doesn't skyBuilders timeLines use server components?
Most available server components (ActiveX Components, Java Beans, etc.) are proprietary code and require a license and some require significant fees. When timeLines functionality is fully developed, we may rewrite important functions as server components to speed performance. But we will release the component source code in keeping with our open-source philosophy, so our users know exactly what is in the code. We changed from Microsoft Posting Acceptor (cpshost.dll) to our PostUpload.asp for similar reasons.