Top Banner
The best UI platform yet…
24
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Html5

The best UI platform yet…

Page 2: Html5

The WWW platform

W3C has been adding features to HTML

Major browsers support the standards

Latest version is HTML5

Has all of the power of native applications

Plus more!

Page 3: Html5

Outline

Introduction

HTML5 for HCI

Why choose HTML5?

<canvas>

WebGL

Multi-touch

Web SQL Database

Web Sockets

Better local file support

Offline support

Conclusion

Page 4: Html5

Introduction

Important to stay current in HCI

Browsers will eventually replace other UI

platforms

Page 6: Html5

Why HTML5?

HTML5 and javascript are interpreted

No compilation

Can test UI changes with a console window

Firebug extension for Firefox

Page 7: Html5

Why HTML5?

Cross-platform

Most browsers (read: not IE) conform to the

W3C standards

The same code works on PC, Mac, Linux

Page 8: Html5

Why HTML5?

Mobile device support

Page 9: Html5

Why HTML5?

No need for software updates

Everyone sees the latest version

Development can be done anywhere

No need for special software

Just a terminal and Firefox/Firebug

Page 10: Html5

<canvas>

Acts like a canvas

Can draw on it using vector functions

Lines

Rectangles

Paths

○ Arcs

○ Curves

Page 11: Html5

<canvas>

Or using raster functions

Copy from HTML element

○ <img>

○ <video>

Manipulate pixels directly

Image processing

Page 12: Html5

<canvas> example

<html>

<head>

<script>

function a() {

var c = document.getElementById(„c‟);

var ctxt = c.getContext(„2d‟);

ctxt.arc(50, 50, // Center of circle (x, y)

25, // Radius

Math.PI / 2, // Start angle

0, // End angle

false // Counter-clockwise

);

ctxt.stroke();

}

</script>

</head>

<body onload=“a();”>

<canvas id=“c” height=“100” width=“200”></canvas>

</body>

</html>

Page 13: Html5

<canvas> example

Page 14: Html5

WebGL

Native 3D rendering in the browser

Makes use of the same <canvas>

element

Syntax is like OpenGL

Lessons

Quake II

Page 15: Html5

Multi-touch

Gave this in last

presentation, but here‟s

a link to the tutorial

http://developer.apple.com/safari/library/documentation/appleapplications/reference/saf

ariwebcontent/handlingevents/handlingevents.html

Works with iPad/iPhone/iPod and Windows

7 with Chrome & Firefox

Page 16: Html5

Web SQL Database

Can store relational

data locally in the

browser

Especially useful for

offline apps (more

later)

Page 17: Html5

Web SQL Database

db = openDatabase(„testDB‟, // Name„1.0‟, // Version„Testing database‟, // User-friendly name1000000 // Maximum size (bytes)

);

db.transaction(function(tx) {tx.executeSql(„CREATE TABLE Foo (ID INT,

Name TEXT)‟);tx.executeSql(„INSERT INTO Foo (ID, Name)

Values(1, „bar‟);});

Page 18: Html5

Web SQL Database

db.transaction(function(tx) {

tx.executeSql('SELECT * FROM Foo', [], function (tx, results) {

var len = results.rows.length, i;

for (i = 0; i < len; i++) {

var row = results.rows[i];

alert(row.ID + „ – „ + row.Name);

}

});

});

Page 19: Html5

Web Sockets

HTML now allows persistentconnections with the server

Real-time collaboration andupdates

Examples: Stock ticker

Chat room

White board

http://www.indicthreads.com/1525/building-real-time-web-applications-using-html-5-web-sockets/

Page 20: Html5

Working with Files

Using Files in Web Applications

Page 21: Html5

Offline support

HTML File

<html manifest=“offline.manifest”>…

Offline.manifest contents (must have MIME type of text/cache-manifest)

CACHE MANIFEST

styles.css

jquery-1.4.min.js

offline.js

index.html

Page 22: Html5

Detect online/offline events

// standard event listeners

window.addEventListener("online", function() { ... });

window.addEventListener("offline", function() { ... });

Page 23: Html5

Recommendations

Use Firefox with Firebug

jQuery is a fantastic library!

HTML5 can be used for iOS apps too!

Ask for my last presentation slides

Page 24: Html5

Conclusions

Let the web browser developers do all

the hard work

Applications have never been more

easy with HTML5

Great features at a great price

Develop without the need for bulky IDEs