Rapid Prototyping Resources
There are multitudes of resources, which can assist you in rapid
prototyping of your project. Such resources are useless until you have
clarified what you wish to accomplish by prototyping. You must first choose
what areas you wish to explore with a prototype before you can identify
suitable resources. Prototyping is a design issue; i.e. it answers how
your system can be represented in terms of software. It is not a substitute
for a proper analysis, which determines what a system is responsible for.
Some common prototyping themes are:
-
How do we what to present the information to the users?
-
How will the users interact with the system?
-
How can the components be integrated?
-
What might this interface look like?
-
Do we have all the information required to carry out the system responsibilities?
Below are small samplings of popular resources for prototyping. Roughly
they can be classified as scripting languages, GUI builders, and visual
databases. This list is by no means exhaustive.
Name
HTML - Hyper Text Markup Language
Description
A tag based language used to create web pages that may include graphics,
text, and simple input/output forms. HTML's strong point is its use of
URL based hypertext. HTML pages are static, but some dynamics can be added
via CGI scripting or JavaScript.
Useful for
Basic interfaces that present static information, need simple inputs, and
navigation to other information.
Platforms
Any that support the HTTP protocol (mostly all web browser).
Tools
Some tools available at USC:
Adobe Pagemill (useful for creating forms)
Netscape Page Composer (useful for editing mostly HTML files with text
and images)
Microsoft FrontPage
Claris Homepage
Many HTML editors are also available as freeware, or shareware, or as
evaluation versions:
Homesite (advanced HTML editor) http://www.homesite-now.com/
Name
Javascript
Description
JavaScript is a compact, object-based scripting language for developing
client and server Internet applications. A web browser interprets JavaScript
statements embedded in an HTML page, and allows you to create server-based
applications similar to Common Gateway Interface (CGI) programs.
Useful for
Interactive and dynamic browser based GUI activities, simple calculations
and information processing (client-side form validation, client-side image
maps). Integration with the OS is weak.
Platforms
Should be fairly portable to Netscape Navigator 4.0 or later, and Microsoft
Internet Explorer 4.0 or later
Name
Perl
Description
A powerful script based programming language that supports arbitrary text
and vector manipulations with excellent integration with the operating
system. Perl has a lot of packages, which add functionality for just about
anything, including HTML generation, internet operations, and CGI processing.
Perl5 has object oriented extensions.
Useful for
Adding dynamics to web pages through CGI, simple information processing
such as forms (particularly text manipulations), file functions. Perl is
also appropriate for creating simple functional system components such
as parsers, pattern matching, decision trees, etc.
Platforms
Mostly UNIX systems, but there are Mac and PC versions.
IMPORTANT NOTE: CGI Scripts cannot be uploaded onto production
servers at USC without undergoing a lengthy approval process.
Name
TCL/TK - Tool Command Language/Tool Kit
Description
TCL/TK is a programming system developed by John Ousterhout at the University
of California, Berkeley,, which is easy to use, and which has very useful
graphical interface facilities. TCL is the basic programming language,
while TK is a toolkit of widgets, which are graphical objects similar to
those of other GUI toolkits, such as Xlib, Xview and Motif. Unlike many
of the other toolkits, it is not necessary to use C or C++ in order to
manipulate the widgets, and useful applications can be built very rapidly
once some expertise of the TCL/TK system has been gained. TCL is usually
interpreted (unlike Perl) and has an interactive shell, which is useful
for on the fly prototyping and experimentation.
Useful for
Creating quick, functional GUI's that are easily changed on the fly. TCL
is also useful for adding dynamics to web pages through CGI, particularly
through the use of the TCL/TK plug in's.
Platforms
Most systems, including all UNIX systems, Mac and PC. Available from www.sunscript.com
Name
SpecTcl/Java
Description
SpecTcl is a graphical user interface (GUI) builder that makes it easy
to build cross platform Tcl/Tk UI scripts as well as Java interface. SpecTcl
works like other GUI builders except it has a unique "grid geometry manager"
that makes creating dynamic UIs and cross platform UIs a snap.
Useful for
Rapid GUI design
Platforms
SpecTcl currently runs on all known version of Unix running X11, both Windows95
and Windows NT, and all Power Macintoshes. Available from www.sunscript.com
Name
Microsoft Access
Description
Access is a semi-flat database tool with graphical interface support.
Useful for
Construction of simple graphical interfaces to databases. Many prototypes
can be cast as interfaces to a database. There are many products like Access,
some that support web activities such as CGI forms processing and dynamic
page generation.
Platforms
PC, Mac
Name
Filemaker Pro
Description
Filemaker is a semi-flat database tool with graphical interface support,
similar to Microsoft Access.
Useful for
Construction of simple graphical interfaces to databases. Many prototypes
can be cast as interfaces to a database.
Platforms
PC, Mac
Name
Microsoft Visual Basic
Description
A 4GL development environment.
Useful for
Rapid construction of simple graphical interfaces; Also easy to perform
database connectivity.
Platforms
PC
Name
Visual Café
Description
Café is an integrated development environment for creating Java
applications. It has a multitude of tools which assist with the implementation
process, in particular a graphical interface and component builder (nice
for building Java GUI's).
Useful for
Creating applications from existing (i.e. third party) components and rapid
Java GUI's.
Platforms
Mac, PC