HTML5 Haptics Standardization

Slides:



Advertisements
Similar presentations
Build Amazing Apps with Web Standards Mobile HTML5 Applications In Hours, Not Days.
Advertisements

Developing downloadable mobile apps using HTML5 and PhoneGap Apache Callback Ron Perry, CTO, Worklight Inc.
HTML5, OVERVIEW AND NEW FEATURES PowerPoint by Mason O’Mara.
HTML 5. What is HTML5? HTML5 will be the new standard for HTML, XHTML, and the HTML DOM. The previous version of HTML came in The web has changed.
HTML 5 Tutorial Chapter 1 Introduction. What is HTML5? HTML5 will be the new standard for HTML, XHTML, and the HTML DOM. The previous version of HTML.
Bartosz Kowalski Software Developer CERN. Presentation outline -HTML : introduction and history -HTML5 : -History and philosophy -New features -Structure.
Active X Microsoft’s Answer to Dynamic Content Reference: Using Active X by Brian Farrar QUE
Lecture 18. HTML5 and JavaScript Instructor: Jie Yang Department of Computer Science University of Massachusetts Lowell Exploring the Internet,
It’s always better live. MSDN Events Developing ASP.NET AJAX Controls with Silverlight.
Web Design Basic Concepts.
Presented by…. Group 2 1. Programming language 2Introduction.
Chapter 11 Adding Media and Interactivity. Flash is a software program that allows you to create low-bandwidth, high-quality animations and interactive.
Referent · von xx Seiten HTML5. Overview 1.HTML & HTML5 Basics Facts 2.Flash vs. HTML5 3.HTML5 - the new features Sebastian Viereck·
HTML5. What is HTML5? HTML5 will be the new standard for HTML. HTML5 is the next generation of HTML. HTML5 is still a work in progress. However, the major.
Relatore: Ing. Marco Porta Correlatore: Ing. Massimo Cellario Tesi di Laurea di: Andrea Marchetti Anno Accademico 2010/2011 UNIVERSITA’ DEGLI STUDI DI.
HTML 5 New Standardization of HTML. I NTRODUCTION HTML5 is The New HTML Standard, New Elements New Attributes Full CSS3 Support Video and Audio 2D/3D.
HTML5 GAMING By Scott Benton. HTML5 New HTML Standard Previous Version of HTML, HTML 4.01, Released in 1999 Not an Official Standard Yet No Browsers Have.
Evaluation of HTML5 Graphics for Data Structure Visualization
What is Web Design?  Web design is the creation of a Web page using hypertext or hypermedia to be viewed on the World Wide Web.
Web 2.0: Concepts and Applications 11 The Web Becomes 2.0.
Web 2.0: Concepts and Applications 11 The Web Becomes 2.0.
IE11 Preview is here! Briefing prepared for the IE MVPs and IE userAgents communities.
Mobile App Support Jacob Poirier Geri Hengesbach Andrea Menke Erin Rossell.
SVG: The Past, Present and Future of Vector Graphics for the Web Patrick Dengler Senior Program Manager, Internet Explorer Team Member, W3C SVG Working.
Building Windows 8 Apps with HTML & JavaScript Jaime Rodriguez Principal
Fall, Privacy&Security - Virginia Tech – Computer Science Click to edit Master title style Design Extensions to Google+ CS6204 Privacy and Security.
Windows Store apps with HTML + Facebook integration
PRO HTML5 PROGRAMMING POWERFUL APIS FOR RICHER INTERNET APPLICATION DEVELOPMENT.
Silverlight Technology. Table of Contents 1.What is Silverlight Technology? 2.Silverlight Overview. 2.1 How it works 2.2 Silverlight development tools.
Congratulations! You are part of a global community of thousands of web developers who attend Web Camps to keep their web development skills up-to-date.
2006 Adobe Systems Incorporated. All Rights Reserved. 1 Adobe RIA Technologies: Adobe Flex 3 Cornel Creanga Platform Evangelist
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
Building Rich Web Applications with Ajax Linda Dailey Paulson IEEE – Computer, October 05 (Vol.38, No.10) Presented by Jingming Zhang.
Session: 1. © Aptech Ltd. 2Introduction to the Web / Session 1  Explain the evolution of HTML  Explain the page structure used by HTML  List the drawbacks.
CSS 2D Transforms CSS 3D Transforms CSS Animations CSS Backgrounds & Borders CSS Color CSS Flexbox CSS Fonts CSS Grid CSS Hyphenation CSS Image Values.
UPLOAD / DOWNLOAD april  HTML5 is just the next iteration of HTML  Previous version was technically HTML 4.01, which incorporated XHTML 1.0.
1 3 Computing System Fundamentals 3.4 Networked Computer Systems.
Plug-in Architectures Presented by Truc Nguyen. What’s a plug-in? “a type of program that tightly integrates with a larger application to add a special.
Mobile: Today and Beyond Stuart Parmenter, Director of Mobile
HTML 5 The Future of Web Development. What is HTML5? “HTML5 is a specification of how the web’s core language, HTML, should be formatted and utilized.
1 What is JQuery. jQuery is a fast and concise JavaScript Library that simplifies HTML document traversing, event handling, animating, and Ajax* interactions.
Web 2.0: Concepts and Applications 11 The Web Becomes 2.0.
Internet Explorer 10 IE9 hardware-accelerated platform CSS 2D Transforms CSS Backgrounds & Borders CSS Color CSS Fonts CSS Media Queries CSS Namespaces.
Chapter 1 Introduction to HTML, XHTML, and CSS HTML5 & CSS 7 th Edition.
Rich Internet Applications 9. HTML 5 and RIAs. HTML 5 Standard currently under development by W3C Aims to improve the language with support for the latest.
Microsoft’s Rich Web Technology XAML,WPF and WPF/E July, 2006 John Allwright.
May 6, 2009 Browser Compatibility Testing Definition It is a non functional type of testing where web based applications are tested on various browsers(IE.
Understanding Web-Based Digital Media Production Methods, Software, and Hardware Objective
® ® copyright © 2013 Open Geospatial Consortium What HTML5 and REST mean to the Geo community Raj Singh, PhD Open Geospatial Consortium
丁建文 國立高雄應用科大資管系副教授 兼任計網中心軟體發展組組長 跨平台行動應用軟體開發技術 : HTML5 & Mobile JavaScript Framework 暨南大學.
The Internet & Web Browsers Business Webpage Design Created by Kelly Seale Adapted by Jill Einerson.
Web Programming HTML-5. HTML5 Overview HTML5 is the next major revision of the HTML standard superseding HTML 4.01, XHTML 1.0, and XHTML 1.1. HTML5 is.
MOBAS Tutorial 2010 Tutorial on Mobile Applications & Systems 권오현, 김기환.
Agenda * What is HTML5 -- Its history and motivation * HTML/XHTML as Human / Machine Readable Format * HTML and its related technologies * Brief summary.
XHTML. What Is XHTML? XHTML stands for EXtensible HyperText Markup Language XHTML is almost identical to HTML XHTML is stricter than HTML XHTML is HTML.
The HTML5 logo was introduced by W3C in 2010
Chapter 17 The Need for HTML 5.
Chapter 4: Feature Detection & Drag and Drop
WebGL The HTML5/JavaScript 3D Computer Graphics API
HTML5 – The Saga Continues
Development of Internet Applications HTML5
HTML 5 Tutorial Chapter 1 Introduction.
BTEC NCF Dip in Comp - Unit 15 Website Development Lesson 05 – Website Performance Mr C Johnston.
Application with Cross-Platform GUI
Building beautiful and interactive apps with HTML5 & CSS3
Silverlight Technology
Chasing the evolving web
HTML5 and Designing a Rich Internet Experience
The Web Andrew Spooner
Lesson 3 Web Browsers.
Presentation transcript:

HTML5 Haptics Standardization Mohamed Mansour hello@mohamedmansour.com HTML5 Haptics Standardization Haptics Chrome

HTML5 Haptics Standardization 1 2 3 Vision HTML5 Haptics Plugins Google Chrome Extensions Prototype Architecture Future 4 5 6 7 Mohamed Mansour

HTML5 Haptics Standardization 1 2 3 Vision HTML5 Haptics Plugins Google Chrome Extensions Prototype Architecture Future 4 5 6 7 Mohamed Mansour

Vision Haptics Integration into HTML5 Rich JavaScript API to communicate to Haptics Cross platform Haptic device independent Standardized in W3C Mohamed Mansour

HTML5 Haptics Standardization 1 2 3 Vision HTML5 Haptics Plugins Google Chrome Extensions Prototype Architecture Future 4 5 6 7 Mohamed Mansour

HTML5 Haptics Standardization 1 2 3 Vision HTML5 Haptics Plugins Google Chrome Extensions Prototype Architecture Future 4 5 6 7 Mohamed Mansour

HTML5 1991 HTML 1994 HTML 2 1996 CSS 1 JavaScript 1997 HTML 4 1998 CSS 2 2000 XHTML 2002 Tableless 2005 AJAX 2009 HTML 5 INNOVATION Rough timeline of Web Technologies HTML – Tim Berners-Lee CSS – Separation of design from content by Hakon Wium Lie XHTML (HTML 4.01) – Has doctype many tags (ul, u, thead, table), proper nested, proper xml, closed, lowercase, one root element Tableless – With CSS (960 grid) AJAX – Jesse James Garret key player Mohamed Mansour

What is HTML5? HTML5 = HTML + CSS + JavaScript APIs Mohamed Mansour

HTML5 New features Storage Application Cache Web Workers Web Sockets Notifications Drag and Drop Geolocation Semantic Tags Link Relations, and Microdata ARIA New form fields Audio and Video Canvas and SVG Font Text Support, Opacity, Rounded Corners Shadows, Gradients Backgrounds, Transitions Transformations, Animations Device A lot more! Selectors - getElementsByClassName(‘foo’) - querySelectoryAll(‘ul li:nth-child(odd)’) WebStorage - localStorage Web SQL Database Var db = Window.openDatabase(‘database name’); db.transaction(function(tx) {tx.executeSql Application Cache - Looks in a manifest for <html manifest=“cache.manifest”> for cache status Web Workers Var workers = new Worker(‘some file.js’); worker.onmessage = function(event) {alert(event.data)); Self.onmessage = function(event) {do some work} Web Sockets var socket = new WebSocket(location); Socket.onopen Socket.onmessage Socket.onclose Drag and Drop Dragstart, dropend Semantic Tags (header, section, nav, article, aside, footer) Link Relationships pingback, prefetch, archives, external, license, nofollow, tag all under “rel” Microdata Rich for snippets and search engines, like itemscope, itemtype, itemprop ARIA Accessible Rich Internet Applications Role, aria-expanded, aria-labelledby New form fields - Placeholder for search, color, number, email, tell types, range, etc Mohamed Mansour

HTML5 Haptics Standardization 1 2 3 Vision HTML5 Haptics Plugins Google Chrome Extensions Prototype Architecture Future 4 5 6 7 Mohamed Mansour

HTML5 Haptics Standardization 1 2 3 Vision HTML5 Haptics Plugins Google Chrome Extensions Prototype Architecture Future 4 5 6 7 Mohamed Mansour

Haptics Technology that interfaces with the user through the sense of touch [definition] The process of recognizing objects through touch [another definition] Mohamed Mansour

Haptic Devices Omni Wrist band Novint Jacket Gloves Way more … Mohamed Mansour

How they work? Robotic Sensors Feedback Ex: You send forces to the device, and it magically moves. You request positional data from the device. Mohamed Mansour

HTML5 Haptics Standardization 1 2 3 Vision HTML5 Haptics Plugins Google Chrome Extensions Prototype Architecture Future 4 5 6 7 Mohamed Mansour

HTML5 Haptics Standardization 1 2 3 Vision HTML5 Haptics Plugins Google Chrome Extensions Prototype Architecture Future 4 5 6 7 Mohamed Mansour

Plugins Browser plugins is the only way you can allow the user to communicate to native code. Current state of HTML is still limited … look at Flash, why did it exist? Can do almost anything! But very very very Dangerous! Mohamed Mansour

Plugins Active X NPAPI (very low-level) Microsoft Internet Explorer Google Chrome Firefox Opera Safari Mohamed Mansour

NPAPI Very long name …. Netscape Plugin Application Programming Interface. Very powerful! It is just a single library (.dll, .so, .plugin) file that gets loaded. You just need at least 3 Library Exports: NP_GetEntryPoints NP_Initialize NP_Shutdown Mohamed Mansour

Scriptable to NPObject* NPAPI Architecture Plugin LOGIC <embed> 3 1 2 DLL EXPORTS Scriptable to NPObject* 5 4 Browser API NPN_* Mohamed Mansour

HTML5 Haptics Standardization 1 2 3 Vision HTML5 Haptics Plugins Google Chrome Extensions Prototype Architecture Future 4 5 6 7 Mohamed Mansour

HTML5 Haptics Standardization 1 2 3 Vision HTML5 Haptics Plugins Google Chrome Extensions Prototype Architecture Future 4 5 6 7 Mohamed Mansour

Google Chrome Multi Process Browser Very fast JavaScript and Rendering Tab, Plugins, Renders, Extensions, Browser Very fast JavaScript and Rendering GPU Accelerated Canvas and WebGL Secure Sandbox, for Plugins Very fast at implementing HTML5 features. Open Source browser Mohamed Mansour

HTML5 Haptics Standardization 1 2 3 Vision HTML5 Haptics Plugins Google Chrome Extensions Prototype Architecture Future 4 5 6 7 Mohamed Mansour

HTML5 Haptics Standardization 1 2 3 Vision HTML5 Haptics Plugins Google Chrome Extensions Prototype Architecture Future 4 5 6 7 Mohamed Mansour

Google Chrome Extensions Small software that can modify and enhance the functionality of Google Chrome. Using web technologies, HTML, JavaScript, and CSS. Easily expose NPAPI functionality. Separate Process Mohamed Mansour

Chrome Extension Basics Background page Lengthy process, long lived, singleton. Browser Actions / Page Actions Desktop Notifications Override Pages Browser Interaction (Bookmarks, Cookies, History, Events, Management, Windows, Tabs) Plugin Interaction. Mohamed Mansour

HTML5 Haptics Standardization 1 2 3 Vision HTML5 Haptics Plugins Google Chrome Extensions Prototype Architecture Future 4 5 6 7 Mohamed Mansour

HTML5 Haptics Standardization 1 2 3 Vision HTML5 Haptics Plugins Google Chrome Extensions Prototype Architecture Future 4 5 6 7 Mohamed Mansour

Prototype HTML5 Device Tag <device> Interface Type Mohamed Mansour

Device Tag Still in implementation (research phase) It can change! Add a Haptics “type” Dreamy Ex: <p> To start, Select a haptic device: <device type=haptic onchange="update(this.data)"> </p> <script> function update(stream) { console.log(stream.data); } </script> Mohamed Mansour

Prototype , Needed? Proof of concept needed to prove that Haptics needs love! And the future of computer human interactions! Rescue …  Mohamed Mansour

Prototype, Chrome Extension How do we do it right now! HTML5 (Web Workers) CSS3, Canvas (WebGL Context Graphics) Chrome Extension Dedicated Thread (Background Page) Haptics Controller (Browser Action) Page Interactions (Page Action) Accessibility (ARIA) NPAPI Haptics Plugin communicates to Chrome Extension C++ extreme (scene graph, triangles) collision detection algorithms Mohamed Mansour

HTML5 Haptics Standardization 1 2 3 Vision HTML5 Haptics Plugins Google Chrome Extensions Prototype Architecture Future 4 5 6 7 Mohamed Mansour

HTML5 Haptics Standardization 1 2 3 Vision HTML5 Haptics Plugins Google Chrome Extensions Prototype Architecture Future 4 5 6 7 Mohamed Mansour

Architecture High Level C Plus Plus Novint Device HTML5 Mohamed Mansour

Architecture Plugin Plugin Module Plugin Gate Scripting Bridge Haptics Service NP_GetEntryPoints  NP_Initialize  NP_Shutdown  Haptics Device Utils Haptics Signal Mohamed Mansour

Glimpse of Plugin Code Mohamed Mansour

Architecture, Extension Browser Action to act as the controller Background Page, to allow the plugin to live forever. JavaScript for Some Collision Detection, Haptic Loop, and Rendering Loop. Mohamed Mansour

Framework O3D JavaScript API for creating rich and interactive 3D application in the broswer using Canvas, WebGL context. Haptics API void startDevice(); void stopDevice(); void sendForce(double[3]); double[3] position; addEventListener(‘servo’, function(Haptic data)); Mohamed Mansour

Open Source’d Release it to the public! That is how I learned how to code, give back to the community! You can fork it from GitHub from here: http://github.com/mohamedmansour/haptics-chrome-extension Mohamed Mansour

Working Prototype Mohamed Mansour

HTML5 Haptics Standardization 1 2 3 Vision HTML5 Haptics Plugins Google Chrome Extensions Prototype Architecture Future 4 5 6 7 Mohamed Mansour

HTML5 Haptics Standardization 1 2 3 Vision HTML5 Haptics Plugins Google Chrome Extensions Prototype Architecture Future 4 5 6 7 Mohamed Mansour

Future Present this to the W3C Developer Group Help Google Chrome complete <device> tag implementation. Implement the Prototype again using the <device> tag. Implement webpage interactions, like annotated YouTube Videos to feel video touch. Mohamed Mansour

Done! Thank you, questions? 1 2 3 Vision HTML5 Haptics Plugins Google Chrome Extensions Prototype Architecture Future 4 5 6 7 Mohamed Mansour