The document provides an overview of developing high performance web applications, focusing on optimizing front-end performance. It discusses why front-end performance matters, and provides best practices for optimizing page load time, developing responsive interfaces, and efficiently loading and executing JavaScript. The document also covers DOM scripting techniques, tools for profiling and analyzing performance, and how the performance monitoring service Gomez can be extended to better measure client-side metrics.
Performance Of Web Applications On Client MachinesCurelet Marius
Performance of Web applications on client machines. This paper refers to the performance of Web browsers and applications in general and of JavaScript code on the client machine.
80% of the time it takes for a web page to load is on the client side.
Using all the tips in this presentation should cut 25% to 50% off the load time of optimized page requests.
Drupal (6 or 7) can be used to, fairly easily, implement a whole bunch of these “front-end performance” upgrades, and knock a ton of errors off of the Yahoo! and Google speed-checker tools validation checklists.Get firebug first.
This presentation describe how you can use standard web techniques like Ajax and JSON to work with data in your existing IBM Domino (formerly Lotus Domino) database. It shows how to use jQuery and Bootstrap to build a modern web interface, and explains how to create your own REST API on the Domino server to serve up and process data.
Performance Of Web Applications On Client MachinesCurelet Marius
Performance of Web applications on client machines. This paper refers to the performance of Web browsers and applications in general and of JavaScript code on the client machine.
80% of the time it takes for a web page to load is on the client side.
Using all the tips in this presentation should cut 25% to 50% off the load time of optimized page requests.
Drupal (6 or 7) can be used to, fairly easily, implement a whole bunch of these “front-end performance” upgrades, and knock a ton of errors off of the Yahoo! and Google speed-checker tools validation checklists.Get firebug first.
This presentation describe how you can use standard web techniques like Ajax and JSON to work with data in your existing IBM Domino (formerly Lotus Domino) database. It shows how to use jQuery and Bootstrap to build a modern web interface, and explains how to create your own REST API on the Domino server to serve up and process data.
My presentation at MWLUG 2015. I show how to build and connect a modern looking website, built with HTML, CSS, and Javascript/jQuery, to your existing IBM Domino backend data using Ajax and JSON and some simple Lotusscript code.
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.
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.
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.
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
Beyond Breakpoints: Improving Performance for Responsive SitesRakuten Group, Inc.
Performance is important but often overlooked when it comes to building responsive sites. We often spend time discussing layouts, breakpoints, and designs that fits well for both desktops and mobile but we do not invest more time in thinking about performance. We learned this the hard way when we revamped Viki's main web page to a responsive site a few months ago. In the process of improving Viki's performance, we discovered practical techniques and useful tools in helping us enhance our user experience and monitor our performance. In this talk, we are going to share the present and the future of performance optimizations for responsive sites.
https://tech.rakuten.co.jp/
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
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
My presentation at MWLUG 2015. I show how to build and connect a modern looking website, built with HTML, CSS, and Javascript/jQuery, to your existing IBM Domino backend data using Ajax and JSON and some simple Lotusscript code.
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.
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.
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.
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
Beyond Breakpoints: Improving Performance for Responsive SitesRakuten Group, Inc.
Performance is important but often overlooked when it comes to building responsive sites. We often spend time discussing layouts, breakpoints, and designs that fits well for both desktops and mobile but we do not invest more time in thinking about performance. We learned this the hard way when we revamped Viki's main web page to a responsive site a few months ago. In the process of improving Viki's performance, we discovered practical techniques and useful tools in helping us enhance our user experience and monitor our performance. In this talk, we are going to share the present and the future of performance optimizations for responsive sites.
https://tech.rakuten.co.jp/
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
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
Organizations focus process optimization of
Data Tier
Application Tier
Presentation Tier is usually ignored.
Presentation Tier is responsible for more than 30% of Client/Server application performance.
JavaScript front end performance optimizationsChris Love
No one wants a slow loading, slow reacting application. As page weight has increased so has the dependency on JavaScript to drive rich user experiences. Today many pages load over 2MBs of JavaScript, but is this healthy? Do your scripts and dependencies perform well? In this session we will review common JavaScript performance bottlenecks, how to detect them and how to eliminate them.
This session will review common bad coding syntax, architecture and how to replace them with better alternatives. You will also be exposed to caching, code organization, build and deployment best practices that produce the best user experiences. Finally, you will see how to use the navigation timing and performance timing APIs to fine tune your applications to produce a fast, lean application your customers will love.
Overhauling one of the most visited web sites in the world is a major task, and add on top of it the pressure of keeping performance the same while adding a ton of new features, and you have quite a task. Learn how the Yahoo! homepage team achieved performance parity with the previous version even while adding a ton of new features.
Presented at Bucharest Java User Group, http://www.bjug.ro/editii/5.html . Project source code available at: https://github.com/bucharest-jug/dropwizard-todo
Introduction in the JavaScript Programming language typically used in the front end of Web Applications. More information can be found at : https://www.spiraltrain.nl/course-javascript-programming/?lang=en
Masterin Large Scale Java Script ApplicationsFabian Jakobs
Writing large desktop-like web applications is a challenge. Adapting such an application to different markets, languages or brands is even more of a challenge. This talk shows how the open source JavaScript framework qooxdoo can be leveraged to build such a rich internet application. As a real-life example the free web mail client gmx.com is used. This talk discusses the development model, customization and deployment of such an application.
Learn how JavaScript applications of this size and complexity are fundamentally different from classic web applications, and what issues come up when building fast, multi-language, multi-brand JavaScript applications.
This presentation will show the latest Web Components technologies and examples, and whether you should be using Web Components now. (spoiler alert: you should be!)
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...Neo4j
Leonard Jayamohan, Partner & Generative AI Lead, Deloitte
This keynote will reveal how Deloitte leverages Neo4j’s graph power for groundbreaking digital twin solutions, achieving a staggering 100x performance boost. Discover the essential role knowledge graphs play in successful generative AI implementations. Plus, get an exclusive look at an innovative Neo4j + Generative AI solution Deloitte is developing in-house.
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
GridMate - End to end testing is a critical piece to ensure quality and avoid...ThomasParaiso2
End to end testing is a critical piece to ensure quality and avoid regressions. In this session, we share our journey building an E2E testing pipeline for GridMate components (LWC and Aura) using Cypress, JSForce, FakerJS…
A tale of scale & speed: How the US Navy is enabling software delivery from l...sonjaschweigert1
Rapid and secure feature delivery is a goal across every application team and every branch of the DoD. The Navy’s DevSecOps platform, Party Barge, has achieved:
- Reduction in onboarding time from 5 weeks to 1 day
- Improved developer experience and productivity through actionable findings and reduction of false positives
- Maintenance of superior security standards and inherent policy enforcement with Authorization to Operate (ATO)
Development teams can ship efficiently and ensure applications are cyber ready for Navy Authorizing Officials (AOs). In this webinar, Sigma Defense and Anchore will give attendees a look behind the scenes and demo secure pipeline automation and security artifacts that speed up application ATO and time to production.
We will cover:
- How to remove silos in DevSecOps
- How to build efficient development pipeline roles and component templates
- How to deliver security artifacts that matter for ATO’s (SBOMs, vulnerability reports, and policy evidence)
- How to streamline operations with automated policy checks on container images
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
Unlocking Productivity: Leveraging the Potential of Copilot in Microsoft 365, a presentation by Christoforos Vlachos, Senior Solutions Manager – Modern Workplace, Uni Systems
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024Neo4j
Neha Bajwa, Vice President of Product Marketing, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
Communications Mining Series - Zero to Hero - Session 1DianaGray10
This session provides introduction to UiPath Communication Mining, importance and platform overview. You will acquire a good understand of the phases in Communication Mining as we go over the platform with you. Topics covered:
• Communication Mining Overview
• Why is it important?
• How can it help today’s business and the benefits
• Phases in Communication Mining
• Demo on Platform overview
• Q/A
6. According to Yahoo:
“80% of end-user response time is
spent on the front-end”
According to Steve Souders (Google performance guru):
“80-90% of end-user response
time is spent on the front-end”
7. Ads
CDN’s
Services
Syndicated Content
Integration is happening on the client-side
9. PAGE LOAD TIME
IS IMPORTANT
Page load time is critical to the success of a web site/app
Google: +500 ms → -20% traffic
Yahoo: +400 ms → -5-9% full-page traffic
Amazon: +100 ms → -1% sales
Small performance flucutations affect traffic and sales!!!
10. BEST PRACTICES
• Minimize HTTP Requests
• combine javascript and css into less number of files
• consider sprites for combining images
• Use a Content Delivery Network (CDN)
• static content delivered by fast distributed network with low latency
11. BEST PRACTICES
• Make Pages Cacheable
• use appropriate header tags
• Use GZIP Page Compression
• all modern browsers support GZIP compression
12. BEST PRACTICES
• Place Stylesheets at the Top
• browser needs style info first to avoid repaints/reflows later
• Place Scripts at the Bottom
• allow page content to be rendered first
13. BEST PRACTICES
• Minify JavaScript and CSS
• save bandwidth / download time
• lots of tools to automate this for you
• Post/pre Load Components
• consider how you are loading content and scripts
14. BEST PRACTICES
• Split Components Across Domains
• enables browser to load more stuff in parallel
• Optimize Images
• avoid high-res images unless it is intentional
• don’t let the browser scale your images
17. SINGLE THREAD
IMPLICATIONS
• Single UI Thread for both UI updates and JavaScript execution
• only one of these can happen at a time!
Page downloading and rendering
must stop and wait for scripts to be
downloaded and executed
18. “0.1 second is about the limit for having the user feel
that a system is reacting instantaneoulsy”
- Jakob Nielsen, Usability Expert
Translation: No single JavaScript should execute for
more than 100 mS to ensure a responsive UI.
24. MINIFY JAVASCRIPT
• Removes all unecessary space/comments from your JS files
• Replace variables with short names
• Easy to do at built-time with a tool
• Checkout YUI Compressor, Closure Compiler...
Avoid manual code-size optimization!
25. NON-BLOCKING LOADS
• AddJavaScript to a page in a way that does not block the
browser thread
‣ Dynamic Script Elements
‣ Script Injection
26. DYNAMIC SCRIPT ELEMENTS
• JavaScript
is downloaded and executed without blocking
other page processes.
var script = document.createElement(‘script’);
script.type = “text/javascript”;
script.src = “file1.js”;
document.getElementsByTagName(“head”)[0].appendChild(script);
27. SCRIPT INJECTION
• Use Ajax to get script
• Can control when script is parsed/executed
• JavaScript must be served from same domain
var xhr = XMLHttpRequest();
xhr.open(“get”, “file.js”, true);
xhr.onreadystatechange = function() {
if (xhr.readyState == 4) {
if (xhr.status >= 200 && xhr.status < 300 || xhr.status == 304) {
var script = document.createElement(“script”);
script.type = “text/javascript”;
script.text = xhr.responseText;
document.body.appendChild(script);
}
}
};
xhr.send(null);
28. RECOMMENDED
NONBLOCKING LOAD
• Includethe code necessary to dynamically the the rest of the
JS required for page init
<script type="text/javascript" src="loader.js"></script>
<script type="text/javascript">
loadScript("the-rest.js", function(){
Application.init();
});
</script>
Optionally include the loadScript function directly in the page
29. REAL WORLD USE
• This
technique is used by many JavaScript libraries including
YUI and Dojo.
<script type="text/javascript"
src="http://yui.yahooapis.com/combo?3.0.0/build/yui/yui-min.js"></script>
YUI().use("dom", function(Y){
Y.DOM.addClass(document.body, "loaded");
});
Dynamically loads the DOM utility and calls ‘loaded’ function
when loading is complete.
30. SUMMARY
• Browser UI and JS share a single thread
• Code execution blocks other browser processes such as UI
painting
• Put script tags at the bottom of page
• Load as much JS dynamically as possible
• Minimize and compress your JS
32. DOCUMENT OBJECT MODEL
• Document Object Model (DOM) is a language
independent API for working with HTML and XML
• DOM Scripting is expensive and a common cause of
performance problems
33. DOM/JS ISOLATION
• DOM and JavaScript implementations are independent
of each other in all major browsers
• This causes overhead performance costs as these two
pieces of code must interface
JavaScri
DOM
pt
Minimize how many times you cross this bridge
34. BAD DOM SCRIPTING
Bad (we cross the bridge 1500 times!)
function innerHTMLLoop() {
for (var count = 0; count < 1500; count++) {
document.getElementById('here').innerHTML += 'a';
}
}
Good (we cross the bridge 1 time)
function innerHTMLLoop2() {
var content = '';
for (var count = 0; count < 1500; count++) {
content += 'a';
}
document.getElementById('here').innerHTML += content;
}
35. REPAINTS AND REFLOWS
A reflow occurs whenever you change the
geometry of an element that is displayed on the
page.
A repaint occurs whenever you change the
content of an element that is displayed on the
screen.
These are both expensive operations in terms of performance!
36. AVOIDING REPAINTS/REFLOWS
This will potentially cause 3 repaints/reflows...
var el = document.getElementById('mydiv');
el.style.borderLeft = '1px';
el.style.borderRight = '2px';
el.style.padding = '5px';
Better... 1 repaint/reflow
var el = document.getElementById('mydiv');
el.style.cssText = 'border-left: 1px; border-right: 2px; padding: 5px;';
or...
var el = document.getElementById('mydiv');
el.className = 'active';
38. TOOLS ARE YOUR FRIEND
The right tools can help a developer identify and fix
performance problems related to client-side behaviour.
Profiling
Timing functions and operations during script
execution
Network Analysis
Examine loading of images, stylesheets, and scripts
and their effect on page load and rendering
47. GOMEZ
Gomez is the web performance division of Compuware
•Active Monitoring
synthetic tests using a dedicated node and a Gomez
controlled browser
•Actual Monitoring
tests the actual end-user experience by transmitting
data while users are browsing to a Gomez server
49. GOMEZ ACTIVE
• Synthetic tests
• Uses nodes in Gomez network to perform web
application testing.
• Today pure client-side metrics are not collected
50. GOMEZ ACTUAL
• Real User Monitoring (RUM)
• JavaScript ‘tags’ inserted into web pages.
• Tags report performance metrics to Gomez server
• Page and object load performance metrics
51. EXTENDING ACTIVE/ACTUAL
•Desire to collect more client-side metrics
•JavaScript - load, parse, execution timing
•CSS - load, parse timing
•full Waterfall page load metrics
•Attribute client-side performance to specific sources
(i.e. javascript library from vendor abc is the source of your slow performance)
•Expose full end-to-end performance
52. RESOURCES
• Yahoo Exceptional Performance
http://developer.yahoo.com/performance/
• Google Web Performance
http://code.google.com/speed
• JavaScript: The Good Parts by Douglas Crockford
• High Performance JavaScript by Nicholas Zakas
• Even Faster Websites by Steve Souders
• Steve Souders Site
http://www.stevesouders.com
• John Resig’s Blog
http://www.ejohn.org