Index N-Z
N
Naive web server coding 164
namespace, XML 480
namespacing object 145
navigation buttons 512, 532
implementation 550
logic 550
navigation, in frames 469
.NET 161
net.ContentLoader, refactored 346
network latency
definition 9
predicting 11
remote procedure call 1314
responsiveness 213
usability, effect on 11
new, keyword 592
news viewer 537
next(), in RSSReader object 551
nextSlide() 553
node, DOM
accessing 47
creating 50
editing 155
finding 49
text node 50
Nolan, Ben 129
non-positioned element, setting position 383
Northwind database 336
notification
add and remove 235
alert message 217
by highlighting 241
calling from programs 237
loading status 523
low level, using 237
of asynchronous events 216
parameterizng messages 240
pop-up dialog 229
removing 236
search progress 468
status bar implementation 226
status in 242
techniques 471
types of 222
changing mouse cursor 222
dialog box 222
secondary icons 222
status bar 222
view 225
notification message
description 223
priority 223
notifying on change in Observer pattern 156
notifyLoaded(), callback 240
null data, handling 383
null results, reporting 477
O
object
ad hoc creation 592
adding methods 593
array syntax for 592
as associative array 148
constructor 141, 592
displaying complex 151
dynamic creation 592
function object 151
functions as 591
in IFrame context 185
initializing varibles 145
loose function binding 609
namespacing 145
ORM-based 99
prototype based 591
references, in event handlers 613
subclassing with Prototype 106
vs function call 135
() controls 135
with statements 592
Object class 592
extending 200
object detection 57
example 78
object literal 347
object reference, of a DOM element 384
Object-Relational Mapping tools 97
in MVC 98
ObjectViewer
Observer pattern in 156
reusable object 149
with notifications 241
Observable object in Observer pattern 83
Observer, design pattern 82
definition 139
extending for multiple event callback 138
onblur event
handler 412
unpredictable firing 217
using 376
onchange event handler, select element 332
onclick event handler 434, 533
for login 455
installing 548
onkeydown event, using 408
onkeyup event, using 376
onload event handler 521
onload()
as callback function 61
as event handler 81
to initialize parameters 375
onload() function 48
onmouseup event 448
handler for autosave 448
onreadystatechange, JS property 61
onsubmit eventhandler 475
blocking post back in Ajax applications 474
onUpdate() 220221
pluggable 222
onXMLLoad() 483
opacity
in Mozilla 524
opacity property, CSS 515
opacity rules 524
optimization 282, 289
attaching DOM nodes 293
by refactoring 289
dot notation 296
for loop 290
identical calculations 291
Options object, for configuration 399
ORM
based objects 99
system 442
tools, summary 97
See also Object-Relational Mapping
OSI model 10
outlook bar in Rico 109
overflow property 516
CSS 515, 543
overriding functions 456
P
padding property, CSS 486
padding-right property, CSS 514
page post back 329
loss of form content 468
loss of scroll position 468
paralysis by analysis 73
parameters
defaults 497
extend(), in Rico 547
options 497
overriding defaults 547
parentNode DOM property 49
parse method of RSSFeed 539
parseGoogleResponse() 261
parseResponse() 217
parsing
SOAP response 260
window properties 450
parsing response text 406
parsing script 193
password, encryption of 266
public and privatekeys 266
pattern matching
in strings 385
in XSLT 479
pause behavior 532
pause method 553
PEAR DB_DataObject 479
applied 98
performance
attaching DOM nodes 293
definition 280
design for 311
execution speed 281
inspecting for memory leaks 305
memory leaks 302
page loading time 328
rendering 301
subsystems 281
timing 282
Venkman profiler 288
permissions, for database table 430
PHP 161
server side example 95
physical transport 10
placing text, with CSS 45
plug-ins
debugger for Mozilla 288
developing 564
Flash for browsers 28
for Ajax tools 563
for Eclipse 563
Venkman debugger 288
pop-under window 470
pop-up
blocker, avoid with IFrame 180
content 417
creating 414
positioning 415
required properties 415
showing, hiding 421
pop-up widget
avoid pop-up blocker 180
implementation 180
pop-up window
appearing underneath other windows 470
background processing in 469
communication with parent 469470
destroyed on refresh 470
links with parent window 470
pop-up blockers 470
spawned from onload 470
portal
Ajax version 426
Amazon A9.com 424
architecture 427
background 424
classic 424
command processor 459
commands 458
component 454
customized 425
functionality 425
header 434
maintenance page 425
manager 453
multi-user 439
server-side code 441
Yahoo! 424
portal object
add/delete windows command 462
addWindow command 462
API 459
Command pattern in 458
constructor 455
helper objects 456
load settings command 461
loadPage command 461
loadPage() 455
login command 461
portalManager.do server 456
save settings command 462
savePropertries command 462
usage contract 459
portal_windows table design 439
portalManager portal server 456
PortalWindow object, Java 441
positioning
absolute 516
HTML elements 39
on top of each other 516
relative 516
Rico functionality 416
with CSS 40, 372
post back
excessive 363
identifying source 392
limiting 380
suppressing default behavior 370
POST, HTTP method 59
preload function 521
presentation tier, in architecture 162
previous method in RSSReader object 550
priority levels in notification messages 223
privileges
in Mozilla security model 254
scope of privilege 257
procedure calls
local 9
remote 10
Process Explorer tool 315
profiling 281
adding to application 285
attaching DOM nodes 293
for loop 291
object dot access 297
rendering system 301
programming environment, selecting 161
programming language, server-side choices 161
progress indicator
in classic web app 468
installing 475
techniques 471
progress messages, implementing 237
progress notification 437
properties
DOM, rendering 153
overriding defaults 400
setting 374
PropertyViewer, reusable object 149
prototype
description 597598
extending 599
for functions 598
literal object 347, 355
property, extending Object 200
Prototype library 105
$() 395, 548
as library for library developers 106
class constructor 398
description 394
extend() 400
in RSS reader model 538
inheritance in 106
object extension 395
types in 394
prototype.js, library 347
public and private keys, use in JavaScript 266
public interface
Ajax server side 172
granularity of 172
public key
for password encryption 266
initial communication 277
PUT, HTTP method 60
Q
qooxdoo. See user interface, toolkits, qooxdoo
querystring
assembling from requests 350
creation 350
dynamic construction 334
parameters 58
retaining for book mark 490
queryString() 350
queue of commands 199
queuing server requests 520
R
Rails application framework 114
RDF syndication feed format 506
readyState property 62
Really Simple Syndication (RSS) 504
refactoring 392
and reuse 132
definition 71
DRY principle 79
for usability 215
introduce with refactoring 73
one responsibility, one method 496
role of design patterns 72
reflection 147148
discoveirng object properties 601
listing all properties 603
reading an object 148
reflection-based solutions, frameworks 171
testing for properties 601
update domain model 205
registerRequest, in Rico API 396
regular expression
creating suggestions 418
formatting strings 386
parameterizing 418
parameters for 385
string processing 385
relative position property, CSS 516
Remove By Dislocation, design pattern 309
example 319
Remove By Hiding, design pattern 309
example 319
removeEventListener(), Mozilla 137
render() 230
renderer, pluggable 169
renderFull() 229
multiple messages 230
rendering
messages 236
methods 153
objects 152
performance 301
text 154
renderSmall() 228
repeat() 220
request dispatch pattern 454
request parameters 347
assembling from different sources 404
generalized 349
request to server, controlling rate 403
request validation
encrypted HTTP header 274
filtering encrypted HTTP headers 274
filtering HTTP requests 273
tokens for 274
Resource Descriptor Framework (RDF) 504
resource, protecting single 87
responseText, XMLHttpRequest property 64
responseXML property 262, 522
XMLHttpRequest property 64
responsiveness application feature 213
result set
checking for null 479
empty 336
handling null results 477
limiting results 368
parsing 339, 406
processing in HTML format 472
processing in XML format 472
restricting 363
reusable component, multiple installations 393
reusable object
accessing google content 255
barriers to reuse 74
being configurable 496
clean API 496
Command queue 198
configuring 399, 547
constructor for 75
ContentLoader 187
defined 74
data objects 99
default options 497
defined 74
double combo box 352
extending 359
requirements 352
edit a property 155
Event Router 141
extended array 142
flexibility in 240, 458
function naming 76
implements(), testing for functions 604
isolating the plumbing 76
LoadXMLXSLTDoc() 476
message object 223
notification 222236
notification framework 237
ObjectViewer 148149
applied 285
output console 579
parameterizing 476
problems creating 96
profiling tool 282
PropertyViewer 149
requirements for 393
stopwatch applied 291
stopwatch library 283
suggest component 393
TextSuggest 394
TimedEvent 284
type-ahead object 373
unchanged HTML requirement 397
using Prototype library 107
XSLTHelper 492
reuse, script vs XML 183
reusing DOM nodes 309
Rhino
consumes JSON script 192
JavaScript interpreter 163
rich client
alternates to Ajax 27
definition 5
distributing intelligence 146
spread sheet as 5
rich form element 366
rich transition effect 524
rich user interface 428
Rico library 109
.tag in responses 396
AjaxEngine
Ajax support 396
for communication 110
Behaviour object 109
Effect object 548
example 109
FadeTo effect 554
identifying responses 396
outlook bar 109
Robustness
application feature
definition 213
testing for 213
RPC 11
RSS feed
adding more 530
array for 519
channel element
optional elements 507
required elements 506
channel element, table of 506
cycling through 556
item element, required parts 508
item element, table of 508
item model 538
loading 518, 556
object model 538
optional items 508, 540
parsing content 522
structure 506
syndication format 506
RSS feed reader, application 509
RSS item object, link attribute 543
RSS reader layout, state of 520
RSS reader object
additional feeds 529
behavior categories 545
controller 545
model for 537
Mozilla browser problem 534
navigation behavior 532
navigation buttons 532
refactoring for MVC 537
view classes 541
RSS XML documents 510
RSSFeed object 539
items in 557
RSSItem object 539
creating 540
RSSItemView object 541, 544
constructor 541
RSSReader object
constructor 546
controlling 549
feed loading 549
Ruby 161
rules, CSS
selector part 36
style declaration part 36
runScript() 463
runtime, interpreted 591
S
SAJAX, framework 112, 170
sandbox, execution enclosure 248
SAP NetWeaver 569
Sarissa library 105
adapter pattern in 79
save settings command 462
savePortalWindows() 452
SaveWindowProperties() 449
scope, of a method 600
screen-scraper 269
Scriptaculous Effects library 243
pulsate effect 243
Scriptaculous widget library 108
script-centric 438
interaction 182
pre- and post-processing 463
processing returned scripts 463
pros and cons 462
security issues in 248
using the script 381
scripting context in Singleton pattern 90
scroll position, maintaining 469
scrollable map, widget 169
scrollbars, suppressing 515
scrolling, as Ajax function 25
search application, classic 467
search performance 467
security
filtering encrypted HTTP headers 274
filtering HTTP requests 273
HTTPS 264
man-in-the-middle attack 263
security issues
access to data 268
access to the server 268
accessing web services 253254
browser security models 250
confidential data 263
HTTPS recommended 265
in content loader 255
mobile code 248
screen-scraper attack 269
sensitivity to layout change 269
server of origin 248
testing 251
security model, browser, effect on tools 564
select list 329
adding behavior 354
dynamic fill 339
formatting 342
from span element 372
multiple selections 343
reading 344
static fill 331
width, setting 342
selecting list items 389
selection list, first entry 336
selector, CSS
class and element rules 37
class type 37
element type 37
id-based 38
multiple type 37
parent-child selectors 38
pseudo-selectors 38
tags inside other tags 517
tag-type 37
SelectServlet 438, 442
sendRequest() 347, 460
separation of concerns 558
content from presentation 100
using template language 100
event handler object 407
Model from database 97
MVC, in 91
server side code and client data format 489
view and logic 130
separation of responsibilities, definition 71
serialized data 10
serializing data 201
server
delivers data 19
role in Ajax 160
server of origin
communication between scripts 248
data source 252
proxying other servers 252
security policy 248
server requests
queuing 520
triggering action 27
server-side
design 164
domain model 163
frameworks 111
login request code 430
MVC structure 102
PHP example 478
programming environment 161
programming languages 161
query for results 334
testing 368
XSLTprocessing 488
service, in SOA 170
service-oriented architecture, Ajax and 170
servlet filter 430
function alternate 430
ServletRequest parameters 58
session
finding user in 432
persistent documents in 18
saving active windows 452
storing user object 432
user 14
SetClass() for fade transition 527
setInterval(), JavaScript 220
setOptions() in RSSReader object 547
setRequestHeader() 276
setter, getter methods, for dynamic updating 442
setTimeout() 528
Settings() 450
showOrbit() 301
Simple Object Access Protocol. See SOAP
simplicity application feature 215
singleton
defined 88
design pattern in business logic 90
scripting context 90
slideshow
behavior 549
forward, back pause control 511
starting 522, 547
transitions 510
SOAP
browser tools for 260
build request manually 260
creating 260
parsing response 260
response example 261
role in security 253
sovereign application
definition 15
frameworks moving toward 24
SQL
dynamic query construction 335, 338
empty result set 336
extracting results 339
injection attack 96
injection error check 338
table creation 429
SQL SQuirrel database client program 429
start(), in RSSReader object 548
startSlideShow(), in RSSReader object 552553
status bar, notification implementation 226
stopwatch categories 284
stopwatch library 283
stopwatch.start() 284
storyboards, as Web app model 66
stress-testing, memory management 320
string formatting with regular expressions 386
stying, visual with CSS 41
style array, DOM property 51
style classes
applying 48
naming 48
style properties, CSS 39
background image 40
color 40
dimensions 39
positioning 39
text properties 39
visibility 40
style.left, DOM property 78
style.pixelLeft, DOM property 78
stylesheet, XSLT as 479
subdomain
determining identical 249
effect on scripts 249
using document.domain property 250
submit button, disabling 194
submit() 329
submitGuess() 258
Sun Java Studio Creator 569
synchronous communication
example 12
hyperlink 23
synchronous server requests, usability impact 216
syndicated XML feed 504
how to view 504
syndication feed, formats of 506
syntax definition files, pluggable 565
Syntax highlighting 565
system resources in performance 280
T
table cells, showing empty 477
table width property 486
tag, inline 435
Task Manager 312
adding columns 313
Technical Pursuit 24
template
for XML document 476
XSLT 480
template language
Apache Velocity 100
definition 100
PHP Smarty 100
example 100
testing
by non-developer 214
file links 446
for latency 213
providing client input 368
robustness 213
text attribute in IE 357
text rendering 154
text style properties 39
text-align property CSS 436
textbox, detecting active 379
TextPad, editor 567
TextSuggest component 394
texturing elements, with CSS 45
this
keyword 76
resolving reference 572
Thomas, Dave 603
tier, in architecture 162
compared to MVC 162
TimedEvent object 284
timeout method, JavaScript 390
timer object for transitions 520
timers, using JS 390
timestamp 218
format of 221
timing events, adding and removing 390
timing execution 282
system clock 282
toDocumentPosition(), Rico 416
toHTML method 542
tools, custom made 563
tooltip
device, in notification 225
event handlers 229
implementation 229
pinned 229
top variable 90
toString()
for view object 544
results with different objects 151
traffic volume, Ajax vs conventional web 21
transfer objects, in J2EE 163
transformNode(), XSLT processing 483
transient application definition 15
transition
effect 511, 554
implementing 527
object, in Scriptaculous library 109
timing 519
triple combo box 345
try...catch blocks, in JS 257
type-ahead suggest 362
basic process 362
effect of fast typists 363
handling multiple elements 377
limiting post backs 364
limiting results 364, 368
middle of a word result 368
multiple elements 392
operation 391
parameters for 373
TypeAhead() 380
typing, loose 590
U
UI manipulation 557
underline with regular expression 387
undo(), using command objects in 85
UniversalBrowserRead privilege
in Mozilla browsers 557
invoking 535
updates
by multiple users 218
notifying users 218
timestamp for 218
polling ther server for 218
UpdateServlet, for saving windows 451
UpdateStatus() 522523
updateView(), in RSSReader object 558
usability 212
alert message for errors 217
consistency 214
desktop app vs. web page 212
feedback 212
responsiveness 213
robustness 213
simplicity 215
usage contract, portal object 459
user accounts 429
user interface
drag-and-drop in Ajax 22
generate from a model 147
GMail 24
response time 11
rich client 5
smooth interaction 21
toolkits 214
Backbase 214
Bindows 214
qooxdoo 214
typical web page 8
user interface programming, frameworks for 167
user interface quality 4
user investment in the application 212
user table, design 429
user updates
managing 197
server side code 202
to server 201
V
var keyword 349
Venkman
plug-in debugger 288, 577
profiler 288
profiler output 288289
version control tools, integration with 566
view in MVC 124134
application level 124
business logic in 125
example 121
excluding model logic 124
for mesages 225
hand coded 147
in RSS reader object 541
initializing 541
refactoring 101
view object in MVC as as string 544
Vim, editor 568
visibility semantics in JavaScript 541
Visual Studio, Visual InterDev component 568
W
web application
architecture 162
as set of pages 14
blocked pages 21
classic 4
conventional 8
conventional interaction 27
life cycle 17
limitations 9
problems 8
transient application 15
web archive (.war) file 454
web browsers
potential of 4
technology included with 34
web service
accessing with Ajax 253
as Ajax data source 170
coarse-grained façade 172
fine-grained façade 172
protecting private methods 172
Web Services, definition 170
Web Tools Platform project-Eclipse 569
Webber, J.G. 315
weblog 504505
availability 505
widget
button, implementing 84
desktop 40
need for custom 169
sets for JavaScript 108
width of div elements 513
width of element set by padding 416
width property
CSS 517
in IE 343
window
DHTML library 445
extracting properties 449
saving properties 448
storing size and location 439
window library
adapting for autosave 448
testing 447
window properties database table 439
Windows Forms for .NET, framework 168
workflow
in Ajax application 27
interrupting 217
interruptions 213
X
x library 104
XML
coupling client and server 190
data format 188
dynamic generation 205
form definition 335
generating content 94
parsing 145
parsing Google return 260
SOAP message 260
support for 189
XML document
as medium for client/server communication 95
dynamic construction 478
dynamic creation 336
parsing 357
structuring 476
XML feeds
Ajax for viewing 504
formats 504
viewing multiple 504
XML messages, bulk of 173
XML parsing 540
XML syndication feed 504
XmlDocument object
description 56
sample usage 56
XMLHttpRequest object
Ajax component 32
creating 348
cross browser invocation 346
description 56
function of 366
library for 105
querystring parameters 58
responseText property 64
responseXML property 64
script loading 186
setting Mozilla permission 535
using JSON data 191
using SOAP messages 253
XSLT
applying to source 481
choosing to use 489
degradation of processing 492
document example 480
ease of change 489
for-each loop 481
input from web design 489
output 480
pattern 479, 481
pattern matching 479
processing input 492
reusable component 491
rules for transformation 479
select attribute 481
stylesheet 479
template 480
template rules 479
value-of operator 481
version, encoding 480
XML document structure 476
XML namespace 480
XSLTHelper object 492
XSLTProcessor object
in Mozilla 484
Y
Yahoo!, portal 425
Z
z-Index property 524
zones, in IE security model 250
zoom slider, widget 169