-Digital Internet Telephone Software-
March 13, 2000 Digitel Incorporated
TECHNICAL MANUAL
(Subject to Revisions)
For proposed software release version 1.0
(Scheduled 2nd quarter, 2000)
Technical Manual Page 2 of 16
INTRODUCTION
About this Manual
The content of this manual is directed towards IT professionals maintaining the
iPhone application for users in an environment somewhat more expansive than the
home PC user operates within. As iPhone is completed, information will be added to
this manual to make it a comprehensive maintenance and troubleshooting guide for
the IT professional and power user. As the testing and integration stages of software
development produce volumes of critical information about the application, this
manual will evolve with the software until shipping of the iPhone application.
Furthermore, updates and revisions will be available on the Digitel web site
throughout the software development life cycle.
About the Company
Digitel is customer-oriented company focused on providing customized software
solutions to all sectors of the business community. In forming Digitel, we have brought
together the “Best of the Best” in all areas of the IT community. We provide quality, cost
effective products that stand out from the competition.
At Digitel the modular approach to software design is mirrored by a modular approach to
project management. This means that developers will assume different roles on different
teams throughout the duration of a project. By working in cross-functional teams we can
apply the highest level of knowledge and expertise to the development of each project
component. We think our end product speaks for itself.
About the Software
iPhone sets a new standard in Internet communication software with enhanced audio quality and an easy-to-
use interface. With features such as voice mail, advanced audio compression, and state of the art encryption,
iPhone provides a comprehensive solution for your Internet/Intranet communication needs.
Whether you're calling a family member in another province or state, or a business
associate in another part of the world, iPhone will connect you in a way you never
thought possible. For minimal startup and maintenance costs, your entire organization
can be equipped for communicating in the new millennium with iPhone, and you can say
goodbye to the excessive cost of long distance charges.
Downloads From Our Website
Certain software downloads will be available from our Website. Patches and Updates
to any of our software products will also be available via Internet Download, as this
has become the global standard in the software industry.
Technical Manual Page 3 of 16
TABLE OF CONTENTS
The table of contents will be completed as this manual is filled.
Technical Manual Page 4 of 16
1. The Profile Subsystem
User Manual Info for Profile Subsystem
The Profile subsystem works behind the scenes in an iPhone session, storing and
managing information particular to each user. Data stored in a user's Profile includes
login information (alias and number), as well as application preference settings.
When an iPhone application is launched, the user is presented with a login dialog box.
If they have used the application before, they enter their User Alias (a login name chosen
by the user) and a numeric password. If the alias already exists as a subkey in the
Windows Registry and the User Number stored under that subkey matches the number
entered by the current user, it means they have an existing iPhone profile on the
computer, and the application will open with their saved preference settings.
If the user does not have an existing iPhone profile on that computer, they can choose to
create one by clicking on the New Profile button on the login dialog. Some of the controls
on this form allow the user to enter text data, while most preference settings are entered
through radio buttons or check boxes.
In addition to saving the Profile information to the Registry, the user's alias, first name,
last name, and user number are recorded in the iPhone Directory Service, which can be
polled by a caller to obtain the current IP address of the intended recipient.
New Profile
Clicking on the New Profile button on the login dialog box or under the Profile menu on
the main program interface launches a New Profile dialog box. The following fields are
included in the dialog: (defaults underlined)
User Alias - a substitute name (ie. Nickname) that the user chooses
- allows user to protect real names from exposure to callers
First Name - real first name of the user
LastName - real last name of the user
Call Alert - type of call alert signal the user wants to have active
(Audible || Visual || Both || None)
Call Alert Audio File - location of audio alert sound file
(Stock1 || Stock2 || UserFile)
Call Accept - accepting or refusing incoming calls (Y || N)
Maximum Message Length - maximum length voice message
caller can leave (30 || 60)
Technical Manual Page 5 of 16
Show Info - real name visible or hidden from others in directory service (Y || N)
Audio Encrypt - audio encryption enabled or disabled (Y || N)
Startup Size - application opens maximized or minimized
to the System Tray
Once the user has filled out the fields of the New Profile form, they click on the create
button on the New Profile dialog. The data they have enter and the options chosen are
then saved to the Windows registry under the user's alias. The option settings are applied
to the current program settings and the key connection data from the Profile information
is recorded in the Directory Service Database.
Change Profile
To change an existing Profile, click on the Profile menu on the menu bar of the
application and choose Change Profile. A Change Profile dialog box is launched. The
difference between this dialog and the one to create a new Profile is that the user is
unable to change his or her User Alias or User Number. These values are permanently set
at the time the profile is created and act as key identifiers for the user within the
application environment. All other options are changeable.
Once the user is satisfied they have chosen the preference settings they want to use, they
click the Apply Changes button on the Change Profile dialog. The Profile settings are
then saved to the Registry and the Directory Service Database and applied to the current
Profile used by the active session.
Delete Profile
If they wish, the user can delete their Profile. This can only be done if their Profile is the
current active Profile. To delete a Profile, click on the Profile menu on the main screen
and choose Delete Profile. A confirmation dialog is displayed and the user clicks a button
to confirm the delete or cancel. If they confirm the delete, the user's Profile data is
removed from both the local Registry and the Directory Service Database. In addition,
the current Profile is set to the default Profile. Under the default Profile, the user will not
be entered in the Directory Service database and, therefore, will not be able to access the
IP addresses of other iPhone users to place a call. A call can still be placed if the user
knows the current IP address of the recipient.
2. Database Management for Network Administrators
As network administrator, how you integrate the iPhone Directory Service database into your information
system architecture will depend on your organizations information system support strategy. To assist in the
execution of your database administration strategy, DigiTel iPhone has intergrated enhanced database
connectivity technology using the MySQL 30.22.30 database engine.
Technical Manual Page 6 of 16
To help ensure that the Directory Service database remains compatible with your information system plans,
tools and utilities are available for database administration operations. These include the MySqlAdmin
tool, as well as the MySqlDump, MyISAMChk and MyISAMPack utilities. In accordance with you
organizations data administration strategy these tools and utilities may be used to adjust or extend iPhone
capabilities to custom fit your organizations Internet/Intranet communications needs.
MySQLAdmin
Administration of the iPhone users database is best performed with mysqladmin utility.
This utility assists you in performing many of the most common database administrative
operations, such as creating or dropping databases, reloading the grant tables, flushing
tables to disk and reopening log files. mysqladmin can also be used to retrieve version,
process and status information from the server. The current mysqladmin supports the
following commands:
create databasename Create a new database.
drop databasename Delete a database and all its tables.
extended-status Gives an extended status message from the server.
flush-hosts Flush all cached hosts.
flush-logs Flush all logs.
flush-tables Flush all tables.
flush-privileges Reload grant tables (same as reload)
kill id,id,... Kill mysql threads.
password New-password Change old password to new-password
ping Check if mysqld is alive
processlist Show list of active threads in server
reload Reload grant tables
refresh Flush all tables and close and open logfiles
shutdown Take server down
Other commands also available in the mysqladmin utility are:
status Gives a short status message from the server
variables Prints variables available
version Get version info from server
All commands can be shortened to their unique prefix. For example: The command line
argument for mysqladmin to show that status of all active threads on the server may be
called using the command line arguments:
Shell> mysqladmin processlist status
or
shell> mysqladmin proc stat
By using the status switch, server information such as how long the database server has been up, the
number of active threads, the number of tables presently open, the amount of memory allocated directly to
Technical Manual Page 7 of 16
the use of the iPhone Directory Service database as well as the maximum memory allocated to Directory
Service database system can be easily obtained.
MySQLDump
For added security and backup functionality the mysqldump utility allows you to extract the database and
tables structures as well as table contents into text files containing SQL statements that may be used
directly to reconstruct and repopulate the database. Tab-delimited text files are optionally available. With
the command:
shell> mysqldump [OPTIONS] database [tables]
By omitting the table name, the whole database will be dump. Other options that may be use with
mysqldump are:
--add-locks
Add LOCK TABLES before and UNLOCK TABLE after each table dump. (To get faster inserts
into MySQL).
--add-drop-table
Add a drop table before each create statement.
--allow-keywords
Allow creation of column names that are keywords. This works by prefixing each column name
with the table name.
MySQLDump Command Line Options Continued…
-c, --complete-insert
Use complete insert statements (with column names).
-C, --compress
Compress all information between the client and the server if both support compression.
--delayed
Insert rows with the INSERT DELAYED command.
-e, --extended-insert
Use the new multiline INSERT syntax. (Gives more compact and faster inserts statements)
-#, --debug[=option_string]
Trace usage of the program (for debugging).
--help
Display a help message and exit.
--fields-terminated-by=...
--fields-enclosed-by=...
--fields-optionally-enclosed-by=...
--fields-escaped-by=...
--fields-terminated-by=...
These options are used with the -T option and have the same meaning as the corresponding
clauses for LOAD DATA INFILE.
-F, --flush-logs
Flush logs file in the MySQL server before starting the dump.
-f, --force,
Continue even if we get an SQL error during a table dump.
-h, --host=..
Dump data from the MySQL server on the named host. The default host is localhost.
-l, --lock-tables.
Lock all tables for starting the dump.
Technical Manual Page 8 of 16
-t, --no-create-info
Don't write table creation info (The CREATE TABLE statment)
-d, --no-data
Don't write any row information for the table. This is very useful if you just want to get a dump of
the structure for a table!
--opt
Same as --quick --add-drop-table --add-locks --extended-insert --
lock-tables. Should give you the fastest possible dump for reading into a MySQL server.
-pyour_pass, --password[=your_pass]
The password to use when connecting to the server. If you specify no `=your_pass' part,
mysqldump solicits the password from the terminal.
-P port_num, --port=port_num
The TCP/IP port number to use for connecting to a host. (This is used for connections to hosts
other than localhost, for which Unix sockets are used.)
-q, --quick
Don't buffer query, dump directly to stdout; Uses mysql_use_result() to do this.
MySQLDump Command Line Options Continued…
-S /path/to/socket, --socket=/path/to/socket
The socket file to use when connecting to localhost (which is the default host).
-T, --tab=path-to-some-directory
Creates a table_name.sql file, that conntains the SQL CREATE commands, and a
table_name.txt file, that contains the data, for each give table. NOTE: This only works if
mysqldump is run on the same machine as the mysqld daemon. The format of the .txt file is
made according to the --fields-xxx and --lines--xxx options.
-u user_name, --user=user_name
The MySQL user name to use when connecting to the server. The default value is your Unix login
name.
-O var=option, --set-variable var=option
Set the value of a variable. The possible variables are listed below.
-v, --verbose
Verbose mode. Print out more information what the program does.
-V, --version
Print version information and exit.
-w, --where='where-condition'
Dump only selected records; Note that QUOTES are mandatory!
MyISAMCkh
MyIsamChk is a utility that allows you to obtain information about tables in your iPhone database, test
them, optimize tables for greater query efficiency or if needed repair damaged tables. MyIsamChk may be
invoked with the command:
Shell> myisamchk [any wanted options] table_name
The following is a partial list of command line options for MyIsamChk:
-a, --analyze
Analyze the distribution of keys. This improves join performance by enabling the join optimizer to
better choose in which order it should join the tables and which keys it should use.
-#, --debug=debug_options
Output debug log. The debug_options string often is 'd:t:o,filename'.
-d, --description
Prints some information about the table.
Technical Manual Page 9 of 16
-e, --extend-check
Check the table VERY thoroughly. This is necessary only in extreme cases. Normally,
myisamchk should find all errors even without this option.
-f, --force
Overwrite old temporary files. If you use -f when checking tables (running myisamchk without
-r), myisamchk will automatically restart with -r on any table for which an error occurs during
checking.
MyIsamChk Command Line Options Continued…
--help
Display a help message and exit.
-i, --information
Print informational statistics about the table that is checked.
-k #, --keys-used=#
Used with -r. Tell the ISAM table handler to update only the first # indexes. Higher-numbered
indexes are deactivated. This can be used to get faster inserts! Deactivated indexes can be
reactivated by using myisamchk -r.
-l, --no-symlinks
Do not follow symbolic links when repairing. Normally myisamchk repairs the table a symlink
points at.
-q, --quick
Used with -r to get a faster repair. Normally, the original data file isn't touched; you can specify a
second -q to force the original data file to be used.
-r, --recover
Recovery mode. Can fix almost anything except unique keys that aren't unique.
-o, --safe-recover
Recovery mode. Uses an old recovery method; this is slower than -r, but can handle a couple of
cases that -r cannot handle.
-O var=option, --set-variable var=option
Set the value of a variable. The possible variables are listed below.
-s, --silent
Silent mode. Write output only when errors occur. You can use -s twice (-ss) to make
myisamchk very silent.
-S, --sort-index
Sort the index tree blocks in high-low order. This will optimize seeks and will make table
scanning by key faster.
-R index_num, --sort-records=index_num
Sorts records according to an index. This makes your data much more localized and may speed up
ranged SELECT and ORDER BY operations on this index. (It may be VERY slow to do a sort the
first time!) To find out a table's index numbers, use SHOW INDEX, which shows a table's indexes
in the same order that myisamchk sees them. Indexes are numbered beginning with 1.
-u, --unpack
Unpack a table that was packed with myisampack.
-v, --verbose
Verbose mode. Print more information. This can be used with -d and -e. Use -v multiple times
(-vv, -vvv) for more verbosity!
-V, --version
Print the myisamchk version and exit.
-w, --wait
Wait if the table is locked.
Technical Manual Page 10 of 16
2.1. Performance Optimization Issues
There are many design issues effect the performance of the iPhone Directory Service. They range from
hardware issues such as hard disk seek times (in DigiTel field tests, disk seeks were the biggest
performance bottleneck to iPhone Directory Service operations on midsize intranets). Sluggish hard disk
reading / writing speeds also contributed to poor Directory Service performance. Other hardware issues
that can impair performance are the CPU speed or the amount of memory bandwidth available. Finally
there is the speed of the network itself or the speed of the node connection to that network. Assuming these
issues are properly satisfied, steps that may be taken to further optimize the Directory Service database are:
If you have enough ram and there are no other pressing needed by the operating system, you could
remove all swap devices. Some operating systems will use a SWAP device in some contexts even
if you have free memory.
Use the --skip-locking MySQL option to avoid external locking. Note that this will not
impact MySQL functionality as long that only one iPhone server is running on your network. Just
remember to take down the server (or lock relevant parts) before you run myisamchk.
For further information and tips please consult the MySQL manual.
Technical Manual Page 11 of 16
3. TECHNICAL SUPPORT:
A comprehensive listing of error messages and their meanings is available within the online
Help system, available from the Help drop-down menu at the top of the iPhone window. In
addition, whitepapers and FAQ's are available on the Digitel Web site. For further
information, contact information is provided below. Technical support is free for registered
users, and $60 per 15-minute time period for unregistered users.
iPhone Technical Support
Contact information:
Digitel Incorporated
5000 Ryan Road
Courtenay, British Columbia
V9N-2K0
Web Site: http://sparc.nic.bc.ca/~digitel/
E-mail: digitel@sparc.nic.bc.ca
This is not the final version of this manual.
As newer versions are released they will be posted on the web for download at:
http://sparc.nic.bc.ca/~digitel/
Copyleft 1999 by Digitel Inc.
Any part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means,
electronic, mechanical, photocopying, recording, or otherwise, without the prior written permission of the publisher. Printed
in Canada.
Technical Manual Page 12 of 16
4. GLOSSARY:
Term Definition
ADPCM stands for Adaptive Differential Pulse Code Modulation. It is a family of
speech compression and decompression algorithms. A common implementation takes
ADPCM
16-bit linear PCM samples and converts them to 4-bit samples, yeilding a compression
rate of 4:1.
Abbreviation for Bits per Second, which is the unit of measure for the speed of data
BPS communications. Virtually all digital transmission circuits from WANs to LANs to
Internet are defined in bits per second.
Bandwidth refers to the capacity to move information. In telecommunications,
Bandwidth bandwidth is the width of a communications channel. In digital communications,
bandwidth is measured in bits per second (bps).
Central Processing Unit, usually applied to that part of a computer which carries out the
CPU
arithmetic and controls the instruction flow.
Reduced form of the information, but not the information itself. Compression saves
Compression
transmission time or capacity.
Decompression Expanding previously compressed data to recover the original size of the data sample.
Full-duplex data transmission means that data can be transmitted in both directions on a
signal carrier at the same time. For example, on a local area network with a technology
Full-duplex
that has full-duplex transmission, one workstation can be sending data on the line while
another workstation is receiving data.
GSM is one of the most complex audio compression methods in use, providing a
compression ratio of 10 to 1. The GSM algorithm is based on the Global System for
GSM
Mobile telecommunication protocol that is currently the most popular European
protocol for digital cellular phones.
graphical user interface. User environment that uses pictorial as well as textual
representations of the input and output of applications and the hierarchical or other data
structure in which information is stored. Conventions such as buttons, icons, and
GUI
windows are typical, and many actions are performed using a pointing device (such as a
mouse). Microsoft Windows and the Apple Macintosh are prominent examples of
platforms utilizing a GUI.
The H.323 specification defines packet standards for terminals, equipment and services
H.323
for multimedia communications over LANs.
Half-duplex data transmission means that data can be transmitted in both directions on a
signal carrier, but not at the same time. For example, on a local area network using a
Half-duplex technology that has half-duplex transmission, one workstation can send data on the line
and then immediately receive data on the line from the same direction in which data
was just transmitted.
An IP address is a unique, 32-bit number for a specific TCP/IP host on the Internet. IP
IP Address addresses are normally written in dotted decimal form such as 128.127.50.224. A host
uses a fixed IP Address as identification by the other equipment in the Network.
Acronym for Internet Service Provider, a for-profit organization supplying inter-connection
ISPbetween an Internet Access Point and end users. ISPs usually offer one or more methods for
accessing the Internet, such as dial-up modem connections, ISDN, xDSL, T1, and even CABLE.
Internet Internet Telephony is a technology that lets you make voice phone calls over the
Telephony Internet.
A software application for transmitting and receiving voice communication over a
Internet phone
wired or wireless connection between computers that uses an implementation of the
Technical Manual Page 13 of 16
Internet Protocol (IP).
The Internet is a worldwide network of many smaller networks and services, such as the
World Wide Web, e-mail, FTP, Usenet, Gopher...etc. It is composed of literally
Internet
thousands of individual computers called "Servers", and is accessible 24 hours a day,
365 days a year.
A private network that uses Internet software and Internet Communication Protocol
Intranet
standards like TCP/IP.
n. Acronym for local area network. A group of computers and other devices dispersed
over a relatively limited area and connected by a communications link that enables any
device to interact with any other on the network. LANs commonly include
LAN
microcomputers and shared resources such as laser printers and large hard disks. The
devices on a LAN are known as nodes, and the nodes are connected by cables through
which messages are transmitted.
PCM (pulse code modulation) is a digital scheme for transmitting analog data. The
signals in PCM are binary; that is, there are only two possible states, represented by
logic 1 (high) and logic 0 (low). This is true no matter how complex the analog
waveform happens to be. Using PCM, it is possible to digitize all forms of analog data,
including full-motion video, voices, music, telemetry, and virtual reality (VR). To
obtain PCM from an analog waveform at the source (transmitter end) of a
communications circuit, the analog signal amplitude is sampled (measured) at regular
time intervals. The sampling rate, or number of samples per second, is several times the
maximum frequency of the analog waveform in cycles per second or hertz. The
PCM
instantaneous amplitude of the analog signal at each sampling is rounded off to the
nearest of several specific, predetermined levels. This process is called quantization.
The number of levels is always a power of 2 -- for example, 8, 16, 32, or 64. These
numbers can be represented by three, four, five, or six binary digits (bits) respectively.
The output of a pulse code modulator is thus a series of binary numbers, each
represented by some power of 2 bits. At the destination (receiver end) of the
communications circuit, a pulse code demodulator converts the binary numbers back
into pulses having the same quantum levels as those in the modulator. These pulses are
further processed to restore the original analog waveform.
Acronym for Point-to-Point Protocol, PPP is the Internet standard for transmission of IP
PPP
packets over serial lines.
Packet switching is a technology for sending data in packets through a network to a
remote location. Transmitted data is subdivided into individual packets of data, each
Packet
with its own unique identification and destination address. The packets reach their
Switching
destinations through different routes, and may also arrive in a different order than how
they were sent.
Acronym for Real-time Transport Protocol, which provides end-to-end network
RTP transport functions suitable for applications transmitting real-time data, such as audio,
video, or simulation data.
Conditions of uncertainty that arise from having inadequate information on which to
Risks
base decisions.
Acronym for Serial Line Internet Protocol, which is currently a de facto standard,
SLIP commonly used for point-to-point serial connections running TCP/IP. It is not an
Internet standard, See PPP.
A digital transmission link with a capacity of 1.544 Mbps. The lines are widely used to
connect networks across remote distances. T-1 uses two pairs of normal twisted wires,
T-1 as is common in private homes. T-1 supports 24 voice conversations, each one digitized
at 64 Kbps. T-1 is a standard for digital transmission in the U.S., Canada, Hong Kong,
and Japan. In Europe, the equivalent is an E-1 which can handle 30 voice channels.
Acronym for Transmission Control Protocol/Internet Protocol, a networking protocol
TCP/IP that provides communication across interconnected networks, between computers with
diverse hardware architectures, and between various operating systems.
TCP Acronym for Transmission Control Protocol, a protocol for verifying correct data
Technical Manual Page 14 of 16
delivery between two systems. TCP detects errors, or lost data, and triggers
retransmission until the destination receives the correct data. TCP generally uses the IP
protocol to transmit the information.
UDP (User Datagram Protocol) is a communications method (protocol) that offers a
limited amount of service when messages are exchanged between computers in a
network that uses the Internet Protocol (IP). UDP is an alternative to the Transmission
Control Protocol (TCP) and, together with IP, is sometimes referred to as UDP/IP.
UDP Unlike TCP, UDP does not provide the service of dividing a message into packets
(datagrams) and reassembling it at the other end. Specifically, UDP doesn't provide
sequencing of the packets that the data arrives in. This means that the application
program that uses UDP must be able to make sure that the entire message has arrived
and is in the right order.
Acronym for Wide Area Network, a communications network that covers a wide
WAN
geographic area, such as a state or a country.
Refers to the entire software program, including all of its visual and non-visual
application components and their functionality. Generally encompasses functions of a related
nature.
attribute A characteristic which an entity exhibits.
A copy (or the action of making a copy) of an original intended to be used as a
backup
substitute for the original in the event that part or all of the original becomes unusable.
Placing the cursor over the target object or command on the application interface and
clicking
pressing and releasing the left mouse button once.
The text of the application's programming language that is compiled and executed or
code
executable during the running of the application.
A measure of the applications ability to interact with other applications and components
compatibility
using the same or other common protocols.
A feature that diplays a dialog box containing relevent help text in response to the user
context-
highlighting an object on the interface and pressing the F1 function key on the
sensitive help
keyboard.
cross-functional A method of organizing business operations so that decision-making is team-based and
teams individuals apply their specific expertise to more than one team, often simultaneously.
Describe how the data is logically grouped and manipulated within an application to
data structures
best emulate the characteristics of the problem domain and serve the needs of the user.
data Discrete pieces of information.
To break the whole down into smaller, more simplified parts, each of which provide a
deconstruct
related set of functions.
A window, less than full-screen in size, that opens in response to a user request for a
particular service or set of services. Usually contains components and information
dialog box
relevent to understanding, setting, and executing certain attributes, functions, or
function sets.
Placing the cursor over the target object or command on the application interface and
double-clicking
pressing and releasing the left mouse button twice in succession.
A menu that "drops down" in response to a user clicking on a word (like "File" or
drop-down "Edit") with a mouse at the top of most standard graphical user interfaces. The menu
menu typically contains other words that are clickable and commence some action when
clicked.
efficiency Maintaining the highest possible ratio of output to input.
error detection The location and identification of an error or errors.
Execution of a planned method of handling an error or errors that minimizes disruption
error recovery
to the user, the application environment, or the system.
error An unintended event or consequence that occurs in a software application.
extensibility The ability to extend or add to the range and/or depth of services provided by the
Technical Manual Page 15 of 16
software.
A state maintained by an item or component in an interface when when it is
highlighted. An item or component with focus is considered to be in a ready-to-execute
focus
mode and will respond to whatever valid operations are executed on it while it has
focus.
A mode that indicates that a visual component is currently selected by giving its
background a different colour, surrounding it with a solid line, or otherwise causing it
highlight
to stand out from other components on the interface and to receive focus. One common
method of highlighting a component is to click on it.
icon A small pictoral representation of an object or service provided in the application.
The graphical and textual onscreen elements that the user of the software clicks on or
interface otherwise interacts with to view and execute the functions provided by the software
program.
A method of executing a command in an application by the simultaneous pressing of
keyboard the keyboard's ALT key and another prescribed keyboard key. Prescribed key is
shortcut determined during software design and indicated on an interface element with an
underlined letter in the service name.
A visual interface component that appears as rows of numbered buttons and resembles
keypad
(in this case) a touch-tone telephone dial. Buttons are activated with a mouse click.
A type of data structure used to contain other software objects and which provides
characteristics and behaviors in common with physical lists. (As with a written list you
list
can add, remove, rearrange, and otherwise manipulate the content and order of the
object in the list.)
Saving a textual record of information deemed pertinent to an particular event and
logging
storing it in a database for later retrieval.
maintainability A measure of the software's ability to be adapted and/or extended to meet future needs.
A horizontal panel located below the title bar on an application interface. Contains one
menu bar
or more menu options from which the user can choose.
A list of services provided by the application that are normally represented textually on
menu a menu bar component just below the title bar. Clicking on a menu item usually causes
a submenu to appear below the menu name.
A significant event along the progression of the development process usually marked
milestone by the completion of a major task or phase and accompanied by the delivery of a
predetermined part of the development output.
To reduce the visual interface of a running application to a small icon and/or button
which generally appears on the task bar of the operating system. A minimized
minimize
application can continue to work in the background and may be restored to its former
size by the user.
Acronym for Modulator / Demodulator. Changes analog signals to digital signals for
modem
transmission over telephone lines.
A design feature that uses independent software components each of which provide a
service or set of services to other components or the application as a whole. The model
modular
attempts to minimize cross-module interaction strictly to what is necessary to
accomplish the required task(s).
A configuration of two or more computers connected and able to send and receive
network messages between them. The usage in this document refers more specifically to a
network which uses the Internet Protocol (IP).
A logical software structure whose prescribed characteristics and behaviors emulate
object
those of an entity in the problem domain.
A computer is online if it is currently running and maintaining a connection to a
online
computer network such as the Internet or a Local or Wide Area Network (LAN, WAN).
personal
A computer normally used to accomplish tasks of a personal nature.
computer (PC)
Technical Manual Page 16 of 16
A menu window that appears suddenly ("pops up") in response to an a particular event
pop-up menu
or action by the user, application, or system.
Attribute choices related to a user which prescribe the look and/or functional
preferences
characteristics of a particular operation environment.
Information related to the identification and description of a software user, or a
profile
hardware or software configuration.
Designing and testing smaller segments of software functionality in order to ascertain
prototyping
the viability of using like tools or procedures in the application under development.
A measure of the software's ability to deliver the services the user's require. This
reliability
implies the existence of an extremely low probability of failure in all aspects.
A vertical or horizontal bar that appears at the edge of a window or other component to
allow the user to scroll through a list and view list entries above or below those
scroll bar
currently in view. The scrolling is activated by clicking on the up or down arrows
located at the ends of the scroll bar.
To move through a list of choices (usually text) in a consecutive manner. Accomplished
scroll
through the use of a scroll bar.
string A series of consecutive text characters (including spaces).
A list of one or more related services provided by the application and represented in
sub-menu textually on a sub-menu pop-up panel. Clicking on the sub-menu item or executing the
appropriate keyboard shortcut will execute the associated command.
A portion of an overall software or hardware system that provides a specific set of
subsystem related functions to the system. Usually developed and tested independently prior to
integration into the overall system.
A small area on the right end of the task bar that displays icons representing selected
running applications or services. Often used to show services that run as background
system tray
processes. Examples include anti-virus software icon, network connection icon, or in
the case of this development project, Digital Internet phone icon.
A horizontal panel, usually found at the bottom or outer edge of the desktop window
task bar
that shows icon/buttton/text interface representations of the currently open applications.
To attach a piece of data to an event that relates it to the specific time/date that the
time stamp
event occured.
A number used to indicate a particular position that a piece of software occupies in a
version
development sequence or along a development continuum.
A framed structure in a computer application or environment that encompasses and
window
encloses the visual elements of the interface.
A computer connected to an organization's network and normally used to accomplish
workstation
tasks related to the business of the organization.