Anatomy of a web app
HTML5
CSS3
This presentation has been developed in the context of the Mobile Applications Development course, DISIM, University of L'Aquila (Italy), Spring 2016.
http://www.ivanomalavolta.com
This document discusses HTML5 and web application development. It begins with an overview of the anatomy of a web app, including setting up the server, using data services, and device detection. It then covers HTML5 features like new semantic tags, forms, multimedia capabilities using audio, video, and canvas. JavaScript APIs are discussed for geolocation, web storage, web SQL, and web workers. The document emphasizes that the mobile web is the most viable platform for cross-device applications.
The document discusses various technologies for building web applications, including HTML5. It begins by explaining the anatomy of a web app, including the server-side components and use of backend services. It then covers different types of apps - native, web, and hybrid. A large portion of the document focuses on HTML5, describing new structural elements, forms, multimedia capabilities like audio and video, local storage options, and geolocation. It concludes by mentioning technologies like PhoneGap/Cordova for building cross-platform apps and WebSockets for real-time connections.
The Cordova framework
Recurrent app architecture
Cordova CLI
Debugging Cordova applications
My development environment
This presentation has been developed in the context of the Mobile Applications Development course, DISIM, University of L'Aquila (Italy), Spring 2015.
http://www.ivanomalavolta.com
HTML5 and the dawn of rich mobile web applicationsJames Pearce
HTML5 and its related technologies are enabling new ways to build beautiful sites and applications for contemporary mobile devices. Native mobile developers can now use web technologies to surmount cross-platform headaches, and desktop web developers can reach mobile users in familiar, app-like ways. This session explores the state of the art in HTML5-based mobile web frameworks, and demonstrates the practical possibilities that this powerful and standards-based approach can bring.
This presentation is about a lecture I gave within the "Software systems and services" immigration course at the Gran Sasso Science Institute, L'Aquila (Italy): http://cs.gssi.infn.it/.
http://www.ivanomalavolta.com
Dreamweaver CS6, jQuery, PhoneGap, mobile designDee Sadler
A session talk for #NAGW2012 on:
Mobile app, choices
Dreamweaver’s place
Creating Mobile Design (actual design, not code)
Other helpful Adobe tools to create HTML/CSS
jQuery Mobile in DW
PhoneGap Build in DW
Angular or Backbone, which one you will use in your mobile app? How could you develop a mobile app across iOS, Android or windows devices? This talk will take an intimate look at two of today’s most popular frameworks, Angular and Backbone and explore their differences. We’ll show how Apache Cordova opens the world of mobile app development to web developers. In the session, we will demonstrate a “To Do” app using Angular and Backbone, with access to native device capabilities. We’ll compare the frameworks when transported to the world of mobile app development. Along the way, you'll also learn what kind of apps are best-suited for the hybrid architecture and when to make the switch from web app to mobile app.
With great power, comes great responsive-ability web design.
Responsive web design (RWD) will be demystified. Believe it or not, it's more than just media queries, although those will be discussed. It starts with proper UI design and application architecture, and then the dive into CSS - but not too deep! You don't have to be an expert to do RWD, but it helps to have some idea of what you are doing.
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.
This document provides an overview of HTML5, including its history, timeline, new features, and compatibility with browsers. Some key points:
- HTML5 development is led by the WHATWG and W3C to standardize web applications. It simplifies HTML and introduces new semantic elements like <article>, <aside>, <header>.
- New features include multimedia with <audio> and <video> tags, 3D graphics with Canvas, and offline/storage APIs. Forms are enhanced with new input types.
- CSS3 adds animation, transitions and transforms. Performance improves with Web Workers and XMLHttpRequest Level 2.
- Browser support for HTML5 features is tracked on http://caniuse
Fast Cordova applications
This document provides techniques for improving the performance of Cordova applications. It discusses ways to use the DOM efficiently by caching elements, minimizing reflows, and interacting with the DOM less frequently. It also covers optimizing events, network usage, CSS features, and memory management. The overall goal is to understand what makes a Cordova app fast and provide techniques to improve performance.
How to build web sites that work well across various browsers versions and devices is always challenging for web developers. In the session, you’ll learn the best practices and strategy to develop cross-browser web sites that will work with the existing and future browsers. Tools for interoperability tests, cross-browser fundamentals, and tips and tricks on HTML5, CSS, JavaScript development will be illustrated. Feature detection, CSS prefix, and fallbacks will all be examined in the session. A real life example will be used to demonstrate step by step how to build cross-browser and plug-in-Free experiences. With a couple of simple changes to your sites, you can take advantage of web standards and HTML5 features today without breaking your sites in the future. Expect a lot of demos and code in the session.
This document discusses how web design firms can compete with internal GIS teams by providing web-based GIS (WebGIS) applications. It notes that WebGIS requires learning new tools like JavaScript, AJAX, and RESTful services. To protect their work, internal GIS teams need to learn these new web technologies and prioritize usability over features to create responsive applications. The document advocates for an iterative development process with a focus on performance and usability testing.
SPTechCon 2014 How to develop and debug client side code in SharePointMark Rackley
This document contains the presentation slides for a session titled "How to Develop and Debug Client Side Code" given by Mark Rackley at the SPTechCon San Francisco 2014 conference. The presentation provides an overview of tools and techniques for developing and debugging JavaScript and jQuery code in SharePoint, including jQuery, jQuery UI, DataTables, Bluff Charts, and REST/CSOM/SPServices. It also covers debugging basics, common issues, and best practices.
Codemotion 2013 - Designing complex applications using html5 and knockoutjsFabio Franzini
The document discusses tools and frameworks for building complex applications using HTML5 and JavaScript. It begins with introductions and background on the speaker. The rest of the document outlines various topics: HTML5 and its benefits, JavaScript and patterns like modularity, client-side frameworks like KnockoutJS, server-side tools like TypeScript, packaging apps with Cordova or AppJS, and demonstrates some of the frameworks.
Introduction to Client Side Dev in SharePoint WorkshopMark Rackley
The document is a presentation on client side development in SharePoint using jQuery. It begins with introductions and an agenda. The agenda covers deploying and referencing scripts, a jQuery primer, debugging techniques, modifying default SharePoint forms, REST/CSOM/SPServices, third party libraries, and SharePoint hosted apps. It then discusses why client side development is useful and challenges like browser inconsistencies. Best practices covered include avoiding global variables and writing performant code. Various development tools are presented. Finally, a demo is shown of building a simple contract management solution using the techniques discussed.
The document provides a 6 day training agenda covering HTML, CSS, JavaScript, and jQuery. Day 1 covers HTML basics, CSS basics and layouts. Day 2 covers HTML forms, CSS styling, and responsive design. Days 3-5 cover JavaScript programming, events, AJAX, and jQuery. Day 6 covers more advanced jQuery topics.
Ajax enables asynchronous communication between the client and server in web applications. While this improves the user experience, it also increases security risks. Ajax applications have a larger attack surface since client-side code can directly access server-side functions. Cross-site scripting attacks are also more dangerous as injected scripts can make authenticated requests without reloading the page. Bridges used to connect Ajax applications to third-party services can act as open proxies and expose vulnerabilities in those other systems if not properly secured. Developers must validate all user-supplied inputs to Ajax functions to prevent attacks.
This document provides an overview and introduction to HTML5. It begins with a discussion of browser market share statistics and the birth of HTML5 by the WHATWG organization. It then outlines the wide range of new HTML5 markup, elements, events, APIs and technologies including forms, canvas, web sockets, and more. The remainder of the document discusses the status and implementation of these HTML5 features across modern browsers like Firefox, and provides references to HTML5 test suites, specifications, implementations and demos.
This document discusses using invisible iframes to conduct multi-step cross-site request forgery (CSRF) attacks in a deterministic manner. It demonstrates how an iframe can be used to conduct a GET CSRF attack by dynamically creating an image tag with the vulnerable URL as the source. It also shows how a hidden form can be submitted from an iframe to conduct a POST CSRF attack. JavaScript code examples are provided for the GET and POST attacks to ensure the iframes communicate with the main page between steps.
The document discusses various JavaScript APIs available in HTML5 for building rich web applications, including Canvas, Drag and Drop, Geolocation, Local Storage, Web Sockers, Offline Applications, and more. It provides code examples and links to documentation resources for each API. The last part encourages exploring demos and contacting the author with any other questions.
SPSNH 2014 - The SharePoint & jQueryGuideMark Rackley
This document provides an agenda and overview for a SharePoint and jQuery event. It discusses what jQuery is and why it is useful for SharePoint. It covers jQuery and SharePoint basics, deployment options, development best practices, and examples of commonly used jQuery methods. The presentation aims to demonstrate how jQuery can be used to modify and enhance the user experience of SharePoint.
The document introduces Rapi::Blog, a blog platform built using RapidApp. Rapi::Blog aims to give more flexibility than traditional blog platforms by treating the website structure as ordinary HTML/templates rather than predefined pages and sections. The backend exposes APIs for templates to use, while the "scaffold" directory defines the website structure and templates. The demo shows browsing posts, editing capabilities, and creating new sites is easy using Rapi::Blog and RapidApp. Future features may include additional content formats and customization options.
Slides from 'Back to Basics' quarterly theme presentation @Version 1 covering: general front-end best practice guidelines,HTML markup, CSS, Java Script, Accessibility, Performance, Cross-browser compatibility, Code Reviews and Tools & resources
ARIA is a W3C specification that can be used to dramatically improve the accessibility of custom widgets, especially for users of screen readers. This talk provides practical tips and design patterns for using ARIA to create accessible user interfaces that work across all of the various combinations of browsers and screen readers that support ARIA. Additionally, this talk will focus on the tools and methodologies developers need to test ARIA in order to ensure the best possible user experience.
The document discusses designing experiences for the mobile web. It notes that the mobile web is profoundly different than the desktop experience due to different contexts and portability. Some key decisions for mobile web design include whether to have a single or dual-site approach, how to structure navigation and content for smaller screens, and usability testing approaches. It also describes a case study of redesigning a website for mobile and some of the challenges encountered.
2/15/2012 - Wrapping Your Head Around the SharePoint BeastMark Rackley
The document discusses an introduction to SharePoint development, providing an outline of topics such as why SharePoint, what SharePoint is, the SharePoint overview, what SharePoint development entails, the steps to becoming a SharePoint developer, and the SharePoint community. It also addresses learning SharePoint development, the reasons for using SharePoint as a development platform, and terminology related to SharePoint.
This document provides an overview of RapidApp, a Catalyst extension that aims to speed web development. It discusses RapidApp's features like automatic Ajax interfaces, CRUD interfaces generated from schemas, and RESTful URL schemes. The presenter then demonstrates RapidApp by developing a web admin interface for a DNS server application.
[2015/2016] User experience design of mobil appsIvano Malavolta
The Elements of User Experience
Navigation Model
Wireframes
This presentation has been developed in the context of the Mobile Applications Development course, DISIM, University of L'Aquila (Italy), Spring 2016.
http://www.ivanomalavolta.com
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.
This document provides an overview of HTML5, including its history, timeline, new features, and compatibility with browsers. Some key points:
- HTML5 development is led by the WHATWG and W3C to standardize web applications. It simplifies HTML and introduces new semantic elements like <article>, <aside>, <header>.
- New features include multimedia with <audio> and <video> tags, 3D graphics with Canvas, and offline/storage APIs. Forms are enhanced with new input types.
- CSS3 adds animation, transitions and transforms. Performance improves with Web Workers and XMLHttpRequest Level 2.
- Browser support for HTML5 features is tracked on http://caniuse
Fast Cordova applications
This document provides techniques for improving the performance of Cordova applications. It discusses ways to use the DOM efficiently by caching elements, minimizing reflows, and interacting with the DOM less frequently. It also covers optimizing events, network usage, CSS features, and memory management. The overall goal is to understand what makes a Cordova app fast and provide techniques to improve performance.
How to build web sites that work well across various browsers versions and devices is always challenging for web developers. In the session, you’ll learn the best practices and strategy to develop cross-browser web sites that will work with the existing and future browsers. Tools for interoperability tests, cross-browser fundamentals, and tips and tricks on HTML5, CSS, JavaScript development will be illustrated. Feature detection, CSS prefix, and fallbacks will all be examined in the session. A real life example will be used to demonstrate step by step how to build cross-browser and plug-in-Free experiences. With a couple of simple changes to your sites, you can take advantage of web standards and HTML5 features today without breaking your sites in the future. Expect a lot of demos and code in the session.
This document discusses how web design firms can compete with internal GIS teams by providing web-based GIS (WebGIS) applications. It notes that WebGIS requires learning new tools like JavaScript, AJAX, and RESTful services. To protect their work, internal GIS teams need to learn these new web technologies and prioritize usability over features to create responsive applications. The document advocates for an iterative development process with a focus on performance and usability testing.
SPTechCon 2014 How to develop and debug client side code in SharePointMark Rackley
This document contains the presentation slides for a session titled "How to Develop and Debug Client Side Code" given by Mark Rackley at the SPTechCon San Francisco 2014 conference. The presentation provides an overview of tools and techniques for developing and debugging JavaScript and jQuery code in SharePoint, including jQuery, jQuery UI, DataTables, Bluff Charts, and REST/CSOM/SPServices. It also covers debugging basics, common issues, and best practices.
Codemotion 2013 - Designing complex applications using html5 and knockoutjsFabio Franzini
The document discusses tools and frameworks for building complex applications using HTML5 and JavaScript. It begins with introductions and background on the speaker. The rest of the document outlines various topics: HTML5 and its benefits, JavaScript and patterns like modularity, client-side frameworks like KnockoutJS, server-side tools like TypeScript, packaging apps with Cordova or AppJS, and demonstrates some of the frameworks.
Introduction to Client Side Dev in SharePoint WorkshopMark Rackley
The document is a presentation on client side development in SharePoint using jQuery. It begins with introductions and an agenda. The agenda covers deploying and referencing scripts, a jQuery primer, debugging techniques, modifying default SharePoint forms, REST/CSOM/SPServices, third party libraries, and SharePoint hosted apps. It then discusses why client side development is useful and challenges like browser inconsistencies. Best practices covered include avoiding global variables and writing performant code. Various development tools are presented. Finally, a demo is shown of building a simple contract management solution using the techniques discussed.
The document provides a 6 day training agenda covering HTML, CSS, JavaScript, and jQuery. Day 1 covers HTML basics, CSS basics and layouts. Day 2 covers HTML forms, CSS styling, and responsive design. Days 3-5 cover JavaScript programming, events, AJAX, and jQuery. Day 6 covers more advanced jQuery topics.
Ajax enables asynchronous communication between the client and server in web applications. While this improves the user experience, it also increases security risks. Ajax applications have a larger attack surface since client-side code can directly access server-side functions. Cross-site scripting attacks are also more dangerous as injected scripts can make authenticated requests without reloading the page. Bridges used to connect Ajax applications to third-party services can act as open proxies and expose vulnerabilities in those other systems if not properly secured. Developers must validate all user-supplied inputs to Ajax functions to prevent attacks.
This document provides an overview and introduction to HTML5. It begins with a discussion of browser market share statistics and the birth of HTML5 by the WHATWG organization. It then outlines the wide range of new HTML5 markup, elements, events, APIs and technologies including forms, canvas, web sockets, and more. The remainder of the document discusses the status and implementation of these HTML5 features across modern browsers like Firefox, and provides references to HTML5 test suites, specifications, implementations and demos.
This document discusses using invisible iframes to conduct multi-step cross-site request forgery (CSRF) attacks in a deterministic manner. It demonstrates how an iframe can be used to conduct a GET CSRF attack by dynamically creating an image tag with the vulnerable URL as the source. It also shows how a hidden form can be submitted from an iframe to conduct a POST CSRF attack. JavaScript code examples are provided for the GET and POST attacks to ensure the iframes communicate with the main page between steps.
The document discusses various JavaScript APIs available in HTML5 for building rich web applications, including Canvas, Drag and Drop, Geolocation, Local Storage, Web Sockers, Offline Applications, and more. It provides code examples and links to documentation resources for each API. The last part encourages exploring demos and contacting the author with any other questions.
SPSNH 2014 - The SharePoint & jQueryGuideMark Rackley
This document provides an agenda and overview for a SharePoint and jQuery event. It discusses what jQuery is and why it is useful for SharePoint. It covers jQuery and SharePoint basics, deployment options, development best practices, and examples of commonly used jQuery methods. The presentation aims to demonstrate how jQuery can be used to modify and enhance the user experience of SharePoint.
The document introduces Rapi::Blog, a blog platform built using RapidApp. Rapi::Blog aims to give more flexibility than traditional blog platforms by treating the website structure as ordinary HTML/templates rather than predefined pages and sections. The backend exposes APIs for templates to use, while the "scaffold" directory defines the website structure and templates. The demo shows browsing posts, editing capabilities, and creating new sites is easy using Rapi::Blog and RapidApp. Future features may include additional content formats and customization options.
Slides from 'Back to Basics' quarterly theme presentation @Version 1 covering: general front-end best practice guidelines,HTML markup, CSS, Java Script, Accessibility, Performance, Cross-browser compatibility, Code Reviews and Tools & resources
ARIA is a W3C specification that can be used to dramatically improve the accessibility of custom widgets, especially for users of screen readers. This talk provides practical tips and design patterns for using ARIA to create accessible user interfaces that work across all of the various combinations of browsers and screen readers that support ARIA. Additionally, this talk will focus on the tools and methodologies developers need to test ARIA in order to ensure the best possible user experience.
The document discusses designing experiences for the mobile web. It notes that the mobile web is profoundly different than the desktop experience due to different contexts and portability. Some key decisions for mobile web design include whether to have a single or dual-site approach, how to structure navigation and content for smaller screens, and usability testing approaches. It also describes a case study of redesigning a website for mobile and some of the challenges encountered.
2/15/2012 - Wrapping Your Head Around the SharePoint BeastMark Rackley
The document discusses an introduction to SharePoint development, providing an outline of topics such as why SharePoint, what SharePoint is, the SharePoint overview, what SharePoint development entails, the steps to becoming a SharePoint developer, and the SharePoint community. It also addresses learning SharePoint development, the reasons for using SharePoint as a development platform, and terminology related to SharePoint.
This document provides an overview of RapidApp, a Catalyst extension that aims to speed web development. It discusses RapidApp's features like automatic Ajax interfaces, CRUD interfaces generated from schemas, and RESTful URL schemes. The presenter then demonstrates RapidApp by developing a web admin interface for a DNS server application.
[2015/2016] User experience design of mobil appsIvano Malavolta
The Elements of User Experience
Navigation Model
Wireframes
This presentation has been developed in the context of the Mobile Applications Development course, DISIM, University of L'Aquila (Italy), Spring 2016.
http://www.ivanomalavolta.com
Introduction to the course
Hybrid mobile development frameworks
Mobile thinking
This presentation has been developed in the context of the Mobile Applications Development course, DISIM, University of L'Aquila (Italy), Spring 2016.
http://www.ivanomalavolta.com
The Cordova framework
Recurrent app architecture
Cordova CLI
Debugging Cordova applications
My development environment
This presentation has been developed in the context of the Mobile Applications Development course, DISIM, University of L'Aquila (Italy), Spring 2016.
http://www.ivanomalavolta.com
This presentation is about a lecture I gave within the "Software systems and services" immigration course at the Gran Sasso Science Institute, L'Aquila (Italy): http://cs.gssi.infn.it/.
http://www.ivanomalavolta.com
This presentation has been developed in the context of the Mobile Applications Development course, DISIM, University of L'Aquila (Italy), Spring 2015.
http://www.ivanomalavolta.com
Intro + Examples
Human Interface Principles
Platform Characteristics
UX Guidelines
This presentation has been developed in the context of the Mobile Applications Development course, DISIM, University of L'Aquila (Italy), Spring 2015.
http://www.ivanomalavolta.com
Leveraging Web Analytics for Automatically Generating Mobile Navigation Model...Ivano Malavolta
29th of June 2016. My presentation done at the 5th IEEE International Conference on Mobile Services (MS 2016).
Accompanying paper: http://www.ivanomalavolta.com/files/papers/MS_2016.pdf
This presentation has been developed in the context of the Mobile Applications Development course, DISIM, University of L'Aquila (Italy), Spring 2016.
http://www.ivanomalavolta.com
This presentation has been developed in the context of the Mobile Applications Development course, DISIM, University of L'Aquila (Italy), Spring 2016.
http://www.ivanomalavolta.com
This presentation has been developed in the context of the Mobile Applications Development course, DISIM, University of L'Aquila (Italy), Spring 2016.
http://www.ivanomalavolta.com
This presentation has been developed in the context of the Mobile Applications Development course, DISIM, University of L'Aquila (Italy), Spring 2016.
http://www.ivanomalavolta.com
This document discusses user-centered design (UCD) and key design principles. It defines UCD as a design philosophy and process that gives extensive attention to user needs, wants and limitations at each stage. The document outlines the typical UCD process, including analysis and planning, concept development, design, implementation, evaluation and launch. It also discusses four main design principles - axis, symmetry, hierarchy and rhythm - and provides examples of how they are applied in apps.
This presentation has been developed in the context of the Mobile Applications Development course, DISIM, University of L'Aquila (Italy), Spring 2016.
http://www.ivanomalavolta.com
This presentation is about a lecture I gave within the "Software systems and services" immigration course at the Gran Sasso Science Institute, L'Aquila (Italy): http://cs.gssi.infn.it/.
http://www.ivanomalavolta.com
Beyond Native Apps: Web Technologies to the Rescue! [SPLASH 2016 - Mobile! k...Ivano Malavolta
Slides of my keynote at the Mobile! 2016 workshop, co-located with SPLASH 2016 , Amsterdam.
This keynote talk provides a state-of-the-art overview of the development strategies and technologies for developing mobile apps, each of them with its own advantages and drawbacks. In this context, the use of web technologies is discussed as a promising investment for moving forward one of the most intriguing challenges in the world of mobile apps: its fragmentation with respect to mobile platforms (e.g., Android, Apple iOS, Windows Phone). A discussion of research challenges, and thus opportunities, close the talk.
Modeling behaviour via UML state machines [Software Modeling] [Computer Scie...Ivano Malavolta
This presentation is about a lecture I gave within the "Software Modeling" course of the Computer Science bachelor program, of the Vrije Universiteit Amsterdam.
http://www.ivanomalavolta.com
This presentation is about a lecture I gave within the "Software Modeling" course of the Computer Science bachelor program, of the Vrije Universiteit Amsterdam.
http://www.ivanomalavolta.com
JavaScript basics
JavaScript event loop
Ajax and promises
DOM interaction
JavaScript object orientation
Web Workers
Useful Microframeworks
This presentation has been developed in the context of the Mobile Applications Development course, DISIM, University of L'Aquila (Italy), Spring 2016.
http://www.ivanomalavolta.com
The road ahead for architectural languages [ACVI 2016]Ivano Malavolta
5th of April 2016. My presentation done at the 3rd Architecture Centric Virtual Integration Workshop (ACVI) workshop, co-located with WICSA and Comparch 2016, Venice, Italy.
Accompanying paper: http://www.ivanomalavolta.com/files/papers/IEEESoftware_2015.pdf
Anatomy of a web app
HTML5
CSS3
This presentation has been developed in the context of the Mobile Applications Development course, DISIM, University of L'Aquila (Italy), Spring 2014.
http://www.ivanomalavolta.com
This document provides an overview of HTML5 and CSS3 concepts for building web applications. It begins with defining what a web app is and its basic anatomy. It then covers new HTML5 structural tags, forms, multimedia capabilities like audio and video, offline data storage, geolocation, and canvas/SVG graphics. For CSS3, it discusses new selectors, the box model, positioning, fonts, visual effects, and media queries. Key topics are presented at a high level with examples to illustrate the main capabilities and uses of HTML5 and CSS3 for mobile web development.
Mobile applications Development - Lecture 10
HTML5 Refresher
This presentation has been developed in the context of the Mobile Applications Development course at the Computer Science Department of the University of L’Aquila (Italy).
http://www.di.univaq.it/malavolta
Slides from an HTML5 overview session I presented at work...
This presentation has an accompanying sample webapp project: http://code.google.com/p/html5-playground
A brief introduction on HTML5 and responsive layoutsTim Wray
The document discusses the choice between building apps with HTML5 versus native apps. It provides an overview of new features in HTML5, including semantic layout tags, custom data attributes, new UI elements, smarter forms, CSS3, canvas graphics, audio/video support, drag and drop, offline storage, geolocation, and responsive web design. HTML5 allows building responsive mobile web experiences through features like media queries and viewport meta tags.
This document provides an introduction to HTML5. It describes HTML5 as a draft specification from the W3C that is over 1100 pages and is not yet complete, as it continues to evolve. It adds new elements like canvas, video, audio, and inline SVG, and changes or removes some older elements and attributes. The document outlines the status and roadmap for the HTML5 specification. It also provides examples and demonstrations of new HTML5 features like video, audio, canvas, and geolocation.
This document provides an introduction to HTML5. It describes HTML5 as a draft specification from the W3C that is over 1100 pages and is not yet complete, as it continues to evolve. It adds new elements like canvas, video, audio, and inline SVG, and changes or removes some older elements and attributes. The document outlines the status and roadmap for the HTML5 specification. It also provides examples and demonstrations of new HTML5 features like video, audio, canvas, and geolocation.
The document discusses HTML5 and provides an overview of its key elements and features. It begins with a definition of HTML5 as a draft specification from the W3C that adds new elements like canvas, video and audio. It then provides summaries of important HTML5 elements and features like video, audio, canvas, SVG, CSS3, DOM scripting, geolocation and more. The document concludes by discussing resources for learning more about HTML5 and considerations around using HTML5 versus apps or other technologies on mobile.
1. HTML5 is a major revision to the HTML standard that is still under development and aims to be the future of the web.
2. It includes new elements like <video>, <audio>, and <canvas> that allow embedding multimedia without plugins, as well as features like geolocation.
3. The HTML5 specification is very large, covering HTML, SVG, CSS, and APIs. It aims to provide a common standard for web applications.
4. HTML5 is not just a marketing term - it represents an ongoing effort to develop a unified standard for the next generation of the web.
It is not HTML5. but ... / HTML5ではないサイトからHTML5を考えるSadaaki HIRAI
This document provides an overview of HTML5 technologies including HTML5 markup, microdata/RDFa, WebFonts, Canvas, MediaQueries, performance optimizations like SPDY and HTTP 2.0. It discusses specifications from the W3C and implementations by companies. Tools for testing responsive design, fonts and browser compatibility are also mentioned. The document is written in Japanese and references the author's blog for code samples.
From the July 14th, 2010 Boston Area SharePoint Users Group meeting, "Creating Great Applications in SharePoint 2010 with Silverlight", Presented by Bob German of Microsoft.
SharePoint and Silverlight make an unbeatable combination for building great web applications. In this session, you will learn how to develop these solutions more easily than ever with Visual Studio 2010 and SharePoint's new client object model and REST services. We'll begin with an empty Visual Studio project and show how to get started, and then move on to topics such as how to deal with large datasets, out-of-browser support, building mash-ups and more.
HTML5 introduces several new features including new semantic elements, support for embedded video and audio, canvas element for 2D/3D graphics, offline web applications, and drag and drop. It also removes some older HTML elements. HTML5 is still a work in progress but is supported by all major browsers. It aims to make web pages more compatible with new technologies and reduce the need for browser plug-ins.
HTML5 is the new standard for HTML that provides new multimedia features and improves semantics. It is a collaboration between the W3C and WHATWG. Key features include built-in support for video and audio playback without plugins, 2D/3D graphics using <canvas>, offline web applications using the app cache, and new form input types. Semantic elements like <header>, <nav>, <article>, and <section> were added to improve structure and accessibility. Browser support for HTML5 features varies.
This document provides an overview of HTML5 and related technologies. It discusses how HTML5 is more than just HTML, and covers the HTML5 specification process and components. It then provides a tour of new HTML5 features like <video>, <audio>, SVG, <canvas>, geolocation, and CSS3 specifications including borders, colors, shadows, backgrounds, fonts, media queries and transforms. The document demonstrates several of these features and provides resources for further information.
Internet Explorer 9 provides major improvements in performance, standards support, and developer tools. It features a new JavaScript engine called Chakra that compiles JavaScript in the background for faster execution. IE9 supports HTML5 features like <canvas>, <video>, and <audio> with hardware acceleration for smooth playback. It also has full support for Scalable Vector Graphics (SVG) and WOFF web fonts. CSS3 features like rounded corners, shadows, gradients, and new color functions are implemented. The developer tools have been enhanced with tools for network inspection, debugging JavaScript, and viewing SVG. IE9 aims to be faster, cleaner, standards-compliant through same markup across browsers, and utilize the full power of users' hardware.
This document provides an overview of HTML5 features, including new tags and capabilities. It describes HTML5's audio, video, form, and graphics capabilities using new tags like <audio>, <video>, <canvas>, and CSS3 features like gradients and animations. It compares old and new tags, and provides code examples for SVG graphics, the <canvas> element, and CSS animations.
This document provides an introduction and overview of HTML5. It discusses the new features and elements in HTML5, including video/audio, canvas, drag and drop, geolocation, web storage, web workers, and new form elements. It also covers browser support for various HTML5 features and provides examples of how to implement many of the new technologies.
The Evolution of CGM (Computer Graphics Metafile) Viewing. The objective of the workshop is to provide you with all the information required to implement our evolutionary technology.
The Evolution of CGM (Computer Graphics Metafile) Viewing. The objective of the workshop is to provide you with all the information required to implement our evolutionary technology.
On-Device or Remote? On the Energy Efficiency of Fetching LLM-Generated Conte...Ivano Malavolta
Slides of the presentation by Vincenzo Stoico at the main track of the 4th International Conference on AI Engineering (CAIN 2025).
The paper is available here: http://www.ivanomalavolta.com/files/papers/CAIN_2025.pdf
Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...Ivano Malavolta
The document discusses conducting experiments on the software architecture of robotic systems. It describes three experiments:
1) Identifying and evaluating "green" architectural tactics for energy-efficient robotics software by mining the ROS ecosystem.
2) Empirically exploring the performance and energy trade-offs of computation offloading for ground robots communicating over WiFi.
3) Analyzing how different 2D SLAM algorithms impact resource utilization in ROS-based systems, including metrics like energy consumption, CPU usage, memory usage, and map quality.
The slides of a short presentation I gave about my experience about working in the context of EU grants. It contains tips and tricks for the before/during/after phases of a EU project.
The Green Lab - Research cocktail @Vrije Universiteit Amsterdam (October 2020)Ivano Malavolta
The Green Lab allows students to measure real software products for industry-driven experiments focusing on energy efficiency, performance, and other areas. It provides infrastructure for experimenting on software, including a master course, platform, and collaboration platform. The lab contains a green computing cluster managed by Proxmox virtualization software, which hosts various virtual machines for running experiments. Hardware in the cluster includes servers, workstations, and a smartphone test farm for controlling Android devices remotely. Students use tools like Android Runner and wattsup meters to automate experiments measuring aspects like energy consumption of mobile apps. The Green Lab also serves as a learning environment where students conduct experiments for class projects and contribute to open source tools like Android Runner.
This document discusses software sustainability from Ivano Malavolta, an assistant professor. It discusses how ICT is unsustainable due to the large amounts of energy consumed by platforms like YouTube. It also discusses research on improving the energy efficiency of software, including a case study on the KPMG software platform. Additionally, it discusses experiments on the energy impact of progressive web apps and service workers. Finally, it proposes using design decision maps to help frame sustainability concerns when planning software projects.
Navigation-aware and Personalized Prefetching of Network Requests in Android ...Ivano Malavolta
Slides of my presentation at the NIER track of the 41th International Conference on Software Engineering (ICSE 2019).
The paper is available here: http://www.ivanomalavolta.com/files/papers/ICSE_2019_NAPPA.pdf
How Maintainability Issues of Android Apps Evolve [ICSME 2018]Ivano Malavolta
Slides of my presentation at the Research track of the 34th International Conference on Software Maintenance and Evolution (ICSME 2018).
The full paper is available here: http://www.ivanomalavolta.com/files/papers/ICSME_2018.pdf
Collaborative Model-Driven Software Engineering: a Classification Framework a...Ivano Malavolta
Slides of my presentation at the Journal first track of the 40th International Conference on Software Engineering (ICSE 2018).
The accompanying extended abstract is available here: http://www.ivanomalavolta.com/files/papers/ICSE_2018_JournalFirst.pdf
The original TSE paper is available here: http://www.ivanomalavolta.com/files/papers/TSE_2017.pdf
This presentation is about a lecture I gave within the "Software Design" course of the Computer Science bachelor program, of the Vrije Universiteit Amsterdam.
http://www.ivanomalavolta.com
Modeling behaviour via UML state machines [Software Design] [Computer Science...Ivano Malavolta
This document provides an introduction to modeling behavior using UML state machines. It discusses key concepts like states, transitions, events, and state types. States represent when an object is active and can execute activities. Transitions change the object's state in response to events and can include actions. Event types include signals, operation calls, time-based and change events. The document also covers state machine notation including initial/final states, decisions nodes, parallel/orthogonal states, history states, and entry/exit points. An example state machine is provided and questions are asked to help understand state machine execution order and values.
This presentation is about a lecture I gave within the "Software Design" course of the Computer Science bachelor program, of the Vrije Universiteit Amsterdam.
http://www.ivanomalavolta.com
This presentation is about a lecture I gave within the "Software Design" course of the Computer Science bachelor program, of the Vrije Universiteit Amsterdam.
http://www.ivanomalavolta.com
Requirements engineering with UML [Software Design] [Computer Science] [Vrije...Ivano Malavolta
This presentation is about a lecture I gave within the "Software Design" course of the Computer Science bachelor program, of the Vrije Universiteit Amsterdam.
http://www.ivanomalavolta.com
Modeling and abstraction, software development process [Software Design] [Com...Ivano Malavolta
This presentation is about a lecture I gave within the "Software Design" course of the Computer Science bachelor program, of the Vrije Universiteit Amsterdam.
http://www.ivanomalavolta.com
This presentation is about a lecture I gave within the "Software systems and services" immigration course at the Gran Sasso Science Institute, L'Aquila (Italy): http://cs.gssi.infn.it/.
http://www.ivanomalavolta.com
[2017/2018] AADL - Architecture Analysis and Design LanguageIvano Malavolta
This presentation is about a lecture I gave within the "Software systems and services" immigration course at the Gran Sasso Science Institute, L'Aquila (Italy): http://cs.gssi.infn.it/.
http://www.ivanomalavolta.com
This presentation is about a lecture I gave within the "Software systems and services" immigration course at the Gran Sasso Science Institute, L'Aquila (Italy): http://cs.gssi.infn.it/.
http://www.ivanomalavolta.com
[2017/2018] Introduction to Software ArchitectureIvano Malavolta
This document provides an introduction to software architecture concepts. It defines software architecture as the selection of structural elements and their interactions within a system. Common architectural styles are described, including Model-View-Controller (MVC), publish-subscribe, layered, shared data, peer-to-peer, and pipes and filters. Tactics are introduced as design decisions that refine styles to control quality attributes. The document emphasizes that architectural styles solve recurring problems and promote desired qualities like performance, security, and maintainability.
Slides for the session delivered at Devoxx UK 2025 - Londo.
Discover how to seamlessly integrate AI LLM models into your website using cutting-edge techniques like new client-side APIs and cloud services. Learn how to execute AI models in the front-end without incurring cloud fees by leveraging Chrome's Gemini Nano model using the window.ai inference API, or utilizing WebNN, WebGPU, and WebAssembly for open-source models.
This session dives into API integration, token management, secure prompting, and practical demos to get you started with AI on the web.
Unlock the power of AI on the web while having fun along the way!
Book industry standards are evolving rapidly. In the first part of this session, we’ll share an overview of key developments from 2024 and the early months of 2025. Then, BookNet’s resident standards expert, Tom Richardson, and CEO, Lauren Stewart, have a forward-looking conversation about what’s next.
Link to recording, presentation slides, and accompanying resource: https://bnctechforum.ca/sessions/standardsgoals-for-2025-standards-certification-roundup/
Presented by BookNet Canada on May 6, 2025 with support from the Department of Canadian Heritage.
Zilliz Cloud Monthly Technical Review: May 2025Zilliz
About this webinar
Join our monthly demo for a technical overview of Zilliz Cloud, a highly scalable and performant vector database service for AI applications
Topics covered
- Zilliz Cloud's scalable architecture
- Key features of the developer-friendly UI
- Security best practices and data privacy
- Highlights from recent product releases
This webinar is an excellent opportunity for developers to learn about Zilliz Cloud's capabilities and how it can support their AI projects. Register now to join our community and stay up-to-date with the latest vector database technology.
Viam product demo_ Deploying and scaling AI with hardware.pdfcamilalamoratta
Building AI-powered products that interact with the physical world often means navigating complex integration challenges, especially on resource-constrained devices.
You'll learn:
- How Viam's platform bridges the gap between AI, data, and physical devices
- A step-by-step walkthrough of computer vision running at the edge
- Practical approaches to common integration hurdles
- How teams are scaling hardware + software solutions together
Whether you're a developer, engineering manager, or product builder, this demo will show you a faster path to creating intelligent machines and systems.
Resources:
- Documentation: https://on.viam.com/docs
- Community: https://discord.com/invite/viam
- Hands-on: https://on.viam.com/codelabs
- Future Events: https://on.viam.com/updates-upcoming-events
- Request personalized demo: https://on.viam.com/request-demo
Web & Graphics Designing Training at Erginous Technologies in Rajpura offers practical, hands-on learning for students, graduates, and professionals aiming for a creative career. The 6-week and 6-month industrial training programs blend creativity with technical skills to prepare you for real-world opportunities in design.
The course covers Graphic Designing tools like Photoshop, Illustrator, and CorelDRAW, along with logo, banner, and branding design. In Web Designing, you’ll learn HTML5, CSS3, JavaScript basics, responsive design, Bootstrap, Figma, and Adobe XD.
Erginous emphasizes 100% practical training, live projects, portfolio building, expert guidance, certification, and placement support. Graduates can explore roles like Web Designer, Graphic Designer, UI/UX Designer, or Freelancer.
For more info, visit erginous.co.in , message us on Instagram at erginoustechnologies, or call directly at +91-89684-38190 . Start your journey toward a creative and successful design career today!
The FS Technology Summit
Technology increasingly permeates every facet of the financial services sector, from personal banking to institutional investment to payments.
The conference will explore the transformative impact of technology on the modern FS enterprise, examining how it can be applied to drive practical business improvement and frontline customer impact.
The programme will contextualise the most prominent trends that are shaping the industry, from technical advancements in Cloud, AI, Blockchain and Payments, to the regulatory impact of Consumer Duty, SDR, DORA & NIS2.
The Summit will bring together senior leaders from across the sector, and is geared for shared learning, collaboration and high-level networking. The FS Technology Summit will be held as a sister event to our 12th annual Fintech Summit.
fennec fox optimization algorithm for optimal solutionshallal2
Imagine you have a group of fennec foxes searching for the best spot to find food (the optimal solution to a problem). Each fox represents a possible solution and carries a unique "strategy" (set of parameters) to find food. These strategies are organized in a table (matrix X), where each row is a fox, and each column is a parameter they adjust, like digging depth or speed.
TrsLabs - Fintech Product & Business ConsultingTrs Labs
Hybrid Growth Mandate Model with TrsLabs
Strategic Investments, Inorganic Growth, Business Model Pivoting are critical activities that business don't do/change everyday. In cases like this, it may benefit your business to choose a temporary external consultant.
An unbiased plan driven by clearcut deliverables, market dynamics and without the influence of your internal office equations empower business leaders to make right choices.
Getting things done within a budget within a timeframe is key to Growing Business - No matter whether you are a start-up or a big company
Talk to us & Unlock the competitive advantage
UiPath Agentic Automation: Community Developer OpportunitiesDianaGray10
Please join our UiPath Agentic: Community Developer session where we will review some of the opportunities that will be available this year for developers wanting to learn more about Agentic Automation.
HCL Nomad Web – Best Practices and Managing Multiuser Environmentspanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-nomad-web-best-practices-and-managing-multiuser-environments/
HCL Nomad Web is heralded as the next generation of the HCL Notes client, offering numerous advantages such as eliminating the need for packaging, distribution, and installation. Nomad Web client upgrades will be installed “automatically” in the background. This significantly reduces the administrative footprint compared to traditional HCL Notes clients. However, troubleshooting issues in Nomad Web present unique challenges compared to the Notes client.
Join Christoph and Marc as they demonstrate how to simplify the troubleshooting process in HCL Nomad Web, ensuring a smoother and more efficient user experience.
In this webinar, we will explore effective strategies for diagnosing and resolving common problems in HCL Nomad Web, including
- Accessing the console
- Locating and interpreting log files
- Accessing the data folder within the browser’s cache (using OPFS)
- Understand the difference between single- and multi-user scenarios
- Utilizing Client Clocking
GyrusAI - Broadcasting & Streaming Applications Driven by AI and MLGyrus AI
Gyrus AI: AI/ML for Broadcasting & Streaming
Gyrus is a Vision Al company developing Neural Network Accelerators and ready to deploy AI/ML Models for Video Processing and Video Analytics.
Our Solutions:
Intelligent Media Search
Semantic & contextual search for faster, smarter content discovery.
In-Scene Ad Placement
AI-powered ad insertion to maximize monetization and user experience.
Video Anonymization
Automatically masks sensitive content to ensure privacy compliance.
Vision Analytics
Real-time object detection and engagement tracking.
Why Gyrus AI?
We help media companies streamline operations, enhance media discovery, and stay competitive in the rapidly evolving broadcasting & streaming landscape.
🚀 Ready to Transform Your Media Workflow?
🔗 Visit Us: https://gyrus.ai/
📅 Book a Demo: https://gyrus.ai/contact
📝 Read More: https://gyrus.ai/blog/
🔗 Follow Us:
LinkedIn - https://www.linkedin.com/company/gyrusai/
Twitter/X - https://twitter.com/GyrusAI
YouTube - https://www.youtube.com/channel/UCk2GzLj6xp0A6Wqix1GWSkw
Facebook - https://www.facebook.com/GyrusAI
AI Agents at Work: UiPath, Maestro & the Future of DocumentsUiPathCommunity
Do you find yourself whispering sweet nothings to OCR engines, praying they catch that one rogue VAT number? Well, it’s time to let automation do the heavy lifting – with brains and brawn.
Join us for a high-energy UiPath Community session where we crack open the vault of Document Understanding and introduce you to the future’s favorite buzzword with actual bite: Agentic AI.
This isn’t your average “drag-and-drop-and-hope-it-works” demo. We’re going deep into how intelligent automation can revolutionize the way you deal with invoices – turning chaos into clarity and PDFs into productivity. From real-world use cases to live demos, we’ll show you how to move from manually verifying line items to sipping your coffee while your digital coworkers do the grunt work:
📕 Agenda:
🤖 Bots with brains: how Agentic AI takes automation from reactive to proactive
🔍 How DU handles everything from pristine PDFs to coffee-stained scans (we’ve seen it all)
🧠 The magic of context-aware AI agents who actually know what they’re doing
💥 A live walkthrough that’s part tech, part magic trick (minus the smoke and mirrors)
🗣️ Honest lessons, best practices, and “don’t do this unless you enjoy crying” warnings from the field
So whether you’re an automation veteran or you still think “AI” stands for “Another Invoice,” this session will leave you laughing, learning, and ready to level up your invoice game.
Don’t miss your chance to see how UiPath, DU, and Agentic AI can team up to turn your invoice nightmares into automation dreams.
This session streamed live on May 07, 2025, 13:00 GMT.
Join us and check out all our past and upcoming UiPath Community sessions at:
👉 https://community.uipath.com/dublin-belfast/
Transcript: Canadian book publishing: Insights from the latest salary survey ...BookNet Canada
Join us for a presentation in partnership with the Association of Canadian Publishers (ACP) as they share results from the recently conducted Canadian Book Publishing Industry Salary Survey. This comprehensive survey provides key insights into average salaries across departments, roles, and demographic metrics. Members of ACP’s Diversity and Inclusion Committee will join us to unpack what the findings mean in the context of justice, equity, diversity, and inclusion in the industry.
Results of the 2024 Canadian Book Publishing Industry Salary Survey: https://publishers.ca/wp-content/uploads/2025/04/ACP_Salary_Survey_FINAL-2.pdf
Link to presentation slides and transcript: https://bnctechforum.ca/sessions/canadian-book-publishing-insights-from-the-latest-salary-survey/
Presented by BookNet Canada and the Association of Canadian Publishers on May 1, 2025 with support from the Department of Canadian Heritage.
Hybridize Functions: A Tool for Automatically Refactoring Imperative Deep Lea...Raffi Khatchadourian
Efficiency is essential to support responsiveness w.r.t. ever-growing datasets, especially for Deep Learning (DL) systems. DL frameworks have traditionally embraced deferred execution-style DL code—supporting symbolic, graph-based Deep Neural Network (DNN) computation. While scalable, such development is error-prone, non-intuitive, and difficult to debug. Consequently, more natural, imperative DL frameworks encouraging eager execution have emerged but at the expense of run-time performance. Though hybrid approaches aim for the “best of both worlds,” using them effectively requires subtle considerations to make code amenable to safe, accurate, and efficient graph execution—avoiding performance bottlenecks and semantically inequivalent results. We discuss the engineering aspects of a refactoring tool that automatically determines when it is safe and potentially advantageous to migrate imperative DL code to graph execution and vice-versa.
3. What is a Web App?
A software built with webtechnologies that is accessible via a
(mobile) browser
The browser may be either
the standard device browser
or an embedded browser
(Hybrid app)
5. Data
Usually mobile apps do not talk directlywiththe database
à do not even think about JDBC, drivers,etc!
àThey pass through an applicationserver and communicate via:
• standard HTTP requests forHTML content (eg PHP)
• REST-fullservices (XML, JSON, etc.)
• SOAP
7. HTML 5
• Intro
• New Structural Tags and Attributes
• Forms
• Audio & Video
• Offline Data
• Geolocalization
• Web Sockets
• Canvas& SVG
8. HTML 5
HTML5 will be the new standard for HTML
HTML5 is still a work in progress
W3Cfinal recomendation: 2020
Top browsers supportmany (not all)of the new HTML5 elements
http://mobilehtml5.org
http://caniuse.com
11. Roadmap
• Intro
• New Structural Tags and Attributes
• Forms
• Audio & Video
• Offline Data
• Geolocalization
• Web Sockets
• Canvas& SVG
12. New Structural Tags
Main Goal: separate presentation from content
• Poor accessibility
• Unnecessary complexity
• Larger document size
Most of the presentational features from earlier versions of
HTML are no longer supported
13. New Structural Tags
<header> header region of a page or section
<footer> footer region of a page or section
<nav> navigation region of a pageor section
<section> logical region of a page
<article> a complete piece of content
<aside> secondary or related content
15. Other Structural Tags
<command> a commandbutton that a user can invoke
<details> additional details that the user can view or hide
<summary> a visible heading for a <details> element
<meter> an amount within a range
<progress> shows real-time progress towards a goal
<figure> self-contained content, like illustrations,
diagrams, photos, code listings, etc.
<figcaption> caption of a figure
<mark> marked/highlighted text
<time> a date/time
<wbr>Definesa possible line-break
16. Custom Data Attributes
Can be used to add metadataabout any element within an
HTML5 page
They are ignored by the validatorfor HTML5 documents
They all startwith the data- pattern
They can be read by any browser using JavaScriptviathe
getAttribute() method
17. Roadmap
• Intro
• New Structural Tags and Attributes
• Forms
• Audio & Video
• Offline Data
• Geolocalization
• Web Sockets
• Canvas& SVG
19. Form Input Types
<input type="search"> for search boxes
<input type="number"> for spinboxes
<input type="range"> for sliders
<input type="color"> for color pickers
<input type="tel"> for telephone numbers
<input type="url"> for web addresses
<input type="email"> for email addresses
<input type="date"> for calendar datepickers
<input type="month"> for months
<input type="week"> for weeks
<input type="time"> for timestamps
<input type="datetime"> for precisetimestamps
<input type="datetime-local"> for local dates and times
20. Form Input Types
Form input types degrade gracefully
à Unknown input types are treatedas text-type
http://bit.ly/I65jai
21. Form Field Attributes
Autofocus
– Supportfor placingthe focus on a specific form element
<input type="text“ autofocus>
Placeholder
– Supportfor placingplaceholder text inside a form field
<input type="text“ placeholder=“your name”>
22. Roadmap
• Intro
• New Structural Tags and Attributes
• Forms
• Audio & Video
• Offline Data
• Geolocalization
• Web Sockets
• Server-Sent Events
• Canvas& SVG
23. Audio
<audio> : a standardway to embed an audio file on a web page
<audio controls>
<source src="song.ogg" type="audio/ogg" />
<source src="song.mp3" type="audio/mpeg" />
Not Supported
</audio>
Multiplesources à the browser will use the firstrecognized
format
25. Audio JavaScript API
HTML5provides a set of JavaScript APIs for interacting with an
audio element
For example:
play() pause() load() currentTime ended
volume…
à http://www.w3.org/wiki/HTML/Elements/audio
26. Video
<video> : a standardway to embed a video file on a web page
<video width="320" height="240" controls>
<source src="movie.mp4" type="video/mp4" />
<source src="movie.ogg" type="video/ogg" />
Not Supported
</video>
Multiplesources à the browser will use the firstrecognized
format
28. Video JavaScript API
HTML5provides a set of Javascript APIs for interactingwith a
video element
For example:
play() pause() load() currentTime ended
volume…
à http://www.w3.org/wiki/HTML/Elements/video
29. A note on YouTube videos
<video> works only if you havea direct link to the
MP4 file of the YouTube video
If you havejust a link to the YouTube page of your video,
simply embed it in your page
<iframe width="560" height="315"
src="http://www.youtube.com/embed/Wp20Sc8qPeo"
frameborder="0" allowfullscreen></iframe>
30. Roadmap
• Intro
• New Structural Tags and Attributes
• Forms
• Audio & Video
• Offline Data
• Geolocalization
• Web Sockets
• Canvas& SVG
31. Offline Data
LocalStorage
stores datain key/valuepairs
it is tied to a specific domain/app
persists across browser sessions
SessionStorage
stores datain key/valuepairs
it is tied to a specific domain/app
data is erased when a browser session ends
We will havea dedicated
lecture to offline data
storage on mobile devices
32. Offline Data
WebSQL Database
relationalDB
support for tables creation,insert, update,…
transactional
tied to a specific domain/app
persists across browser sessions
Its evolutionis called IndexedDB, but it is actuallynot fully
supported yet in iOS
34. Roadmap
• Intro
• New Structural Tags and Attributes
• Forms
• Audio & Video
• Offline Data
• Geolocalization
• Web Sockets
• Canvas& SVG
35. Geolocalization
Gets Latitudeand Longitude from the user’s browser
There is also a watchPositionmethod wich calls a JS function
every time the user moves
We will havea dedicated lecture to
geolocalizationon mobile devices
36. Example
function getLocation() {
if(navigator.geolocation) {
navigator.geolocation.getCurrentPosition(showPosition);
} else {
console.log(‘no geolocalization’);
}
}
function showPosition(position) {
console.log(position.coords.latitude);
console.log(position.coords.longitude);
}
40. Alternative - Polling via AJAX
+ Near real-time updates (not purely real-time)
+ easy to implement
+ no new technologies needed
- they are requested from the client à increased networktraffic
- AJAX requests generally havea small payloadand relatively
high amountof httpheaders (wasted bandwith)
41. Roadmap
• Intro
• New Structural Tags and Attributes
• Forms
• Audio & Video
• Offline Data
• Geolocalization
• Web Sockets
• Canvas& SVG
42. Canvas & SVG
Canvas & SVG allowyou to creategraphics inside the browser
http://bit.ly/Ie4HKu
43. Canvas & SVG
Canvas
draws 2D graphics, on the fly
you use JavaScriptto draw on the canvas
rendered pixel by pixel
example:
http://www.w3schools.com/html/tryit.asp?filename=tryhtml5_canvas_tut_path
SVG
describes 2D graphics in XML
every element is availablewithin theSVG DOM
JavaScriptevent handlers for an element
example:
http://www.w3schools.com/svg/tryit.asp?filename=trysvg_circle
47. CSS3 Main Drivers
Simplicity
– less images
– less markup
– less JavaScript
– no Flash
Better performance
– fewer HTTP requests
Better Search Engine Placement
– text as real text,not images or Flash contents
– speed
50. Inheritance
If an HTML elementB is nestedinto anotherelementA
àB inheritsthe style of A unlessB has an explicit style
definition
body {
background-color: red;
}
div {
background-color: green;
}
53. Backgrounds
You can style a backgroundof any element
div {
background: url(img.png), url(img2.png);
background-size: 80px, 60px;
background-repeat: no-repeat, no-repeat;
background-origin: content-box, top left;
}
repeat
no-repeat | repeat
repeat-x | repeat-y
origin
top left | top center | top right | center left
| border-box | content-box etc.
55. Gradients
They can be used in every place you can use an image
div {
background: -webkit-gradient(linear, right top,
left bottom, from(red), to(green));
}
linear à the type of gradient (also radial,or repeating-linear)
right-top à startof the gradient
left-bottom à end of the gradient
from à startingcolor
to à finalcolor
56. Text
p {
color: grey;
letter-spacing: 5px;
text-align: justify;
text-decoration: underline;
text-indent: 10px;
text-transform: capitalize;
word-spacing: 10px;
}
text-align
left | right
center | justify
Text-decoration
none
underline
overline
line throughtext-transform
none | capitalize |
lowercase | uppercase
57. Text Effects
p {
text-shadow: 2px 10px 5px #FF0000;
text-overflow: ellipsis;
word-wrap:break-word;
}
2px à horizontalshadow
10px à verticalshadow
5px à blur distance
#FF0000 à color
60. Selectors
Classical waysto select elements in CSS2:
• by type
a { color: red; }
• by id
#redLink { color: red; }
• by class
.redLink { color: red; }
61. Other Selectors from CSS1 & CSS2
• div p à all <p> elements inside a <div>
• div>p à all <p> elements where the parentis a <div>
• div+p à all <p> elements that are placed immediatelyafter
<div>
• [target] à all elements witha target attribute
• [target=_blank]à all elements with target= "_blank“
• p:first-childà every<p> element that is the firstchild of its
parent
62. Some selectors introduced in CSS3
• a[href^="https"]à every <a> element whose src attribute
value begins with "https”
• a[href$=".pdf"]à every <a> element whose src attributevalue
ends with ".pdf”
• a[href*=“mobile"]à every<a> element whose src attribute
value contains the substring “mobile“
• p:nth-child(2) à every<p> element that is the second child of
its parent
• p:nth-last-child(2)à every <p> element thatis the second
child of its parent,counting from the last child
• :not(p) à every element thatis not a <p> element
69. The Display Property
It specifies if and how an element is displayed
div {
display: none;
}
The element willbe hidden, and the page will be displayed as if the
element is not in the DOM
70. The Display Property
Other usual values:
block
• a block element is an element thattakes up the full width
available,and has a line break before and afterit
inline
• an inline element only takes up as much width as necessary
• it can containonly otherinline elements
inline-block
• the element is placed as an inline element (on the same line
as adjacentcontent), but it behaves as a block element
– you can set width and height, top and bottom margins and paddings
71. The visibility Property
It specifies if an element should be visible or hidden
div.hidden {
visibility: hidden;
}
The element willbe hidden, but still affectingthe layout
It can also be set to
visible, collapse (only for tables), inherit
72. Flex Box
It helps in stylingelements to be arrangedhorizontallyor
vertically
box:
• a new value for the display property
• a new propertybox-orient
#div {
display: box;
box-orient: horizontal;
}
73. Flex Box main elements
display: box
opts an element and its immediate children into the flexible
box model
box-orient
Values: horizontal| vertical| inherit
How should the box's childrenbe aligned
box-direction
Values: normal| reverse | inherit
sets the order in which the elements will be displayed
74. Flex Box main elements
box-pack
Values: start| end | center | justify
Sets the alignmentof the box along the box-orient axis
box-orient: horizontal;
box-pack: end;
75. Flex Box main elements
box-align
Values: start| end | center | baseline | stretch
Sets how the box's children are aligned in the box
box-orient: horizontal;
box-align: center;
76. Flex Box Children
by default child elements are not flexible
à their dimension is set according to their width
box-flex can be set to any integer
It sets how a child element occupy the
box’s space
#box1 {
width: 100px;
}
#box2 {
box-flex: 1;
}
#box3 {
box-flex: 2;
}
79. Relative Positioning
Elements behaveexactly the same
way as statically positioned elements
we can adjust a relatively positioned
element with offset properties:
top, right, bottom,and left
http://bit.ly/I8cEaF
80. Relative Positioning
It is possible to create a coordinatesystem for child elements
http://bit.ly/I8cEaF
81. Absolute Positioning
an absolutely positioned element is removed from the normal flow
it won’t affector be
affected by any other
element in the flow
http://bit.ly/I8cEaF
82. Fixed Positioning
shares all the rules of an absolutely positioned element
a fixed element does not scroll with the document
http://bit.ly/I8cEaF
83. Float
A floated element willmove as far to the left or right as it can
Elements are floated only horizontally
The floatCSS propertycan acceptone of 4 values:
left, right,none, and inherit
85. Fonts
Before CSS3,web designers had to use fonts thatwere already
installed on the user's device
With CSS3,web designers can use whateverfont they like
@font-face {
font-family: NAME;
src: url(Dimbo.ttf);
font-weight: normal;
font-style: normal;
}
font-style
normal
italic
oblique
font-weight
normal
bold
100
200
…
86. Fonts Usage
To use the font foran HTML element, refer to the name of the
font (NAME) throughthe font-familyproperty
div {
font-family: NAME;
}
90. Transforms
A transform is an effect thatlets an element
change shape, size, position,…
You can transform yourelements using 2D or 3D transformations
http://bit.ly/IroJ7S
93. Transitions
They are used to add an effect when changing from one style to
another
The effect can be gradual
The effect will startwhen the specified CSS propertychanges
value
94. Transition syntax
A transitioncontains 4 properties:
• property
– the name of the CSS property the transition effect is for (can be all)
• duration
– how many seconds (or milliseconds)thetransition effect takes to
complete
• timing-function
– linear, ease, ease-in, ease-out, ease-in-out
• delay
– when the transition effect will start
96. Animations
An animationis an effect thatlets an element graduallychange
from one style to another
You can change style in loop, repeating, etc.
To bind an animationto an element, you have to specify at least:
1. Name of the animation
2. Duration of the animation
div {
animation: test 5s ease-in;
}
97. Animation Definition
An animationis definedin a keyframe
It splits the animationinto parts, and assign a specific style to
each part
The various steps within an animationare givenas percentuals
0% à beginningofthe animation (from)
100% à end of the animation(to)
100. Transitions VS Animations
• Trigger
– Transitions mustbe bound to a CSS property change
– Animations startautonomously
• States
– Transitions havestartand end states
– Animations can havemultiplestates
• Repeats
– Transitions can be perfomed once for each activation
– Animations can be looped
102. Media Queries
They allow you to to change style based on specific conditions
For example, theycan be about
• device’s displaysize
• orientationof the device
• Resolution of the display
• ...
105. Media Types
Media Queries are based on Media Types
A media type is a specificationof the actualmedia thatis being
used to access the page
Examples of media types include
• screen: computerscreens
• print:printed document
• braille: forBraille-based devices
• tv: for televisiondevices
106. Media Types
There are two main waysto specify a media type:
• <link> in the HTML page
<link rel=“stylesheet”
href=“style.css” media=“screen” />
• @media within the CSS file
@media screen {
div { color: red; }
}
107. Media Queries
A media query is a boolean expression
The CSSassociated withthe media query expression is applied
only if it evaluates to true
A media query consists of
1. a media type
2. a set of media features
@media screen and orientation: portrait
109. The AND operator
You can combine multiple expressions by using the and operator
@media screen and (max-device-width: 480px){
/* your style */
}
110. The COMMA operator
The comma keyword acts as an or operator
@media screen and (color),
handheld and (color) {
/* your style */
}
111. The NOT operator
You can explicitlyignore a specific type of device by using the not
operator
@media not (width:480px) {
/* your style */
}
112. Examples
Retina Displays
@media only screen and -webkit-min-device-pixel-ratio: 2
iPad in landscape orientation
@media only screen and
(device-width: 768px) and (orientation: landscape)
iPhone and Android devices
@media only screen and
(min-device-width: 320px) and (max-device-width: 480px)
114. LAB
1. develop a simple HTML pagefor showing a list of
products in Loveitaly
– HTML, CSS
2. develop a simple HTML pageshowing the details about a
specific product in Loveitaly