Peter Lubbers from Kaazing gave a presentation on HTML5 features such as Web Workers, Geolocation, and WebSockets. He discussed how these new technologies allow for asynchronous background processing, location detection, and bi-directional real-time communications without polling. Browser support for HTML5 features was also reviewed.
No one wants a slow loading, slow reacting application. As page weight has increased so has the dependency on JavaScript to drive rich user experiences. Today many pages load over 2MBs of JavaScript, but is this healthy? Do your scripts and dependencies perform well? In this session we will review common JavaScript performance bottlenecks, how to detect them and how to eliminate them.
This session will review common bad coding syntax, architecture and how to replace them with better alternatives. You will also be exposed to caching, code organization, build and deployment best practices that produce the best user experiences. Finally, you will see how to use the navigation timing and performance timing APIs to fine tune your applications to produce a fast, lean application your customers will love.
This document contains slides from a presentation on Polymer and modern web APIs. The slides discuss how Polymer uses web components to build reusable custom elements, and how this allows for component-based development. They provide examples of popular elements like <paper-tabs> and <core-toolbar> that are used as building blocks. The slides also showcase several production uses of Polymer at Google scale, including the Google Santa Tracker application. They emphasize how Polymer leverages modern web platform APIs to build fast, modular, and powerful applications.
This document discusses using Backbone.js to build interactive front-end applications for WordPress. It provides an overview of Backbone and its components like models, collections, and views. It also discusses how Underscore.js is bundled with Backbone and its utility functions. Additionally, it covers how WordPress has integrated with Backbone through features like the JSON REST API and how this can be leveraged to build Backbone applications within WordPress. Finally, it shares an example of a Backbone directory application and resources for learning more about Backbone.
Node Webkit allows you to create desktop applications using HTML, CSS, JavaScript and Node.js modules. It combines the Chromium browser and Node.js framework. This allows building cross-platform desktop apps that can include Node functionality and access system resources. Examples are given of apps built with Node Webkit. Key aspects covered include how it integrates Chromium and Node.js, building a basic app, window rendering options, menus, tray apps, and the developer tools. Benefits for a medical conference app replacement are discussed.
Cool like a Frontend Developer: Grunt, RequireJS, Bower and other Tools
Bower, Grunt, and RequireJS are just a few tools that have been re-shaping the frontend development world, replacing cluttered script tags and server-side build solutions with a sophisticated, but sometimes complex approach to dependency management and module loading. In this talk, we'll put on our trendy frontend developer hat and find out how these tools work and how they differ from what we might be used to. Most important, we'll see how using tools like this might look in Symfony2 and how our application can be a friendly place for a frontend guy/gal.
Develop a vanilla.js spa you and your customers will love
Do you want to leverage HTML, CSS and JavaScripts APIs to deliver rich user experiences that outlive the framework du jour? Do You want to understand good front-end application architecture and performance principles. Then you want to build applications in Vanilla JS. Despite popular belief Vanilla JS is not as difficult to master and implement as you might think.
In this tutorial Chris Love will demonstrate how to apply many common web performance optimization, good architecture and tricks to build a fast, native-like application user experience customers desire without dependency on large, fast food frameworks.
This tutorial will demonstrate the following concepts:
- Applying the 14kb Rule for Instant Loading
- Markup Management
- Eliminating Excess AJAX Calls
- Working With and Around Application Cache
- Applying Service Workers and HTTP/2 For Even Better User Experiences
- Leveraging common browser APIs & good architecture
Everybody knows Javascript is single-threaded and that it shares this same thread with other browser-related processes such as painting and compositing. There are several techniques to implement pseudo multithreading in JavaScript; however, during this talk we will focus our attention on how to use and debug the Service Worker API. Our end goal is to explore practical use cases in order to simplify the process to render complex user interfaces and transitions in a browser.
This document discusses using WordPress as a backend for building mobile and web applications. It introduces WordPress' REST API which allows accessing WordPress content via HTTP requests. It then outlines how to build a simple mobile-first app called WROPE using the WordPress REST API and the JavaScript library Backbone.js, including setting up models, collections, views and routing to retrieve and display WordPress posts.
jQuery Conference San Diego 2014 - Web Performance
This document discusses jQuery and web performance. It describes how the jQuery Foundation maintains jQuery code and supports developers. It then discusses recent jQuery releases and how jQuery can be customized and used in different environments. The document outlines how the browser loads pages and the importance of prefetching resources. It recommends tools for analyzing page performance like YSlow, PageSpeed, and webpagetest.org. It provides tips for improving performance such as avoiding unnecessary layouts, optimizing JavaScript loops, and using developer tools to profile scripts and identify bottlenecks.
This document provides an overview of building progressive web apps (PWAs). It discusses the key technologies needed for PWAs including manifest files, service workers, and app shells. It provides examples of how to add a manifest to enable installable web apps, how to cache assets using service workers, and how to send push notifications. While Safari and iOS do not fully support these technologies yet, the document notes they are being developed for future releases.
webOS is an open source mobile operating system from Palm built on HTML5, CSS, and JavaScript that uses the Mojo framework for application development and provides services through a plugin development kit and application programming interfaces, with apps distributed through an online app catalog.
Building CLR/H Registration Site with ASP.NET MVC4 and EF4CodeFirst
This document discusses building a registration site using ASP.NET MVC4, Entity Framework Code First, and other technologies. It demonstrates creating a site that allows attendees to register by entering their name and email, with the list only shared among staff. Technologies used include MVC4, Razor syntax, Entity Framework Code First, SQL Server 2012 LocalDB, and libraries from NuGet. Authentication is added using HTTP Basic Authentication to allow access from any client like Excel. An API is also provided. Storing data in Google Spreadsheets is demonstrated as an alternative database.
Web developers now have a large number of APIs available allowing them to harness complex functionality via JavaScript and produce ever more interesting web experiences. This presentation looks at where we can from, where APIs are going in the future, and what problems we are currently in the process of solving. This includes providing offline installation, multimedia, performance, and more.
APIsNow, and in the future discusses the evolution of browser JavaScript APIs. It describes how early APIs allowed new features like geolocation and canvas but more were needed to compete with native apps and improve multimedia, performance, and internationalization support. New APIs like Service Workers and Fetch help enable offline functionality while standards like WebRTC improve media capabilities. The talk argues the web is progressing through continued standardization of device and other APIs.
With this presentation, I am showing how to easy decouple a simple Drupal blog with Nuxt framework and GraphQL. You will be first shortly introduced to Vue.JS and Nuxt platform with some code examples and in the end, you will be able to clone a Github repository with a full working example: https://github.com/davision/nuxt-graphql-drupal-blog
Penjelasan tentang platform NodeJS yang memungkinkan kita menulis code JavaScript di sisi server. Materi dibawakan di meetup Programming Wars Software Architect Indonesia Community tanggal 26 Agustus 2017 di Microsoft Indonesia
Peter Lubbers from Kaazing gave a presentation on HTML5 WebSocket and communication technologies to the San Francisco Java User Group. He discussed the limitations of traditional HTTP for real-time applications and how technologies like polling and long polling add complexity. He then introduced HTML5 WebSocket as a new standard that enables true full-duplex communication with low latency. Finally, he briefly covered other HTML5 communication features like Server-Sent Events, XMLHttpRequest Level 2, and Cross Document Messaging.
Accelerated Adoption: HTML5 and CSS3 for ASP.NET Developers
HTML5 and CSS3 have arrived. Are you ready to start adopting these technologies in your web projects? Jump start your understanding of the new rich standards and arm yourself with essential techniques for making the most of HTML5 and CSS3 today. In this half-day workshop, you will learn everything you need to know to effectively start leveraging HTML5 and CSS3 in ASP.NET applications. Learn how HTML5 and CSS3 are removing limits from web design. Discover tools and techniques for adopting HTML5 and CSS3 while still supporting older browsers. Leave with the essential knowledge needed to embrace HTML5 and CSS3 in your next ASP.NET project!
HTML5 is an evolution of HTML that adds new elements and attributes and improves current ones. It provides better semantic structure, multimedia capabilities like audio and video without plugins, graphics effects using canvas and SVG, file and hardware access, geolocation, web storage, and real-time communication. Key differences from HTML 4 include new semantic elements, multimedia elements like <video> and <audio>, and JavaScript APIs that enable features like drag and drop and geolocation.
This document discusses building HTML5 apps with native capabilities for BlackBerry devices. It outlines various HTML5 APIs that can access native device features like geolocation, accelerometer, notifications and more. It also describes how to create custom WebWorks APIs that extend HTML5 functionality by connecting to native device APIs for BlackBerry OS, Tablet OS, and BlackBerry 10. Resources provided include documentation, code samples, and details on the WebWorks SDK and roadmap.
This document provides an introduction and overview of HTML5. It outlines the key new features and capabilities of HTML5 including structural semantics, web forms, web workers, storage, audio/video, geolocation, web sockets, messaging, history API, drag and drop, and canvas. For each topic, it provides a brief description and links to additional resources for further information. The document aims to cover the major areas introduced in the new HTML5 specification.
The document discusses offline web applications and provides tips for developing them. It includes:
- An overview of offline web apps and how they allow users to access cached content without an internet connection using the Application Cache API.
- Details on the manifest file format and sections for specifying cached, network, and fallback resources.
- Steps for initial caching of resources and how the cache is updated when the manifest or cached files change.
- Tips for debugging the offline cache, accessing cached resources, and configuring cache settings and clearing the cache in different browsers.
Developing Java Web Applications In Google App Engine
The document provides an overview of developing Java-based web applications using Google App Engine. It discusses the key features and services of GAE including the runtime environment, datastore, memcache, mail, task queues, images, cron jobs, and user authentication. It also covers limitations, demo examples, and resources for learning more.
The document outlines Frank Greco's presentation on WebSocket perspectives and the future vision. It begins with an introduction and background on WebSocket, what it is and isn't. It then discusses how layered protocols can be built on top of WebSocket to address limitations of HTTP for real-time applications. Examples of use cases are then presented including Web trading systems, mobile computing, collaborative presentations, and controlling a remote vehicle via WebSocket messaging.
The document summarizes key aspects of building Firefox OS to address issues with the mobile web. Firefox OS is Mozilla's attempt to make the web a first-class citizen on phones and tablets by starting with the web stack rather than trying to add the web to an existing OS. It has launched in several countries and aims to be an affordable alternative to feature phones and closed platforms. The architecture is based on Linux, Gecko, and web technologies. It provides predictable HTML5 support and addresses performance, fragmentation, security and hardware access through its design and web APIs.
1. The document summarizes HTML5, including its history, key features like semantics, multimedia, forms, and offline capabilities.
2. HTML5 aims to simplify development with new semantic elements, easier form handling, and making audio/video native elements.
3. The geolocation API allows websites to detect a user's location with permission, and features like the app cache and local storage enable offline use of web apps.
HTML5 is a major development in web technology that will transform web development. It emphasizes backwards compatibility while adding new features like multimedia embedding, geolocation, and canvas drawing capabilities. These new features are being integrated into content management systems and supported by browsers, making HTML5 relevant for all types of web content and sites across devices.
1. HTML5 is a major development in web technology that will transform web development and influence both technical and non-technical aspects of content management.
2. It is designed to make all web content accessible across devices by reducing the need for separate site versions. There is an emphasis on backwards compatibility.
3. HTML5 was developed as browsers continued to be flexible with code even when strict XHTML standards were introduced, and aims to build on the way web pages are actually served by browsers.
HTML5 Offline Web Applications (Silicon Valley User Group)
Robin Zimmermann presented on developing offline web applications using HTML5's Application Cache specification. The presentation covered the WHATWG and W3C specs that define AppCache, how to create a manifest file that lists resources to cache, how browsers handle caching resources when online and serving cached content offline, and tips for testing and debugging offline applications. Example code was provided for manifest file structure and checking browser support using JavaScript.
GTLAB is a Java Server Faces tag library that wraps Grid and web services to build portal-based and standalone applications. It contains tags for common tasks like job submission, file transfer, credential management. GTLAB applications can be deployed as portlets or converted to Google Gadgets. The document provides instructions for installing GTLAB, examples of tags, and making new custom tags.
Canvas and WebGL allow for rich graphics and animation on the web through APIs for 2D and 3D drawing. Forms have been enhanced with new input types like email, number and date pickers. Features like drag and drop, geolocation, notifications and the history API enable more interactive experiences. Browser capabilities have been extended through APIs for multimedia, storage, web sockets and accessing hardware. HTML5 aims to provide these features to enhance user experience without additional plugins.
Modern Web Apps should be focused, rich, and gorgeous, but they also need to be FAST. After all, being rich and beautiful isn't always enough!
With web apps, faster is always better; nobody will ever complain that your site is too fast!
The document discusses an HTML5 presentation given by Peter Lubbers at STC12. It provides an agenda for the presentation that includes discussing what HTML5 is, its features, tools for HTML5, and a Q&A. It also shares quotes about the growing adoption of HTML5 and discusses several HTML5 topics like new elements, forms, multimedia, and CSS3.
These are the slides from my "HTML5 Real-TIme and Connectivity" presentation at the San Francisco HTML5 User Group (http://sfhtml5.org). The presentation covers:
Web Origin
Cross Document Messaging (PostMessage)
CORS
XHR Level2
WebSocket
Server-Sent Events (EventSource)
SPDY
This document provides a high-level overview of HTML5 in 3 sentences or less:
The document summarizes HTML5, including its history, key features such as semantic markup, forms, multimedia, and CSS3 support, and why developers should use HTML5 over other technologies. It also briefly outlines the major areas covered by HTML5 like semantics, multimedia, graphics, offline storage and more.
This HTML5 presentation--delivered at the Society for Technical Communication (STC) in May and again in August 2011--provides a high level overview of HTML5 and discusses the impact that HTML5 will have on Technical Communication.
HTML5--The 30,000' View (A fast-paced overview of HTML5)
A fast-paced overview of HTML5.
Topics include:
-What is HTML5?
-History of HTML5
-WHATWG and W3C specifications
-What is part of HTML5?
-Using HTML5 Today
-Using HTML5 in browsers that do not support it
-Detecting native availability of HTML5 features
Christmas holiday experiment: creating a VueJS front that gets data through GraphQL from a decoupled WordPress install on another server. Read more on this blogpost: https://conimpeto.be/wordpress/create-a-wordpress-twentyseventeen-theme-with-vuejs-and-graphql/.
Presented at Web Unleashed 2017. More info at www.fitc.ca/webu
Presented by Ksenija Gogic, TWG
Overview
What are components? How can designers apply a component-minded approach to their workflow? How can we leverage components to improve the design handoff? Ultimately – how can designers and developers work together even better?
Using React as a framework, Ksenija will discuss how to design for a component-based web application to make for a more efficient workflow, an easier design handoff, and a better understanding between roles.
Objective
To create a common language and understanding when working with component-based web frameworks between designers and developers.
Target Audience
Designers and developers looking to make their collaborative workflow even better.
Five Things Audience Members Will Learn
How to take a component-minded approach to building a design system
How to design and create components using Sketch symbols
How to assemble (compose) collections of components using Sketch symbols
How to work with modifiers (props) to customize components
How to ensure everyone is speaking the same language
Web workers allow JavaScript to run concurrently in the background without blocking the UI. They allow computationally intensive tasks to be offloaded to separate threads. There are two types: dedicated workers run in a separate file while shared workers can be accessed by multiple scripts. Workers communicate with the main thread asynchronously through messages and run independently with some limitations like no direct DOM access. They improve performance for intensive tasks like processing large data or polling web services in the background.
JavaScript front end performance optimizationsChris Love
No one wants a slow loading, slow reacting application. As page weight has increased so has the dependency on JavaScript to drive rich user experiences. Today many pages load over 2MBs of JavaScript, but is this healthy? Do your scripts and dependencies perform well? In this session we will review common JavaScript performance bottlenecks, how to detect them and how to eliminate them.
This session will review common bad coding syntax, architecture and how to replace them with better alternatives. You will also be exposed to caching, code organization, build and deployment best practices that produce the best user experiences. Finally, you will see how to use the navigation timing and performance timing APIs to fine tune your applications to produce a fast, lean application your customers will love.
This document contains slides from a presentation on Polymer and modern web APIs. The slides discuss how Polymer uses web components to build reusable custom elements, and how this allows for component-based development. They provide examples of popular elements like <paper-tabs> and <core-toolbar> that are used as building blocks. The slides also showcase several production uses of Polymer at Google scale, including the Google Santa Tracker application. They emphasize how Polymer leverages modern web platform APIs to build fast, modular, and powerful applications.
This document discusses using Backbone.js to build interactive front-end applications for WordPress. It provides an overview of Backbone and its components like models, collections, and views. It also discusses how Underscore.js is bundled with Backbone and its utility functions. Additionally, it covers how WordPress has integrated with Backbone through features like the JSON REST API and how this can be leveraged to build Backbone applications within WordPress. Finally, it shares an example of a Backbone directory application and resources for learning more about Backbone.
Node Webkit allows you to create desktop applications using HTML, CSS, JavaScript and Node.js modules. It combines the Chromium browser and Node.js framework. This allows building cross-platform desktop apps that can include Node functionality and access system resources. Examples are given of apps built with Node Webkit. Key aspects covered include how it integrates Chromium and Node.js, building a basic app, window rendering options, menus, tray apps, and the developer tools. Benefits for a medical conference app replacement are discussed.
Cool like a Frontend Developer: Grunt, RequireJS, Bower and other ToolsRyan Weaver
Bower, Grunt, and RequireJS are just a few tools that have been re-shaping the frontend development world, replacing cluttered script tags and server-side build solutions with a sophisticated, but sometimes complex approach to dependency management and module loading. In this talk, we'll put on our trendy frontend developer hat and find out how these tools work and how they differ from what we might be used to. Most important, we'll see how using tools like this might look in Symfony2 and how our application can be a friendly place for a frontend guy/gal.
Develop a vanilla.js spa you and your customers will loveChris Love
Do you want to leverage HTML, CSS and JavaScripts APIs to deliver rich user experiences that outlive the framework du jour? Do You want to understand good front-end application architecture and performance principles. Then you want to build applications in Vanilla JS. Despite popular belief Vanilla JS is not as difficult to master and implement as you might think.
In this tutorial Chris Love will demonstrate how to apply many common web performance optimization, good architecture and tricks to build a fast, native-like application user experience customers desire without dependency on large, fast food frameworks.
This tutorial will demonstrate the following concepts:
- Applying the 14kb Rule for Instant Loading
- Markup Management
- Eliminating Excess AJAX Calls
- Working With and Around Application Cache
- Applying Service Workers and HTTP/2 For Even Better User Experiences
- Leveraging common browser APIs & good architecture
Everybody knows Javascript is single-threaded and that it shares this same thread with other browser-related processes such as painting and compositing. There are several techniques to implement pseudo multithreading in JavaScript; however, during this talk we will focus our attention on how to use and debug the Service Worker API. Our end goal is to explore practical use cases in order to simplify the process to render complex user interfaces and transitions in a browser.
This document discusses using WordPress as a backend for building mobile and web applications. It introduces WordPress' REST API which allows accessing WordPress content via HTTP requests. It then outlines how to build a simple mobile-first app called WROPE using the WordPress REST API and the JavaScript library Backbone.js, including setting up models, collections, views and routing to retrieve and display WordPress posts.
jQuery Conference San Diego 2014 - Web Performancedmethvin
This document discusses jQuery and web performance. It describes how the jQuery Foundation maintains jQuery code and supports developers. It then discusses recent jQuery releases and how jQuery can be customized and used in different environments. The document outlines how the browser loads pages and the importance of prefetching resources. It recommends tools for analyzing page performance like YSlow, PageSpeed, and webpagetest.org. It provides tips for improving performance such as avoiding unnecessary layouts, optimizing JavaScript loops, and using developer tools to profile scripts and identify bottlenecks.
Building a PWA - For Everyone Who Is Scared ToRaymond Camden
This document provides an overview of building progressive web apps (PWAs). It discusses the key technologies needed for PWAs including manifest files, service workers, and app shells. It provides examples of how to add a manifest to enable installable web apps, how to cache assets using service workers, and how to send push notifications. While Safari and iOS do not fully support these technologies yet, the document notes they are being developed for future releases.
webOS is an open source mobile operating system from Palm built on HTML5, CSS, and JavaScript that uses the Mojo framework for application development and provides services through a plugin development kit and application programming interfaces, with apps distributed through an online app catalog.
Building CLR/H Registration Site with ASP.NET MVC4 and EF4CodeFirstJun-ichi Sakamoto
This document discusses building a registration site using ASP.NET MVC4, Entity Framework Code First, and other technologies. It demonstrates creating a site that allows attendees to register by entering their name and email, with the list only shared among staff. Technologies used include MVC4, Razor syntax, Entity Framework Code First, SQL Server 2012 LocalDB, and libraries from NuGet. Authentication is added using HTTP Basic Authentication to allow access from any client like Excel. An API is also provided. Storing data in Google Spreadsheets is demonstrated as an alternative database.
Web developers now have a large number of APIs available allowing them to harness complex functionality via JavaScript and produce ever more interesting web experiences. This presentation looks at where we can from, where APIs are going in the future, and what problems we are currently in the process of solving. This includes providing offline installation, multimedia, performance, and more.
APIsNow, and in the future discusses the evolution of browser JavaScript APIs. It describes how early APIs allowed new features like geolocation and canvas but more were needed to compete with native apps and improve multimedia, performance, and internationalization support. New APIs like Service Workers and Fetch help enable offline functionality while standards like WebRTC improve media capabilities. The talk argues the web is progressing through continued standardization of device and other APIs.
With this presentation, I am showing how to easy decouple a simple Drupal blog with Nuxt framework and GraphQL. You will be first shortly introduced to Vue.JS and Nuxt platform with some code examples and in the end, you will be able to clone a Github repository with a full working example: https://github.com/davision/nuxt-graphql-drupal-blog
Penjelasan tentang platform NodeJS yang memungkinkan kita menulis code JavaScript di sisi server. Materi dibawakan di meetup Programming Wars Software Architect Indonesia Community tanggal 26 Agustus 2017 di Microsoft Indonesia
Peter Lubbers from Kaazing gave a presentation on HTML5 WebSocket and communication technologies to the San Francisco Java User Group. He discussed the limitations of traditional HTTP for real-time applications and how technologies like polling and long polling add complexity. He then introduced HTML5 WebSocket as a new standard that enables true full-duplex communication with low latency. Finally, he briefly covered other HTML5 communication features like Server-Sent Events, XMLHttpRequest Level 2, and Cross Document Messaging.
Accelerated Adoption: HTML5 and CSS3 for ASP.NET DevelopersTodd Anglin
HTML5 and CSS3 have arrived. Are you ready to start adopting these technologies in your web projects? Jump start your understanding of the new rich standards and arm yourself with essential techniques for making the most of HTML5 and CSS3 today. In this half-day workshop, you will learn everything you need to know to effectively start leveraging HTML5 and CSS3 in ASP.NET applications. Learn how HTML5 and CSS3 are removing limits from web design. Discover tools and techniques for adopting HTML5 and CSS3 while still supporting older browsers. Leave with the essential knowledge needed to embrace HTML5 and CSS3 in your next ASP.NET project!
HTML5 is an evolution of HTML that adds new elements and attributes and improves current ones. It provides better semantic structure, multimedia capabilities like audio and video without plugins, graphics effects using canvas and SVG, file and hardware access, geolocation, web storage, and real-time communication. Key differences from HTML 4 include new semantic elements, multimedia elements like <video> and <audio>, and JavaScript APIs that enable features like drag and drop and geolocation.
This document discusses building HTML5 apps with native capabilities for BlackBerry devices. It outlines various HTML5 APIs that can access native device features like geolocation, accelerometer, notifications and more. It also describes how to create custom WebWorks APIs that extend HTML5 functionality by connecting to native device APIs for BlackBerry OS, Tablet OS, and BlackBerry 10. Resources provided include documentation, code samples, and details on the WebWorks SDK and roadmap.
This document provides an introduction and overview of HTML5. It outlines the key new features and capabilities of HTML5 including structural semantics, web forms, web workers, storage, audio/video, geolocation, web sockets, messaging, history API, drag and drop, and canvas. For each topic, it provides a brief description and links to additional resources for further information. The document aims to cover the major areas introduced in the new HTML5 specification.
The document discusses offline web applications and provides tips for developing them. It includes:
- An overview of offline web apps and how they allow users to access cached content without an internet connection using the Application Cache API.
- Details on the manifest file format and sections for specifying cached, network, and fallback resources.
- Steps for initial caching of resources and how the cache is updated when the manifest or cached files change.
- Tips for debugging the offline cache, accessing cached resources, and configuring cache settings and clearing the cache in different browsers.
Developing Java Web Applications In Google App EngineTahir Akram
The document provides an overview of developing Java-based web applications using Google App Engine. It discusses the key features and services of GAE including the runtime environment, datastore, memcache, mail, task queues, images, cron jobs, and user authentication. It also covers limitations, demo examples, and resources for learning more.
WebSocket Perspectives and Vision for the FutureFrank Greco
The document outlines Frank Greco's presentation on WebSocket perspectives and the future vision. It begins with an introduction and background on WebSocket, what it is and isn't. It then discusses how layered protocols can be built on top of WebSocket to address limitations of HTTP for real-time applications. Examples of use cases are then presented including Web trading systems, mobile computing, collaborative presentations, and controlling a remote vehicle via WebSocket messaging.
The document summarizes key aspects of building Firefox OS to address issues with the mobile web. Firefox OS is Mozilla's attempt to make the web a first-class citizen on phones and tablets by starting with the web stack rather than trying to add the web to an existing OS. It has launched in several countries and aims to be an affordable alternative to feature phones and closed platforms. The architecture is based on Linux, Gecko, and web technologies. It provides predictable HTML5 support and addresses performance, fragmentation, security and hardware access through its design and web APIs.
1. The document summarizes HTML5, including its history, key features like semantics, multimedia, forms, and offline capabilities.
2. HTML5 aims to simplify development with new semantic elements, easier form handling, and making audio/video native elements.
3. The geolocation API allows websites to detect a user's location with permission, and features like the app cache and local storage enable offline use of web apps.
HTML5 is a major development in web technology that will transform web development. It emphasizes backwards compatibility while adding new features like multimedia embedding, geolocation, and canvas drawing capabilities. These new features are being integrated into content management systems and supported by browsers, making HTML5 relevant for all types of web content and sites across devices.
1. HTML5 is a major development in web technology that will transform web development and influence both technical and non-technical aspects of content management.
2. It is designed to make all web content accessible across devices by reducing the need for separate site versions. There is an emphasis on backwards compatibility.
3. HTML5 was developed as browsers continued to be flexible with code even when strict XHTML standards were introduced, and aims to build on the way web pages are actually served by browsers.
HTML5 Offline Web Applications (Silicon Valley User Group)robinzimmermann
Robin Zimmermann presented on developing offline web applications using HTML5's Application Cache specification. The presentation covered the WHATWG and W3C specs that define AppCache, how to create a manifest file that lists resources to cache, how browsers handle caching resources when online and serving cached content offline, and tips for testing and debugging offline applications. Example code was provided for manifest file structure and checking browser support using JavaScript.
GTLAB Installation Tutorial for SciDAC 2009marpierc
GTLAB is a Java Server Faces tag library that wraps Grid and web services to build portal-based and standalone applications. It contains tags for common tasks like job submission, file transfer, credential management. GTLAB applications can be deployed as portlets or converted to Google Gadgets. The document provides instructions for installing GTLAB, examples of tags, and making new custom tags.
Canvas and WebGL allow for rich graphics and animation on the web through APIs for 2D and 3D drawing. Forms have been enhanced with new input types like email, number and date pickers. Features like drag and drop, geolocation, notifications and the history API enable more interactive experiences. Browser capabilities have been extended through APIs for multimedia, storage, web sockets and accessing hardware. HTML5 aims to provide these features to enhance user experience without additional plugins.
Modern Web Apps should be focused, rich, and gorgeous, but they also need to be FAST. After all, being rich and beautiful isn't always enough!
With web apps, faster is always better; nobody will ever complain that your site is too fast!
Getting Started with HTML5 in Tech Com (STC 2012)Peter Lubbers
The document discusses an HTML5 presentation given by Peter Lubbers at STC12. It provides an agenda for the presentation that includes discussing what HTML5 is, its features, tools for HTML5, and a Q&A. It also shares quotes about the growing adoption of HTML5 and discusses several HTML5 topics like new elements, forms, multimedia, and CSS3.
These are the slides from my "HTML5 Real-TIme and Connectivity" presentation at the San Francisco HTML5 User Group (http://sfhtml5.org). The presentation covers:
Web Origin
Cross Document Messaging (PostMessage)
CORS
XHR Level2
WebSocket
Server-Sent Events (EventSource)
SPDY
Peter lubbers-html5-overview-sf-dev-conf-2011Peter Lubbers
This document provides a high-level overview of HTML5 in 3 sentences or less:
The document summarizes HTML5, including its history, key features such as semantic markup, forms, multimedia, and CSS3 support, and why developers should use HTML5 over other technologies. It also briefly outlines the major areas covered by HTML5 like semantics, multimedia, graphics, offline storage and more.
This HTML5 presentation--delivered at the Society for Technical Communication (STC) in May and again in August 2011--provides a high level overview of HTML5 and discusses the impact that HTML5 will have on Technical Communication.
HTML5--The 30,000' View (A fast-paced overview of HTML5)Peter Lubbers
A fast-paced overview of HTML5.
Topics include:
-What is HTML5?
-History of HTML5
-WHATWG and W3C specifications
-What is part of HTML5?
-Using HTML5 Today
-Using HTML5 in browsers that do not support it
-Detecting native availability of HTML5 features
179. Use case A: 1,000 clients receive 1 message per second: Network throughput is (2 x 1,000) = 2,000 bytes = 16,000 bits per second (~0.015 Mbps)
180. Use case B: 10,000 clients receive 1 message per second: Network throughput is (2 x 10,000) = 20,000 bytes = 160,000 bits per second (~0.153 Mbps)
Google Chrome – every tab is its own program (not one tab within a program). So if one tab goes down, the whole app doesn't crash.
150 ms (TCP round trip to set up the connection plus a packet for the message)50 ms (just the packet for the message)
The following steps are shown in the diagram: A user navigates to a location-aware application in the browser.The application web page loads and requests coordinates from the browser by making a Geolocation function call. The browser intercepts this and requests user permission. Let's assume that the permission is granted.The browser retrieves coordinate information from the device it is running on. For example, the IP address, Wi-Fi, or GPS coordinates. This is an internal function of the browser.The browser sends these coordinates to a trusted external location service, which returns a detailed location that can now be sent back to the host of the HTML5 Geolocation application.
The successCallback function parameter tells the browser which function you want called when the location data is made available. This is important because operations such as fetching location data may take a long time to complete. No user wants the browser to be locked up while the location is retrieved, and no developer wants his program to pause indefinitely—especially because fetching the location data will often be waiting on a user to grant permission. The successCallback is where you will receive the actual location information and act on it.However, as in most programming scenarios, it is good to plan for failure cases. It is quite possible that the request for location information may not complete for reasons beyond your control, and for those cases you will want to provide an errorCallback function that can present the user with an explanation, or perhaps make an attempt to try again. While optional, it is recommended that you provide one.Finally, an options object can be provided to the HTML5 Geolocation service to fine-tune the way it gathers data. This is an optional parameter that we will examine later.
The timeout value deals with the duration needed to calculate the location value, while maximumAge refers to the frequency of the location calculation. If any single calculation takes longer than the timeout value, an error is triggered. However, if the browser does not have an up-to-date location value that is younger than maximumAge, it must refetch another value. Special values apply here: setting the maximumAge to “0” requires the value to always be re-fetched, while setting it to Infinity means it should never be refetched.
This sample works by using the watchPosition() capability we discussed in the last section. Every time a new position is sent to us, we will compare it to the last known position and calculate the distance traveled. This is accomplished using a well-known calculation known as the Haversine formula, which allows us to calculate distance between two longitude and latitude positions on a sphere.
High-message volume, small message size scenario where long-polling is potentially worse than polling.
WebSocket is text-only
HTTP used for handshake onlyOperates over a single socketTraverses firewalls and routers seamlesslyAllows authorized cross-site communicationCookie-based authenticationExisting HTTP load balancersNavigates proxies using HTTP CONNECT, same technique as https, but without the encryption
Text type requires high-order bit setBinary type requires high-order bit _not_ setThere is no defined maximum size. However, the protocol allows either side (browser or server) to terminate the connection if it cannot receive a large frame. So far, the definition of too large is left up to the implementation.If the user agent is faced with content that is too large to behandled appropriately, then it must fail the Web Socket connection.There is probably a practical maximum, but we have not discovered it as far as I know.You can't have four gigabytes of data in JavaScript, so the practical max is <4GB for the JavaScript implementation.
150 ms (TCP round trip to set up the connection plus a packet for the message)50 ms (just the packet for the message)
150 ms (TCP round trip to set up the connection plus a packet for the message)50 ms (just the packet for the message)
Text type requires high-order bit setBinary type requires high-order bit _not_ setThere is no defined maximum size. However, the protocol allows either side (browser or server) to terminate the connection if it cannot receive a large frame. So far, the definition of too large is left up to the implementation.If the user agent is faced with content that is too large to behandled appropriately, then it must fail the Web Socket connection.There is probably a practical maximum, but we have not discovered it as far as I know.You can't have four gigabytes of data in JavaScript, so the practical max is <4GB for the JavaScript implementation.