100% found this document useful (14 votes)
66 views

Download Voice Enabling Web Applications VoiceXML and Beyond 1st Edition Ken Abbott (Auth.) ebook All Chapters PDF

Voice

Uploaded by

maqqansaf
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (14 votes)
66 views

Download Voice Enabling Web Applications VoiceXML and Beyond 1st Edition Ken Abbott (Auth.) ebook All Chapters PDF

Voice

Uploaded by

maqqansaf
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 85

Download the full version of the ebook at ebookfinal.

com

Voice Enabling Web Applications VoiceXML and


Beyond 1st Edition Ken Abbott (Auth.)

https://ebookfinal.com/download/voice-enabling-web-
applications-voicexml-and-beyond-1st-edition-ken-abbott-
auth/

OR CLICK BUTTON

DOWNLOAD EBOOK

Download more ebook instantly today at https://ebookfinal.com


Instant digital products (PDF, ePub, MOBI) available
Download now and explore formats that suit you...

VoiceXML 10 Projects to Voice Enable Your Web Site 1st


Edition Mark Miller

https://ebookfinal.com/download/voicexml-10-projects-to-voice-enable-
your-web-site-1st-edition-mark-miller/

ebookfinal.com

Enabling context aware web services methods architectures


and technologies 1st Edition Quan Z. Sheng

https://ebookfinal.com/download/enabling-context-aware-web-services-
methods-architectures-and-technologies-1st-edition-quan-z-sheng/

ebookfinal.com

Vagabond Vol 29 29 Inoue

https://ebookfinal.com/download/vagabond-vol-29-29-inoue/

ebookfinal.com

Google Amazon and Beyond Creating and Consuming Web


Services 1st Edition Alexander Nakhimovsky

https://ebookfinal.com/download/google-amazon-and-beyond-creating-and-
consuming-web-services-1st-edition-alexander-nakhimovsky/

ebookfinal.com
Beginning WebGL for HTML5 Expert s Voice in Web
Development 1st ed. Edition Danchilla

https://ebookfinal.com/download/beginning-webgl-for-html5-expert-s-
voice-in-web-development-1st-ed-edition-danchilla/

ebookfinal.com

Flask Web Development Developing Web Applications with


Python 1st Edition Miguel Grinberg

https://ebookfinal.com/download/flask-web-development-developing-web-
applications-with-python-1st-edition-miguel-grinberg/

ebookfinal.com

Group Theory for the Standard Model of Particle Physics


and Beyond 1st Edition Ken J. Barnes

https://ebookfinal.com/download/group-theory-for-the-standard-model-
of-particle-physics-and-beyond-1st-edition-ken-j-barnes/

ebookfinal.com

Building Web Applications with Erlang Working with REST


and Web Sockets on Yaws 1st Edition Zachary Kessin

https://ebookfinal.com/download/building-web-applications-with-erlang-
working-with-rest-and-web-sockets-on-yaws-1st-edition-zachary-kessin/

ebookfinal.com

Understanding and Applying Research Design 1st Edition


Martin Lee Abbott

https://ebookfinal.com/download/understanding-and-applying-research-
design-1st-edition-martin-lee-abbott/

ebookfinal.com
Voice Enabling Web
Applications: VoiceXML
and Beyond
KEN ABBOTT

APress Media, LLC


Voice EnablingWeb Applications: VoiceXML and Beyond
Copyright ©2002 by Ken Abbott
Originally published by Apress in 2002

All rights reserved. No part of this work may be reproduced or transmitted in any
form or by any means, electronic or mechanical, including photocopying, recording,
or by any information storage or retrieval system, without the prior written per-
mission ofthe copyright owner and the publisher.

ISBN 978-1-893115-73-6 ISBN 978-1-4302-0850-1 (eBook)


DOI 10.1007/978-1-4302-0850-1

Trademarked names may appear in this book. Rather than use a trademark symbol
with every occurrence of a trademarked name, we use the names only in an editorial
fashion and to the benefit of the trademark owner, with no intention of infringement
of the trademark.

Editorial Directors: Dan Appleman, Gary Cornell, Iason Gilmore, Karen Watterson
Marketing Manager: Stephanie Rodriguez
Managing Editor: Grace Wong
Technical Reviewer: Dennis McCarthy
Developmental Editor: Marty Minner
Copy Editor: Nicole LeClerc
Production Editor: Laura Cheu
Compositor: Impressions Book and Journal Services, Inc.
Artists: Susan Glinert Stevens, Impressions Book and Journal Services, Inc.
Indexer: Valerie Haynes Perry
Cover Designer: Tom Debolski

The information in this book is distributed on an "as is" hasis, without warranty.
Although every precaution has been taken in the preparation of this work, neither the
author nor Apress shall have any liability to any person or entity with respect to any
loss or damage caused or alleged to be caused directly or indirectly by the infor-
mation contained in this work.
Contents
Author's Note on VoiceXML 2.0 ..................................... . vii
Preface ............................................................... .ix

Chapter 1: The Role of Voice on the Web .............. .3


Using Sight and Sound Together .................................... .3

Chapter 2: The Convergence of Speech and


the Web .............................................. 7
What Is VoiceXML? .................................................... 7
Meet the Technical Parents ......................................... 7
Why Merge Speech and the Web? .................................... .13
Making Voice User Interfaces Easy to Build and Use ........... .14
Summary .............................................................. .14

Chapter 3: The Evolution of Web


Application Architectures ................. .15
The Good Old Days: Browsers, Servers, and Content ............ .15
Sessions and Dynamic Content ..................................... .17
GUis, WUis, and VUis .............................................. .18
Summary .............................................................. .21

Chapter 4: Simplified Personal Information


Manager Example ................................ .25
Use Case Analysis .................................................. .26
Object Model ........................................................ .30
Summary .............................................................. .31

iii
Contents

Chapter 5: VoiceXML Concepts ............................. .33


VoiceXML History ................................................... .33
Voice Web Browsing ................................................. .35
Elements of VoiceXML .............................................. .38
Summary ........................................................... ... .40

Chapter 6: Outfitting Your VoiceXML Expedition ... .41


Standalone versus Hosted Development ........................... .41
Development Environment ........................................... .43
VoiceXML 1.0 versus VoiceXML 2.01 .............................. .. 44
Some Available Software Options ................................. .45
Speech Developer Accessories ..................................... .46
Summary ........................................................... ... .47

Chapter 7: VoiceXML Language Tutorial ................. .49


"Hello, World!" .................................................... .49
SPIM Menu Navigation .............................................. .50
SPIM Main Menu ..................................................... .51
Application with Multiple Dialogs ............................... .52
Visiting Documents ................................................. .54
Form Handling ....................................................... .57
Handling Events .................................................... .66
Queries and Sets .................................................. .. 74
Telephony Features ................................................. .84
Summary ........................................................... ... .85

Chapter 8: VUI Design Principles and


Techniques ....................................... .87
Core Principles .................................................... .87
Speech Design ....................................................... .90
Interface Design ................................................... .94
Summary ........................................................... .. .102

iv
Contents

Chapter 9: VoiceXML Programming Guide ............... .105


Structure of a VoiceXML Program .............................. .. .105
Input and Output .............................. .................... .107
Navigation .............................. ........................... .108
Forms and Fields .............................. .................... .109
Dialog, Document, and Application .............................. .110
Speech Recognition Grammars .............................. ....... .111
Speech Synthesis Markup .............................. ............ .112
Events and Handlers .............................. ................ .114
Form Items and the Form Interpretation Algorithm ............ .117
Mixed-Initiative Dialogs .............................. .......... .119
Executable Content .............................. .................. .120
Telephony .............................. ............................ .121
Platform and Performance Features .............................. .121
Summary .............................. .............................. . .121

Chapter 10: Advanced VoiceXML Topics ................ .123


Resource Fetching .............................. ................... .123
Audit Trail .............................. .......................... .125
Accessing the Voice Gateway .............................. ....... .126
Advanced Event Handling .............................. ............ .129
Summary .............................. .............................. . .139

Chapter 11: Overview of Related Web


Technologies .............................. .... .143
XML .............................. .............................. ..... .143
XSL .............................. .............................. ..... .145
Servlet .............................. .............................. . .148
JavaServer Pages .............................. .................... .149
XML Publishing .............................. ...................... .152
Summary .............................. .............................. . .155

v
Contents

Chapter 12: Adding VoiceXML to Web


Applications .................................. .157
One Application, Multiple User Interfaces .................... .157
Web Application Architectures ................................... .162
Summary ............................................................. .175

Chapter 13: The Web Application Prototype ......... .177


Prototype Setup and Installation ............................... .178
Anatomy of the Prototype ........................................ .188
Trying It Out ...................................................... .201
Tips for Dissecting the Prototype .............................. .203
Summary ............................................................. .207

Chapter 14: What's Next? .................................. .2o9


Changes from VoiceXML 1. o to VoiceXML 2. o .................... .209
Grammar and Speech Synthesis Sped fication ................... .210
Reusable Dialog Components ...................................... .211
Mul timodal Interfaces ............................................ .213
Architectural Issues ............................................. .214
Summary ............................................................. .216

Appendix A ........................................................ 219


A Quick Reference to VoiceXML 1.0 Syntax ...................... .219

Index ................................................................ .241

vi
Author's Note on
VoiceXML 2.0
THE FIRST VERSION ofVoiceXML, VoiceXML 1.0, was officially released in May 2000
by the VoiceXML Forum. Subsequently, the VoiceXML Forum turned over control
of the VoiceXML specification to the World Wide Web Consortium (W3C). The
next version ofVoiceXML, popularly known as VoiceXML 2.0, has been pending
throughout the writing and production of this book, but still has not been pub-
licly released as of mid -October 2001.
As anyone who works with software technology knows, one and one half
years between releases of a burgeoning technology is an eternity. The delay has
been due to internal issues within the W3C regarding intellectual property rights.
In the past, the W3C has been a strong of advocate of open -source (public
domain) technologies. Modern reality is that many, if not most, new and evolving
technologies are being developed by parties who hold some intellectual rights
to the technology, so the W3C must adapt. VoiceXML is one such technology
under the W3C's purview (but not the only one).
As a result of this turmoil, the anxiously awaited VoiceXML 2.0 specification
has been pending release as a W3C Working Draft for over a year. Both the internal
deliberations of the W3C and the contents of any unreleased work-in-progress are
closed to the public. Therefore, the specification cannot be discussed publicly,
and there has been no firm official information from the W3C about when it can
be. (And the W3C finds itself in the unique position of being an open standards
body fighting fiercely to keep a much-requested standard secret.)
People who buy technical books want information that is up-to-date and
timely. This presented a dilemma to authors and publishers. To provide timely
information on an infant technology such as VoiceXML, books are often rushed
into production. On the other hand, to provide up-to-date information, books
are often timed to appear as soon as a particular new technology is released. For
books on VoiceXML, the choice was to rush to market with books on VoiceXML
1.0 (already decrepit in Web time and due to be superseded by the imminent
VoiceXML 2.0), or wait for VoiceXML 2.0 (which was making little publicly visible
progress toward release).
Initially, Apress and I decided that the smart thing to do was write the manu-
script, wait for VoiceXML 2.0 publication, and then follow as soon as possible with
publication of this book, compatible with VoiceXML 2.0. However, books don't
hold well in captivity, and as months passed with no resolution to uncertainty

vii
Author's Note on VoiceXML 2. 0

concerning the schedule for release ofVoiceXML 2.0, we decided that the book
needed to get into people's hands.
So, strictly speaking, this book can only claim that it is compatible with the
VoiceXML 1.0 specification and that an online supplement will reconcile any
incompatibilities when VoiceXML 2.0 appears. However, due to the long gestation
ofVoiceXML 2.0, a fair amount of information about VoiceXML 2.0 has become
publicly known, whether the W3C likes it or not. So there is some good news:

• Based on publicly known information, I have anticipated VoiceXML 2.0


throughout the book.

• All indications are that VoiceXML 2.0 is an incremental improvement on


VoiceXML 1.0. For learningVoiceXML, it doesn't matter which specification
you're using.

• This book is not just aboutVoiceXML. It's about voice enabling Web appli-
cations, and there is a lot of valuable information herein about integrating
voice with Web technologies and with existing applications that can be
found nowhere else.

• When VoiceXML 2.0 becomes available, so will information to update


this book-you can find it online at
http://www.apress.com/catalog/book/1893115739/.

So indulge your interest-use this book to start voice enabling your Web
applications right now!

Kenneth R. Abbott
October 2001
Holliston, MA
[email protected]

viii
Preface
This book is about two topics that I've pretty well mixed together: using voice to
access the Web and the VoiceXML language. Of the two, the former topic is the
bigger, more conceptual one, and it is the one that will wear the best over time. I
believe that VoiceXML will enable the use of voice to access the Web in a big way.
VoiceXML is a hot new enabling technology destined to live its meteoric life in
Web time: new and brilliant today but commonplace tomorrow. However, in the
grand tradition of computer technology, details get the attention and the major
trends take care of themselves.
I am a "big picture" person, and for me, the key to mastering the ever-
changing details of technology is to keep the details in context. My years in the
computer software industry have taught me that not everyone thinks the way I
do, and for many technically oriented people, "God is in the details." In this book
I have attempted to strike a balance between providing context and explaining
the current technical details.
In the admixture of voice, computers, and the Web, I've observed the follow-
ing overlapping constituencies with strong interest in seeingVoiceXML succeed.

• One constituency is people with backgrounds in telephony and highly cus-


tomized voice applications. They've been making telephones and
automated voice systems work together for years using expensive, special-
purpose gateways and expensive, proprietary software.

• Another group is voice technologists, who are grounded in the deep complexi-
ties of voice recognition, voice synthesis, and natural language processing.
They have been working for decades on a complex and frustrating technology,
and they feel it is now getting close to the point where the masses can use it.

• Web enthusiasts are technically oriented people who are deeply involved with
the development, care, and feeding ofWeb applications and the Web itself. To
them, voice is a new technology to be quickly mastered and assimilated.

• Finally, there are technology integrators, who occupy the shadowy realm
between business and technology. They are interested in finding better ways
to do business using technology. Technology integrators tend to be interested
in markets, products, architectures, and standards-they are the architects
and general contractors of the computer-system building industry.

In terms of my personal background, I am part Web enthusiast and part


technology integrator. My background is in computer software, primarily

ix
Preface

large-scale applications, and my current specialty is helping clients develop and


deploy large-scale business applications on the Web. Proving the technical feasi-
bility of an architecture or design is a vital part of what I do, so also I dive in and
develop prototypes and pilots.
In this book, I have tried to speak to all constituencies. I introduce and
review, but do not labor over, material that may be familiar to some and not to
others. I've tried to give you the same mixture of abstract and concrete advice
I give my clients. In this book, I have established a context for voice technology in
general and VoiceXML in particular; I have architecturally "sited" voice and
VoiceXML relative to other major technology landmarks such as XML and appli-
cation servers; and I have provided a step-by-step tutorial for hands-on
beginners and a working prototype for advanced users.
What does this book give you that others don't? Most books you see on the
shelf with VoiceXML in the title will have some sort of tutorial, walk-through, or
annotated examples ofVoiceXML programs-most will have extensive reference
material covering all details of the VoiceXML language. This book has those
things. However, this book also provides a thorough grounding in what it takes to
actually use VoiceXML effectively in the complex, polyglot world of modern Web
applications. In terms of enabling voice access to a Web site, VoiceXML is but one
specialist niche in a much broader landscape that includes stylesheets, servlets,
databases, and so on. In this book, these related technologies are approached as
a professional systems designer or architect would approach them: with basic
knowledge of the technology, with respect for unseen details, and with a desire to
put the technology to work as quickly and painlessly as possible.

Structure of the Book


To achieve the balance between context and detail discussed previously, I have
laid the book out into the following parts.

Part I (Chapters l-3) takes a retrospective view on two key technologies


that VoiceXML brings together: speech and the Web. This part provides
valuable context for understanding how these technologies came to be
converging now, and it provides a base for extrapolating how the merged
technologies will progress together.

Part II (Chapters 4-9) focuses on the nuts and bolts of the VoiceXML lan-
guage. Using a Simplified Personal Information Manager as a specimen
application, Part II guides you through an initial analysis of the application
(Chapter 4), introduces basic VoiceXML concepts (Chapter 5), helps you set
up your own VoiceXML development environment using software from the
companion CD (Chapter 6), and leads you through a hands-on VoiceXML
tutorial (Chapter 7). With the tutorial mastered, Chapters 8-10 examine

X
Preface

advanced, pragmatic issues concerning the effective design and develop-


ment of voice interfaces using the full power of the VoiceXML language.

Part III (Chapters 11-13) dollies back from the details of the VoiceXML lan-
guage and explores the issues involved in building a single Web application
that incorporates multiple access modes, such as voice and graphical
interfaces. Chapter 11 briefly reviews major technologies that are used in
enterprise Web applications, including XML, XSL, JavaServer Pages, and
application servers. Chapter 12 introduces a transformational approach
for putting together the various technologies, includingVoiceXML, into a
scalable, multiple access mode architecture. Chapter 13 presents a working
prototype that demonstrates the transformational architecture. Detailed
instructions are provided for installing the prototype from the companion
CD, and the various components are dissected. Finally, Chapter 14
explores future directions forVoiceXML.

Appendix A (A Quick Reference to VoiceXML 1.0 Syntax) contains condensed


reference material on the VoiceXML language. The reference material is
geared toward providing an experienced VoiceXML programmer exactly the
information he or she needs while in the throes of a coding frenzy.

Companion CD

The companion CD contains all the software you need to begin developing
VoiceXML applications on your PC. The CD includes IBM Web Sphere Voice
Server SDK 1.5, IBMWebSphere Studio (trial edition), Allaire JRun 3.1 (developer
version), Altova XML Spy IDE for XML (30-day evaluation), plus an assortment of
goodies, such XML Quick Reference Cards from MulberryTech and a small gallery
of computer-synthesized voices to break in your new headset.

Building Up Your Courage

If you're still not sure that you're ready to take the plunge into the world of the
voice-enabled Web, I suggest you visit some of the major resource sites on
the Web. You'll see that there are a lot of people getting excited about combining
voice and the Web, and there are a lot of resources for newbies. I recommend
starting with the following sites.

• VoiceXML Forum (http: I /www. voicexml. orgl): The VoiceXML Forum is the
industry consortium that first standardized VoiceXML. This site has lots of
information about VoiceXML, including FAQs, technical resources, and
details about important activities such as user group meetings. In addition,

xi
Preface

there are links to just about every business, individual, and organization
active in the VoiceXML area.

• TheWorldWideWeb Consortium (http:/ /www.w3.org/): TheW3C is the


preeminent standards body for the Web. The W3C is now responsible for
VoiceXML as well as related standards for speech markup languages,
speech grammar languages, and so on. The W3C is also the authoritative
source for information about Web infrastructure technologies such as
HTTP, HTML, and MIME. The site offers FAQs and tutorials for newbies
and concise technical documents for experts.

• XML.org (http: I /www.xml. orgl): This site is the best jumping-offpoint for
immersing yourself in XML. XML.org is dedicated to promoting the use of
XML, and the site provides links to FAQs, books online, online courses,
examples, free software tools, and much more.

After you have surfed around a bit, I think you'll discover two things.

• Taken individually, the component technologies involved in a voice-


enabled Web application (such as VoiceXML, XSL, server pages, and so on)
are fairly accessible and can be tamed by any experienced technical person.

• Quite of number of component technologies must be lashed together to


create a working voice-enabled Web application, but there's not much doc-
umentation about the architecture and integration required to make all the
components work together smoothly. That is why the book in your hands
is valuable.

Acknowledgments
Thanks to Dennis McCarthy, both for getting me turned on to this whole
"VoiceXML thing" and for providing valuable comments and suggestions as the
principal technical reviewer for the manuscript. Thanks to Sue Spielman of
Switchback Software, who provided technical feedback from the perspective of
an expert Cocoon user and XML developer.
Special thanks to my wife Susan, who has seen more of me around the house
than she thought possible or tolerable, and who struggled through the first three
pages of the manuscript and concluded, "It's wonderful, dear." Which was exactly
the right thing to say.

Ken Abbott
August200l
Holliston, MA
[email protected]
xii
Part One
Retrospective on Voice
and the Web

THis PART INTRODUCES and reviews the key concepts that underlie voice technology
and the World Wide Web. Voice technology and the Web have very different ori-
gins. Understanding the context and trajectory of each technology will help
answer many of the questions that will pop up in subsequent parts as you grapple
with the technical details: Why do things work this way? Why isn't this obvious
feature standardized?
Chapter 1 provides a brief introduction to voice and its significance.
Chapter 2 explores how and why voice and the Web are converging. Chapter 3
closes this part with a review of how the Web has evolved technically and draws
some parallels to the future evolution ofVoiceXML.
CHAPTER 1

The Role of Voice on


the Web
PUNDITS OF THE INFORMATION AGE portray the Internet as a tidal wave of innovation
that is sweeping human culture. Skeptics, Luddites, and technical curmudgeons
point out that if the Internet is a revolution, it is one limited to the elite minority
with regular access to computers. Both sides have a point. Those who encounter
the Internet often find the experience transforming, but not everyone has
that opportunity.
However, very soon the Internet will be accessible to pretty much everyone
as a result of technological advances that will enable people to access the
Internet from their homes, workplaces, cars, and so on. Access will be through
a low-cost, ubiquitous "Internet appliance": the telephone. The enabling tech-
nology is voice technology, which will enable people to interact with computers
over the telephone using their voices.
The idea of talking to computers has been around as long as computers
have. The technology to make computers recognize voices and generate speech
in response has been developing for decades, and it is still imperfect. Within
a constrained conversational context, however, voice technology has recently
become good enough that computers and people can understand each other
tolerably well.
VoiceXML is a new, first -cut technology that holds the promise of making
voice interfaces as easy to build, deploy, and use as the graphical interfaces that
currently dominate the Web. What's significant about VoiceXML is that it reaches
an audience much larger than just the digerati who currently populate cyber-
space-it has the potential to reach everyone that uses a phone.

Using Sight and Sound Together


There is no doubt that human beings perceive, use, and respond to sight and
sound very differently. Sound is the medium of music. Sight is the medium of pic-
tures, of reading, and of art. Perhaps because it's omnidirectional and works day
or night, sound is the original form of communication between people. Perhaps
because it's immediate and information can be absorbed quickly, sight is the
popular medium of communication in our technological age.

3
Chapter 1

Due to its technical history and orientation, the Web has favored the
explosion of visual interfaces over auditory interfaces. Much of the thrust of new
developments in user interfaces in the Information Age has been to increase the
rate at which information can be exchanged and the volume of information
available at any given moment. (Think 21" monitors set at high resolution.) This
approach has favored the visual over the audible, because visual interfaces are
"scalable"-to increase the amount of visual information, you simply increase
the transfer rate and the display capacity. On the other hand, speech cannot be
significantly speeded up without becoming incomprehensible. To increase the
amount of information conveyed through speech, you increase the length of
the conversation.
As Table 1-1 shows, the different characteristics of sight and speech make
them useful in different situations.

Table 1-1. Characteristics of Sight and Speech

CHARACTERISTIC SIGHT SPEECH

STRENGTH WEAKNESS STRENGTH WEAKNESS


Conveying Immediate and May require Good for concisely More information
information excellent for knowledge of conveying emotions requires more time.
conveying symbol and imprecise/
relationships vocabularies. ambiguous
between things. information.
Robustness Pictures can be Degraded by Highly robust and Doesn't work between
understood by poor viewing error tolerant. people speaking
people with conditions (poor Conversations can different languages.
different levels lighting, no moni- occur in a wide
of knowledge tor available, variety of situations.
and experience. and so on).

Now that both sight and speech are viable modes for accessing the Web,
there are some interesting questions to be answered.

• What types of interactions are more appropriate for speech, and what
types are more appropriate for sight?

• If the same information can be accessed by either speech or sight, then


how is the information structured so that it can be effectively rendered into
the different media?

• Can and should the interfaces be merged?

4
The Role ofVoice on the Web

For example, consider the adage "A picture is worth a thousand words."
A picture that can be perceived instantaneously by the eyes may require a long
description to convey similar information through speech. On the other hand,
audible speech can rapidly convey emotions and shades of meaning that are lost
in sight-mediated representations (think of sending e-mail versus talking on
a phone). Entering names and addresses through a graphical interface requires
manipulating mice and keyboards, as opposed to simply saying the names
and addresses.
At this time, we are just becoming able to use speech as a means of (limited)
communication between people and machines. This book is about a key enabler
of this limited capability: VoiceXML. VoiceXML, in its current form, is strictly
concerned with speech interaction. However, it is important to bear in mind
that sight and speech are complementary, each with its own set of strengths
and weaknesses.

5
CHAPTER 2

The Convergence of
Speech and the Web

What Is VoiceXML?
VmcEXML IS A PROGRAMMING LANGUAGE for scripting voice interactions between
a computer and a person. The basic element of interaction is a spoken dialog in
which the computer produces spoken prompts to elicit spoken responses from
the user. VoiceXML prompts may be recorded or generated using Text-to-Speech
(TTS) synthesis. Spoken user responses are processed using speech recognition
and grammars defined in the VoiceXML program. Users may also respond
through a keypad (DTMF 1), as defined in the program.

Meet the Technical Parents


On hearing the term "VoiceXML," people new to the technology often notice the
Extensible Markup Language (XML) connection but fail to catch the "computer
speech recognition and synthesis" implication. In fact, VoiceXML draws heavily
from the lineage of both, and its greatest technical innovation is to make com-
puterized voice technology available and accessible to the masses.

Speech Recognition and Synthesis


The history of the research and development of computer speech recognition
and synthesis is long and somewhat frustrating. The possibility of communicat-
ing with a computer the way people communicate with each other has seemed
tantalizingly close since the dawn of computing, but it still has not been realized.
In one of those unexpected paradoxes of high technology, it turns out to be easier
for a computer to beat a person at chess than it is for it to achieve a child's ability
to talk.

1 DTMF stands for Dual Tone Multi-Frequency, which is techno-speak for the sounds
a Touch-Tone phone makes when you press the keys.

7
Chapter2

Considerable amounts of intellectual capital have been spent developing


techniques to automate the recognition and comprehension of language. Efforts
have spanned many venerable fields of study, including linguistics, computer
science, mathematics, statistics, and psychology. In the pursuit of results, tech-
niques have run from the heights of elegant, abstract mathematical theory to the
depths of grubby, empirical pragmatism. The bottom line: Automated speech
recognition has improved, and continues to do so, but it is still far from perfect.
Speech synthesis has had a similar record of continued improvement. At the
end of the day, computers still talk funny, but people can understand computers
better than computers can understand people.

Sound, Speech, and Meaning

Something you hear is sound. A sequence of sounds people make with their
voices with the intent to communicate is speech. Meaning is the message con-
veyed when speech is successfully understood.
During a conversation, several distinct processes occur. Speaking can be
defined as the generation of understandable sounds using the voice. Hearing is
the perception of those sounds as speech and the chunking of sounds into units
of speech. Cognition is the assembling of speech units into an understandable,
meaningful message. This speech processing model is illustrated in Figure 2-1.

Understanding +E---+) Talking +E---+) Understanding

Hearing
SpeaHng

......
Speech

+-
Speech Speaking
Hearing

Figure 2-1. Speech processing model

8
The Convergence of Speech and the Web

When people of a certain age hear about "talking to a computer," they often
conjure up images of HAL from the film 2001:A Space Odyssey. HAL was an amaz-
ing computer that could talk and see. He sounded a little nerdy, but he could
carry on a conversation with no problem whatsoever, and his eyesight was excel-
lent. In the year 2001, HAL is still amazing. Today's computers approach HAL in
their ability to speak understandably and to recognize the words that a person
speaks. However, in the area of cognition, HAL is still far beyond our current
technological capabilities. Consider the fact that HAL could not only understand
natural human language, but he could also lip-read it (despite his personal lack
of lips!).
HAL engenders the false expectation that you can talk to a computer and
have a conversation, just as you can strike up a conversation with someone
standing in line at the post office. That happens to be exactly what computers
can't yet do. That is why VoiceXML encompasses speaking and hearing but has no
cognition model other than standard computer programming.

Speaker-Dependent versus Speaker-Independent


Speech Recognition

Speech recognition technologists make a critical distinction between speaker-


dependent and speaker-independent speech recognition. A person must enroll
with a speaker-dependent voice system before using it. Enrolling means going
through a process of training the computer to recognize an individual's voice-
that is, by having the person read text that the computer provides in the person's
habitual environment. Once the computer has "imprinted" on an individual, it
can recognize a significant portion of that person's vocabulary in any context, but
it makes more errors recognizing other people's speech than it did before enroll-
ment. Notice that when speaker-dependent systems train, they are training not
only on the individual's voice, but on the environment as well (for instance, your
voice as it sounds through a headset microphone in your office). Therefore,
a controlled environment is a necessary ingredient for speaker-dependent
speech recognition. Some dictation systems even go so far as to suggest
re-enrolling if you change your microphone.
On the other hand, speaker-independent speech recognition strives to recog-
nize what a person is saying without knowing anything about the person or his or
her environment. This means that the recognizer must be able to accommodate
all the variables that people unconsciously adjust for: accents; differences
between men's, women's, and children's voices; level of excitement; and so on.
These natural voice variations are compounded by a variety of environmental
obstacles: background noise; poor phone connections; fidelity variations
between phones, speakerphones, and headsets; and so on.

9
Chapter2

Using speaker-dependent speech recognition, current systems make errors


at tolerable rates. Dictation systems such as Dragon NaturallySpeaking and IBM
ViaVoice make errors at a rate that some people find annoying, but still useful.
Speaker-independent speech recognition works with reasonable success when
the recognizer is working with a constrained grammar. In other words, success is
greatest when the recognizer is not trying to understand what someone says out
of the blue; it works when it has the simpler job of matching what the user said
against a predefined set of options (for instance, a list of names or a menu of
commands). Speaker-independent speech recognition does not work in uncon-
strained situations. You still can't just walk up to a computer and strike up
a conversation.
VoiceXML uses speaker-independent speech recognition. VoiceXML inter-
actions are programmed, structured dialogs where the computer is always aware
that the user is using a finite vocabulary of possible utterances.

Markup Languages
Markup languages had their heyday before graphical interfaces and the
Web. Markup languages were a way to embed text-formatting instructions into
text documents. The text and markup language were entered into a text file using
a text editor (which in those pre-GUI days were line-at-a-time monsters). To pro-
duce a formatted document, a special formatting program (a word processor)
read the text file, interpreted and stripped out the markup instructions, and pro-
duced a text file that would print nicely on a selected printer. Because pre-GUI
days were also pre-laser printer days, the printer might have been a line printer,
a dot matrix printer, or (for the utmost in quality) a daisy wheel printer. All these
technologies-markup language-based text processors, command-line text edi-
tors, and impact printers-were authoritatively eclipsed by GUis, WYSIWYG
(What You See Is What You Get) editors, and laser printers.
However, the markup language approach solved some difficult publishing
problems that WYSIWYG word processors could not. Standard Generalized
Markup Language (SGML), a standard developed by IBM, continued to serve
a small but loyal market, and as a result it was still vital when someone began
envisioning a "World Wide Web."

SGML} HTML} and XML

HTML is a blessing and a curse to its aged parent SGML. It's a blessing because
it breathed life into a stagnant technology. It's a curse because it did so with
a brash, youthful disregard for the elegance and refinement of its progenitor.

10
The Convergence of Speech and the Web

SGML aimed to solve a tough information management problem in techni-


cal publishing. Designers and manufacturers of complex systems, such as
airplanes, weapons, and electronics systems, are forced to also be publishers of
the large volume of technical documentation that must accompany their sys-
tems: user manuals, maintenance guides, specifications, and so on. The
complexity of the publication and maintenance processes for technical docu-
ments rivals (and sometimes exceeds) the complexity of the design and
manufacturing processes described therein. (Consider the case where upgrading
a single part in a deployed system may require modifications to multiple copies
of multiple documents delivered to the customer.)
SGML enables technical publishers to represent complex, interrelated infor-
mation electronically such that

• The format is neutral with regards to publication technology.

• The information is accessible at subdocument granularity.

• The granules of information can be reused across multiple documents.

SGML is a metalanguage, a language used to define other languages. The


other languages actually get used to solve problems. HTML and XML are exam-
ples oflanguages defined in the SGML family. In its intended use, SGML is used
by a publisher to define a language specific to the problem at hand. For example,
Norton Aircraft might define a Norton Aircraft Markup Language (NAML) specific
to its airplane part numbering system. Norton Aircraft then captures the techni-
cal information for an airplane in NAML.
SGML and its derivatives are markup languages. That means the information
content is stored interspersed with tags that describe the meaning of the infor-
mation. The analogy is to a publisher's markups, where an editor marks proofs
with coded instructions that refer to adjacent text or graphics. Presentation
markup annotates content with instructions about how to present the content in
a given medium (for example, on a video screen). Content markup provides
information about the meaning and logical structure of the content, which is the
same no matter how the content is presented. An SGML language may include
a combination of presentation and content markup tags, but in practice, lan-
guages tend to fall in one category or the other.
HTML draws power from SGML, but it is an expedient rather than an elegant
application of SGML in two senses. First, the syntax of HTML is almost, but not
quite, SGML compliant (HTML tags such as <br> aren't proper SGML). Second,
HTML muddies the distinction between content and presentation. HTML is
a presentation markup language because it describes how things should appear
in a Web browser. For example, the HTML <bold> tag describes how text should

11
Chapter2

appear visually, but it provides no hint as to why it should appear that way. Other
tags such as <Hl> (header Ievell) sound like they are describing the logical struc-
ture of the document, but in use, they really refer to particular rendering styles.
In contrast, content markup tags content by its meaning (for example,
dnformalAside> .•. </informalAside>) and leaves rendering decisions to the
renderer. For example, a voice interface might render an informal aside in a whis-
per, while a Web interface might simply italicize the text. Decisions about
rendering into a particular medium can be made while generating presen-
tation markup from content or they can be preprogrammed into the media
browser itself.
Development ofXML was spurred by a desire to generalize and extend the
success of HTML. Technically, the approach was to popularize SGML by creating
a simplified subset that would be useful to the broad audience of businesses try-
ing to exchange data over the Web. In its full generality, SGML has some finicky
and complex nooks and crannies that are only used to solve the hardest prob-
lems. XML removes some of the most obtrusive complexity (and hence some of
the power) of SGML by defining a restricted family of SGML-compliant lan-
guages. This family shares a strict, but tractable, syntax that mere mortals can
learn and use. Notice that in the grand scheme of things, SGML and XML
are both metalanguages, while HTML is a single SGML application (that is,
an instance).

WML and VXML

HTML has two younger siblings: Wireless Markup Language (WML) and
VoiceXML (VXML). In the "family" analogy, one might say that HTML is a young
teenager, WML is a toddler, and VXML is a newborn. Both WML and VXML are
XML-compliant markup languages.
The term "Wireless Markup Language" seems to imply that there is some-
thing special or unique about wireless communication that requires separate
handling from other types of communication. In fact, WML does not rely on or
exploit the "wireless versus wired" distinction in any essential way. WML is better
understood as a low-bandwidth, low-resolution markup language. In other
words, WML is targeted at being rendered in environments (devices) with low
communications bandwidth, limited display capabilities, and limited computing
resources. It was simply a mark of the times that in the late 1990s wireless devices
happened to be low-bandwidth, low-resolution devices. In the coming years,
when wireless bandwidth improves and mobile gear has small, high-resolution
displays, wireless devices will probably render HTML (or its successor). On the
other hand, future toasters and other relatively low-tech household devices may
render WML on small, cheap displays, even though they are connected by a wired
household LAN.

12
The Conuergence of Speech and the Web

The difference between WML and HTML (syntactic differences temporarily


aside) is really one of capability rather than one of paradigm. At the 30,000-foot
level, WML and HTML follow the same usage paradigm: computer displays infor-
mation and choices visually, user enters data and makes choices with his or her
hands (through a mouse, keyboard, or keypad). VoiceXML implements a different
usage paradigm than its siblings: In VoiceXML, the computer and person take
turns speaking and listening to each other. Thus, VoiceXML differs from WML
and HTML in that it implements a fundamentally different model for
human/ computer interaction.

Why Merge Speech and the Web?


Some benefits of putting speech recognition, speech synthesis, XML, and the
Web together are as follows:

• Extend the reach of the Web. People can access the Web from anywhere they
can make a phone call. People get increased access to goods and services
and businesses get increased access to their customers.

• Make the Web easier to use. VoiceXML relaxes the requirements on


being able to use the Web from "literacy plus hand-eye coordination"
to "being able to carry on a conversation." These relaxed requirements
include people with sight disabilities (for example, blindness) as well as
people who are illiterate or have cognitive disabilities (for example,
dyslexia).

• Increase the available options for computer/human interfaces. Until


VoiceXML, developing a voice-based interface (for instance, Interactive
Voice Response) was an expensive, programming-intensive activity
requiring specialized hardware and software. With VoiceXML, devel-
oping a voice-based interface is inexpensive and viable even for
low-end applications. 2

• Reduce infrastructure costs. Businesses currently maintain separate


infrastructures for call centers and network computing. VoiceXML offers
the possibility of saving money by merging these functions into one
Web infrastructure.

2 For an example of a low-end application, play the Tellme blackjack game by calling (800)
555-8355 and saying "entertainment" at the main menu followed by "blackjack." [Tellme is a
VoiceXML vendor, and its voice site is completely written in VoiceXML.)

13
Chapter2

Making Voice User Interfaces Easy to Build and Use


Speech technology has traditionally been an expensive, high-end technology
available only to businesses with enough money, solid technical capabilities, and
a strong business need for it. Combining voice technology with the simplicity of
markup languages makes it dramatically simpler and cheaper to "program"
a Voice User Interface (VUI). Furthermore, voice technology's spread has been
impeded by the fact that it is error-prone and still cannot handle natural lan-
guage. The Web provides a relatively simple framework for interaction with
computers. Within this framework, current voice technology is acceptable and
useful. Speech recognition can adequately handle the basic Web requirements of
navigating menus, traversing links, and entering data into forms. Combining
recordings with TTS synthesis is sufficient to develop intelligible voice interfaces
that can handle the Web's open -ended store of content.

Summary
This chapter reviewed some of the technologies converging in the emergent
voice-enabled Web. These technologies include speech recognition, speech syn-
thesis, and markup languages. Each is a powerful technology in its own right,
and each has its own history and drivers. This background sets the stage for the
next chapter, which explores how the architecture ofWeb applications draws on
these underpinnings.

14
CHAPTER 3

The Evolution
of Web Application
Architectures
Tms CHAPTER BRIEFLY TRACES the architectural evolution of the Web from a simple
mechanism for sharing published information electronically to its current role as
a public infrastructure for communication, interaction, and commerce. In the big
picture, enabling the Web with voice is just one piece of the larger mosaic that
comprises the Web. At a more detailed level, voice-enabling technologies such as
VoiceXML are just beginning on a growth path that has already been taken by
vision-enabling technologies such as HTML.

The Good Old Days: Browsers, Servers, and Content


Before the Web, you could share information over the Internet through tools such
as Gopher, but the textual presentation of the information was crude. The Web
superimposed a publishing paradigm on shared information: On the Web, infor-
mation is structured as a related set of documents that are published and
rendered electronically. From this publishing paradigm derived some of the basic
technologies of the Web. For example, HTML derived from SGML, a languishing
technology for representing structured electronic documents. The stateless
nature of the core HTTP protocol is consistent with the publishing paradigm:
Rendered documents are viewed by readers. Does anyone "interact" with a book?
Architecturally, the requirements to publish documents to the Web were sim-
ple. To publish on the Web, you scrounged up a server, installed some free
software, ran a phone line to somebody that was already wired, and listened for
HTTP requests on port 80. A document was published as one or more files placed
in a directory tree on the file system.
A key architectural innovation popularized by the Web is the distinction
between content and presentation. Content is information that is stored and
shipped around between machines on the Internet. To be useful to humans, con-
tent must be presented (rendered) in a format that people can comprehend and
manipulate. The Web introduced the concept of a browser as the mediator between

15
Chapter3

a person and content fetched from the Web. In visual terms, the browser acts as
a window in which various types of content can be rendered. The browser:

• Provides functions needed to locate and download content from servers.

• Does everything required by the host environment to act as a well-behaved


graphical application.

• Renders HTML.

• Calls on specialized rendering software to render non textual content.

Early on, the relationship between content and its rendition was simple:
Content arrived in files, content was typed (by MIME types and/ or file
extensions), and content types had renderers. Things rapidly became more
sophisticated with plug-ins, applets, ActiveX controls, and so on, and the
distinction between content and computer programs was blurred.

NOTE The Internet Engineering Task Force (!ETFJ maintains a list of


Multipurpose Internet Mail Extension (MIME) types. A MIME type is
a standard identifier for a particular type of content. The identifier usu-
ally consists ofa content type and a subtype-for example, "text/plain" or
"imagelgif" MIME types are heavily used in the "Content-type" header on
HTTP messages, and they play a vital, but largely unsung, role in enabling
the whole multimedia Web experience. For more information, visit the
IETF's MIME Request for Comments document at
http://www.ietf.org/rfc/rfc1521.txt?number=1521.

HTML is the glue that ties together related content and drives the browser.
The browser renders its way through an HTML stream, and along the way it must
call on other renderers to render images, sounds, spreadsheets, and so on. In
a sense, HTML is a rendering language that is "interpreted" by the browser.
Before the browser paradigm, developing a GUI was a programming-
intensive activity. Software developers wrote software programs that embedded
calls to an underlying windowing system API, such as Windows, Motif, Apple, X,
and so on. The programs were expensive to write, debug, and deploy, and they
were specific to the underlying windowing system. With the advent of the Web
browser, anyone with a text editor and basic knowledge of HTML could program
a GUI that could run anywhere.

16
The Evolution ofWeb Application Architectures

Sessions and Dynamic Content


As the Web became popular, the simple model ofWeb users "viewing" static doc-
uments became inadequate. For example, there's a lot of useful data that people
want to view in databases, and databases are not documents in the Web sense.
Correlated with the demand for a more inclusive notion of"document" was the
desire to be able to tailor the information presented to the task and person at
hand. Given that the document wasn't really rendered until it hit the browser's
screen, why not "create" documents on demand? Why did documents have to
live in files anyway? The needed ingredients were a way to identify the person
doing the browsing so that information could be tailored for him or her and
a way for the Web server to initiate some general-purpose computing that
returned an HTML stream that could be served to the client.

Sessions
As originally conceived, the HTTP protocol was stateless and anonymous.
A browser requested a document from a server, the server returned it, and the
transaction was done. Any browser that made the same request got exactly
the same document returned.
Some gross but effective techniques for maintaining information about
a user's interaction with a Web site were rapidly hacked into place. Cookies and
URL rewriting are the most common. Both are techniques for piggybacking infor-
mation about user identity onto HTTP requests: Cookies store information in
HTTP headers, while URL rewriting stores information in URL search strings.

Generating Content Dynamically


On the server side, techniques for creating HTML documents on the fly were
quickly developed. An early and popular technology was Common Gateway
Interface (CGI). In CGI, a certain part of the namespace of a Web server
(http: I I . .. lcgi-bin) is treated specially by the Web server. Rather than serve
the files in this part of the namespace as content, the Web server treats the files
as executable (script). The Web server synthesizes a command line, passes any
HTTP request parameters as command-line arguments, and throws it over to the
operating system to execute. From the operating system, the Web server receives
a handle to retrieve and pass through the HTML generated by the executed pro-
gram. As far as the browser knows, it visited a URL and got an HTML stream back.
CGI has the advantages of being simple, flexible, and popular with all kinds
of people, because the programs that generate content can be written in any-
thing from Perl to shell script to C++. However, CGI suffers from architectural

17
Chapter3

problems: poor scalability and dubious security. Relying on an OS to start, sched-


ule, and tear down a process for every hit is slow and computationally expensive.
Security is an issue because CGI scripts often access other, security-conscious
subsystems (for example, databases), and the issue of maintaining end-to-end
security from a user through a browser through a Web server through a CGI script
to a database management system (DBMS) is not addressed architecturally.

Application Servers
The early techniques for managing user state and generating content on
demand, while minimally secure and far from perfect, enabled the evolution of
Web servers from document vending machines into sophisticated environments
for running complex distributed applications.
Early attempts to improve on CGI focused on directly extending the capabili-
ties of the Web server. A server-side include (SSI) is a mechanism for embedding
executable instructions into the content being served. As the server parses
through content, it recognizes and acts on server commands, which produce the
actual content served to the browser. Server extension APis such as ISAPI and
NSAPI enabled programs running on the server to interact with the Web server
directly. Unfortunately, these direct extensions were implemented directly in the
Web server software, making Web servers proprietary. The extensions also com-
plicated Web server implementations by compounding technical issues
concerning threading and resource management that are much simpler in a pure
Web server.
The development of component-based server extensions sidestepped the
propriety issue. This approach leaves Web servers as they are but defines a com-
plementary component-hosting server that interacts with the Web server
through existing protocols. The component hosting server, or application server,
provides a robust, general-purpose environment for components. The appli-
cation server handles the OS-like functions of resource management, thread
management, I/0, and so on, while the components implement transformations
on content streams. This makes server-side components relatively easy to pro-
gram and deploy and enables Web servers to do what they do best: serve content.
Of course, the application server is tied to the component architecture it imple-
ments, so the issue of propriety was moved but not solved.

GUis, WUis, and VUis


As summarized in Table 3-l, GUI, WUI, and VUI represent the major markup
language-based browsing interfaces to the Internet. GUI is the most fully devel-
oped of the three and is exemplified by products such as Netscape Communicator
and Microsoft Internet Explorer. WUI, the next most developed interface, is

18
The Evolution ofWeb Application Architectures

implemented by "microbrowsers" embedded in wireless phones and personal


digital assistants (PDAs). VUis are just beginning to appear as browsing interfaces
to the Internet, and they are driven by the standardization ofVoiceXML 1.0.

Table 3-1. Markup Languages and Browsers

USER INTERFACE BROWSING TECHNOLOGY ORGANIZING PARADIGM USAGE MODE


GUI (graphical) HTML,XHTML Page Monitor, keyboard,
and mouse
WUI (wireless) WML Card Portable handheld
VUI (voice) VXML Dialog Phone

The markup languages for these three types of interfaces are all based on
XML. XML is a markup metalanguage derived from SGML. XML simplifies some
of the complex and little-used features of SGML, but it still provides a flexible and
extensible base for defining specialized markup languages. For more on XML, see
Chapter 11.

HTML

HTML was originally conceived as the "stitching" needed to weave together the
"World Wide Web" of multimedia documents. In this role, HTML is appropriate
because it is simple and platform independent, and it provides a lingua franca for
linking together documents. Basic HTML had a simple model of interaction with
the user. The browser rendered documents and forms onto screen real estate
owned by the browser. The user could "interact" with the browser by clicking a link,
entering text into a form field, or pressing a form button to submit data to a server.
Surprisingly, this simple model was rich enough to support the rapid morph-
ing of HTML into a platform for building GUis. As the Web took off, it became
possible for anyone with a text editor to put together a rudimentary GUI in
a matter of minutes, changing forever the economics of developing graphical
interfaces. More sophisticated HTML-based GUis were enabled by the fol-
lowing innovations:

• Extension of the concept of"content rendering" to include software com-


ponents (plug-ins, applets, ActiveX, and so on) invoked by the browser to
control small pieces of the screen

• Architectural enhancements to bind the GUI to server-side programs in


a user session

• Enhancements to HTML itself

19
Chapter3

The net result is that today it is possible to build very sophisticated GUis
using HTML and the Web. However, you can't do it using your trusty old text edi-
tor. In fact, HTML may be on the path to becoming a purely generated language
created by programs such as WYSIWYG GUI editors and application servers
solely to drive browsers and looked at by humans only in the direst need. (If you
have doubts about this trend, go to your favorite Web page and have your
browser display the HTML source.)

NOTE HTML is not, strictly speaking, a true XML application. Some syn-
tactically sloppy shortcuts in HTML violate the strict syntax rules ofXML.
Extensible HTML (XHTML) is a slightly reformulated version ofHTML
that does conform to XML. XHTML is an up-and-coming standard now
and is expected to supplant HTML soon. Although there are no major con-
ceptual or functional differences between HTML and XHTML (as far as
Web browsing goes), there are subtle but important technical differences.
As a well-behaved member of the XMLfamily, XHTML enables a suite of
powerful XML-based technologies that HTML does not. These technologies
are explored in Chapter 11. For more information on XHTML, visit
XHTML.org (http: I IWVM . xhtml. org/ ).

WML

WML is a modernized, "lite" derivative of HTML that is optimized for running on


devices that have low communication bandwidth, limited computing resources,
and small, low-resolution displays. (It sounds like a dirty job, doesn't it?) To meet
these performance constraints, WML is compiled into a compact binary repre-
sentation before being sent to the handheld. The markup was designed to be
renderable by a WML browser (microbrowser) that is simple and has a small
memory footprint. To reduce the number of network exchanges, WUis are orga-
nized into "decks" of"cards." An entire deck is downloaded at once, but the
browser displays only one card at a time.
WML is not a subset of HTML for the following reasons:

• There are tags in WML that are not in HTML.

• WML is an XML application, while HTML is not.

• WML, although a simpler language than HTML, has a more sophisticated


model of browsing. WML has the concept of "decks" of "cards," where one
card at a time is displayed. HTML has a simpler "one file, one page" model.

20
The Evolution ofWeb Application Architectures

Linguistic hairsplitting aside, WML WUis really work like lightweight HTML
GUis. There's a screen, text and graphics, and links to click and buttons to push.
The overall structure of how the user interacts with the interface is the same for
WML and HTML.

NOTE Visithttp://www.wirelessinanutshell.com/ to learn more


aboutWML.

VoiceXML
Unlike HTML, which has roots in publishing, VoiceXML comes from a program-
ming language background. It has the earmarks of a programming language:
control constructs, variables, event handlers, nested scoping, and so on.
VoiceXML was designed from the beginning to be a lightweight, easy-to-learn,
interpreted programming language for developingVUis.
VoiceXML structures interactions with the user into dialogs. A dialog consists
of a sequence of prompts spoken by the computer and responses spoken by
a person. The person can speak responses or key them in using a keypad. VUI
dialogs are by nature sequential and linear, in contrast to GUI windows, which
are multi tasked and two-dimensional.
Architecturally, VoiceXML interfaces are event -driven interfaces just like
GUis. In a dialog, the computer speaks a prompt and then waits for the user to
respond to it. The computer then waits until a speech recognition event occurs.
A speech recognition event is initiated by the speech recognition engine, which is
continuously analyzing the user's speech and attempting to match it to expected
responses in the dialog. There are a number of possible speech recognition
events, including "recognized response blah blah blah," "got a response but didn't
recognize it," "no response," and so on. Therefore, unlike GUis and WUis, where
the events that drive the interface are low-level, unambiguous occurrences (but-
ton pressed, mouse clicked, and so on), events in VoiceXML interfaces are the
result of complex, computation-intensive, potentially erroneous processing.

Summary
At its inception, the Web was envisioned as a medium to publish, share, and
interlink electronic documents. As the Web became more popular, the focus
shifted from electronic publishing of static documents to an interactive infra-
structure for generating, processing, and displaying information. The content

21
ChapterS

comes from a variety of sources, including files, databases, and computer pro-
grams. A browser interprets markup language embedded in the content, renders
it to a particular medium, and interacts with the user. HTML renders to a com-
puter display (and a sound card) and interacts with the user through a keyboard
and mouse. WML works with low-capability handheld devices. The newcomer to
the scene, VoiceXML, renders content as speech and interacts with the user using
speech recognition and speech synthesis technologies.

22
Part Two
The VoiceXML Language

HAVING ESTABLISHED A technical context for voice in general, it's time to focus on the
specifics of the VoiceXML language. As languages go, VoiceXML is not par-
ticularly tough. However, developing interfaces for voice is quite different than
developing graphical or text-based interfaces. Voice and graphical interfaces dif-
fer in structure, in how errors are created and perceived, and in how information
is processed. Some of the material in this part is the usual "syntax and seman-
tics" common to all introductions to programming languages. Much of the
material, however, is intended to help you think about and design high-quality
voice interfaces.
Chapter 4 introduces the Simplified Personal Information Manager, a voice-
enabled Web application that animates the tutorial in this part and the prototype
in the next part. Chapter 5 introduces the concepts that the VoiceXML language is
built around. Chapter 6 dives into the nuts and bolts of setting yourself up (in
terms of hardware and software) as a VoiceXML developer. With your environ-
ment in place, Chapter 7 provides a step-by-step tutorial that acquaints you with
all the key features ofVoiceXML 1.0. Building on your understanding of what
VoiceXML can do, Chapter 8 offers guidance about how to design a good voice
interface usingVoiceXML. Chapter 9 provides a reference-style discussion of the
machinery behind features explored in the tutorial. Finally, Chapter 10 explores
some advanced topics and issues that become apparent when you develop real-
world VoiceXML applications.
CHAPTER 4

Simplified Personal
Information Manager
Example
THROUGHOUT THE REST of this book, you will work with a simplified personal infor-
mation manager (SPIM) application. A SPIM is a slimmed down personal
information manager (PIM) with the following features: address book, appoint-
ment calendar, and to-do list. A SPIM is accessible through voice, wireless, and
Web interfaces. As you work through the examples in the book, you will develop
fully functioning components of your SPIM, but your intent should not be to
implement a complete, robust PIM.
This example was chosen for the following reasons:

• It is simple to understand and useful. Many people are familiar with some
kindofPIM.

• It can be used in a variety of situations and environments. Some use cases


naturally involve Web access, some involve wireless access, and some
involve voice access.

• It can be developed in useful increments, so I can illustrate points on an


ongoing basis.

In the following sections, I analyze the SPIM as a serious but petite appli-
cation. The core use cases are elaborated and diagrammed in Universal Markup
Language (UML) .1 The basic diagrams used here are pretty intuitive, so you
should be able to grasp the intent of the diagrams without knowing UML.

1 UML is a notation for object -oriented analysis and design. It was developed by Rational
Software and is called "universal" because it incorporates the methodologies championed
by Booch, Jacobson, and Rumbaugh, as well as others. For more information on UML, the
Rational Rose object -oriented design and development tool (which was used to draw
the diagrams here), and pretty much anything to do with developing object-oriented
software, visit the Rational Software Web site (http: I /www. rational. com/).

25
Chapter4

Use Case Analysis


A full PIM can be used in so many ways that a full use case analysis would proba-
bly involve dozens, if not hundreds, of use cases. In the sample application, you
will leave room for future growth and build menus assuming there's a greater
variety of functions than you'll actually implement here. For pedagogical pur-
poses, you will focus on three representative use cases for the SPIM. They are
"representative" in terms of both the underlying technology involved and how it
is used.
The use cases are as follows:

• Editing information about a contact (for example, name, address, phone


numbers, and so on)

• Handling a scheduled appointment that you're late for

• Reviewing your list of things to do today

The sections that follow elaborate on these cases.

Top-Level Use Case


The top-level use case diagram in Figure 4-1 shows the intentionally limited
scope of the SPIM. In a "real" PIM, there would be many more use cases at this
level-for example, "call a contact," "schedule an appointment," "add an address
to an existing contact," and so on.

26
Simplified Personal Information Manager Example

0
..... /Ed;tcootoctl"fo
~
0

r
~ ;z
SPIMU•~""";"gloto
;z Attendee
/•
J
0
ReviewSchedule

Figure 4-1. SPIM top-level use case

During use case analysis, SPIMUser's access mode (eye or ear) is not
assumed or implied unless the access mode is intrinsic to the requirements of
the use case. For example, the use case in the next section (titled "Edit Contact
Information Use Case") should be the same regardless of access mode, because it
is an essential function of the system. On the other hand, a hypothetical "Dial
Roadside Assistance from My Broken-Down Car" use case could, arguably, pre-
sume that the user is accessing the system through a VUI or WUI, but not a GUI.
The sections that follow drill down another level into these scenarios. Notice
that every case starts with the Authenticate use case. This shared case models the
process of identifying the current user to the system. Conventionally, authenti-
cation is performed by a username/password-based login, but it may use other
mechanisms for voice (as you will see in Chapter 12).

27
Chapter4

Edit Contact Information Use Case


You receive a change of address notice in the mail from a friend. You're not going
to call the friend right now or schedule a meeting with him or her, but you want to
record the address change. First, you look up the existing contact information for
your friend, and then you selectively modify it. To look it up, you can either
browse your address book (if it's small) or search your address book by name.
Once you have the information at hand, you can either review it in summary
form (the types of addresses you have on file) or in detailed form (a full listing of
address contents). Then you update the fields that have changed. Figure 4-2 illus-
trates this use case.

..,

0
Authonlicalo

lo~2
~s:lociContac~O
~ BrowseContact

SPIMUs~~0 ~0 !:mmarizeContact

eviewContactlnfo 0
OotoiiContoct

0
EditAttribute

Figure 4-2. Edit Contact Information use case diagram

28
Simplified Personal Information Manager Example

Running Late Use Case


Your schedule is jammed solid and you've just escaped from a meeting that ran
over. You don't have time to fiddle around with rescheduling things, so you want
to notify your next appointment that you'll arrive late. You access your SPIM,
get the relevant contact information for your next appointment, and commu-
nicate the fact that you'll be late by the best means possible: e-mail, phone call,
wireless text message, or voice mail. Figure 4-3 illustrates this use case.

0
Aulhenticate

/ 0
~~arizeAppointment
SPtMUi~ 0 Re-.iewAppointmtnt

~ OetaiiAppointment

oi'IE--..--~
NotffyAJtendee
Altendee

Figure 4-3. Running Late use case diagram

Review Schedule List Use Case


To refresh your memory on what you have scheduled for the upcoming week,
you want to review your appointments on a day-by-day basis. In your SPIM, you
identify the day you're interested in and then review that day's planned activities.
As you progress through your list of appointments, you want to scan quickly,
ignore things you already recall, and selectively focus on particular items of inter-
est. Figure 4-4 illustrates this use case.

29
Chapter4

-t • R.uhunt.tl Ros~ - SPIMI.null- (Utii!' (.n~e Diaqranr.: u.. e Lne Vll"-W / A.evlewSth~uleOom) . . r.J X
Toolo Add-Ins

0
Authenticate

I'
r / 0
..J ~~-·~·~·
SPIMUser 0
SelectAppointment

0
RevtewAppomtmenl

Figure 4-4. Review Schedule use case diagram

Object Model
The core objects in a SPIM are as follows:

• A contact is an entity that you communicate with. To initiate communi-


cation with a contact, you can use an address that is appropriate for your
chosen communication method (a phone number for a phone call or fax,
an e-mail address for e-mail, and so on).

• An appointment is a scheduled event that involves you and one or more


contacts with whom you will interact. The venue specifies how the inter-
action will occur (physical meeting, teleconference, and so on) .

• A schedule is a list of appointments that fall in a given time span (this after-
noon, today, tomorrow, and so on).

Figure 4-5 captures the relationships between these objects.

30
Simplified Personal Information Manager Example

Contact
Person omeAddress · Address
Gbt>usinessAddress : Address
~rstName · Stringl«---l ~honeNumber : PhoneAddrss
~a stName · String O. 1 ~AXNumber PhoMAddress
~M ai!Address : EMai!Address

1 n

..t

Time
. ~ year Integer
~ont h : EnumMonth
~ay EnumOayOIWeek • elapsedYearsO
~our Integer • elapsedMonthsO
IIPOrrunute : Integer • elapsedOaysO
• elapsedHoursO
• elapsedMinutesO
• elapsedSecondsO

Figure 4-5. SPIM class diagram

Summary
In this chapter, I've laid out the skeleton of a simple, but realistic, application
example. The core use cases were elaborated and diagrammed in UML. From the
use cases, a basic object model was derived and diagrammed. Applying this level
of formality to the example is intended to drive home two points.

• The examples presented throughout the book are not "concocted" exam-
ples that show off technology features but never occur in practice. Rather,
the examples are practical because they derive from a real application.

• Voice-enabled applications are not a new, different kind of application.


The best practices of application design, development, and software engi-
neering apply to voice-enabled applications.

In the chapters that follow, you'll use the SPIM application to lead you into
VoiceXML programming.

31
CHAPTER 5

VoiceXML Concepts
THIS CHAPTER INTRODUCES VoiceXML. It begins with a brief history ofhowVoiceXML
was developed and provides an overview ofVoiceXML technical concepts. This
sets the stage for subsequent chapters, which drill down into specific topics using
the SPIM application to illustrate how speech user interfaces are expressed
in VoiceXML.

VoiceXML History
The major driver for development ofVoiceXML has been the desire of the tele-
phony industry to make existing telephone networks a vital part of the
Information Age. Obviously, telephone companies and our society as a whole
have a strong investment in the telephone and Public Switched Telephone
Network (PSTN). Access to the Internet over dial-up connections was and is
a major component of the Internet's success. Technically, however, the encoding
and transmission of digital data over telephone networks originally intended for
analog voice communication is somewhat inefficient. On the other hand, using
voice to access the Internet would capitalize directly on the existing, proven, and
highly tuned capabilities of Plain Old Telephone Service (POTS).
AT&T, Lucent Technologies, and Motorola began discussing the possibility of
developing a common language for voice-enabled applications in 1998. The
VoiceXML Forum was formed in 1999, and IBM became the fourth founding
member. The initial specification, VoiceXML 0.9, was released in August 1999.
A process of public review and response to comments culminated in the release
of the VoiceXML 1.0 specification in March 2000. Following development of the
language definition, the VoiceXML Forum turned custody of the specification
over to the World Wide Web Consortium (W3C). The Forum reorganized itself
and broadened its charter to include more of a general role as a technology and
industry advocate for the VoiceXML community. See Figure 5-l for a detailed
timeline of the previously described events.

33
ChapterS

1998 1999 2000 2001 2002

I I I I I

AT&T, Motorola,
Lucent discuss

---1
common W3C preparation
language of VoiceXML 2.0
draft & speech
grammar ML, TTS
ML, others
Motorola

-----1
announces VoxML
Forum: 20+ Promoters,
W3C opens discussion 250+ Supporters; many
regarding a voice
browser language
recommendation
- Submission of
platforms, services,
applications

1.0 to WJC &

I~sp_ee~c=hM=L=========~r---
reorganize
IBM announces L_ VoiceXML

!-
Forum

Announce
1 formation of
I VoiceXML 1.0 I
VoiceXML Forum

1-
1......----..1
j VoiceXML
-1 0.9
.______ _____,
lucent announces
TelePortal

'
Figure 5-l. Time line of speech and telephony activities (courtesy of the
VoiceXML Forum)

The VoiceXML Web site (http: I /www. voicexml. org/ goals. html) describes the
Forum's goal as follows:
"The VoiceXML Forum is an industry organization founded by AT&T, IBM,
Lucent and Motorola, and chartered with establishing and promoting the Voice
Extensible Markup Language (VoiceXML), a new specification essential to mak-
ing Internet content and information accessible via voice and phone."
Now the W3C is overseeing the ongoing specification of the VoiceXML lan-
guage and other speech-related technologies, including

• Speech grammars

• Voice dialogs

• Voice synthesis

• Pronunciation lexicon

• Call control

• Natural language representation

34
VoiceXML Concepts

• Multimodal systems

• Reusable dialog components

Visit the VoiceXML Forum's Web site (http: I lwww. voicexml. orgl) for infor-
mation about VoiceXML Forum activities and members. Visit the W3C's Voice
Browser Activity area (http: I lwww. w3c. orgiVoice) for information about the
W3C's work on various voice-related technologies.

Voice Web Browsing


Accessing a Web site through the telephone is different than ordinary Web brows-
ing in both user experience and technical implementation. A typical
Web-browsing session goes something like this:

1. You sit down at a computer, open a Web browser, and type in a Web
address (URL).

2. The Web browser sends a request to the Web server.

3. The Web server sends a response to the Web browser, which includes an
HTML document.

4. The Web browser "renders" the HTML document onto your screen.

5. You view the display and navigate the site by clicking and typing.

Getting the same information from the same Web site using VoiceXML goes
something like this:

1. You pick up a phone and dial the Web site's phone number.

2. AVoiceXML gateway answers your call and sends a request to the


Web server.

3. The Web server sends a response to the VoiceXML interpreter, which


includes a VoiceXML document.

4. The VoiceXML interpreter "renders" the VoiceXML document by speak-


ingtoyou.

5. You listen and then respond by speaking or pressing keys on the tele-
phone's keypad.

35
ChapterS

NOTE Even though you can use your wireless phone to access the Web
using voice (VXMLJ or Web browsing (WML), you can't do both togethe1:
When using voice, the link is over the telephone network; when using
wireless, it's over a WAP link. Currently, handheld devices can only com-
municate over a single type of link at a time. Even ifyour handheld device
is capable of servicing both types of links simultaneously, there's no proto-
col to correlate what's happening on the phone with what's happening on
the WAP link.

From the user's perspective, the difference is in the medium by which input
and output are conveyed. With a conventional Web browser, you receive the out-
put from the computer through your eyes and send input to the computer with
your hands. With VoiceXML, you receive output from the computer through your
ears and send input to the computer with your voice (see Figure 5-2).

tSSSTIME

http://...,.. timeanddate . COil


{Dials 1-SSS-TIME}
P(person): What time Gateway Web &
is it in Brussel s?
((computer): three
Applicat ion·
oh five pm Server
Figure 5-2. Voice Web browsing

36
VoiceXML Concepts

From a technical perspective, HTML Web browsing involves two computers


(browser and server) connected by one IP network (Internet or intranet). The
Web browser uses the display, keyboard, and mouse of its host computer for
input and output.
Browsing with VoiceXML involves a telephone, two computers (gateway and
server), and two networks. An IP network connects the Web server to the
VoiceXML gateway, and the PSTN connects your telephone to the VoiceXML gate-
way through an ordinary phone call. The VoiceXML gateway interacts with the
Web server using the standard HTTP protocol, just like a Web browser. However,
it "renders" the VoiceXML document by sending its output to, and receiving its
input from, your telephone over the PSTN.
AVoiceXML gateway has the following subsystems (shown in Figure 5-3):

• Network Interface: Enables HTTP communication with Web servers

• VoiceXML Interpreter: The software that carries on a conversation with the


user, as specified in a VoiceXML document

• Text-to-Speech (TTS): Translates text to the spoken word

• Audio: Plays and records audio files

• Speech Recognition (ASR): Translates user utterances into text

• DTMF: Translates keypad input into characters

• Telephony Interface: Enables communications with the telephone


network (PSTN)

37
ChapterS

VoiceXML Interpreter

Telephony Network
Interface Interface
Speech Text-to-
Recog- DlMF Audio Speech
nition (TTS)

• Voice HTTP t
8
Figure 5-3. VoiceXML gateway subsystems
8
Elements of VoiceXML
In HTML, the basic element of retrieval is a page, which is a document with a
certain address. When a Web browser receives an HTML document from a Web
server, it renders the entire page to the screen at once. AVoiceXML document
specifies an entire conversation, which consists of interchanges between the
caller and VoiceXML interpreter. In each of these interchanges, the VoiceXML
interpreter reads or plays a prompt and the caller responds with information or
a command. The VoiceXML interpreter thus "renders" the VoiceXML document
one exchange at a time. (In this respect, VoiceXML is more similar to WML, where
the WAF phone displays one card at a time.)

Dialogs
In VoiceXML, dialogs are the building blocks for conversations. The VoiceXML
interpreter "renders" a VoiceXML document by carrying on a conversation with
the person at the other end of the telephone call. The person and the VoiceXML
interpreter take turns speaking and listening. At any point in time, the conver-
sation between the caller and gateway is "in'' one dialog. During a call, the
conversation moves among dialogs in the application. The VoiceXML document
contains elements that specify what the VoiceXML interpreter can say or play to
the user and what the user can say or key to the VoiceXML interpreter.

38
VoiceXML Concepts

Navigation
Web sites are usually organized into a shallow hierarchy of topics. Visually, this
hierarchy is shown as a row of links at the top of each page (or column of links at
the left of each page). Visitors click these links to navigate through the hierarchy.
VoiceXML menus provide the audio equivalent of visual pick lists. The computer
speaks the list of available choices, and the user responds by saying the desired
option. VoiceXML links enable people to jump directly to a destination at any
time simply by saying the name of the link.

Forms and Items


VoiceXMLforms serve the same purpose as HTML forms: They are used to collect
information from the user and send it to a Web server. Both VoiceXML and HTML
collect information infields. HTML field values are entered as text in the browser,
while VoiceXML field values are spoken by the caller and translated into text
by the VoiceXML interpreter. In both cases, when all the fields have been filled
in, the completed form is sent to the Web server through an HTTP GET or
POST request.
To fill in a field, VoiceXML executes a form item. A form item may be a simple
field elicitation that speaks a prompt (for example, "What city?") and captures the
response. A form item may involve more complex processing, such as invoking
another dialog, telephoning a third party, or executing a client-side script
(ECMAScript, also known as JavaScript).
When executing a form, the VoiceXML interpreter will repeatedly process
form items until it determines that all fields have been filled. Notice that execut-
ing a form item by no means guarantees that the corresponding field is filled. For
example, the user may fail to respond to a prompt, or the computer may not be
able to recognize what the user said.

Grammars
At any point in a VoiceXML dialog, there is a predefined set of valid responses
that a person can speak. A grammar specifies a set of responses that can be rec-
ognized by the computer. A simple grammar may specify some fixed phrases to
be used as commands (for example). A more complex grammar may specify a set
of basic words (the vocabulary) and multiple alternative rules determining the
order in which the words may appear to form expressions or sentences. A gram-
mar is the primary input to the voice recognition technology that underlies the
VoiceXML interpreter.

39
ChapterS

A grammar is specified inline, within a VoiceXML program, or in an external


text file. VoiceXML 1.0 doesn't specify or require a particular grammar format,
although two are widely used: JGSF (Java Grammar Specification Format) from
Sun and GSL (Grammar Specification Language) from Nuance. The next release
ofVoiceXML is expected to require that VoiceXML interpreters support the XML
form of the W3C speech grammar language, but it permits the interpreter to
accept other formats as well (see Chapter 14 for a fuller discussion of this point).

Events
Programming languages such as C++ and Java use exceptions to handle errors.
VoiceXML events are based on the exception concept. Events are thrown when
certain conditions are detected either by the VoiceXML interpreter or by the
VoiceXML program itself. Event handlers are fragments of executable code that
are invoked to catch an event.
Due to the nature of speech, conversational dialogs are intrinsically real-time
processes. Unlike graphical interfaces, where you can take a lunch break and pick
up right where you left off, speech interfaces require responses within certain
time periods and must explicitly accommodate real-time interruptions and dis-
tractions. In VoiceXML, events are not restricted to representing error
conditions-they are used to represent all kinds of real-time interactions.

Summary
Beginning with a brief history ofVoiceXML, this chapter introduced the key con-
cepts that underlie VoiceXML. Browsing the Web by voice is a new activity
enabled byVoiceXML that differs from using a conventional Web browser. To
access a VoiceXML application, a person dials into a VoiceXML gateway, which
contains all the hardware and software required to recognize speech, synthesize
speech, and run the VoiceXML interpreter. The VoiceXML application is com-
posed of dialogs that structure the interaction between person and computer.
VoiceXML provides links, which are the verbal equivalent of hypertext links.
VoiceXML forms are composed of items, each of which elicits a particular piece
of information from a person. Grammars specify what responses are valid at
every point in a dialog. Events are used to handle errors and manage a conver-
sation in real time.

40
CHAPTER 6

Outfitting Your
VoiceXML Expedition
VmcEXML rs A NEW and burgeoning technology, so the landscape of available
VoiceXML tools and products is changing at "Web speed." This chapter provides
a quick orientation to the basic development approaches and tools. I'm not going
to try to cover the various characteristics and features of each tool, because that
information will undoubtedly be obsolete by the time you get it. However, I will
provide pointers to places where you can find up-to-date information.

Standalone versus Hosted Development


In a deployed VoiceXML application, the VoiceXML browser runs on a VoiceXML
gateway. The VoiceXML gateway may be a privately owned server (for example,
one owned by your company) equipped with expensive telephony and voice
software, or it may be a service you buy from a VoiceXML hosting vendor. In
either case, the application developer provides the VoiceXML software and the
host provides the gateway environment in which the software runs. You contact
the hosted gateway by calling a telephone number that connects to the
VoiceXML application.
While the VoiceXML application is under development, the developer can
run it in either a standalone or a hosted configuration. In a standalone configu-
ration, the "gateway" runs on the developer's own workstation. The developer
uses a headset and microphone to listen and speak, and all speech synthesis and
recognition is done on the developer's workstation (see Figure 6-1). In a hosted
configuration, a VoiceXML hosting vendor provides the developer with access
to a VoiceXML gateway. The vendor gives the registered developer a phone num-
ber, a personal identification number (PIN), and a way to upload VoiceXML
source code to the gateway. To run the application, the developer uploads the
software, calls the phone number (which may the same number for all develop-
ers), and enters the PIN. The gateway locates the uploaded software for that PIN
and executes it (see Figure 6-2).

41
Exploring the Variety of Random
Documents with Different Content
Silmäsi ällistyen häntä renki; hän jäykkeni ja kädet
nyrkkiintyivät. Nuo sanat kimposi, kuin jännittänyt ois jousen
Pankari, ja sitten syntyi äänettömyys kuin ennen kamppailua.

He istuutuivat kahden puolen pöytää kookkaina, jäykin


ilmein vastatusten. Pöydällä honkaisella kummallakin
edessään oli tuoppi sekä kippo; toisella puolla paksun
nassakan, toisella sahtitynnörin näit suuren pöydälle
nousseen, tappi irrallansa. Kun ensin oli kipot viinaa täyteen
kaadettu, sitten vahvaa oltta tuopit, Pankari kipon pöytään
kopahutti, ja yhtä rintaa miehet pohjaan joivat, vaan vaiti
vallan, vaikka päähän veri ja kurkkuun sanat syvyyksistä
nousi.

Hämärtyi heidän ympärillään tupa. Ei käkeäkään kohta


nähnyt enää, kuin jostain kaukaa pimeyden maasta se kukkui,
mutta yhä hiljaisemmin ja vihdoin tuskin kuului rengin
korvaan. Vaan vaskipannut uunin reunustalla kuin käärmeet
Mooseksen nyt kiemuroivat, ja leili, hohtaen kuin öinen kuu,
tanssia alkoi hiljaa pöydän päällä. Vain kopse pöytään yhä
kuului, vaikka rengistä sekin tuntui harvenevan, ja yhä
kohoilivat kipot, tuopit.

Kuin hyökylaineet viinavirrat velloi lävitse rengin sielun,


vyörytellen elämän hurmaa yllä hornankuilun, jäljessä souti
sahdin mainingit kuin huokaukset tummat syvyydestä. Hän
vuoroin tanssi kukkatanhuvilla auringon paisteessa kuin
kuningas, ja koko mailma häntä kumarteli, ja joku armahasti
tähkäin takaa avoimin sylin häntä vastaan astui, kultaiset
rahat joka sormen päissä. Ja vuoroin vaipui hän kuin joen
pohjaan, liejua täynnä suu, kun kaikki toiset hääsaattueessa
yllä soutelivat, eivätkä kuulleet hänen huutojansa… Hän silloin
nyrkin löi kuin kiven pöytään ja virnisti kuin susi Pankarille.

Nyt huomasi hän, että kieli liikkui ja haastoi kaikenlaista,


selvennellen sanojen sisältöä monin kuvin. Elämä oli ensin
näyttänyt kirkkaalta ilon sinitaivahalta; hän sitten itki,
kurjaakin se oli ja kurttuista kuin vanha lehmänlanta; ja
vuoroin taas se tuntui käyvän laatuun, kun suosiossa naisten
on kuin hän; hän komeili ja kerskui pitkän tovin, hän kunnes
jälleen vaipui aallon pohjaan, ja viimein pääsi hänen
huuliltaan väkisin, niinkuin kuolevalta — »Klaara».

Nyt luuli hetken tulleen lautamies työ täydentää. Hän nousi


nopeasti ja yli pöydän kurkoittautuen lähelle rengin korvaa
painoi suunsa. Hän jotain käheästi kuiski tälle, valahtain
valkeaksi kasvoiltansa. Hän jotain kysyi, vastausta vaati.

Oliko myöhä? Sammuneena nukkui nyt jättiläinen vaiti


penkillänsä. Ei vastausta. Rengin pää vain painui alemma alla
kysymyksen taakan. Myönsikö renki? — yhä kalvaammaksi
nyt kävi lautamies ja vavahteli. Hän kumartui ja kysyi
uudelleen ja kuulosteli tuskin hengittäen. Pää rengin painui
alemmaksi taas, vaan mykäksi jäi avonainen suunsa. Nyt
kiersi jäykän renkaan uumenille renkinsä Pankari ja
polvellansa ponnisti selkään velton jättiläisen ja raastoi hänet
vihdoin jaloilleen. Ovelle retkahdellen mentiin näin ja portaille
— sai siinä ruho vauhdin ja syöksyi suin päin ulos tummaan
yöhön.

Sumussa pää, vaan iloisella miellä eteenpäin hoiperteli


Markus kohden jotakin ylhää, joka viittoi yössä. Niin kumman
suuri oli kirkonkylä, ja ihmeen muuttuneelta kaikki näytti. Hei,
maakin pyöri jalkain alla niinkuin kirjoissa jossain siitä
kerrottiin, ja auma, jonka ohitse hän kulki, — se oli
merkillinen liikkumaan ja vastaan ilmestyi, jos minne kääntyi!
Pankari kunne jäi, se kurja raukka? Hänenkin kelvannut ois
tätä nähdä. — Hiis vieköön, kuinka kaita, hauska kuja!… …
kuin rotan loukko… seinät kylkiin kolkki molemmin puolin,
kulki vaikka kuinka. Kas niin, nyt päästiin viimein pintehestä…
Hän talsi, talsi kärsivällisesti. Hän pyrki jotain kajastusta
kohden, hymyillen joka hohti häntä varten. Ja joskus tuntui,
niinkuin vahva käsi näkymätönnä ohjailisi häntä. — Pankari
kunne jäi, se piru parka?…

Nyt näkyi ovi — tässä oli varmaan… Ja kas — nyt aukeni se


itsestänsä, ja sisään joutui hän kuin lentämällä. Johonkin
pehmeään hän kompastui, vaan hyvä oli siinä hänen maata
kuin ruusuvuotehella konsanansa, ja jokin lämmin, pullea ja
pehmyt lähestyi häntä, koski olkapäähän… Hän silloin
autuaana lepoon painui ja uneen vaipui kädet ristikkäin.

Vaan sikolätin eessä lautamies hetkisen vielä seisoi


kuulostellen, sisällä kunnes kaikki järjestyisi. Hän sitten astui
kaivon luo ja nosti jääkylmää vettä syvyydestä sen, valellen
kauan sillä kasvojansa. Sen jälkeen huoneessaan hän puvun
vaihtoi, samettiliivit kauniit ylleen puki, säkenin kirjaillut, ja
valkopaidan; huolella siistiytyi hän peilin eessä; sytytti sitten
lyhdyn sekä lähti.

Hän väleen palasi, ja lyhdynhohde valaisi seuralaista


valkeata ja säikkynyttä — siinä oli Klaara. Hän johti neidon
sikolätin luokse, avasi oven sekä lyhdyllänsä valaisi asukkaita
pahnojen. Lihava, punasilmä emäsika heräsi unestansa
röhkien, vaan sian kupehella näkyi jotain valtaista,
kuorsaavaa ja tummahkoa. Pankari lyhdyllänsä lähemmältä
valaisi sekä näytti kädellään: »Kas, siinä hänet näet, vuoroin
makaa hän sinun luonasi ja vuoroin sian.»

II.
TALVI

Valkoinen vaippa kattoi seudun nyt, sen alla nukkui virta,


järvi, pellot, valveilla joskus ihmiset vain liikkui. He kyhnöttivät
tuvan lämpimissä ja tungeksivat liki toisiansa luo lieden,
vaieten ja tuijotellen. Ja pirtit samoin: oli niinkuin kaikki ne
lumikatoin kirkon ympärille kyyrylleen olisivat painautuneet
kuin tonttulauma pyöröhilkkoineen, etsien turvaa, yksin
peljäten talvisen lakeuden autiutta.

Ne palmikoivat yhteen sauhujansa kuin vakuuttautuen ja


julistaen: on meitä monta, lämpöä myös paljon. Ja kaikki
kyyristyivät kokoon, milloin puhuri pohjan lietsoi kylää kohden
kuin huokauksin raskain manan mailta. Vaan kirkko seisoi
ryhmän keskustassa, kohottain siunaavasti kukkoansa pilviä
kohden, jotka pimittäen ylitse lakeuden purjehtivat.

Raskaassa hämärässä illoin istui uneliaina miehet,


tuprutellen haikuja takkaan, lasten, vaimojen ja palkollisten
hiljaa kuunnellessa, erottikohan korva ulkoisalta jotakin
kummempaa kuin tuulen kohun. Harvakseen putoilivat jäykät
sanat kuin jäästä vaikeasti sulaen. Lausuttiin ehkä sana
rengistäkin, aamulla joka niiton päätyttyä karkasi metsiin,
jääden sille tielle. Hän majailee nyt vuorten korpimailla tuon
tukkilaisten mustan joukon luona, keväällä joka täällä jälleen
reuhaa. Kerranpa hänet näki Kalson ukko, kun metsissänsä
siellä liikuskeli. Se oli ollut hurjaa joukkiota, ja renki oletteko
kuulleet — sanoi: »Terveiset Pankarille sano, että on renki
hälle velkaa kiitokset olvesta vielä» — niin hän sanoi, ollen
pakanan suulas päissään, tuumi ukko, se oli päivänselvää
niinkuin viina. Hän juovan kuului heistä hurjimmin, hän, joka
ennen oli itse kunto, niin vaihtuu tytöt pulloon kerkeästi. Vaan
kuitenkin hän näytti olleen päämies tuon villin joukon, tuumi
Kalson ukko, — sepähän saadaan nähdä kevään tullen.
Sanoipa joku: »Niinpä taitaa juosta joesta vettä sakeampaa
silloin. Ken tänä vuonna tytöt pelastaa ja turvaa vallesmannin
kunnian, kun itse pöpö vaihtanut on puolta. Mahtaapa tästä
nousta moinen melske, ettei sen vertaa ole nähty ennen. En
silloin, totta vie, kun hän on täällä, saappaissa vallesmannin
mieli käydä. Siasta maksun varmasti hän vaatii.»

Niin haastoi miehet iltain ankeudessa, ja lapset, naiset


kuuntelivat kammoin; haikuja tuleen puhalsivat miehet
juroina vain, ei muuta tiennyt kukaan. Ja rengin varjo kasvoi
pimennossa, osaksi peikkomaisen uhkaavana, osaksi
sankaruuden hohtehessa — se painostaen seudun yllä viipyi
kuin synkänharmaat pilvet nuo, se syöpyi aikuisten mieliin,
lasten unikuviin. Pankariin hiukan kieroon katsottiin jo, pahan
alkuun, mutta enimmälti taloista virran vastakkaisen puolen.

Niin joutui joulu viikon valaisten ja loppiainen, jolloin ruudut


kielii: nyt ollaan voiton puolla kaikitenkin. Niin kaikui
tervetullut kellonsoitto kynttilänpäivän vihdoin avaruuteen,
ylemmä joka yhä valaistui. Heräsi eloon koko kylä taas; karisti
kaikki yltään talven horteen, ja miehen luonto nousi
toimintaan. Taas katot erkanivat auringossa, jokainen pirtti
erillänsä seisoi, omine sauhuineen ja torvilleen.

Virkeä, ihmeen kirkas aika, joka lumella, pakkasella,


auringolla mielemme hurmaa! Syntyi aimo telme, kun lapset
vapauteen laskettiin. Rannoille satapäinen pilttijoukko pyrähti
hyörimään kuin mettisparvi; suin päin he kelkoillansa alas
syöksi äyräiltä kahta puolta, kohdaten keskellä jäätä toisensa
ja käyden käsiksi hanakasti toisihinsa, niin että lumipilvet
tuprahteli. Kulkuset kilisivät pakkasessa, jalakset kaiken
päivää natisivat, pelloille suuntasivat lantareet, vuorilta liukui
alas tukkikuormat, hevoset höyrysivät, miehet lauloi, ja
jokaisella tuima taskumatti huurteisen turkin rintaa pullistutti.

Lakeus sarastuksen kirkkaudessa levisi vielä niinkuin


valkoarkki kirjoittamaton, ensin punertuen ja sitten valkoisena
kimmeltäen. Vain tuolla täällä joku lantakasa kuin mustetahra,
joku aidanseiväs kuin huutomerkki nousi hangen alta. Vaan
kohta kylän keskipistehestä säteittäin piirtyi hieno kirjoitus
laduista metsiin, suolle, järven jäälle. Tuo kirjoitus se monet
ilot kätki. Jäniksen jäljet nähtiin, seurailtiin tuoreita vinkuroita
metsän reunaan risukkojen ja kaatopuiden sekaan. Etsittiin,
vaanittiin ja saarrettiin salainen makuupaikka, kiertäin kehää,
vireessä hana, tarkkaan tähystellen, näkyikö jossain pitkä
korvapari tai silmä pelokas — ja laukaus pamahti, kaiun
kauan kiiriessä vuorilla, joilta viime ääni saapui, kun saalis oli
saatu kuopastansa.

Vaan suolla oli vielä kauniimpaa! Reunoilla kimalteli joka


oksa, jäähileissänsä männyn rungot loisti kuin tulenkulta alla
pakkastaivaan. Ja vielä pehmeällä hankisella näkyivät riekon
kirjaellut jäljet, ja siivet nousi hohtain pensaikosta. Ansoja
viritettiin ovelasti ja entisiä koettiin, kun niihin langennut oli
riista siellä täällä. Ja juuri laskiessa auringon ja kylmän
puraistessa palailtiin hämyssä kotiin kelpo saaliit myötä, kun
kaikkialla hyinen pakkasilta tervehdyslaukauksiansa ampui.
Ehkäpä syttyi tänään revontulet, ehkäpä niinkuin jättiriekon
siipi tulessa taivaanlaki leimahteli. Vaan harvoin oli liian
valoisata lauantaiöitsinnälle tuttuun tupaan.

***

Vaan tämän reippaan ajan kulki Klaara synketen yhä valon


karttuessa, kalveten yhä joka aamuruskoon. Hän oli jäykennyt
ja kuihtunut kesästä lähtein, jotta kävi sääli.

Tuvassa Vanhantalon ommeltiin, häät tahtoi maammo


viettää pääsiäisnä, vaan tytär itsepäisnä liikkui poissa. Hän
kulki vuoriin kauas tuijotellen, tuhansin talven värein jotka
hohti.

Hän tuonne kauas oli kadonnut, ei hyvästiä heittänyt hän


ollut. Vaan vieläkin hän tunsi, että kulki tie ajatusten eestaas
ilmain halki. Ne purjehti kuin pilvet talviset, valoisin toivein,
synkän toivotonna, ne laskeutuivat jyrkänteiltä tuolta, palaten
jälleen, painuin niiden taakse. Välistä kietoi usvat
tummanraskaat päivästä päivään metsät kaukaiset kuin
suruhuntuun, kaikki kätkevään. Hän silloin kyyneltyi ja kylmää
kärsi. Välistä syttyi siellä kumma hohde: valoa yliluonnollista
loistain lepäsi metsät, laet lumivaipat, henkien mailma,
puhtaampi kuin mainen, häipyen valkopilviin, siintoon taivaan.
Hän katsoi, katsoi, kunnes sokaistuna hän horjui, täynnä
valkeutta rinta. Laella korkeimmalla silloin luuli hän näkevänsä
jonkun olennon avoimin sylin laaksoon katsovan. Ja käsivarsin
ojennetuin Klaara vuoria kohden kauan kurkotteli kuin
vastaukseksi, kunnes havahtui hän uupuneena pakkaseen ja
lumeen.

»Sinervä vallan olet», sanoi maammo, »kai suret tässä


järjen itseltäsi mokoman juoppolallin rengin tähden. Käy
lautamiehen Juokse, lapsoseni, ja hali hiukkasen, niin
lämpenet.» —

***

Ei ollut Pankarinkaan päivät hauskat, se nähtiin kyllä, eikä


liioin yöt, kylässä vaikka tavat salli paljon. Entistä jurompi ja
suljetumpi hän oli, jotain harkitsevan näytti, aamusta iltaan
kaikkialla raatoi, kernaimmin kuitenkin hän metsään lähti.
Talvisen valon vuoksi ehkä hohti enemmän harmahtavaa
ohimoilla, kuin hänkin äkin oisi vanhentunut. Köpelö
sulhasmies, niin tuumi väki, saas nähdä, saako tyttö asuskella
takana virran vielä vihittynä?

Vaan kerran tuli kylään hauska laulu, ei tietty mistä; sitä


lauloi ensin vain harvat, mutta kohta joka talo. Aikansa
renkuteltiin laulunpätkää hölkässä tukkikuorman, luona
kehdon seudulla laajalti. Se kuului näin:

Emäsika on Pankarissa
kuin tynnöri mahdoton.
Ja renki virkkoi: sika tuo
sydänkäpyseni on.
Sioista, viinast' auta meitä, Herra.
Näät lemmittynsä luota
mies karkasi metsihin,
ja pääsiäiseksi lahdataan
sika paksu Pankarin.
Lohduta tyttö raukkaa silloin, Herra.

Vuorilla murheissansa
nyt istuu renki tuo
ja hioo pitkää puukkoaan
ja viinaa, villi, juo.
Puukosta auta Pankaria, Herra.

Niin kertoo meille laulu,


opin minkä siitä saa?
Pankari ehkä sikoineen
hautaansa taivaltaa.
Käännytä kaikki häijyt sielut, Herra.

Profeetan runotaidon arveltiin versovan jälleen parran


kasvaessa. Mene ja tiedä. Vaikka kirkonpuoli laulannan
lopettikin huhun vuoksi. Ei ollut arkalasta lautamies, hän joka
toinen viikko hakkuumailleen vuorille lähti, usein aivan yksin.

Niin joutui muuan aamu pilvinen. Jo varhain alkoi hiljaa


hiutaleida, ja väleen yltyi pyry sankeaksi, vapaaksi päivän
tehden ajotöistä. Vaan Pankari ei välittänyt säästä, hän
koiraturkit otti, rekeen vääntyi ja ajoi talvitietä ylös virtaa.
Kohdalla kirkon, jossa pyry pyöri vaiheilla muurin
harmaakivisen ja nietoksia nosti hautuumaalle, hän kiihdytti ja
ajoi äyrähälle ja tietä eelleen kohden vuorimaita Hän kohta
joutui metsän reunaan, sai tuulensuojan sekä kelpo kelin, tie
joskin alkoi vähitellen nousta.
KOHTAAMINEN

Ylhäällä metsän katvehessa kiersi savua tukkikämppäin


seutuvilla, »uoreine hirsinensä jotka hohti äärellä torpan,
mustan, ränstyneen. Mäellä sauna höyrysi, ja sieltä raosta
oven tunki pihkan tuoksu; sisälle lattiasta kattoon saakka
ladottu oli nuorta kuusipuuta ja niitä kuumennettiin
pehmeäksi. Ja sitten torpanakka nokinaama ne ulos hankeen
höyryisinä heitti.

Lähellä saunaa seisoi kymmenkunta jykevää, kuorittua


paalupuuta; jokaista kiersi ympyrässä mies kuin
sirkushevonen, vaan raskahammin. Hän otti norjan, kuuman
kuusenrungon, hän painoi latvapuolen paalun koloon ja
väänsi sitä niinkuin köyttä kiertäin useaan kertaan paalun
ympärille; nykäisten kiinnitti hän tyvipään, ja nyt se oli valmis
tukkipuomiin. Hän sitten kiekon väänsi siitä, heitti sen
röykkiöön ja tarttui seuraavaan.

Kirous viilsi ilmaa tuolloin tällöin, kun jokin juuttui, mutta


muuten rehki äkäisen äänetönnä joka mies. Viinakset näet
loppuun juotiin eilen lauluin ja kortein, eikä tässä säässä tuo
matkain takaa uutta pirukaan. Hongikko kohisi, ja kohta alkoi
pyryttää lunta läpi kämpänsauhun, se pieksi nuttua kuin vitsat
nuoret, ja laaksoon päin jos alas katseen loit, sokeni kaikki
pyryn pyörrepilviin.

»Hei», huusi joku, »hitto täällä rehkii, kortteja käydään


pirttiin läiskimään tytön ja eukon luo — hei, kellä on pelata
ryyppy onko sulia, Markus?» — Paaluilleen kaikki pysähtyivät,
mutta jäi vaiti kaikki. Silloin joku huusi: »Jos keltään hitolta ei
heru viinaa, niin pannaan peliin, että hävinneen on hankittava
juomaa ennen iltaa.» Se tuuma hyväksyttiin hälisten. Vaan
Markus virkkoi: »Kurkkuani kuivaa, ei, pojat, minä lähden
Koskenkorvaan, teen vaihtokauppaa, siellä lienee viinaa.»
Sanoi ja kiekkoja hän seipään selkään tusinan verran poimi
olallensa. Ja vakaisena vaelsi hän pyryyn, leveä hattu reilun
kallellansa, ja hapset tuulen myötä heilahdellen.

Silmissä vilahteli lakkaamatta lomitse puiden, joissa tuuli


viuhui; kinokset kiertyi, lensi tuulen myötä kuin rantakuohut
ohi saappaanvartten. Nyt valtatielle juuri harjanteella hän
joutui, jolta selkeällä säällä sai nähdä neljät kirkontornit.
Mitään nyt nähnyt ei. Vain kivenheiton verran erotti, kuinka
kuuset niinkuin peikot vaipuivat umpimereen valkoiseen ja
hukkuivat, ja kaikki häipyi pois. Kirottu tie, se johti alas
tuonne häpeän, muistojen ja tuskan kylään! Hän seisoi
hetken raskain aatoksin, ja sydän löi, ja kädet nyrkkiin kiertyi.

Vaan silloin mitä tuolla? Nietoksista sukelsi esiin piste, joka


kasvoi. Ensinnä erotti hän hevonpään ja sitten vähitellen reen
ja reessä lumisen miehen koiraturkit yllä.

Ne lähestyivät. Mutta Markus seisoi keskellä tietä jäykkänä


kuin louhi. Seivästä piti vasen käsi, toinen väsyneen orhin
suitsiin tarttui kiinni. Hän katsoi kiinteästi miestä silmiin,
turkeista jotka esiin pilkistivät kerällä kalpenevain kasvojen.

»Pois tieltä!» huusi hälle lautamies, »eteenpäin ajan, sen


kait näet, lurjus!» Ohjista tempoi orhinsa hän pystyyn. Vaan
Markus painoi jälleen maahan sen, ja reki seisoi hankeen
naulittuna.

Pankari silloin suuttui tosissaan. Hän uhkaavana kömpi ylös


reestä, pois heitti turkit sekä mörähdellen hyökkäsi kimppuun
rengin entisen.

He yhteen iskivät, nuo jättiläiset, pidempi toinen, toinen


leveämpi. He karjuivat kuin ärsytetyt karhut, ja orhi pillastui,
vaan suistui ojaan. He lunta pöllytellen vierähtivät maantieltä
metsään, nietosten ja puiden keskellä kamppaillen ja
karjahdellen yhä ja kieriskellen kallioilla. Nyt vaikenivat.
Kaatohonkaa vasten on alla Pankari ja päällä renki, painaen
tämän rintaa polvellansa. »Nyt, piru, sulle maksan sian
hinnan…!»

Hän veti puukon, nosti käsivarren, vaan hämmästyen


pidättikin iskun; hän nosti puukon uudelleen, ei lyönyt.
»Rohkea olet saatanasti, mies, et silmää räpäytä — säästän
puukon!» Ja Markus työnsi tuppeen sen, vaan nauroi
pilkallisesti: »Ehkä olet kyllin kolhittu, senkin karju, niinpä
sitten vien sinut paikkaan, jossa kipu lientyy.»

Hän raastoi tielle lyödyn miehen, joka loukkaantuneelta


näytti, joka ähki ja kättään tuskin liikuttamaan pystyi.
Hevosen sitten ojasta hän auttoi, toi kiekkonsa ja turkit
Pankarin ja sovitti ne rekeen huolitellen. Viimeksi isännän hän
perään nosti ja viereen istahti ja ohjiin tarttui. »Naisesi luokse
ajan sinut nyt… Hei, Ville, juokse, vanha veikkoseni!»

Karkua täyttä mentiin. Vauhko orhi pyyhälsi alamäkeen


tuulispäänä, vaahtoa pärskyi siitä pyryn halki, ja metsät
vilahteli usvain lailla. Alaspäin aina, alas painui tie, ja ohjat
kireällä Markus hihkui ryöppyä kohden, joka heidät saarsi.

Nyt hiljensi hän vihdoin. Metsä loppui, ja lakeuden


tasahanki alkoi. Kappale vielä. Näkyi kirkkomaa ja paljaat,
tuulen tuivertamat koivut ja portti kullattuine silmineen, nyt
ruosteessa — se oli varmaan auki… Hän hiljensi, hän käänsi
oikealle, sivalsi orhia — ja sisään mentiin aukosta muurin
keskeen ristien, kummulle lumiselle kunnes resla komean
rautaristin viereen juuttui. »Naisesi luokse jätän sinut nyt…»

Hän nosti lautamiehen ylös reestä ja pani hänet varovasti


hankeen, ristiä vasten nojalleen. Sen jälkeen hän otti
närekiekon, aukoi sen ja kietoi miehen kaulan ristiin sillä kuin
häpeällisesti kahleisiin.

»Rauhassa istu, senkin kesy karju, ja varro, kunnes apu


ehtii tulla kylästä, toivon että viihdyt tässä…» Hän turkit kietoi
hyvin vangin ylle, ohjaksiin tarttui, rekeen istuutui ja
hyvästiksi nyökkäsi ja lähti.

***

Pankarin orhi täyttä laukkaa saapui valjaitta kotiin niinkuin


viestin tuoja, ankarat piiskanjäljet pakaroissa. Havaittiin heti
tapahtuneen jotain. Väkeä lähti etsimään ja orhi opasti heidät
kirkkomaalle. Portin keskellä seisoi tyhjä reki siellä, sisälle
viitaten. Ja kirkkomaalta keskeltä hautain vihdoin löydettiin.
Vaimonsa hautakummun päällä istui Pankari ristiin kytkettynä
kiinni, lumettuneena koiraturkeissansa. Murtunut oli pari
kylkiluuta ja toinen käsi, eikä puhe käynyt.

Varoen kuljetettiin hänet kylään, lääkäri kaupungista


noudettiin. Ja viikkokaudet kuumetta hän poti, kevääksi vasta
toipuin ennalleen. Häät, jotka piti pääsiäisnä viettää, sai
äitimuori siirtää kesään saakka. —

Ja vallesmanni tuli rautoinensa, ja suurin joukoin alkoi


takaa-ajo. Useat päivät metsää samoiltiin, vaan intoa ei
tainnut oikein olla, näät vaikka raakaa työtä moitittiin, niin
rengin puoleen mieliala kääntyi. Hän pahemminkin kostaa oisi
voinut tytön ja sian vuoksi, tuumi moni. Ja rengin maine
kasvoi edelleen.

Mieliä hämmästytti myöskin tieto, Pankari että syytteeseen


ei vaadi renkiä teostansa. Ehkä mietti hän niinkin, että
varmempaa on juttu kuitata tasan sekä päättää leikki, tai
ehkä jalomielisyyttä näytti hän tytön vuoksi — eihän tietty
varmaan. Vaan jonkun kuukauden, ei auta mikään istua saa
hän, sanoi vallesmanni.

Ja viimein hänet vuorten metsiköistä vangiksi saatiin villin


nälkäisenä. Vaan kylän lävitse kun häntä vietiin ja reki lähti
kirkon ahtehelta, hurrasi puoli kylää sillan luona. Ja
Vanhantalon vinninikkunasta esille pisti jotain hohtavaista: tuo
vanha, uskollinen puinen rengas. Ja ikkunassa huiski
silkkihuivi, vielä kun reki mutkan taakse peittyi.
III.
KIRKOSSA

Juhannuslimot hohti alttarilla, sen punasamettista reunaa


kaartain, ja juhlalehtimajan taustasta kultainen risti väliin
kimmelteli kannella jättimäisen raamatun. Alttaritaulun
varjostivat koivut; ne ojensivat tuoreet latvuksensa Lammasta
kohden, joka rauhaisasti söi laitumellaan niiden lehvistöjä,
toisessa sorkassansa poikkilippu. Ja Lampaan luona seisoi
paksu piltti, pasuunaa julman suurta puhaltain pirua kohden
holvin vastapuolla.

Niin ihmeen valoisana loisti kirkko! Voi nähdä hietajyvät


lattialla ja niskain pisamatkin edessänsä. Oli kuin koko kesän
kirkkaus oisi astunut tähän synkkään asuntoon. Ulkoa tulvi
sisään valovirrat lävitse ikkunain ja ovenaukon, ne koivikosta
sätehissään kantoi vehreän hohteen koko temppeliin. Ja
auringossa kylpein sakaristo sädehti niinkuin
taivaanvaltakunta.

Soi tornin kello vielä. Kirkonmenot olivat päättyneet, vaan


vielä viipyi ahneesti odottaen seurakunta. Niin paljon kansaa
harvoin nähtiin siellä, tupaten täynnä oli kaikki penkit, ja
seinävierilläkin seistiin vielä, hattuja hypistellen, tuijotellen.
Ovella oli tungosta ja toraa, kun lapset, koirat ulos suljettiin.
Lisäksi saapui Vanhantalon väki häävaatteissaan, vaan
kummaa oli nähdä, mitenkä synkkinä he heitä varten
varattuun ensi penkkiin istuutuivat.

Ylhäällä kellonsoitto harvaksensa vaikeni viimein. Syntyi


hiljaisuus, niin että hetken kuului, kuinka leivot liversi
viirikukon ympärillä päin kirkkautta, kuinka kottarainen
harjalla katon iloissansa kirkui.

Nyt viulun ääntä kuului ulkoisalta. Vanhastatalosta se


kaikui, kasvoi yhäti vahvemmaksi, kunnes sammui portaille
oven ulkopuolle, jolloin häävirren aloittivat urut kirkon. Ovea
kohden käänsi päänsä kaikki, nyt väki siellä kahtahalle siirtyi.
Ja urut pauhasivat, kansa lauloi ja tervehdykseen nousi
penkeiltänsä. Vaan silmiin syttyi sama synkkä hohde kuin
hautajaisissa, kun arkun kansi avataan ennen vainaan viime
matkaa.

Pankari korkeana mustissansa, harmaina kasvot, astui


käytävää, ja valo leuan vapisevan kieli. Varjona liukui hänen
rinnallansa ääneti Klaara, vaikka valkoisissa hän oli
myrttiseppeleestä aikain.

He pysähtyivät alttarille, jossa koivujen vehreydessä musta


pappi odotti pyhä kirja rinnallansa. Puvulla valkealla Klaaran
loisti auringon säteet vihertävin varjoin, ne vain ei liikkuneet,
ei värähtäneet. Lumeksi jäätyneeltä näytti hän, vaan yllä
lautamiehen synkän pään värisi valojuovat levotonna.

Jo kiiri viime värssyn pitkä aamen, naisäänten kimeästi


veisatessa, holveja kohti kaikuen ja häipyin urkujen
jälkisoittoon hiljaiseen. Hiljeni yhä. Luona oven vain värisi
vielä joku vanha ääni, seuraten varmaan jotain väärää virttä
Vaikeni sekin. Syntyi hiljaisuus. Aukaisi pappi raamatun ja
alkoi Paavalin sanoin tosirakkaudesta.

Ohitse Klaaran sielun kaikki liukui, kuin kauan sitten


hukkunut hän oli toivottomuuden rannattomaan mereen.
Takana kohisi ja kiehui, hyökyi, edessä kuohui hän ei kuullut
mitään, hän tiesi vain: se oli sama virta ihmisten pahuuden ja
vääryyden. Mitäpä koski häntä virran juoksu? Ei ollut enää
rantaa hukkuneelle.

Hän seisoi tuijotellen jäisin katsein porttia kohden, josta


kesä vihmoi ilvettä valon yöhön kuoleman. Hän myöhään
vasta huomasi, se että ikkuna avoin oli sakariston.

Kukoisti kaikki siellä ulkopuolla. Kumartui kukkalehvä


pihlajan ylitse hautakiven sammaleisen, ohitse liihotteli
perhosia, ja muurin yli, alta pihlajan kappale kylätietä näkyi,
joka kaarteli kautta viherjöivän viljan pois kauas kohden —
vuorten sinirintaa. Hän katsoi sinne, vailla kaipausta, ei ollut
siellä hän, ei ollut rantaa.

Vain jonkun sanan erotti hän joskus, kuin muille lausutun:


»Ei rakkaus suutu, se kärsii kaikki, toivoo kaikki»… Kas, nyt
istui pieni peippo sammaleella tuon hautakiven, luona
pihlajan; se kohden oksaa kaulaa kurkotteli ja liversi ja nokki
iloisesti koloja sammaltuneen kirjoituksen ja löysi jyvän,
livertäen jälleen. Kuluvat vuodet, toinen lintu istuu taas sadan
suven jälkeen jossakin unhotetulla hautakivellämme, ylistäin
iloa ja sammaleita… Vain hetkinen… Ja kuinka paljon ehtii jo
sydän raukka kärsiäkään meissä!… — »Sinulta kysyn, Matti
Laurinpoika Pankari, Jumalan ja seurakunnan edessä tämän»
— —. Nyt se peippo lensi tiehensä, jotain varmaan säikähtäin.
Tuprahti tieltä sankka pölypilvi pihlajaa kohden. Hurja oli
vauhti rattailla noilla! Huima ajomies! Karkua kiiti kärryt
vuorta kohden, kuin kaskisauhu pöly rukiin peitti. Hevosen
pää vain näkyi toisinansa, vaan harmaan pölyn kesken seisoi
mies ja huitoi hattuaan kuin mielipuoli ja ruoskaa käytti… —
»Kysyn sinulta, Kristiina Klaara Vanhatalo» — —. Nyt mies oli
käänteessä, ja pölypilven hajoitti tuuli. Nyt hän kääntyi tänne.
Armahda! Aave? — — »Kysyn sinulta, Kristiina Klaara
Vanhatalo tässä edessä Jumalan ja seurakunnan» — —

Hän liikahti ja kädet nosti kohden avointa sakariston


akkunaa kuin hukkuvainen kohden kaukorantaa. Ja sitten
ääntä päästämättä vaipui koivujen, alttarin ja papin eteen.

***

Kavahti pystyyn koko seurakunta, ja kylmät väreet kulki läpi


joukon. Tunkeiltiin, huulet liikkui, mutta ääntä ei saanut
kukaan järkytykseltänsä. Ja syntyi äänettömyys kaameampi,
kuin huudettu jos oisi raikuvasti. Hämmennys tuijotteli katsein
kalvain, ja kaula kurkollansa tähyiltiin vihille pyörtynyttä
morsianta.

Vaan porrasaskelmalle vaipuneena Pankari karski istui,


painaltaen pois kääntyneenä käsiin kasvojansa. Hartiat
vavahteli — Jumalansa ja seurakunnan nähden itki hän.

Välehen tointui Klaara kuitenkin, vaan oli niinkuin poissa,


äidilleen ei sanaa vastannut, ei papillekaan. Veljensä silloin
hänet nostivat ja varovasti kuljettivat ulos. Tungeksi ympärillä
kalvas kansa; ahdistus oli lauennut, ja nyyhky ja siunaukset
morsianta saattoi. Portilla ootti, käyrät painuneina, iloinen
soittokunta murhemuodoin; nyt marssit sekä tanssit jäädä
saivat. Ja joukon jälkeen yksinäinen mies asteli alla päin ja
äänetönnä.

Sillalla hetken seistiin epäröiden, minnekä mennä. Vanhin


veli Kyösti nyökkäsi Vanhaantaloon päin, ja Janne ja Pikku-
Matti näytti samaa mieltä. Käännyttiin papin puoleen, vaan ei
saatu ohjetta selvää, hän vain ravisteli mietteliäänä vanhaa
paimenpäätään. Hänelle totisesti ensi kertaa tällaista sattui,
lausahteli hän, ja sieti ottaa selvää säännöksistä.

Nyt astui esiin äitimuori, nosti päin toista rantaa käden


käskevästä ja sanoi paukahutti kovaa: tuonne!

Niin vietiin Klaara kiirein Pankariin.


PANKARIN KAMPPAILU

Pankari huoneessansa yksin nukkui aviovuoteessansa


valtaisessa, jo neljä vuotta leskikalseassa. Hopeanauris suuri
naksutteli seinällä ja sen luona riippui kookas, lehtevä avain,
kulunnasta kirkas.

Jo puoliyötä lähenteli kello, vaan vielä hohti valo ulkoisalta


ja katsoi seinämiltä liikkumatta, varjoa vailla, kuolleen
kelmeänä. Hän näki, kuinka pikku osoitin taululla valkealla
kellon kiersi kuin ajamana hetkein kiireisten. Se oli aina
naksutellut siinä veljellisesti, tyynesti, vaan nyt se pisteli kuin
neulavirroin häntä.

Hän yhä levotonna kääntelehti vuoteellaan, painautuen


pieluksiin tai ryntäillänsä kuulostellen tupaan. Tai lepäsi hän
hiljaa, tuijotellen avainta niinkuin toivon valkamaa. Sen
ottanut hän oli ensi kertaa ovelta eteisen — se auttoikohan,
se estiköhän kummittelun? — taikka sen täytyiköhän silti
tapahtua tahdosta jonkun voiman salaisen?

Hän tehdä saihan niinkuin tahtoi, Klaara. He päivin


kohtasivat vain, ja työnsä tekivät, monta sanaa vaihtamatta.
Tuvassa Klaara nukkui yksinänsä, hän kamarissa, ovi
suljettuna. Hän yli kynnyksen ei astu, vaikka näin jatkuisikin
kuolinpäivään saakka, ei kerjää hän, ei ota — Klaara itse
vapaasta tahdostaan saa tulla tänne.

Niin oli kulunut jo neljä yötä, hän odotteli; Klaara tiesi kyllä:
hän pienintäkään pakkoa ei käytä. Vaan silloin tapahtui tuo
tavaton, tapahtui kuitenkin ja tuskanhikeen pusersi miehen
sekä kylän tietoon julisti koko hänen häpeänsä. Kahtena yönä
oli niin jo käynyt, mitenkä kolmantena käy? — Hän katsoi
avainta, kelloansa: kaksitoista.

Tuvasta kuului kellon korahtelut, ja käki alkoi pitkään


kukahdella. Jokainen kukku hikivirran nosti otsalle Pankarin.
Nyt loppui laulu. Ja äänettömyys jälleen tuvan täytti, heilurin
lyönnit tasaiset vain kuului. Hän hetken kuunteli — ei mitään
kuullut. Pankarin rinta hiukan rauhoittui. Ehkäpä oli voitettu jo
vaiva, hyväksi ehkä vielä kaikki kääntyi?

Vaan silloin — vuoteestako kuului liike?… Hiljainen hipse —


sitten askeleita, kaamea kulku eteisuksen luo. Tartuttiin
lukkoon… kerran… toisen kerran… ei, avain oli poissa…
askeleet kääntyivät tupaan jälleen, kiertelivät ympäri sitä
kumman kuollein äänin. Ne toista pääsytietä hapuilivat.

Pankari lojui yhä vuoteessansa. Hän tahtoi nousta — vaan


ei nousta voinut. Jäykistyneenä lepäsi hän siinä ja salli kaiken
tapahtua vain. Ja jäinen virta pitkin selkäpiitä hänellä kulki,
päähän viimein nousten; se kasvoi joka askeleella, jonka hän
lähestyvän kuuli huonettaan, se laski hiukan, kun ne
poistuivat päin tuvan sänkyä ja seisahtuivat. Viimeinen ehkä
oli tämä kierros?… Ehkäpä vuoteeseen hän jälleen painui?…
Kilahti silloin haka akkunan ja kuului avattavan ruudun rämy.
Jymähdys pihaan. Sitten hiljaisuus.

Seinällä taskunauris naksutteli, tuvasta kuului lyönnit


heilurin: tik-tak, tik-tak, — vaan mitään muuta ei. Ja kauan
kesti ennenkuin hän pystyi avaimen kellon luota ottamaan.
Hän huojui ulos, lukon aukaisten, ja vääntyi jälleen märkään
vuoteeseensa.

Niin kului tunti, kului vielä puoli, ne käki kukkui niinkuin


haudanyöstä. Silloinpa kuului kärryn jyrinää ja askeleita
raskaan saapasparin. Eteisenovi kävi, halki tuvan askelten
kapse Klaaran sänkyyn johti. Ja kaksi ääntä: toinen
nyyhkyttävä ja itkuinen kuin avuttoman lapsen, levollinen ja
lohduttava toinen.

Oh, oli käynyt niinkuin eilen, hänet Joosua jälleen oli


löytänyt, isällisesti kotiin kuljettaen. Nyt istui partaniekka
vuoteen luona ja lohdutti ja tyynnytteli häntä, ja ääni nousi,
laski tyynin lainein kuin kehto, joka uneen tuuditteli sydämen
sairaan: lapsi, lapsi raukka… Ja aamupuolla, kun jo
huomenrusko punervan hohteen huoneen seinään loi, hän
vasta hiipi ovelle ja poistui. Jo lauloi kukko, rattaanrämy
häipyi sillalle päin, vaan hiljaa nukkui Klaara.

Nyt kääntyi lautamieskin seinään päin. Taas oli tuska hänet


jättänyt hetkiksi muutamiksi, ja hän nukkui.
AAVE

Ei hauku koirat enää. Äänetönnä valoisa yö nyt lepää seudun


yllä. Ei linnut laula. Peltoon kätkeyneinä nukkuvat leivot, eikä
karmas laulu ruisrääkän vielä ole alkanut. Kylvyssä kasteen
uinuu liikkumatta ruisvainiot; ei leyhy pieninkään huojuta
hoikkaa, kimmeltävää viljaa, se hengittää kuin rajatonta
rauhaa ja heilimöinnin aikaa unelmoi. Vain uduttaret leijaa
valkosiivin kuin unten harso lakeuden yllä; joella aaltoilee se
taajoin joukoin ja virranvedon myötä karkeloi järveä kohden,
joka lepää alla tiheiden usvaverhojen kuin vanki.

Ei kuulu virttä virrankaan. On laannut keväinen vuolas


vuoksi alla sillan, ja tukitkaan ei enää syöksähtele kuin sonnit
kumeasti rantaa vasten. Lehteä tuskin liukuu pitkin pintaa
kirkasta sen, kun kalvaan taivaan sulkee se syleilyynsä alla
lumpeiden.

Silloinpa sillan varjon alta nousee kuvastus valkeampi virran


usvaa. Kuin lumihaamu ääneti se liukuu vedessä ohi toista
rantaa kohden. Se katoaa. Ja virta eelleen vierii ja kuvastelee
taivaan kalpeutta.
Vaan tietä pitkin kulkee kumma hahmo, enemmän hengen
kaltainen kuin naisen, valkeissa hartehilta kantapäihin, pään
ympärillä hiusten tumma hämy.

Hän kirkon portille on ehtinyt. Hän minne aikoo? Ohi käy


hän siitä, ei taakseen katso lainkaan, vaeltaa vain kylän halki
lakeutta kohden. Hän jäykin askelin käy avojaloin, niin
kuolleen jäykin, mutta varmoin silti, kuin kohden noiduttua
aurinkoa hän kulkisi ja unhoon jäisi maa. Ei kuulu haamun
askeleita, joskus vain puvun laskos hiljaa kahisee. Ja hänen
suunsa! Kumman jäykistynyt, lumottu hymy on sen seutuvilla
kuin jäykkä valos onnen salaisen, luo minkä tie on pitkä,
tuskaa täynnä. Ja silmät! Niinkuin lamput valkoiset kalvaista
kasvoista ne katsovat, sokeina, mutta silti näkevinä,
värähtämättä ilmaan tähdäten jotakin kohden, jota muut ei
näe. Ja niistä nousee fosforinen hohde, kuin kiiltomadon
taikka virvatulen, ja entää hänen edellänsä yössä.

Niin astuu hän kuin aave kylätietä ohitse äänettömäin


rakennusten. Vaan kylän ulkopuolle tultuansa, ruisaava jossa
alkaa, jossa vuoret sinessä kohoo lakeuden takaa, pettävän
lähellä yön kalpeudessa, hän nostaa niitä kohden käsivarret.
Ruismeri hänet ottaa, kätkee joskus tähkien taa, kuin
heräävien, jotka väistyvät värähdellen pelokkaina. Hän väliin
peittyy udutarten harsoon, valkoiset kumpikin, ja sekin liikkuu
ja riippuu hänessä kuin laahustin. Taas näkyy hän; ja yhä
kauempana hän kulkee tietä ojennetuin käsin.

Tienhaaran luo hän ehtinyt jo on ja puolitiehen ulos


lakeudelle, ja kohta häntä tuskin erottaa. Hän silloin
seisahtuu, ja kädet vaipuu, hän tarttuu päähänsä ja kirkaisee
ja kaatuu heränneenä kylmään maahan.

***

Vaan kylän taloissa ei saatu unta. Tien varren väki valvoi


joka yö, levottomasti kummaa odotellen. Aikuiset värjöttivät
tutkistellen jotakin merkillistä lauselmaa lehdiltä Johanneksen
Ilmestysten, ja lapset vääntelivät vuoteillansa, äitiä
rauhatonna huudellen. Myös naapureita saapui näinä öinä,
naisia, miehiä ja lapsiakin, ja joukko kasvoi yhä akkunoissa
tien vierustan, kun aika lähestyi. Kahdeltatoista kaikki
rykelmässä tähysti palsamin ja myrtin takaa, varroten
kuiskausta: nyt hän tulee…

Ja Klaara kulki tietä, vaan ei nähnyt kasvoja, jotka kahden


puolen teitä kauhusta kalvenneina häntä katsoi. Avoimin suin
ja ruutuun painettuina ne kurkottivat, kunnes viime vilke
valkoisen vaatteen peittyi kulman taa. Ne silloin vetäytyivät
pois ja hiljaa suut vapisevat rukousta kuiski. Vaan kun jo
tiettiin hänen ehtineen omalta nurkkaukselta kyllin kauas,
avattiin hiljaa haka akkunan, ja ulos pisti päitä kaikkialta.

Tähysti silmät, korvat kuuntelivat: se kohta tulee…


Kavahdettiin taas, kun kuului tieltä karmas kauhunhuuto, ja
moni ruutu kiinni kiskaistiin. Hän tielle jääkö? Herra
armahtakoon! Vahtiiko taas tuo uskalias hupsu, käsiksi joka
aaveisiinkin käy? — Jo kuului kärryn jyry kaukaa tieltä, ja
piiskan läimäykset läjähteli.

Joosua istui näet kaiket yöt, etikkakäärein odotellen häntä


ja lämmin maito lieteen varattuna. Ja ensi kertaa valvoi
renkikin eläissään, seitsenkymmenvuotias, ja valjahissa ootti
vanha tamma ja kuopi tallissansa joka yö.
LEVOTTOMUUDEN AIKAA

Nyt tarttui kylään kuvaamaton kammo. Kuin riivattuna


muuttui kaiken muoto. Se poltti ruumista kuin tervasrohdin ja
vielä ankarammin sielu parkaa. Tuvissa juostiin, juostiin
julkitielle vereksin turmanviestein, päivitellen niin
lähimmäisiään kuin itseänsä. Kuin nokipilvi kiersi kylää juoru
ja peitti päivän kirkkaan totuuden. Ja taikausko tuulta siipiin
sai, monille syntyi kuusikuinen lapsi, ja vasikoita tippui käyrin
sarvin, niin oli kylä sekasortoon syösty.

Kerranpa oli Kalson ukko nähnyt keskellä päivää


mustalaisten joukon portaitten eteen ajaa porhaltavan ja
hevoshuippausta hoilailevan. Vaan kun hän katsoi, oli piha
tyhjä, portaille vaikka jäljet johti, eikä pois kääntyneistä
rahtuakaan nähty; ja muut ei heitä nähneet olleet lainkaan. —
Ja Koskenkorva oli käen nähnyt, vaan tavallinen käki ei se
ollut, kymmentä kieltä haastoi se kun mies, vaan kukkunut ei
lainkaan, Herra nähköön. — Ja milloin tiettiin, että tukkilaiset
hirmuisin asein kylää kohden suuntaa nyt kostoretken,
johtajana Markus. Ja milloin saapui idän puolta tauti, kamala
rokko. Siihen sairastunut jo oli Vanhantalon äksy leski; hän
huitoi ilmaan niinkuin riivattuna, ja niinkuin piki oli katse
synkkä, se oli varmaan hälle kuolemaksi, — niin, toiset heti
rangaistuksen saavat. — Kaikkea nähtiin tuohon kurjaan
aikaan. Itsepä Beelsebubin oli nähnyt jo Viilus — vaan hän
valhetteli kelmi, kalpeneville nauraa virnotellen, ja pyysi
nuuskaa perkelettä varten. Kuin noiduttuna oli kaikki nyt, ja
tähän äärimmäisen kauhun aikaan ruis heilimöi ja siitepöly
leijui.

Jo askareita laiminlyötiin. Lehmät seisoivat lypsämättä


ammuen apilasniityillänsä vehrehillä, utarin paisunein kuin
pajanpalkeet, halkeamaisillaan. Ja moni uljas hevonen kuopi
tallissansa jouten, lakea kohden lannan kera nousten. Jäi
laimin ruokakin ja saunankaynti, vaan yksiin kokoonnuttiin
kaikkialle. Tyhjäksi tosin Joosuan jäi riihi, lähteille syvemmille
sielu pyrki, kaikkea kohden henki kurkotteli, pilvissä mikä
taivaisena liehui. Joosuan luona tyhjää oli vielä. Vaan pappi
jälleen rahvaan sisuskuntaan käsiksi pääsi, sitä korventaen ja
kaivellen, vaan yhä suuremmaksi sekaannus kävi, kasvoi
ahdistus. Jyrisi pappi saarnastuolistansa — takaisin täytyi
ottaa hetken tullen vahingot ajan pakanallisen. Naisia pyörtyi
joka sunnuntai, ja miehet itki. Mutta kirkon jälkeen taas yhtä
neuvotonta oli kansa. Portilla kirkon tölläili kuin lampaat he
toisiansa: mitä tehdä voimme, me kurjat lapset tämän kauhun
kylän?

Niin eli kylä tähän kesäaikaan levottomuuden kouriin


joutuneena: sen vanhaa järjestystä järkyttivät salaiset,
väkevämmät luonnonvoimat. Vaan korkeudessaan vanha
kirkonkukko keltaisin kyljin istui ihmetellen ennen niin
rauhallista maailmaansa.

You might also like