A high-end CTI software development platform, IVS Studio has replaced an earlier
MediaSoft product, IVS Builder. The new product allows users to program in
MediaSofts proprietary language, BlaBla, as well as standard languages such as C++
and Java. IVS Studio also lets users run the application in simulation mode without using
a live phone line or a telephony board. Finished applications can be run on any operating
system, as well as on Dialogic SR4-based boards or S.100 (CT Media) or TAPI-based
hardware.
IVS Studio is part of a larger package that includes IVS High Density Server, a
computer telephony-Web software platform that runs on UNIX as well as Windows NT. IVS
Studio has several sub-components, which allow greater power and flexibility in creating
applications. IVS Studio can create CTI applications such as messaging, call routing,
personal productivity, and network call center applications.
INSTALLATION
We installed the software on a Dell Dimension, running NT Server. We performed a fresh
install of NT Server to eliminate any remnants of programs we had tested in the past (such
remnants have haunted TMC Labs engineers since the beginning of time!) The installation
from a CD-ROM was easy, offering up no surprises, except that each component of the
software (IVS Studio, Control Panel, Server, Monitor, and Server Prompts) had to be
installed separately. We installed IVS Studio, and opted to reboot the PC when finished.
At this point, we saw a window that asked, "Are you sure you want to exit?" We
rebooted the computer, and launched the software.
Overall, IVS Studio installation was easy, as were the installations for all of the
components. The wizards led the way, which was free of any surprises which is to
say, there were no complicated choices or preferences to fill in. After several months of
reviewing products that required multiple entries and complex configurations, it was nice
to have a product that installed so easily!
One last item: We had to install an appropriate sound card to test the applications we
created. (This portion of the installation, like the others, had to be set up under the
Multimedia icon in the Control Panels.) We used a Creative Labs SoundBlaster card, and
were able to easily install the drivers, using the Windows NT Workstation CD-ROM.
DOCUMENTATION
The product lacked hardcopy documentation the trend in documentation these days, or
so it seems. Still, the documentation for IVS was massive. Nearly 300 pages (a hefty load
for any printer) were devoted to nothing else but the programming language.
The documentations overview section seemed to be more public relations oriented
than technically targeted, and the "How IVS Works" section seemed overly
simplistic, at least at first. Early on, the text seemed geared towards end users, and not
MIS professionals or CTI developers. However, further on, the manual became denser and
richer, constituting a demanding read for anyone but an administrator already familiar
with this sort of product.
There are many other manuals that go along with the product. We printed these out as we
needed them, and tried to conserve paper by not printing every page unless we needed it.
Our only complaint about the documentation is that it wasnt easy to find under NT
Explorer once we got started. Plus the Web site wasnt completely up-to-date. The
section for minimum requirements was blank, and it omitted a link that could
have helped the user find that information.
FEATURES
IVS Studio is feature rich. Everything needed to build CTI applications, both simple and
sophisticated, is included in the package. For IVS Studio, the key components include:
- IVS Control Panel: This component allows the developer to fully configure applications
and IVS Server online without having to leave a Windows-based workstation. Gives the user
the ability to test and debug their applications online.
- IVS CallGen: Part of the Control Panel, this component is a tool that supports up to 72
simultaneous virtual channels. Multiple applications can be stress-tested concurrently, to
assess how they work together and possibly impact each others performance.
- IVS High Density Server: IVS HDS is a scalable, distributable run-time engine for
computer-telephony applications. Users can run IVS HDS on any combination of UNIX or
Windows NT operating systems and use local or remote Windows PCs to manage them. These can
be connected over a LAN, a WAN, or the Internet.
- IVS Monitor: This component allows the user to monitor and control the activities of the
IVS Server through multiple windows.
Multiple developers can work on IVS Studio simultaneously, in a variety of tasks,
including application building, compiling, simulating, and load/stress testing. In
addition, multiple system administrators can work on IVS Control Panel, monitoring, system
configuration, and user management.
Before closing this section, we should emphasize how IVS Studio elaborates on IVS
Builder. The changes and upgrades are so significant that IVS Studio is, in a sense, a
completely new product. A selection of changes and upgrades are as follows:
- A simpler installation and more flexible use of voice files.
- A new GUI, making it easier to build applications.
- A graphical way of building, configuring, and managing.
- The ability to run the application in simulation build.
- Tools that allow Web application development.
- The ability to combine telephony/ voice prompts with applications or HTML documents.
- The ability to replicate applications within a Web page.
- Enhancements to IVS NetManager, allowing the sharing of speech resources across the
network, via the new, distributed IVS architecture, so that any node on the network can
use all shared resources made available by other nodes.
OPERATIONAL TESTING
After we installed the software on our NT box, we decided to create our own program, based
on the (sole) template provided. We dissected the sample application to see how it was put
together, and we checked out the script and voice prompts.
Getting Acquainted
We decided to keep our test programs simple, especially at first, since we wanted to
familiarize ourselves with BlaBla, IVS Studios proprietary language. Program-ming
with a proprietary language may quickly become confusing, especially if you let your
ambitions run too far ahead of your still-developing skills. At any rate, we found that
building an application from scratch was of slightly above average difficulty for this
sort of program. Because it is a proprietary language program, the learning curve was
slightly steeper than those presented by visually oriented programs, such as
Brooktrouts Show N Tel.
The GUI
IVS Studios GUI is adequate. The palette for the created application takes up 80
percent of the window, while the Objects, Resources, and Projects section takes up the
remaining 20 percent, on the left side. The size of the smaller window is fixed and not
adjustable. By right-clicking on the icons in the palette, we were able to see the actual
hard-coded script. During building (either for simulation or production), any error or
warning messages are confined to the bottom portion of the window.
Rolling Up Our Sleeves
We created a new workspace by selecting "New Workspace" under File. (We had the
choice of new Applet, Workspace, or Applet Template.) At this point, we could base our
application on the template (we hadnt created one yet, so we went with the existing
sample application) or use the Empty Workspace template provided, which only provided us
with a "start" icon.
Creating an application in BlaBla using the wizard is slightly easier than hard-code
programming, but not nearly as easy (or intuitive) as a strictly visual programming
language. Realizing that, we decided to create an application from scratch, rather than
base it on any template.
When we built a program, we started by opening a new applet instance. Upon starting a
new applet instance, we were provided with one icon a start icon, with a picture of
a traffic light on it. We right-clicked on the icon, and chose "Go To Script,"
which opened a window containing script in the BlaBla language. This is where we edited
the code and wrote new code, which, upon saving, gave us a new icon (Main Menu) in the
workspace.
This sequence is a fair representation of how a program is built in IVS Studio. The
icons are connected in the workspace, which gives a graphical view of the program, even
though IVS Studio isnt a strictly graphical programming language.
By writing additional code, we were able to add functionality to the program. As we
worked, we kept adding more icons (and features) to our program. Ultimately we created a
complete (if simple) telephony application. Satisfied that we created the program
correctly, we decided to "Build for Simulation," an option under the Build menu.
Running A Simulation
One advantage of the product is that it lets users run applications in simulation mode,
via the sound card, an approach that avoids the necessity of testing applications with
expensive telephony hardware. We began by selecting "Build For Simulation" under
the Build menu. Once we had done so, we were presented with a window that showed us any
errors or warnings, and corrected them. The window also displayed this message:
"Binary filed copied for production to remote host NTDell" (our server name).
At this point, we opened the Simulator, which "ran" the program in a
simulated mode. This showed us exactly how the application would run, look, and sound,
without having to test it in a real-world situation. Overall, it was a good test (and
method of testing), but the voice prompts supplied with IVS Server were rather stiff and
flat. We preferred the prompts we recorded ourselves. To record our prompts, we used a
standard microphone, and listened to the prompts over the speakers.
Summing Up
The programs we created worked well, and except for the less-than-average voice files
provided, we had built a professional computer-telephony application. When we substituted
the voice prompts we had created, it was a stronger program. Although we had a little
difficulty getting used to BlaBla, we soon got the hang of the program. Ultimately, we
were able to appreciate the programs strength, especially after we used the program
to produce good CTI applications.
ROOM FOR IMPROVEMENT
Overall, IVS Studio is a solid program, with little room for improvement. Our main
complaint is the paucity of sample programs or templates. Only one template was provided
with the standard install. With but one template, we faced a much steeper learning curve
than we might have experienced otherwise. We suppose the learning curve would be
especially daunting to not-so-technical end users and VARs.
The GUI is also a problem. The programming icons are small in the window, particularly
with a screen resolution of 1024 by 728 pixels. In addition, the object palette is not
adjustable, which is slightly frustrating.
The IVS Server runs in the background, and there is no indication of it running
not even an icon in the service tray. The install isnt too difficult, but it
should offer an � la carte installation, and give users the option of installing a custom
build rather than forcing them to do separate installs.
There are a few other minor issues that should be mentioned: BlaBla isnt the most
intuitive programming language, as we mentioned earlier, not nearly so as any visual
programming. This is not a programming language for novices. Experience in hard-coding
applications is quite nearly a requirement. Finally, the documentation is hard to find,
though adequate when (finally) located. Also, as noted earlier, the provided voice prompts
were rather stiff and somewhat unprofessional. (To be fair, however, most programmers
would outsource the recording of prompts to professionals who would gear the prompts
towards the intended audience.)
CONCLUSION
Overall, IVS Studio is a solid product from a reputable company, and a good application
generator. Despite the steeper than average learning curve, the few "room for
improvement" issues, and the proprietary programming language, IVS Studio is a good
choice for creating telephony applications, and a worthy recipient of our Editors
Choice Award. |