Data streaming technologies for the Internet have been around for years. Just do a Google search on the words Internet streaming, and you’ll find links to thousands of pages on streaming audio and video. The basic idea behind streaming is that a Web site can provide data to a user fast enough that the application appears to be running locally.
What if you could take the concept of streaming audio and video and apply it to applications? What if a client could log on to your Web site and run a full-featured version of your product without ever having to download or install any software? Although not as highly publicized as audio and video streaming, technologies for streaming applications do exist. Let's look at some past concepts and a few new ones you can use to deploy application streaming.
Not a new concept
It can be very difficult to find Web sites related to application streaming (outside of audio and video), but the concept of streaming applications is not at all new. Take a moment and think about how a mainframe works. A mainframe runs applications for potentially thousands of users and transmits screen updates to users' terminals in real time. The mainframe may be thousands of miles away, but users' terminals perform as though the mainframe application is running locally. Although the mainframe is not technically streaming the application, the end result is basically the same. This technology has been around since the 1960s.
One might argue that Windows Terminal Services functions like a mainframe, except with a graphical user interface. Users could theoretically connect to their corporate network through a VPN connection and then launch a terminal server session to run a remote application. However, Windows Terminal Services is a poor solution for streaming applications over the Internet.
Running a terminal server session requires a user to authenticate into the network. This is fine for consultants at your firm, but the average client who visits your Web site isn’t going to have necessary authentication credentials. Other problems include scalability and performance. Few would argue that the terminal services are scalable since they can be clustered, but the terminal services require some pretty high-end hardware. Your firm could find itself shelling out a lot of money trying to provide terminal service access over a high-traffic Web site. In addition, the terminal services tend to really gobble up bandwidth. If you have more than a couple of clients trying to do terminal service sessions over your Web site at once, you could have problems with insufficient bandwidth.
As you can see, terminal services just weren’t designed to stream applications to thousands of users from across the Internet. Fortunately, there are some new products specifically designed for application streaming. Z!Stream from EAppSoft and AppExpress from Endeavors Technology offer application streaming over the Internet, but each product does so in a different way.
Z!Stream allows you to host any Windows-based executable file. The best part of Z!Stream is that applications can be streamed without recoding or modification. This is possible thanks to a technology called Distributed Virtual Paging (DVP). DVP allows the company to stream applications from a standard Web server and requires no downloading, file sharing, or rebooting on the part of the user.
The technology supports both dial-up and broadband users. With dial-up users, Z!Stream requires only about 10 percent of the bandwidth needed to run a comparable application via the terminal services. Also, a single Web server can accommodate up to 400 simultaneous sessions. If an organization wants to deploy additional servers, it doesn't have to implement load balancing; just add another server, and it's set to go.
AppExpress uses a slightly different technology than Z!Stream. AppExpress works to determine the minimal amount of code that can be run with the application still functioning. For example, if you were to stream a word processing application, the core application would be downloaded, but the spell-check component would not be downloaded until the user actually tried to spell-check a document. This greatly reduces the amount of time that it takes to download an application. As with Z!Stream, applications streamed with AppExpress do not need to be recoded.
I covered AppExpress in a previous article. For a full description of the software, read "Alternatives for software distribution and patch management."
From a performance standpoint, there are both positive and negative aspects to AppExpress. One positive is that it works for both dial-up and broadband users. In fact, AppExpress provides an application on the Endeavors Web site that allows you to gauge performance. For instance, it takes approximately two minutes to download a 15-MB application over a T-1 connection, and 44 minutes to download the same application over a dial-up connection. According to the Endeavors Web site, it would take one minute to download the application over a T-1 connection, and just nine minutes to download the application over a dial-up connection using AppExpress. The time savings for dial-up is a significant 35 minutes.
There are three versions of AppExpress: enterprise, training ware, and trialware. The potential negative to these versions is that you may find yourself having to purchase additional licenses to use various tasks rather than being able to purchase a single type of license that's good for all streaming tasks.
The trial software experiment
Application streaming technologies are especially useful in the realm of trial software. Software companies usually offer trial versions (either by download or CD-ROM) of their wares. The watered-down versions don't give customers the full experience, and they can take a long time to download. Also, the 30-day trial CD can be expensive to mail out in bulk quantities, and it greatly increases the chances that the software will be pirated. Having an online trial version offers instant gratification that clients don’t get from having to wait for a huge download to complete. It also allows clients to try out the full product without the risk of the software being pirated.