This document discusses tuning web performance from a frontend perspective. It covers the impact of performance on user experience, development tools for optimization like Firebug and Chrome DevTools, and various techniques for website optimization including reducing requests, optimizing images, leveraging caching, minimizing JavaScript, and improving loading efficiency. The goal is to provide an overview of concepts and tools for optimizing frontend performance.
Opening up the Social Web - Standards that are bridging the Islands
The document discusses various standards that are helping to bridge isolated social networks and enable interoperability across platforms, including OpenID, WebFinger, XRD, PubSubHubbub, Salmon, OAuth, XAuth, OEmbed, and OpenSocial. It provides examples of how these standards work to allow users to log in or comment on different sites without separate accounts, share updates across networks, and embed content like videos universally. While progress is being made, challenges remain around user identity, privacy, access control, and full adoption. The overall goal is a more open and interconnected social web.
Presentation by @aaronpeters at Dutch Web Performance Meetup on August 22 2012.
The presentation covers new stuff in WPT UI, the WPT API, scripting and hidden gems. Awesome tool, but also room for improvement.
A web performance optimisation case study presented by Seatwave at the London Web Performance Meetup, Jan 2011.
The PDF is in Landscape so you might be better to download it and then shift-ctrl-+ to rotate it clockwise in Adobe Acrobat Reader.
The document discusses JavaScript basics and modular JavaScript design. It provides an agenda that covers JavaScript execution, scopes, types, browser objects, blocks, closures, DOM, event handling, and AJAX. It then discusses object-oriented JavaScript, components, containers, layouts, and client-side MVC patterns for modular JavaScript design. Examples of leveraging standards like HTML, CSS, and JavaScript across devices are also provided.
London Web Performance Meetup: Performance for mortal companies
You're probably familiar with the well-known performance success stories from companies like Amazon, Google, Microsoft and Shopzilla. But how relevant are these megasites to "mortal companies" that don't make billions of dollars per year or have teams of in-house performance engineers to do their bidding?
Strangeloop president Joshua Bixby walks through case studies of Strangeloop customers like AutoAnything.com and Artbeads.com to show how mortal companies have improved performance and achieved measurable success, including:
· Increased revenue by 13%
· Increased cart size by 6%
· Increased conversions by 9%
Joshua offers practical tips for successfully evangelizing performance within your organization. He also gives a snapshot of the current performance landscape in North America, as well as a sense of where the industry is headed.
The document discusses Asynchronous JavaScript and XML (Ajax) and how it can be used to retrieve data from a server without reloading the entire web page. It provides an overview of Ajax fundamentals including the XMLHttpRequest object, DOM manipulation, and different data transport options. It also recommends using a JavaScript library to simplify making Ajax requests instead of writing raw XMLHttpRequest code.
This document summarizes upcoming improvements and new features in web browsers, including Firefox 3.1, Safari 4, Internet Explorer 8, Opera 10, and Google Chrome. Many of the browsers are focusing on better JavaScript performance through new engines like TraceMonkey and V8. New features include process per tab, postMessage for cross-domain communication, HTML5 drag and drop, and the Canvas element for offloading rendering to the client. Overall the browsers are aiming to improve speed, compatibility, and the user experience through these new features and technologies.
WebPageTest is a great tool for testing and analysing how quickly web pages load.
Many people just use it as a simple testing tool, but it has advanced scripting capabilities for multi-page testing, completing forms etc.
It also has an API so performance testing can be integrated into Continuous Integration processes, used for monitoring and analysing how the web is built.
These slides explore some of these capabilities in more detail.
There are bonus slides after the "Thank You" slide
Sascha Corti
With Internet Explorer 9, Microsoft has entered the league of HTML 5 browsers and with its active participation in the W3C working groups, the company proves its engagements towards the new and emerging standards. Developers however are often left wondering where the boundaries are drawn between HTML5 web site, plug-in based rich internet application and smart client or “app”.
This session intends to answer this question and uses many examples to show you some of the most important enhancements introduced by HTML5, CSS3, SVG, DOM, WOFF and ECMA script. You will learn now the standards are still evolving and how Microsoft is contributing.
http://soft-shake.ch/2011/conference/sessions/microsoft/2011/09/06/introduction-to-html5.html
This document summarizes a presentation about Service Oriented Integration with Apache ServiceMix. The presentation introduces Enterprise Service Buses and their purpose in facilitating integration. It then discusses key aspects of Apache ServiceMix, an open source ESB, including its support for various protocols and engines. The presentation provides examples of how ServiceMix can be used to configure routing and mediation using tools like Apache Camel and content-based routing. It concludes by discussing newer developments in ServiceMix 4 that utilize OSGi and build upon integration patterns.
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
CouchDB is a document-oriented NoSQL database that uses JSON documents with schema-free design. It features a built-in map/reduce function for querying indexes, and uses HTTP for an API and replication. CouchDB is robust, scales well, and is designed for high availability through its append-only writing and multi-version concurrency control.
»Spring 3« ist da. Vieles ist geblieben, manches verschwunden, manches neu. Spring 3 verspricht eine verbesserte und dynamischere Konfiguration, einen leistungsfähigen und mächtigen REST-Support und viele kleine Verbesserungen. Parallel zu dem Spring 3-Release wurden auch andere Tools und Projekte aktualisiert, auf die wir ebenfalls einen Blick werfen wollen:
* Wichtige Änderungen
* Java Configuration
* Spring Expression Language
* Spring MVC und Rest
* Embedded Database
* SpringSource Toolsuite
* Spring Roo
* Grails
Webtests Reloaded - Webtest with Selenium, TestNG, Groovy and Maven
The most difficult part to test is the WebUI. This part of an application only manually tested. With Selenium you are able to test WebUIs on a simple way. In this article we shows you how to automating the test process.
The document describes different types and sizes of bubbles floating, bouncing, dancing, splashing, and popping as well as blowing bubbles and watching them float. Big bubbles splash while little bubbles dance and float with medium and long bubbles in lots of colorful bubbles.
This document provides an overview of the GAEO web framework for Google App Engine. It discusses what GAEO is, how it works, and how to use it. Key points include that GAEO is a Model-View-Controller based framework inspired by Rails and Zend Framework. It uses URL routing, action controllers, models and templates. The document also outlines GAEO's architecture, code layout, URL routing conventions, action controllers and models. It provides instructions on installing and using GAEO utilities to generate projects.
1) The document discusses Microsoft's close relationship with the jQuery community. It describes how Microsoft products like Visual Studio integrate with jQuery and how Microsoft contributes to official jQuery plugins.
2) It provides an overview of jQuery, including its capabilities and sample code. It also summarizes Microsoft's contributions to jQuery like the jQuery template and datalink plugins.
3) The document concludes by mentioning additional jQuery resources like the JSDefer script loader and encourages following Boris Moore's GitHub repositories for future jQuery developments.
1. The document discusses the challenges of predicting and managing slow-moving rockslides that can suddenly transition to catastrophic failure.
2. It examines three mechanical states that rockslides can be in - movement along a fully formed shear surface, movement associated with the ongoing formation of a critical shear surface through progressive failure, and creep.
3. The key issues are differentiating between these states, understanding how geometry and the mechanical properties and stress state of the slope materials influence failure, and whether a standard factor of safety approach can be reliably used to forecast behavior.
Presentation at the 10th International Symposium on Landslides and Engineered Slopes entitled "Temporal prediction in landslides – understanding the Saito effect"
High Performance Web Pages - 20 new best practices
The document discusses best practices for improving web page performance. It begins by noting how slow pages negatively impact user experience and business metrics. It then outlines 14 best practices such as minimizing HTTP requests, using a content delivery network, gzipping components, optimizing images, and avoiding redirects. Additional best practices are also provided such as preloading components, minimizing DOM access, and keeping components under 25kb. Tools for measuring performance are also mentioned.
The document discusses optimization of the presentation tier of web applications. It notes that the presentation tier is often overlooked despite being responsible for over 30% of client/server performance. Some key optimizations discussed include reducing HTTP requests, optimizing response objects by reducing size and load pattern, JavaScript minification and placement, image sprites, caching, and ensuring valid HTML markup.
Silicon Valley CodeCamp 2008: High performance Ajax with ExtJS and ASP.NET
This document provides an overview and introduction to using ExtJS with ASP.NET for building high performance AJAX applications. It covers setting up Visual Studio for JavaScript development, debugging techniques, an introduction to ExtJS, examples of ExtJS components like grids and form panels, handling errors, and tips for optimizing AJAX performance.
Yahoo has developed the de facto standard for building fast front-ends for websites. The bad news: you have to follow 34 rules to get there. The good news: I'll take a subset of those rules, explain them, and show how you can implement those rules in an automated fashion to minimize impact on developers and designers for your high-traffic website.
This document discusses Edge Side Includes (ESI) and its use at Yahoo. ESI allows content to be assembled at the edge from different sources, improving performance. Yahoo uses ESI to assemble pages, support legacy modules, and handle combinations of assets. ESI enables availability through caching and fallbacks. The future may include deeper HTTP integration and smarter assembly of includes.
This document discusses optimizing jQuery and front-end performance. It covers minimizing HTTP requests, file size, and blocking behavior to improve dependency loading. It discusses optimizing initial page rendering through proper asset ordering, lazy loading, and reducing flash of unstyled content. It also discusses minimizing reflows and repaints as well as JavaScript optimizations to improve post-load responsiveness. The document provides an overview of jQuery internals and techniques for optimizing jQuery code.
This document discusses profiling PHP applications to improve performance. It recommends profiling during development to identify inefficiencies. The document introduces Xdebug for profiling PHP code and Webgrind, a PHP frontend for visualizing Xdebug profiles. It provides an example of profiling a sample PHP application, identifying issues, making code changes, and verifying performance improvements through re-profiling.
This document discusses various techniques for optimizing the frontend performance of web applications. It provides 5 rules: 1) Only optimize when it makes a meaningful difference. 2) Download resources in parallel to reduce page load time. 3) Eliminate unnecessary requests through techniques like merging, inlining, sprites and caching. 4) Defer parsing of JavaScripts when possible to improve perceived page load speeds. 5) Consider factors like server location and content delivery networks to improve global performance.
The document provides best practices for optimizing frontend performance by reducing page load time. It discusses ways to reduce the number of HTTP requests, DNS lookups, redirects and duplicate scripts. It also recommends techniques like minifying assets, leveraging caching, prioritizing critical components, optimizing images and using content delivery networks.
== Abstract ==
Presented at Analysis of Security APIs
Satellite workshop of IEEE CSF
July 13th 2015, Verona, Italy
http://www.dsi.unive.it/~focardi/ASA8/#program
Browsers HTML sandbox is, by default, only protected by the "Same Origin Policy". Although this simple constraint gave companies a very flexible environment to play with, and was probably one of the key features that led the Web to success as we see it now, it is quite unsatisfactory from a security perspective. In fact, this solution does not face the problem of letting third party code access the whole data in the DOM when explicitly loaded and executed by the browser. This behaviour opens the door to malicious third party code attacks that can be achieved using either Cross Site Scripting (OWASP Top Ten Security risk #1 for many years) or second order attacks, such as malvertising software. In the past, several attempts to sandbox untrusted code have been made. In this talk we will focus on successes and failures of the most interesting open source sandboxing browser techniques.
It is not HTML5. but ... / HTML5ではないサイトからHTML5を考える
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.
Slides from my talk discussing my experience rebuilding a video player I previously developed in Flash. I gave this talk on March 18th, at the Brisbane Web Design Meetup.
S314011 - Developing Composite Applications for the Cloud with Apache TuscanyLuciano Resende
Today's cloud environments pose new challenges for application developers: hiding cloud infrastructure from business logic, assembling components on heterogeneous and distributed cloud environments, and optimizing the provisioning of the required cloud resources. This session will demonstrate how to use Apache Tuscany and the Service Component Architecture (SCA) to develop, build, and run an application composed of several service components in a distributed cloud environment. We'll illustrate how to encapsulate cloud infrastructure services as SCA components to simplify the construction and assembly of the application and how to move components around and rewire the application to adjust to new business and cloud deployment conditions.
An overview of web performance automation in the Production environment - "faster ways to make your website faster". Covers things like sample .htaccess files through to performance accelerators like mod_pagespeed and Aptimize through to DSA's like Cotendo.
Opening up the Social Web - Standards that are bridging the IslandsBastian Hofmann
The document discusses various standards that are helping to bridge isolated social networks and enable interoperability across platforms, including OpenID, WebFinger, XRD, PubSubHubbub, Salmon, OAuth, XAuth, OEmbed, and OpenSocial. It provides examples of how these standards work to allow users to log in or comment on different sites without separate accounts, share updates across networks, and embed content like videos universally. While progress is being made, challenges remain around user identity, privacy, access control, and full adoption. The overall goal is a more open and interconnected social web.
Presentation by @aaronpeters at Dutch Web Performance Meetup on August 22 2012.
The presentation covers new stuff in WPT UI, the WPT API, scripting and hidden gems. Awesome tool, but also room for improvement.
Seatwave Web Peformance Optimisation Case StudyStephen Thair
A web performance optimisation case study presented by Seatwave at the London Web Performance Meetup, Jan 2011.
The PDF is in Landscape so you might be better to download it and then shift-ctrl-+ to rotate it clockwise in Adobe Acrobat Reader.
Week 05 Web, App and Javascript_Brandon, S.H. WuAppUniverz Org
The document discusses JavaScript basics and modular JavaScript design. It provides an agenda that covers JavaScript execution, scopes, types, browser objects, blocks, closures, DOM, event handling, and AJAX. It then discusses object-oriented JavaScript, components, containers, layouts, and client-side MVC patterns for modular JavaScript design. Examples of leveraging standards like HTML, CSS, and JavaScript across devices are also provided.
London Web Performance Meetup: Performance for mortal companiesStrangeloop
You're probably familiar with the well-known performance success stories from companies like Amazon, Google, Microsoft and Shopzilla. But how relevant are these megasites to "mortal companies" that don't make billions of dollars per year or have teams of in-house performance engineers to do their bidding?
Strangeloop president Joshua Bixby walks through case studies of Strangeloop customers like AutoAnything.com and Artbeads.com to show how mortal companies have improved performance and achieved measurable success, including:
· Increased revenue by 13%
· Increased cart size by 6%
· Increased conversions by 9%
Joshua offers practical tips for successfully evangelizing performance within your organization. He also gives a snapshot of the current performance landscape in North America, as well as a sense of where the industry is headed.
The document discusses Asynchronous JavaScript and XML (Ajax) and how it can be used to retrieve data from a server without reloading the entire web page. It provides an overview of Ajax fundamentals including the XMLHttpRequest object, DOM manipulation, and different data transport options. It also recommends using a JavaScript library to simplify making Ajax requests instead of writing raw XMLHttpRequest code.
This document summarizes upcoming improvements and new features in web browsers, including Firefox 3.1, Safari 4, Internet Explorer 8, Opera 10, and Google Chrome. Many of the browsers are focusing on better JavaScript performance through new engines like TraceMonkey and V8. New features include process per tab, postMessage for cross-domain communication, HTML5 drag and drop, and the Canvas element for offloading rendering to the client. Overall the browsers are aiming to improve speed, compatibility, and the user experience through these new features and technologies.
WebPageTest is a great tool for testing and analysing how quickly web pages load.
Many people just use it as a simple testing tool, but it has advanced scripting capabilities for multi-page testing, completing forms etc.
It also has an API so performance testing can be integrated into Continuous Integration processes, used for monitoring and analysing how the web is built.
These slides explore some of these capabilities in more detail.
There are bonus slides after the "Thank You" slide
Sascha Corti
With Internet Explorer 9, Microsoft has entered the league of HTML 5 browsers and with its active participation in the W3C working groups, the company proves its engagements towards the new and emerging standards. Developers however are often left wondering where the boundaries are drawn between HTML5 web site, plug-in based rich internet application and smart client or “app”.
This session intends to answer this question and uses many examples to show you some of the most important enhancements introduced by HTML5, CSS3, SVG, DOM, WOFF and ECMA script. You will learn now the standards are still evolving and how Microsoft is contributing.
http://soft-shake.ch/2011/conference/sessions/microsoft/2011/09/06/introduction-to-html5.html
Service Oriented Integration With ServiceMixBruce Snyder
This document summarizes a presentation about Service Oriented Integration with Apache ServiceMix. The presentation introduces Enterprise Service Buses and their purpose in facilitating integration. It then discusses key aspects of Apache ServiceMix, an open source ESB, including its support for various protocols and engines. The presentation provides examples of how ServiceMix can be used to configure routing and mediation using tools like Apache Camel and content-based routing. It concludes by discussing newer developments in ServiceMix 4 that utilize OSGi and build upon integration patterns.
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
CouchDB is a document-oriented NoSQL database that uses JSON documents with schema-free design. It features a built-in map/reduce function for querying indexes, and uses HTTP for an API and replication. CouchDB is robust, scales well, and is designed for high availability through its append-only writing and multi-version concurrency control.
»Spring 3« ist da. Vieles ist geblieben, manches verschwunden, manches neu. Spring 3 verspricht eine verbesserte und dynamischere Konfiguration, einen leistungsfähigen und mächtigen REST-Support und viele kleine Verbesserungen. Parallel zu dem Spring 3-Release wurden auch andere Tools und Projekte aktualisiert, auf die wir ebenfalls einen Blick werfen wollen:
* Wichtige Änderungen
* Java Configuration
* Spring Expression Language
* Spring MVC und Rest
* Embedded Database
* SpringSource Toolsuite
* Spring Roo
* Grails
Webtests Reloaded - Webtest with Selenium, TestNG, Groovy and MavenThorsten Kamann
The most difficult part to test is the WebUI. This part of an application only manually tested. With Selenium you are able to test WebUIs on a simple way. In this article we shows you how to automating the test process.
The document describes different types and sizes of bubbles floating, bouncing, dancing, splashing, and popping as well as blowing bubbles and watching them float. Big bubbles splash while little bubbles dance and float with medium and long bubbles in lots of colorful bubbles.
This document provides an overview of the GAEO web framework for Google App Engine. It discusses what GAEO is, how it works, and how to use it. Key points include that GAEO is a Model-View-Controller based framework inspired by Rails and Zend Framework. It uses URL routing, action controllers, models and templates. The document also outlines GAEO's architecture, code layout, URL routing conventions, action controllers and models. It provides instructions on installing and using GAEO utilities to generate projects.
1) The document discusses Microsoft's close relationship with the jQuery community. It describes how Microsoft products like Visual Studio integrate with jQuery and how Microsoft contributes to official jQuery plugins.
2) It provides an overview of jQuery, including its capabilities and sample code. It also summarizes Microsoft's contributions to jQuery like the jQuery template and datalink plugins.
3) The document concludes by mentioning additional jQuery resources like the JSDefer script loader and encourages following Boris Moore's GitHub repositories for future jQuery developments.
1. The document discusses the challenges of predicting and managing slow-moving rockslides that can suddenly transition to catastrophic failure.
2. It examines three mechanical states that rockslides can be in - movement along a fully formed shear surface, movement associated with the ongoing formation of a critical shear surface through progressive failure, and creep.
3. The key issues are differentiating between these states, understanding how geometry and the mechanical properties and stress state of the slope materials influence failure, and whether a standard factor of safety approach can be reliably used to forecast behavior.
Presentation at the 10th International Symposium on Landslides and Engineered Slopes entitled "Temporal prediction in landslides – understanding the Saito effect"
High Performance Web Pages - 20 new best practicesStoyan Stefanov
The document discusses best practices for improving web page performance. It begins by noting how slow pages negatively impact user experience and business metrics. It then outlines 14 best practices such as minimizing HTTP requests, using a content delivery network, gzipping components, optimizing images, and avoiding redirects. Additional best practices are also provided such as preloading components, minimizing DOM access, and keeping components under 25kb. Tools for measuring performance are also mentioned.
The document discusses optimization of the presentation tier of web applications. It notes that the presentation tier is often overlooked despite being responsible for over 30% of client/server performance. Some key optimizations discussed include reducing HTTP requests, optimizing response objects by reducing size and load pattern, JavaScript minification and placement, image sprites, caching, and ensuring valid HTML markup.
Silicon Valley CodeCamp 2008: High performance Ajax with ExtJS and ASP.NETMats Bryntse
This document provides an overview and introduction to using ExtJS with ASP.NET for building high performance AJAX applications. It covers setting up Visual Studio for JavaScript development, debugging techniques, an introduction to ExtJS, examples of ExtJS components like grids and form panels, handling errors, and tips for optimizing AJAX performance.
Yahoo has developed the de facto standard for building fast front-ends for websites. The bad news: you have to follow 34 rules to get there. The good news: I'll take a subset of those rules, explain them, and show how you can implement those rules in an automated fashion to minimize impact on developers and designers for your high-traffic website.
This document discusses Edge Side Includes (ESI) and its use at Yahoo. ESI allows content to be assembled at the edge from different sources, improving performance. Yahoo uses ESI to assemble pages, support legacy modules, and handle combinations of assets. ESI enables availability through caching and fallbacks. The future may include deeper HTTP integration and smarter assembly of includes.
This document discusses optimizing jQuery and front-end performance. It covers minimizing HTTP requests, file size, and blocking behavior to improve dependency loading. It discusses optimizing initial page rendering through proper asset ordering, lazy loading, and reducing flash of unstyled content. It also discusses minimizing reflows and repaints as well as JavaScript optimizations to improve post-load responsiveness. The document provides an overview of jQuery internals and techniques for optimizing jQuery code.
This document discusses profiling PHP applications to improve performance. It recommends profiling during development to identify inefficiencies. The document introduces Xdebug for profiling PHP code and Webgrind, a PHP frontend for visualizing Xdebug profiles. It provides an example of profiling a sample PHP application, identifying issues, making code changes, and verifying performance improvements through re-profiling.
This document discusses various techniques for optimizing the frontend performance of web applications. It provides 5 rules: 1) Only optimize when it makes a meaningful difference. 2) Download resources in parallel to reduce page load time. 3) Eliminate unnecessary requests through techniques like merging, inlining, sprites and caching. 4) Defer parsing of JavaScripts when possible to improve perceived page load speeds. 5) Consider factors like server location and content delivery networks to improve global performance.
The document provides best practices for optimizing frontend performance by reducing page load time. It discusses ways to reduce the number of HTTP requests, DNS lookups, redirects and duplicate scripts. It also recommends techniques like minifying assets, leveraging caching, prioritizing critical components, optimizing images and using content delivery networks.
== Abstract ==
Presented at Analysis of Security APIs
Satellite workshop of IEEE CSF
July 13th 2015, Verona, Italy
http://www.dsi.unive.it/~focardi/ASA8/#program
Browsers HTML sandbox is, by default, only protected by the "Same Origin Policy". Although this simple constraint gave companies a very flexible environment to play with, and was probably one of the key features that led the Web to success as we see it now, it is quite unsatisfactory from a security perspective. In fact, this solution does not face the problem of letting third party code access the whole data in the DOM when explicitly loaded and executed by the browser. This behaviour opens the door to malicious third party code attacks that can be achieved using either Cross Site Scripting (OWASP Top Ten Security risk #1 for many years) or second order attacks, such as malvertising software. In the past, several attempts to sandbox untrusted code have been made. In this talk we will focus on successes and failures of the most interesting open source sandboxing browser techniques.
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.
This document discusses techniques for improving frontend performance. It recommends making fewer HTTP requests, using a content delivery network, adding expiration headers, gzipping components, optimizing stylesheet and script placement, avoiding redirects and duplicate scripts, and more. It also covers techniques for loading scripts asynchronously without blocking page rendering, such as using script elements, XHR, and iframes. Faster page loads can improve user experience and increase revenue.
The document provides an overview of front-end technologies including HTML, CSS, JavaScript, Ajax and jQuery. It discusses how the front-end interacts with the user's browser and backend servers. It describes the roles of HTML, CSS and JavaScript in content, styles and behaviors. It then covers HTML tags and structures, CSS, JavaScript basics and its use in browsers with BOM and DOM APIs. The document also summarizes Ajax and how it enables asynchronous JavaScript requests, and introduces jQuery and how it simplifies DOM and Ajax operations.
Damien Pobel, expert technique PHP chez Smile, a animé une conférence sur le thème des front-end performances avec eZ Publish.
Les slides de sa présentation exposant quelques spécificités liées à eZ Publish sont disponibles ici.
Intro to mobile web application developmentzonathen
Learn all the basics of web app development including bootstrap, handlebars templates, jquery and angularjs, as well as using hybrid app deployment on a phone.
Practical Performance Tips and Tricks to Make Your HTML/JavaScript Apps FasterDoris Chen
How to tackle real-world web platform performance problems in modern websites and apps? This session starts with a basic understanding of the web platform and then explores to a set of problem/solution pairs built from industry-standard performance guidance. In the talk, we will demonstrate performance tips and tricks that will help you improve the performance of your apps and sites today. We will discuss the following respond to network requests, speed and responsiveness, optimizing media usage, and writing fast JavaScript. These performance tips and tricks apply equally to web sites that run on standards based web browsers, as well as to modern apps.
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!
This document provides an agenda for introducing .NET Core, an open source and cross-platform version of .NET. It discusses issues with past .NET frameworks being fragmented with too many runtimes and lack of portable libraries. .NET Core aims to solve these issues by having a single runtime (Core CLR) and unified class libraries that can be shipped with applications. It also provides demos and links to .NET Core open source projects on GitHub for the CLR, foundational libraries, compiler and build tools.
This document provides an agenda for a presentation on .NET Core and open source. It introduces .NET Core as addressing fragmentation issues with previous .NET frameworks by having a single, portable runtime (Core CLR) and unified class libraries. It lists resources for .NET Core open source projects, including the Core CLR, CoreFX foundational libraries, Roslyn compiler, and MSBuild, and demonstrates a "Hello World" console app.
Building Python Applications on Windows AzureEric ShangKuan
Eric Lin worked at NTU from 2000 to 2004, at CHT from 2007 to 2011, and has worked at Microsoft since 2011 where he is a Technical Evangelist. He was also active in the Taipei GTUG from 2004 to 2006 and 2009 to 2010. The document then provides steps for creating and publishing a Python project on the Azure cloud service as well as code samples for interacting with Azure table storage from Python.
This document provides an overview of Google Maps features and tutorials for using the Google Maps API. It discusses using My Maps to build custom maps and add collaborators. It also covers directions, Street View, markers, polylines, services like geocoding, and static maps. Tutorials demonstrate basic maps initialization, adding markers and listening to drag events. Both the JavaScript API v2 and new v3 are mentioned, with v3 being optimized for mobile devices.
Practical Google App Engine Applications In PyEric ShangKuan
The document discusses techniques for building efficient applications on Google App Engine. It covers optimizing data storage and queries using the datastore, improving performance through caching and entity grouping, and techniques like zipimport and zipserve to work around file limits. Key recommendations include minimizing datastore calls, avoiding heavily indexing properties, rebinding query objects, and caching frequently accessed data in memcache.
The document discusses the Google App Engine Oil (GAEO) framework, which aims to provide a structured and parameterized approach to developing applications on Google App Engine. GAEO version 0.1 was released in September 2008 and introduced features like URL routing, action controllers, session support, and model enhancements. Version 0.2 added additional features like plugins and AJAX/form helpers. The document outlines GAEO's software architecture and code layout, and describes its current features and future roadmap. It provides links to documentation and forums for further information.
The Jewish Trinity : Sabbath,Shekinah and Sanctuary 4.pdfJackieSparrow3
we may assume that God created the cosmos to be his great temple, in which he rested after his creative work. Nevertheless, his special revelatory presence did not fill the entire earth yet, since it was his intention that his human vice-regent, whom he installed in the garden sanctuary, would extend worldwide the boundaries of that sanctuary and of God’s presence. Adam, of course, disobeyed this mandate, so that humanity no longer enjoyed God’s presence in the little localized garden. Consequently, the entire earth became infected with sin and idolatry in a way it had not been previously before the fall, while yet in its still imperfect newly created state. Therefore, the various expressions about God being unable to inhabit earthly structures are best understood, at least in part, by realizing that the old order and sanctuary have been tainted with sin and must be cleansed and recreated before God’s Shekinah presence, formerly limited to heaven and the holy of holies, can dwell universally throughout creation
Views in Odoo - Advanced Views - Pivot View in Odoo 17Celine George
In Odoo, the pivot view is a graphical representation of data that allows users to analyze and summarize large datasets quickly. It's a powerful tool for generating insights from your business data.
The pivot view in Odoo is a valuable tool for analyzing and summarizing large datasets, helping you gain insights into your business operations.
(T.L.E.) Agriculture: Essentials of GardeningMJDuyan
(𝐓𝐋𝐄 𝟏𝟎𝟎) (𝐋𝐞𝐬𝐬𝐨𝐧 𝟏.𝟎)-𝐅𝐢𝐧𝐚𝐥𝐬
Lesson Outcome:
-Students will understand the basics of gardening, including the importance of soil, water, and sunlight for plant growth. They will learn to identify and use essential gardening tools, plant seeds, and seedlings properly, and manage common garden pests using eco-friendly methods.
Integrated Marketing Communications (IMC)- Concept, Features, Elements, Role of advertising in IMC
Advertising: Concept, Features, Evolution of Advertising, Active Participants, Benefits of advertising to Business firms and consumers.
Classification of advertising: Geographic, Media, Target audience and Functions.
How to Add Colour Kanban Records in Odoo 17 NotebookCeline George
In Odoo 17, you can enhance the visual appearance of your Kanban view by adding color-coded records using the Notebook feature. This allows you to categorize and distinguish between different types of records based on specific criteria. By adding colors, you can quickly identify and prioritize tasks or items, improving organization and efficiency within your workflow.
Webinar Innovative assessments for SOcial Emotional SkillsEduSkills OECD
Presentations by Adriano Linzarini and Daniel Catarino da Silva of the OECD Rethinking Assessment of Social and Emotional Skills project from the OECD webinar "Innovations in measuring social and emotional skills and what AI will bring next" on 5 July 2024
How to Configure Time Off Types in Odoo 17Celine George
Now we can take look into how to configure time off types in odoo 17 through this slide. Time-off types are used to grant or request different types of leave. Only then the authorities will have a clear view or a clear understanding of what kind of leave the employee is taking.
No, it's not a robot: prompt writing for investigative journalismPaul Bradshaw
How to use generative AI tools like ChatGPT and Gemini to generate story ideas for investigations, identify potential sources, and help with coding and writing.
A talk from the Centre for Investigative Journalism Summer School, July 2024
Is Email Marketing Really Effective In 2024?Rakesh Jalan
Slide 1
Is Email Marketing Really Effective in 2024?
Yes, Email Marketing is still a great method for direct marketing.
Slide 2
In this article we will cover:
- What is Email Marketing?
- Pros and cons of Email Marketing.
- Tools available for Email Marketing.
- Ways to make Email Marketing effective.
Slide 3
What Is Email Marketing?
Using email to contact customers is called Email Marketing. It's a quiet and effective communication method. Mastering it can significantly boost business. In digital marketing, two long-term assets are your website and your email list. Social media apps may change, but your website and email list remain constant.
Slide 4
Types of Email Marketing:
1. Welcome Emails
2. Information Emails
3. Transactional Emails
4. Newsletter Emails
5. Lead Nurturing Emails
6. Sponsorship Emails
7. Sales Letter Emails
8. Re-Engagement Emails
9. Brand Story Emails
10. Review Request Emails
Slide 5
Advantages Of Email Marketing
1. Cost-Effective: Cheaper than other methods.
2. Easy: Simple to learn and use.
3. Targeted Audience: Reach your exact audience.
4. Detailed Messages: Convey clear, detailed messages.
5. Non-Disturbing: Less intrusive than social media.
6. Non-Irritating: Customers are less likely to get annoyed.
7. Long Format: Use detailed text, photos, and videos.
8. Easy to Unsubscribe: Customers can easily opt out.
9. Easy Tracking: Track delivery, open rates, and clicks.
10. Professional: Seen as more professional; customers read carefully.
Slide 6
Disadvantages Of Email Marketing:
1. Irrelevant Emails: Costs can rise with irrelevant emails.
2. Poor Content: Boring emails can lead to disengagement.
3. Easy Unsubscribe: Customers can easily leave your list.
Slide 7
Email Marketing Tools
Choosing a good tool involves considering:
1. Deliverability: Email delivery rate.
2. Inbox Placement: Reaching inbox, not spam or promotions.
3. Ease of Use: Simplicity of use.
4. Cost: Affordability.
5. List Maintenance: Keeping the list clean.
6. Features: Regular features like Broadcast and Sequence.
7. Automation: Better with automation.
Slide 8
Top 5 Email Marketing Tools:
1. ConvertKit
2. Get Response
3. Mailchimp
4. Active Campaign
5. Aweber
Slide 9
Email Marketing Strategy
To get good results, consider:
1. Build your own list.
2. Never buy leads.
3. Respect your customers.
4. Always provide value.
5. Don’t email just to sell.
6. Write heartfelt emails.
7. Stick to a schedule.
8. Use photos and videos.
9. Segment your list.
10. Personalize emails.
11. Ensure mobile-friendliness.
12. Optimize timing.
13. Keep designs clean.
14. Remove cold leads.
Slide 10
Uses of Email Marketing:
1. Affiliate Marketing
2. Blogging
3. Customer Relationship Management (CRM)
4. Newsletter Circulation
5. Transaction Notifications
6. Information Dissemination
7. Gathering Feedback
8. Selling Courses
9. Selling Products/Services
Read Full Article:
https://digitalsamaaj.com/is-email-marketing-effective-in-2024/
How to Show Sample Data in Tree and Kanban View in Odoo 17Celine George
In Odoo 17, sample data serves as a valuable resource for users seeking to familiarize themselves with the functionalities and capabilities of the software prior to integrating their own information. In this slide we are going to discuss about how to show sample data to a tree view and a kanban view.
Ardra Nakshatra (आर्द्रा): Understanding its Effects and RemediesAstro Pathshala
Ardra Nakshatra, the sixth Nakshatra in Vedic astrology, spans from 6°40' to 20° in the Gemini zodiac sign. Governed by Rahu, the north lunar node, Ardra translates to "the moist one" or "the star of sorrow." Symbolized by a teardrop, it represents the transformational power of storms, bringing both destruction and renewal.
About Astro Pathshala
Astro Pathshala is a renowned astrology institute offering comprehensive astrology courses and personalized astrological consultations for over 20 years. Founded by Gurudev Sunil Vashist ji, Astro Pathshala has been a beacon of knowledge and guidance in the field of Vedic astrology. With a team of experienced astrologers, the institute provides in-depth courses that cover various aspects of astrology, including Nakshatras, planetary influences, and remedies. Whether you are a beginner seeking to learn astrology or someone looking for expert astrological advice, Astro Pathshala is dedicated to helping you navigate life's challenges and unlock your full potential through the ancient wisdom of Vedic astrology.
For more information about their courses and consultations, visit Astro Pathshala.
1. Tuning Web Performance
in Frontend Perspective
Lin-Chieh Shangkuan (上官林傑)
ericsk@gmail.com
2. AGENDA
The Impacts of Web Performance
Development Tools
Website Optimization Concepts
References
3. The Impact of Performance
Longer response time from web server.
Too many requests (css/javascript files, images, flashes, ...)
Complicated DOM structure
Inefficient JavaScript codes
....
4. The Impact of Performance
Longer response time from web server.
Too many requests (css/javascript files, images,
flashes, ...)
Complicated DOM structure
Inefficient JavaScript codes
80~90% time spent
on the frontend
18. HTTP Compression
Modern browsers support HTTP compression -- to reduce
the size of response content
Gzip the static (html, css, js, ...) files
Don't compress everything (e.g., jpg, png, pdf, ... they are
already compressed)
Check if the Accept-Encoding header has gzip or deflate value.
Respond Content-Encoding: gzip header.
19. HTTP Compression
In Apache httpd server, use mod_gzip (httpd 1.3) or
mod_deflate (httpd 2.x).
[mod_deflate]
AddOutputFilterByType DEFLATE text/html text/css
application/x-javascript
Problems:
Proxy may cache uncompressed content
Add Vary: Accept-Encoding header
IE6 bug: Q312496, Q313712
20. Make Fewer Requests
CSS Sprites: Combine N icons into 1 bigger image.
Reduce N requests info 1 request.
Be careful of the arrangement of the icons
sample: http://www.google.com.tw/images/nav_logo8.png
tool: http://tw.spritegen.website-performance.org/
http://csssprites.com/
Combine CSS/JavaScript files
Using Google Closure Compiler
Apache: http://code.google.com/p/modconcat/
Lighttpd: http://code.google.com/p/lighttpd-mod-concat/
YUI Comobo Handler: http://yuiblog.
com/blog/2008/07/16/combohandler/
21. Make Fewer Requests
Reduce Cookie size (or split domains)
Inline images: using base64 encoding
<img src="data:image/png;base64, xxxxx">
IE7/6 doesn't support this feature
Useful in mobile browser
Not only images: <frame src="data:text/html,%3Chtml%3E%
3Cbody%20style%3D%22background..."></frame>
22. Using Expires Headers
Use Expires header to tell the browser how long to keep
the resource.
Browser won't fetch the resource again until the expire time
Apache mod_expires module can help setting expire time
<FilesMatch ".(css|js|jpg|png)$">
ExpiresDefault "access plus 1 year"
</FilesMatch>
e.g., Expires: Fri, 25 Mar 2011 08:00:00 GMT
Cache-Control header
In stead of using a specified date, Cache-Control header
shows HOW LONG the client should keep it
e.g., Cache-Control: max-age=31536000 # cache 1 year
23. Using Last-Modified Headers
Use Last-Modified header to tell the browser the last modified
time of the resource.
[request] [request]
GET /foo/bar.css HTTP/1.1 GET /foo/bar.css HTTP/1.1
.... ...
If-Modified-Since: Thu, 25 Mar 2010
[response] 10:00:00 GMT
HTTP/1.1 200 OK ...
Content-Type: text/css
Last-Modified: Thu, 25 Mar 2010 10: [response]
00:00 GMT+8 HTTP/1.1 304 Not Modified
.... ...
(empty response body)
24. Configuring ETag
ETag (Entity Tag) header tells browser which to cache
How ETag works: read Wikipedia
Problem: Not-the-same tag across different servers
Apache: inode-size-timestamp
IIS: timestamp:changenumber
Solution:
Set ETag manually
Remove it.
(in Apache) FileETag none
25. Invalidates the Cached Resources
If the static resources are cached, how to invalidate them?
Use signature in filename ( /js/foo.AB32FDC.js )
Add query string ( /js/foo.js?20100325110000 )
27. Minifying JavaScript
Reduce the size of JavaScript files.
Reduce the total response sizes.
HTML, CSS files can be also compressed.
Closure-compiler
Web-based http://closure-compiler.appspot.com/
RESTful API
http://code.google.com/closure/compiler/docs/api-ref.html
Standalone executable
Ofuscation
Reduce the length of variables names
Be careful the obfuscation method (e.g., eval cause
performance degradation)
Be careful the conflicts.
28. Optimizing Images
Using appropriate image format and remove redundant
chunks in the image files.
PNG8 (256 colors) is a good choice.
Optimizing:
Crushing PNGs
pngcrush (http://pmt.sf.net/pngcrush/)
Stripping JPEG metadata
jpegtran (http://jpegclub.org/)
Convert GIF to PNG
ImageMagick
Optimizing GIF animations
gifsicle
(
(http://www.lcdf.org/gifsicle/)
Avoid image scaling
29. Put Stylesheets on The Top
Browser delays showing any visible components while it
and user wait for the stylesheet at the bottom.
Use <link> to include stylesheets
@import MUST precede all other rules
@import may cause blank white screen phenomenon (in IE)
30. Put JavaScripts at The Bottom
JavaScript blocks parallel downloads
Put at top: the other components are delayed- loaded.
defer attributes:
Firefox still blocks other downloads
31. Non-blocking Loading Scripts
IE8 is the first browser that supports downloading scripts in
parallel.
Ways to load JavaScripts
XHR Eval
XHR Inject
Script in iframe
Inserting script DOM element
document.write
32. Non-blocking Loading Scripts
Existing Busy Preserve
Tech Parallel Diff Domain
Scripts indicator Order
Normal IE8, SF4 Y Y IE, SF4 IE, SF4
XHR Eval * N N SF, Ch
XHR Injection * N Y SF, Ch
Script in iframe * N N IE, FF, SF, Ch
Script DOM * Y Y FF, SF, Ch FF, Op
IE, SF4, Ch2,
Script Defer Y Y * *
FF3.1
IE, SF4, Ch2,
document.write Y Y * *
Op
33. iframes
iframes are heavy and block onload event.
Use script DOM injection to insert ADs instead of iframes.
36. Simplifying CSS Selectors
CSS selector policy: Rightmost-First
Tips:
Avoid * selector
Don't qualify ID/CSS selectors
Specific rules
Avoid descendant selectors
Avoid Tag > Child selectors
Rely on inheritance
37. Efficient JavaScript Tips
Using className instead of modifying style attributes of a DOM
element.
[bad
]
var foo = document.getElementById('foo');
foo.style.color = '#f00';
foo.style.fontWeight = 'bold';
[good]
.highlight {
color: #f00;
font-weight: bold;
}
foo.className = 'highlight';
38. Efficient JavaScript Tips (con'd)
Appending a newly-created DOM element after modifying its
attributes. (avoid reflows)
[bad]
var foo = document.createElement('div');
document.body.appendChild(foo);
foo.innerHTML = 'Hello, world';
foo.className = 'hello';
[good]
var foo = document.createElement('div');
foo.innerHTML = 'Hello, world';
foo.className = 'hello';
document.body.appendChild(foo);
39. Efficient JavaScript Tips
Using document fragment to create new contents.
[bad]
document.body.appendChild(createDivElement());
document.body.appendChild(createDivElement());
...
[good]
var frag = document.createDocumentFragment();
frag.appendChild(createDivElement());
frag.appendChild(createDivElement());
....
document.body.appendChild(frag);
40. Efficient JavaScript Tips
Using array join instead of directly concatenate strings.
[bad
]
]
var a = 'Hel';
a += 'lo';
a += ', wor';
a += 'ld!';
[good]
var buf = ['Hel'];
buf.push('lo');
buf.push(', wor');
buf.push('ld!');
a = buf.join('');
41. Efficient JavaScript Tips
Faster trim method: (use simple regular expression)
[bad]
str.replace(/^s+|s+$/g, '');
[better]
str.replace(/^s+/, '').replace(/^s+$/, '');
[much better]
str = str.replace(/^s+/, '');
for (i = str.length - 1; i >=0; i--) {
if (/S/.test(str.charAt(i))) {
str = str.substring(0, i + 1);
break;
}
}
46. Mobile Web
Mobile device has lower hardware-profile so that the web
performance is more important!
iPhone Safari/Android browser/Opera Mini likes HTML5 (w/
a little CSS3)
49. Websites
Let's Make the Web Faster (Google)
http://code.google.com/speed
Exceptional Performance (Yahoo!)
http://developer.yahoo.com/performance/
High Performance Web Sites Blog
http://www.stevesouders.com/blog/