Zat Home Zat Home Zat - Tools for the Future of the Internet
SPIN Spin World
About Zat
Site Map

FAQ: Frequently Asked Questions about Spin

IRAD — Internet Rapid Application Development

Q: What is RAD?
A: RAD (Rapid Application Development) tools, as opposed to conventional programming tools, make it far easier to build sophisticated computer applications. They are based on the powerful concept of rapid prototyping, where you build a large application one piece at a time — trying it out, finding and fixing bugs, making improvements, and even getting feedback from users every step of the way. RAD is an especially good way to develop applications (like Internet applications) that must evolve quickly in response to changing needs. Advanced RAD tools even make it possible for nonprogrammers to assemble or modify applications that otherwise would have required programmers.

The term RAD Tool is commonly used to describe popular client-server business application development tools like PowerBuilder or Visual Basic. But the term also applies in many other areas. For example, spreadsheet tools like VisiCalc, Lotus 1-2-3, and Excel enable accountants and business people (or anyone else) to build complex financial models, and modify them rapidly to test out new ideas. Multimedia authoring tools like Director and mTropolis enable artists and designers to build interactive rich media presentations. The list goes on and on; almost every popular tool today, from word processors to business applications, is a RAD tool that allows nonprogrammers to accomplish tasks that previously were only possible through programming.

RAD tools are typically visual (graphical) rather than text oriented, and are based on concepts like WYSIWYG (What You See Is What You Get), and authoring technologies like direct manipulation.

One problem with RAD environments is that they tend to be based on proprietary technologies and languages, rather than standard ones. On the Internet, which is based on open standards, this is not acceptable.

Spin is the first and only standards-based Rapid Application Development environment for the Internet.

Q: What are server-side and client-side programs?
A: The World Wide Web was originally designed as a publishing medium — a web author publishes web pages. Users quickly realized that the web could be used for more than just publishing static, unchanging web pages. Technologies such as CGI (Common Gateway Interface) and servlets allow web pages to present dynamic content — content retrieved from databases or computed on demand. These technologies run on the web server, and are called server-side technologies. Server-side programs power such things as search engines and web-cams, bring you the weather report and up-to-the-minute stock quotes. Server-side programs also drive electronic commerce, both retail and business-to-business.

In addition to providing more dynamic content, people also wanted to make the web more interactive, so they could manipulate and view this information as desired. Unfortunately, interaction in HTML is limited to clicking on links, and even CGI is limited to simple text-based forms. This interaction requires a round trip to the server, which makes it slow and clumsy. Technologies such as plug-ins, JavaScript, and applets were created to allow interaction to be handled on the client (the web browser), and so are called client-side technologies. Client-side programs are used for graphic buttons that change when you click on or move your cursor over them, and for delivering compressed audio, video, animation, and 3D content.

However, the web became successful and popular in the first place because almost anyone can create a web page. HTML can be learned in a hour or two, and web page authoring tools make creating web pages as easy as using a word processor. On the other hand, creating a web page that uses server-side or client-side programs requires difficult programming. Either that or you are limited to using canned scripts and applications.

Q: What are Internet applications?
A: Internet applications are computer applications that run over the Internet. There are three main kinds of Internet applications: server-side and client-side applications, discussed above, and distributed applications. Distributed applications run on both the server and the client, or can run on multiple servers and (especially) on multiple clients. All popular uses of the Internet are distributed applications, including email, news, chat, FTP (file transfer protocol), networked multi-player games, and, of course, the web. Unfortunately, writing distributed applications is notoriously difficult.

Q: Why do we need Internet Rapid Application Development?
A: To drive the next generation of Internet applications, including electronic commerce, entertainment, and communication, we must make it as easy to create interactive Web applications as it is to create static web pages. Consider where the business world would be today if all financial modeling had to be done by programmers, rather than with interactive computer spreadsheets. Where would entertainment and other fields be if all image processing had to be programmed, rather than being done with image manipulation programs like Photoshop? Now, imagine what the web would be like if you could simply and rapidly create Internet applications, and modify existing Internet applications to exactly fit your needs.

Q: I've seen other tools that claim to make it easy to create interactive Internet applications — how is Spin different?
A: Spin is an IRAD environment. What does this mean? Spin does not just create the same old web content with some fluff interaction, annoying flashing buttons, or other Internet features added like icing. Spin is the first environment designed to build Internet Applications — the same kinds of applications that programmers write — but without programming. Spin applications can access databases and legacy applications. Spin can create server-side and client-side applications, to add both dynamic content on the server side, and interaction on the client side. Spin can also be used to create true distributed applications. In fact, the web itself (both server and browser) could be written using Spin.

Spin is the first and only standards-based IRAD environment. Applications developed with Spin can run on any Web server or any Web application server. Spin works with other standards-based tools, including programming tools.

See the Spin overview page for a discussion of the features that make Spin unique.


Q: What is a component architecture?
A: Today, applications are hand crafted, one at a time, the same way that machines were built before the Industrial Revolution. According to IDC, 97% of Web applications are built by hand. The Industrial Revolution introduced the idea of interchangeable parts. The idea behind component architectures is the same: Software should be constructed from interchangeable software components. For example, an e-commerce application can be assembled from standard components, including product catalogs, shopping carts, and credit card processing.

Component architectures not only make software easier and faster to build, they also make software more reliable, secure, and scalable.

The first widespread component architecture was CORBA; competing component architectures were introduced by both Microsoft and Apple. Spin is based on the JavaBeans component architecture. JavaBeans have several crucial advantages over other component architectures. These advantages are what made it possible to build Spin out of JavaBeans.

  • JavaBeans components have little or no overhead, which means that it is possible to have smaller components and larger numbers of components without penalty. In other component architectures, there is a large amount of overhead for components, which makes their applications slow and large.
  • JavaBeans are platform neutral, which means that they do not care what platform they run on. Note that this is not just a Windows vs. Mac vs Unix issue. Even for a single brand of computer and operating system, there can be significant platform issues.


Q: What is the Internet Convergence?
A: The Internet has brought on a great convergence, not only for computers but for practically every area of our life, including business, education, entertainment, and communications. Some of this convergence has already happened, but much of it is still happening. There are telephones that can send and receive email, computers that can play DVD movies, TVs (and even microwave ovens) that can browse the web.

Software, of course, is a critical part of this convergence. Differences between what used to be separate kinds of applications are falling away. For example, business apps used to be completely distinct from multimedia apps; in fact, the only medium used by most business applications was cold hard text. Today, business applications are one of the largest users of rich media.

The Web is a major driving force of the Internet Convergence. The same Web browser that can be used for viewing online photo albums can also be used for making stock transactions, looking up phone numbers, or millions of other applications.

The most far reaching aspect of the convergence is in the area of communication. Communications used to be separate from Computation — all work was done on individual computers using separate applications, and networks were used only to transport data between computers. Now, everything wants to be connected, people want to collaborate, and integration is the big problem. Increasingly the Network is what is important, and Computers are a commodity.

The convergence will be accelerated by the adoption of component architectures, since any component will be able to be used in any application.

What is Zatgeist?

Zeitgeist refers to the spirit of a particular time; the taste and outlook characteristic of a period or generation. Zatgeist is the spirit of the Internet component software revolution.

What is Zatori?

In Zen Buddhism, Satori is a sought-after state of spiritual enlightenment. At Zat, we have something similar.

You can find more Zat puns here.

3D Zat Logo