HTML5 Standard and features. INF5750/ Lecture 6 (Part I)



Similar documents
Differences between HTML and HTML 5

Research on HTML5 in Web Development

Unlocking the Java EE Platform with HTML 5

HTML5 & CSS3. ( What about SharePoint? ) presented

Fast track to HTML & CSS 101 (Web Design)

SUBJECT CODE : 4074 PERIODS/WEEK : 4 PERIODS/ SEMESTER : 72 CREDIT : 4 TIME SCHEDULE UNIT TOPIC PERIODS 1. INTERNET FUNDAMENTALS & HTML Test 1

Building A Self-Hosted WebRTC Project

CLASSROOM WEB DESIGNING COURSE

TIME SCHEDULE OBJECTIVES

WEB DEVELOPMENT IA & IB (893 & 894)

Web Design Specialist

Step into the Future: HTML5 and its Impact on SSL VPNs

Search Engine Optimization Glossary

Outline. CIW Web Design Specialist. Course Content

WEB DESIGN COURSE CONTENT

WebRTC.... GWT & in-browser computation. Alberto Mancini, Francesca Tosi JooinK.com

Web Authoring CSS. Module Descriptor

COMMONWEALTH OF PENNSYLVANIA DEPARTMENT S OF Human Services, INSURANCE, AND AGING

Modern Web Development From Angle Brackets to Web Sockets

Web Browser. Fetches/displays documents from web servers. Mosaic 1993

Advanced Web Development SCOPE OF WEB DEVELOPMENT INDUSTRY

^/ CS> KRIS. JAMSA, PhD, MBA. y» A- JONES & BARTLETT LEARNING

Abusing HTML5. DEF CON 19 Ming Chow Lecturer, Department of Computer Science TuCs University Medford, MA

Firefox for Android. Reviewer s Guide. Contact us: press@mozilla.com

We automatically generate the HTML for this as seen below. Provide the above components for the teaser.txt file.

Advanced Online Media Dr. Cindy Royal Texas State University - San Marcos School of Journalism and Mass Communication

SAULT COLLEGE OF APPLIED ARTS AND TECHNOLOGY SAULT STE. MARIE, ONTARIO COURSE OUTLINE

HTML5 Features on Tizen. Wonsuk Lee, Samsung Electronics

HTML5 An Introduction

Authentication. TI1506: Web and Database Technology Claudia Hauff Lecture 2 [Web], 2014/15

Web Tracking for You. Gregory Fleischer

Responsive Web Design Creative License

Building a Website using Site Builder

WWW. World Wide Web Aka The Internet. dr. C. P. J. Koymans. Informatics Institute Universiteit van Amsterdam. November 30, 2007

RIA Technologies Comparison

Voluntary Product Accessibility Template Blackboard Learn Release 9.1 April 2014 (Published April 30, 2014)

Secure Testing Service

WebSocket Server. To understand the Wakanda Server side WebSocket support, it is important to identify the different parts and how they interact:

10CS73:Web Programming

Overview. History HTML What is HTML5? New Features Features Removed Resources 10/8/2014

Web Designing with UI Designing

HTML 4.01 Specification

Web Development. Owen Sacco. ICS2205/ICS2230 Web Intelligence

.NET Best Practices Part 1 Master Pages Setup. Version 2.0

Mobile on the web. SICS Open House Stockholm /05

AJAX and jmaki for Web 2.0 Development using Java. Inyoung Cho Java Technology Evangelist Sun Microsystems, Inc.

CaptainCasa. CaptainCasa Enterprise Client. CaptainCasa Enterprise Client. Feature Overview

IT6503 WEB PROGRAMMING. Unit-I

HTML5 and CSS3. new semantic elements advanced form support CSS3 features other HTML5 features

Course Information Course Number: IWT 1229 Course Name: Web Development and Design Foundation

Performance Testing for Ajax Applications

HTML5 technologies. Ework Stockholm

HTML5 and CSS3: New Markup & Styles for the Emerging Web. Jason Clark Head of Digital Access & Web Services Montana State University Libraries

All You Can Eat Realtime

JISIS and Web Technologies

Client-side Web Engineering From HTML to AJAX

Google Web Toolkit. Progetto di Applicazioni Software a.a. 2011/12. Massimo Mecella

Web Development I & II*

Lesson Review Answers

HTML CSS Basic Structure. HTML Structure [Source Code] CSS Structure [Cascading Styles] DIV or ID Tags and Classes. The BOX MODEL

Licensed to: Printed in the United States of America Principles of Web Design, Fifth Edition Joel Sklar

ShoreTel Enterprise Contact Center 8 Installing and Implementing Chat

Web Testing. Main Concepts of Web Testing. Software Quality Assurance Telerik Software Academy

Create interactive web graphics out of your SAS or R datasets

design coding monitoring deployment Java Web Framework for the Efficient Development of Enterprise Web Applications

Mobile Web Applications using HTML5. L. Cotfas 14 Dec. 2011

How To Use Dreamweaver With Your Computer Or Your Computer (Or Your Computer) Or Your Phone Or Tablet (Or A Computer)

BASICS OF WEB DESIGN CHAPTER 2 HTML BASICS KEY CONCEPTS COPYRIGHT 2013 TERRY ANN MORRIS, ED.D

INFORMATION TECHNOLOGY STANDARD

How To Create A Website Template On Sitefinity

Introduction to Web Development

DNS REBINDING DENIS BARANOV, POSITIVE TECHNOLOGIES

Web Design and Development ACS Chapter 13. Using Forms 11/30/2015 1

HTML5 the new. standard for Interactive Web

Macromedia Dreamweaver 8 Developer Certification Examination Specification

ANALYSIS. wikia.com. YOUR NAME & SLOGAN Call Me:

Mobile Web Design with HTML5, CSS3, JavaScript and JQuery Mobile Training BSP-2256 Length: 5 days Price: $ 2,895.00

Pizza SEO: Effective Web. Effective Web Audit. Effective Web Audit. Copyright Pizza SEO Ltd.

Introduction to Web Technologies

Introduction to web development using XHTML and CSS. Lars Larsson. Today. Course introduction and information XHTML. CSS crash course.

Mensch Maschine Interaktion II 1 1. Human Machine Interaction II

Chapter 3: Web Paradigms and Interactivity

HTML5 Multimedia DEVELOP AND DESIGN. Ian Devlin

Web Application Developer s Guide for the SoundPoint IP/SoundStation IP Family

Website Performance: Kyle Simpson

Peers Technologies Pvt. Ltd. Web Application Development

Agenda. 1. ZAPms Konzept. 2. Benutzer-Kontroller. 3. Laout-Aufbau. 4. Template-Aufbau. 6. Konfiguration. 7. Module.

HTML 4.0 Specification

Foundations. Web Development and Design. with HTML5. [Terry Ann Felke-Morris, Ed.D.J. 6th Edition. Harper College. Piyali Sengupta.

Web Development. Owen Sacco. ICS2205/ICS2230 Web Intelligence

Programming in HTML5 with JavaScript and CSS3

Voluntary Product Accessibility Template (VPAT)

Textbook s Website for Online Review of Each Chapter

Taleo Enterprise. Career Section Branding Definition. Version 7.5

Module 6 Web Page Concept and Design: Getting a Web Page Up and Running

Sitecore InDesign Connector 1.1

AJAX Storage: A Look at Flash Cookies and Internet Explorer Persistence

Universal Ad Package (UAP)

Transcription:

HTML5 Standard and features INF5750/9750 - Lecture 6 (Part I)

Problem Area The core language of the World Wide Web is HTML The WWW is accessed through a number of devices Current HTML standard was designed for creating web pages that are accessed through browsers in computers with links to other web pages Today HTML is used to create Touch-screen websites, Games, 3D graphics, Audio-video conferencing, etc Still we have to think whether our applications will work across devices

How to solve Standardization HTML is different from XHTML (WHATWG, 2004) WHATWG, a living HTML standard W3C uses version releases (HTML5, 2014. HTML5.1 2016) Testing browser compatibility part of the standard to check adherence Remember and Acid3? Acid2

HTML-syntax & XML-syntax <!doctype html> <html> <head> <meta charset="utf-8 > <title>example document</title> </head> <body> <p>example paragraph</p> </body> </html> <?xml version="1.0" encoding="utf-8"?> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>example document</title> </head> <body> <p>example paragraph</p> </body> </html> Character Encoding & Doctype <meta charset="utf-8"> Instead of <meta http-equiv="content-type" content="text/html; charset=utf-8"> No more DTDs. (earlier used for HTML quirks mode) and since HTML was SGML-based <!DOCTYPE html> Instead of <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/tr/html4/strict.dtd"> STRICT OR TRANSITIONAL <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/tr/html4/loose.dtd">

What s different in HTML5 28+ new elements Many new attributes Many changed attributes Obsolete elements Obsolete attributes HTML5 does not use the terms "blocklevel" or "inline New APIs Extensions

Content Model - Categories Metadata content, e.g. link, script. Flow content, e.g. span, div, text. This is roughly like HTML4's "block-level" and "inline" together. Sectioning content, e.g. aside, section. Heading content, e.g. h1. Phrasing content, e.g. span, img, text. This is roughly like HTML4's "inline". Elements that are phrasing content are also flow content. Embedded content, e.g. img, iframe, svg. Interactive content, e.g. a, button, label. Interactive content is not allowed to be nested.

New elements (commonly used ones) section to define an application section. Used with h1, h2.. main only used once, to highlight main content header - a group of introductory or navigational aids footer footer to a section, may contain author, copyright nav navigational part of the HTML figure/figcaption self-contained flow content video/audio multimedia content progress to monitor progress of long processing tasks canvas Used to render dynamic bitmap graphics input types tel, search, url, email, datetime, month, week, time, datetime-local, range, color

See examples for new elements - http://jsfiddle.net/sunbiz/4zjne/ - http://jsfiddle.net/sunbiz/4jxky/ - http://jsfiddle.net/sunbiz/kqymq/ - http://sunnam.us/~saptarshi/ - http://jsfiddle.net/sunbiz/dqaf5/ - http://jsfiddle.net/sunbiz/xx5qb/ - http://www.senchalabs.org/philogl/demos.html

New attributes (commonly used ones) download hyperlink to download a resources [a, area] charset to specify character set [meta] autofocus focused after page loads [input, select, button, ] placeholder hint/tooltip shown [input, textarea] form link element to form [input, select, fieldset, object ] required data should be filled [input, select, textarea] many new attributes to input autocomplete, min, max, async asynchronous loading [script] manifest application cache manifest offline data [html] sizes different sizes icons [link: type= icon ] crossorigin getting image from another domain [img]

Obsolete elements Better done through CSS: basefont, big, center, font, strike, tt Removed because they are bad from usability frame, frameset, noframes - (DO NOT CONFUSE iframe) Confusing or duplicate ones removed acronym is removed. Instead use abbr for abbreviations. applet removed. Instead use object. isindex usage can be replaced by usage of form controls. dir removed. Instead use ul. noscript only in HTML and not XML

New APIs video/audio have APIs for playback, with subtitles API for offline Web applications, using application cache Drag & drop API in combination with a draggable attribute Location interface exposing document's URL & navigation History interface exposing session history atob(), btoa() Base64 encoding settimeout(), setinterval() timer based callbacks postmessage(), MessageChannel interface for crossdocument and channel messaging Worker, SharedWorker interface for background scripts localstorage, sessionstorage for offline data WebSocket, EventSource client/server communication

API examples - Video API - http://jsfiddle.net/sunbiz/p5drc/4/ - Custom Validation - http://jsfiddle.net/sunbiz/uy9ae/1/ - Drag Drop & Base64 - http://jsfiddle.net/sunbiz/b2fxk/2/ - Worker & MessageChannel - http://threadcomm.appspot.com/

Highly Innovative Changes Among the APIs, we can see some highly disruptive changes, that modify the way we ve seen the WWW till date WebSocket LocalStorage, SessionStorage, IndexedDB (Covered in Part II) WebRTC

WebSockets WWW is largely based on so-called request/response paradigm of HTTP How does a server send information to client, when it wants to?? Push data to client HACK1: With long polling, the client opens an HTTP connection to the server which keeps it open until sending response Yuck2: Use Flash or Java applet and sockets from those Comes Comet and then standardized WebSocket to rescue!

Code snippets // Defining a connection. Currently SOAP and XMPP are supported sub-protocol var connection = new WebSocket('ws://folk.uio.no/~saptarsp/echo', ['soap', 'xmpp']); // When the connection is open, send some data to the server connection.onopen = function () { connection.send('ping'); // Send the message 'Ping' to the server }; // Sending String connection.send('your message'); // Sending canvas ImageData as ArrayBuffer var img = canvas_context.getimagedata(0, 0, 400, 320); var binary = new Uint8Array(img.data.length); for (var i = 0; i < img.data.length; i++) { binary[i] = img.data[i]; } connection.send(binary.buffer); // Sending file as Blob var file = document.queryselector('input[type="file"]').files[0]; connection.send(file);

WebSocket Demo http://labs.dinahmoe.com/plink/ http://html5demos.com/web-socket Using WebSocket creates a whole new usage pattern for server side applications Such architectures are usually designed around either threading or so called non-blocking IO.

WebRTC WebRTC is a new front in the long war for an open and unencumbered web. Brendan Eich, inventor of JavaScript Imagine a world where your phone, TV and computer could all communicate on a common platform. WebRTC implements three APIs: MediaStream (aka getusermedia) RTCPeerConnection RTCDataChannel https://apprtc.appspot.com/

The War Goes On On 2 nd Oct, 2013, the W3C accepted proposal to include DRM as part of in HTML5 The purpose of DRM is to give content providers leverage against creators of playback devices. (W3C, Ian Hickson) Mozilla s bug report - Pledge never to implement HTML5 DRM - https://bugzilla.mozilla.org/show_bug.cgi?id=923590

Resources W3C HTML5 Candidate Release http://www.w3.org/html/wg/drafts/html/cr/ WHATWG HTML Living Standard http://www.whatwg.org/specs/web-apps/current-work/multipage/ Discussion around HTML5 DRM https://plus.google.com/107429617152575897589/posts/ipmatxbyuj2 http://www.theguardian.com/technology/blog/2013/mar/12/timberners-lee-drm-cory-doctorow