(c) 'ESP' is a number guessing game incorporating a
random-number generator within the program.
(d) 'First aid' is an example of a simple educational
program, again structured around multiple-choice question-
ing techniques.
4.1 Software considerations
For practical reasons during the experimental period, all the
telesoftware programs were written and transmitted in
machine code. This method is compact and convenient
when dealing with a single microprocessor and associated
instruction set but, of course, allows no real portability of
programs between one microprocessor and another. To
adopt this system as a standard for telesoftware would
impose severe restrictions in terms of having to define one
machine which must be used in all terminals, effectively
precluding competition between different manufacturers.
It would be more desirable to transmit programs in a
high-level language and to employ a resident interpreter
(held in r.o.m.) to translate this into machine-code instruc-
tions to be executed by the microprocessor. This would
permit many different microprocessors to be used for
telesoftware simply by writing interpreters appropriate to
the specific machine in use in each case. The interpreter
would also reduce substantially the amount of software
per program which must actually be transmitted, because
a degree of 'expansion' takes place with a high-level
language when the source code is interpreted into machine
instructions. Thus writing programs in such a high-level
language results in effective compaction, which is crucial in
telesoftware, because the longer the program, the longer the
user will have to wait to load the software from the teletext
system.
A compiler approach would be less desirable, since more
memory is required and the program could not possibly
start until it had been loaded in its entirety, resulting in
undesirable delays. The teletext system itself incurs delays
in that the most efficient way of broadcasting programs is
using the 'rolling pages' method previously described, with
finite times between each, but this would prove less of a
problem if a program could commence execution before
the whole of it had been received. With careful segmenting
of the program, this is possible with the interpretive
approach, but not with the compiler.
As well as deciding on whether a compiler or interpreter
is most appropriate for the future implementation of tele-
software, a suitable high-level language must be identified.
ITV's research to date has pointed to a modified BASIC
as being most appropriate,
4
but no final conclusions have
been reached.
It should be remembered that telesoftware is likely to be
aimed, not at the home-computer enthusiast, but at the
man in the street, as a television set with enhanced and
highly versatile facilities. Thus the vast majority of users
would not possess any knowledge of the traditional com-
puting techniques associated with the current generation of
personal computers. For this reason, accepted computer-
type operating systems with their attendant error messages
such as '*** ERROR INVALID OPERATOR OR TER-
MINATOR' could not be tolerated, or understood! Instead,
careful design of programs will have to take palace to ensure
that software is highly reliable in a runtime-only environ-
ment and to ensure the inability of the terminal to produce
meaningless, obscure or incorrect information to the user,
regardless of data input by him. However, since a real
telesoftware will still permit the broadcaster full control of
the programs that are broadcast (in the same way as he
retains full control of the content of teletext pages). It will
be his responsibility to ensure that strict quality-control
procedures are carried out on the programs prior to their
transmission on air.
5 Other telesoftware applications
It is difficult to assess how the use of telesoftware will
evolve until it becomes established as an important and
useful extension of teletext. However, work already carried
out has pointed to a number of areas where applications
seem most appropriate, and a few of these are now
described.
5.1 Se/f-assessmen t programs
Examples of self-assessment programs are mortgage calcu-
lators,
tax assessment programs, social-security benefits
assessment etc. These applications would normally take the
form of question-and-answer sequences with the terminal
performing numerical and logical calculations upon data
entered by the user interactively. In their simplest form,
programs would need only the numeric keypad for data-
entry, but others, of more complexity, would necessitate
the use of a full alphanumeric keyboard as an extra per-
ipheral. A characteristic of this area of applications is the
large quantity of text needed to be held within a program.
5.2 Education
Education is a large and important area in which telesoft-
ware could have a major role to play. It provides the
educationalist with two significant advantages: first, it is
completely cost free, once the relatively cheap hardware
has been obtained; secondly, any number of simultaneous
users may be supported (clearly, no peak-loading problem
exists in the ether).
Many existing and proven techniques for computer-aided
learning can be translated directly into telesoftware, such as
the teaching of numeracy, some mathematics and some
science subjects. However, to be really efficient, a signifi-
cantly large portion of a teletext database needs to be
devoted entirely to the broadcasting of educational
programs to provide the necessary diversity and complexity
required.
5.3 Video
games
Video games can be viewed as falling into two groups;
verbal-reasoning games and manual-dexterity games. The
former are ideally suited to telesoftware implementation,
since they involve manipulation of mainly textual data and
will need only a keypad, or at most and alphanumeric key-
board for data entry. The latter, however, deal with factors
such as hand-to-eye co-ordination and are nearer in concept
to the 'traditional' (fixed) video games; as such they
demand the use of paddles, joysticks and other control
devices. A real-time clock might also be necessary.
5.4
Database
broadcasting
An example of database broadcasting is a system proposed
to use telesoftware to detect credit-card fraud. A telesoft-
ware terminal located at the point of sale in a store could
be loaded with a small program at the start of the working
day. Throughout the day, Oracle would broadcast updated
PROC.
IEE,
Vol.
126, No. 12,
DECEMBER
1979
1415