| Feature |
Benefit |
| Platforms |
|
| Windows 98, NT, 2000, XP |
|
| |
|
| Visual Language |
|
| Visual functions with inputs and outputs |
Function as picture you can select and move
promotes reuse |
| Links for passing data between functions |
Pass data values between functions without
declaring any variables |
| Constant values |
Required for a complete visual language |
| Repeats (loop) |
ditto |
| Pick Ones (conditional) |
ditto |
| Packages (block) |
Allows you to collapse subdiagrams; makes
visual programs scalable with limited screen real estate |
| Error Handlers (exceptions) |
Required for robust error handling - errors
are noticed rather than ignored by default |
| Ordering links (control flow) |
Required for a complete visual language; allows
you to constrain the order of execution from full parallelism
to full serialization |
| Comments |
Important to capture the programmers intent
for posterity |
| Forms (modal dialog boxes) |
Required in order to interface to the user |
| User-defined records |
Important in order to minimize visual clutter
or map external record data (e.g. databases) into the visual
world |
| Global record values |
Simplifies access to key data values used
throughout a program |
| Data types: Integer, Decimal, Boolean, Text,
List, Record, Time, Money, Pointer, Error, Object, IDataObject,
and types derived from these |
Required for a complete visual language |
| User-defined data type conversions (programmer
can define an automatic conversion from any type to any other) |
Simplifies programming, particularly for end
users and others not wanting to deal with strong typing. |
| Links to remote connectors |
Allows deeply nested functions to refer to
data in outer functions; can eliminate links; important to minimize
visual clutter |
| |
|
| Editor |
|
| "Direct manipulation" of most language
features |
Ease of use |
| Infinite Undo/Redo |
Allows you to back out a change |
| Journaling |
Means that if the computer crashes you can
resume where you left off, not where you last remembered to
do a SAVE. |
| Dynamic syntax checking (when connecting links) |
Means you can't even create a syntactically
incorrect program |
| "Gravity" to help make proper connecting
links |
Editor attracts you to the nearest connectors
having a compatible data type; ease of editing |
| Implicit type conversions |
Ease of use |
| Dynamic type inferencing |
ditto |
| Navigation aids (e.g. finding functions using
a function, history, home) |
ditto |
| Automatic flowgram layout |
ditto |
| Scalable icons (Windows metafiles) |
Allows you to treat a program as a set of
pictures; you decide how big (important) a function's picture
needs to be on the screen |
| Zoom In or Out |
Allows you to scale up to large programs |
| Printing |
|
| Hidable labels, and auto-show when needed |
Eliminates visual clutter |
| |
|
| Components Catalog |
|
| Heirarchical Tree of folders for components |
Rapid access to components (one or a few clicks
to any component) |
| Find (search for components) |
Allows you to search large libraries of hundreds
of components |
| Navigation aids (e.g. finding functions using
a function, recently modified, or deleted) |
ditto |
| Multiple cabinets (component libraries) |
Supports large scale development by multiple
organizations |
| Permission bits on components and folders
and cabinets |
Allows a component creator to protect the
integrity of published components and libraries |
| User supplied component descriptions |
Allows you to document functions you create
for your users |
| Help file and help context on components |
Click to view the component-creator's help
text |
| Automatic Help file source generation |
Fully integrated automatic generation of help
text from your component descriptions |
| Small/Large/Text-only Icon views |
Ease of use and scalability |
| |
|
| Rapid Component Creation and Reuse |
|
| Replace selected functions with flowgram or
package |
Eliminates visual clutter by letting you condense
and collapse diagrams as you please, as well as turn subdiagrams
into new reusable components with a few clicks |
| Expand function or package in place |
ditto |
| Replace constant with inlet connector |
ditto |
| OLE Automation Wizard for building visual
components automatically, from IDispatch or from Type Library |
Allows you to connect to the vast world of
OLE components provided by others |
| Supplied clipart |
Allows you to use appropriate or distinct
pictures for your new functions without necessarily using a
drawing tool |
| Icon creation using standard Windows drawing
tools |
Allows you to use ANY picture you want for
a function - just draw it or import the picture |
| Visual DebuggingStep, Pause, examine |
Direct manipulation program debugging |
| Export application as a Program Manager item |
Simplifies application creation |
| |
|
| Visual Components and Run Time Functionality |
|
| Arithmetic, File and Directory, Registry,
List, Logical, Text, Time, User Interface, DDE, Error |
Required for a complete visual language |
| Controlling OLE Automation applications using
OLE Automation Wizard created components |
Allows you to create an application that drives
other PC applications, getting data from or putting data into
them |
| OLE Linking to other applications such as
spreadsheets for run-time access |
Allows you to copy a cell in a spreadsheet
and then paste inside the visual program to create a live link
to that spreadsheet data |
| System access such as Launch Application,
Find Window, Send Keys |
Allows you to control applications that may
not have DDE or OLE interfaces |
| Callout to DLL shared libraries |
Allows you to interface to external program
libraries |
| Help file and help context on errors |
Ease of use |
| Runtime exception trapping |
Helps you create robust programs and detect
runtime errors |
| |
|
| Documentation and Examples |
|
| Online documentation |
Ease of use |
| Context-sensitive help |
ditto |
| Example applications |
Help you get started |
| Microsoft Excel component examples |
Built in support to interface to Excel spreadsheets |
| Microsoft Word component examples |
Built in support to interface to Word documents |