AWS Community Day CPH - Three problems of Terraform
Google I/O State Of Ajax
1.
2. State of Ajax
Dion Almaer, Google
Ben Galbraith, Mediabank
Founders, Ajaxian.com
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13. “Google Suggest
and Google Maps are two
examples of a new approach
to web applications that we at
Adaptive Path have been calling
Ajax. The name is shorthand for
Asynchronous JavaScript + XML,
and it represents a fundamental
shift in what’s possible
on the Web.”
Jesse James Garrett
Co-founder, Adaptive Path
14. “Google Suggest
and Google Maps are two
examples of a new approach
to web applications that we at
Adaptive Path have been calling
Ajax. The name is shorthand for
Asynchronous JavaScript + XML,
and it represents a fundamental
shift in what’s possible
on the Web.”
Jesse James Garrett
Co-founder, Adaptive Path
Designer!
28. Jef Raskin
Noted Usability Expert
The Humane Interface
“The quality of any [software] is
ultimately determined by the
quality of the interaction between
one human and one system.”
29. Jef Raskin
Noted Usability Expert
The Humane Interface
“If a system’s one-on-one
interaction with its human user is
not pleasant and facile, the
resulting deficiency will poison
the performance of the entire
system, however fine that system
might be in its other aspects.
36. User Interface
Visual Design
Interaction Design
“Seductive user interfaces” are
vacuous distractions!
HCI researchers are nerds!
Emacs!
vi!Microsoft Rulez!
Real programmers
use C++
56. Jakob Nielsen
Noted Usability Expert
“The basic advice regarding
response times has been about the
same for thirty years:
57. Jakob Nielsen
Noted Usability Expert
“0.1 second is about the limit for
having the user feel that the
system is reacting instantaneously,
meaning that no special feedback
is necessary except to display the
result.
58. Jakob Nielsen
Noted Usability Expert “1.0 second is about the limit for
the user's flow of thought to stay
uninterrupted, even though the
user will notice the delay.
59. Jakob Nielsen
Noted Usability Expert
“Normally, no special feedback is
necessary during delays of more
than 0.1 but less than 1.0 second,
but the user does lose the feeling of
operating directly on the data.”
60. <script type="text/javascript">
function getCityByZip(zip) {
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
processResults(xhr);
}
xhr.open("GET", "/fun.endpoint?zip=" + zip);
xhr.send(null);
}
function processResults(xhr) {
if (xhr.readyState == 4) {
var parent = document.getElementById("cityParent");
parent.innerHTML = xhr.responseText;
}
}
</script>
70. The Old Taxonomy
dojoYour Soup-to-Nuts Ajax/Javascript
Platform
Prototype
Lightweight Ajax/JavaScript helpers
GWT
Hate JavaScript? No problem, use Java.
jQuery
New, DOM-centric JavaScript helper
73. Prototype jQuery Dojo Core
Plug-in Community
scripteka.com
Plug-in Community
plugins.jquery.com
Plug-in Community
dojox
The New Taxonomy
74. Prototype jQuery Dojo Core
Plug-in Community
scripteka.com
Plug-in Community
plugins.jquery.com
Plug-in Community
dojox
Script.aculo.us jQuery UI dijit
The New Taxonomy
81. Jakob Nielsen
Noted Usability Expert
“0.1 second is about the limit for
having the user feel that the
system is reacting instantaneously,
meaning that no special feedback
is necessary except to display the
result.
91. Operating System
Event Queue
Mouse Moved
Mouse Pressed
Mouse Released
Key Pressed
Key Released
JavaScript Web Browsing
Potential
Bottleneck
Browser
100. Jef Raskin
Noted Usability Expert
The Humane Interface
“If [a] feature is well–designed,
and if we use it repeatedly, we
eventually... use the feature
habitually, without thought or
conscious effort.
101. Jef Raskin
Noted Usability Expert
The Humane Interface
“In operating an interface we
combine or ‘chunk’ sequences of
actions into gestures, which, once
started, proceed automatically.
Because we form gestures,
techniques such as having a user
respond Y or N to an ‘Are you
sure?’ verification do not provide
safety: The typed ‘Y’ becomes
part of the gesture.”
106. Some Business Form
First Name:
Last Name:
Address Line 1:
Address Line 2:
City:
State:
Zip:
Foo:
Gawuzzit:
Lugnutzwit:
Cookie Monster:
Some Value
Some Value
Some Value
Some Value
Some Value
Some Value
Some Value
Some Value
Some Value
Some Value
Some Value
Form History:
Present
Past
107. Some Business Form
First Name:
Last Name:
Address Line 1:
Address Line 2:
City:
State:
Zip:
Foo:
Gawuzzit:
Lugnutzwit:
Cookie Monster:
Some Value
Some Value
Some Value
Some Value
Some Value
Some Value
Some Value
Some Value
Some Value
Some Value
Some Value
Form History:
Present
2 weeks ago
Past
History Value Here
History Value Here
History Value Here
History Value Here
History Value Here
History Value Here
History Value Here
History Value Here
History Value Here
History Value Here
History Value Here
144. The New Java Plug-in
Beta Shipping Today with Java 1.6 “Update 10”
1 Java plug-in now out-of-process
No more locking up the browser UI on launch
Applets can persist across browser sessions
More control over the Applet’s JVM
2 Improved Applet deployment
JavaScript-based “Deployment Toolkit”
Mature JNLP-based Applet metadata
3 A smaller JDK
Micro-kernel gives streamlined download option
153. HTML 5 Gears
• Standards
• Long term
• All browsers
• No plugin
• Implementation
• Battle hardened
• A place for innovation
• Cross browser
• Plugin
Past
Present
Future
A bleedingedgeversionof HTML 5!