JSMeter: Characterizing the Behavior of JavaScript Web Applications
|
|
- Cathleen Hodges
- 7 years ago
- Views:
Transcription
1 JSMeter: Characterizing the Behavior of JavaScript Web Applications Paruj Ratanaworabhan Kasetsart University, Thailand Ben Livshits and Ben Zorn Microsoft Research, Redmond in collaboration with David Simmons, Corneliu Barsan, and Allen Wirfs-Brock 1
2 Why Measure JavaScript? Standardized, de facto language for the web Support in every browser, much existing code Browser and JavaScript performance is important Are current JavaScript benchmarks representative? Limited understanding of JavaScript behavior in real sites Who cares? Users, web application developers, JavaScript engine developers 3
3 ZDNet 29 May 2008 Browser Wars! ghacks.net Dec
4 Artificial Benchmarks versus Real World Sites 7 V8 programs: richards deltablue crypto raytrace 8 SunSpider programs: 3-draytrace access-nbody bitops-nsieve controlflow JSMeter Goals of JSMeter Project 11 real sites: earleyboyer crypto-aes Instrument date-xparb JavaScript execution and measure behavior regexp Compare behavior math-cordic of JavaScript benchmarks against real sites splay string-tagcloud Consider how benchmarks can mislead design decisions Maps Maps 5
5 How We Measured JavaScript \ie\jscript\*.cpp Source-level instrumentation custom jscript.dll website visits custom trace files custom trace files Offline analyzers 100% 90% 80% 70% 60% 50% 40% 30% 20% 10% 0% Constant Other Str Ops Concat Op 6
6 Visiting the Real Sites Getting past page load performance Attempted to use each site in normal way: amazon Search a book, add to shopping cart, sign in, and sign out bing Type in a search query and also look for images and news bingmap Search for a direction from one city to another cnn Read front page news ebay Search for a notebook, bid, sing in, and sign out economist Read front page news, view comments facebook Log in, visit a friend pages, browse through photos and comments gmail Sign in, check inbox, delete a mail, and sign out google Type in a search query and also look for images and news googlemap Search for a direction from one city to another hotmail Sign in, check inbox, delete a mail, and sign out 7
7 Understanding JavaScript Behavior Code JavaScript Events Objects 8
8 Code Behavior Function size Instructions/call Code Code locality Instruction mix JavaScript Events Objects 9
9 amazon bing bingmap cnn ebay economist facebook gmail google googlemap hotmail richards deltablue crypto raytrace earley regexp splay 3d-raytrace access-nbody bitops-nsieve controlflow crypto-aes date-xparb math-cordic regexp-dna string-tagcloud Source size (kilobytes) Total Bytes of JavaScript Source 2500 Code Objects Events Real Sites V8 SunSpider 10
10 amazon bing bingmap cnn ebay economist facebook gmail google googlemap hotmail richards deltablue crypto raytrace earley regexp splay 3d-raytrace access-nbody bitops-nsieve controlflow crypto-aes date-xparb math-cordic regexp-dna string-tagcloud Unique Functions Executed Code Objects Events Static Unique Functions Executed 4,000 3,500 3,000 2,500 2,000 1,500 1, Real Sites V8 SunSpider 12
11 amazon bing bingmap cnn ebay economist facebook gmail google googlemap hotmail richards deltablue crypto raytrace earley regexp splay 3d-raytrace access-nbody bitops-nsieve controlflow crypto-aes date-xparb math-cordic regexp-dna string-tagcloud Bytecodes / Call Code Objects Events Bytecodes / Call function(a,b) { var i=0,elem,pos=a.length; if(d.browser.msie) { while(elem=b[i++]) if(elem.nodetype!=8) a[pos++]=elem; } else while(elem=b[i++]) a[pos++]=elem; return a } Real Sites V8 SunSpider 15
12 amazon bing bingmap cnn ebay economist facebook gmail google googlemap hotmail richards deltablue crypto raytrace earley regexp splay 3d-raytrace access-nbody bitops-nsieve controlflow crypto-aes date-xparb math-cordic regexp-dna string-tagcloud Fraction of Code Executed Fraction of Code Executed Code Objects Events % 90.00% 80.00% 70.00% 60.00% Most code not executed 50.00% 40.00% 30.00% 20.00% 10.00% 0.00% Real Sites V8 SunSpider 16
13 Object Allocation Behavior Allocation by types Code Live heap composition Lifetime distribution JavaScript Events Objects 17
14 amazon bing bingmap cnn ebay economist facebook gmail google googlemap hotmail richards deltablue crypto raytrace earley regexp splay 3d-raytrace access-nbody bitops-nsieve controlflow crypto-aes date-xparb math-cordic regexp-dna string-tagcloud Total heap data (kilobytes) Code Objects Events Total Bytes Allocated Real Sites V8 SunSpider 18
15 amazon bing bingmap cnn ebay economist facebook gmail google googlemap hotmail richards deltablue crypto raytrace earley regexp splay V8 aggragate 3d-raytrace access-nbody bitops-nsieve controlflow crypto-aes date-xparb math-cordic regexp-dna string-tagcloud aggregate Heap Data by Type 1 Heap Data by Type Code Objects Events Few benchmarks allocate much data Objects Enumarator RegExp Math Error Date Native Func String Arrays Script Func Many functions Rest are strings Real Sites V8 SunSpider 19
16 Code Objects Events Live Heap Over Time (gmail) Functions grow steadily GC reduces size of heap Objects grow steadily too 20
17 Code Objects Events Live Heap over Time (ebay) Heap contains mostly functions Heaps repeatedly created, discarded Heap drops to 0 on page load 21
18 Code Objects Events 2 Search Websites, 2 Architectures You stay on the same page during your entire visit Code loaded once Heap is bigger Every transition loads a new page Code loaded repeatedly Heap is smaller Bing Google 22
19 Event Handlers in JavaScript Number of events Sizes of handlers Code JavaScript Events Objects 26
20 Code Objects Events Event-driven Programming Model Single-threaded, non-preemptive event handlers Example handlers: onabort, onclick, etc. Very different from batch processing of benchmarks Handler responsiveness critical to user experience 27
21 Total Events Handled Total Events Handled Code Objects Events 7,000 6,000 5,000 4,000 3,000 2,000 Almost no events 1,000 0 Real Sites V8 28
22 Median Bytecodes / Event Handled Median Bytecodes / Event Handled Code Objects Events
23 Sure, this is all good, but Everyone knows benchmarks are unrepresentative How much difference does it make, anyway? Wouldn t any benchmarks have similar issues? 33
24 Observation Cold-code Experiment Real web apps have lots of code (much of it cold) Benchmarks do not Question: What happens if the benchmarks have more code? We added extra, unused to code to 7 SunSpider benchmarks We measured the impact on the benchmark performance 34
25 Time (msec) Time (msec) Performance Impact of Cold Code K 200K 400K K 200K 400K K K M 2M M 2M 0 0 Chrome Cold code makes SunSpider on Chrome up to 4.5x slower IE Cold code has non-uniform impact on execution time 35
26 Impact of Benchmarks What gets emphasis Making tight loops fast Optimizing small amounts of code Important issues ignored Garbage collection (especially of strings) Managing large amounts of code Optimizing event handling Considering JavaScript context between page loads 36
27 Conclusions JSMeter is an instrumentation framework Used to measure and compare JavaScript applications High-level views of behavior promote understanding Benchmarks differ significantly from real sites Misleads designers, skews implementations Next steps Develop and promote better benchmarks Design and evaluate better JavaScript runtimes Promote better performance tools for JavaScript developers 37
28 Additional Resources Project: Video: Project JSMeter: JavaScript Performance Analysis in the Real World" - MSDN Channel 9 interview with Erik Meier, Ben Livshits, and Ben Zorn Paper: JSMeter: Comparing the Behavior of JavaScript Benchmarks with Real Web Applications, Paruj Ratanaworabhan, Benjamin Livshits and Benjamin G. Zorn, USENIX 2010 Conference on Web Application Development (WebApps 10), June Additional measurements: "JSMeter: Characterizing Real-World Behavior of JavaScript Programs", Paruj Ratanaworabhan, Benjamin Livshits, David Simmons, and Benjamin Zorn, MSR-TR , December 2009 (49 pages), November
29 Additional Slides 39
30 Hot Function Distribution Code Objects Events 80% of time in 100+ functions 80% of time in < 10 functions 80% 80% Real Sites V8 Benchmarks 40
31 Opcode Distribution Code Objects Events Outliers Real Apps Green = SunSpider Blue= Real Web Apps Red = V8 41
32 Object Type Distribution Code Objects Events Real Apps economist is an outlier (arrays) Green = SunSpider Blue= Real Web Apps Red = V8 42
33 Code Objects Events Distribution of Time in Handlers 43
34 JavaScript Related Work Richards, Lebresne, Burg, and Vitek (PLDI 10) Draw similar conclusions Java Doufour et al. (OOPSLA 03), Dieckmann and U. Hölzle (ECOOP 99) Other languages C++: Calder et al. (JPL 95) Interpreted languages: Romer et al. (ASPLOS 96) 44
JSMeter: Comparing the Behavior of JavaScript Benchmarks with Real Web Applications
JSMeter: Comparing the Behavior of JavaScript Benchmarks with Real Web Applications Paruj Ratanaworabhan Kasetsart University paruj.r@ku.ac.th Benjamin Livshits and Benjamin G. Zorn Microsoft Research
More informationReducing Memory in Software-Based Thread-Level Speculation for JavaScript Virtual Machine Execution of Web Applications
Reducing Memory in Software-Based Thread-Level Speculation for JavaScript Virtual Machine Execution of Web Applications Abstract Thread-Level Speculation has been used to take advantage of multicore processors
More informationFast and Precise Hybrid Type Inference for JavaScript
Fast and Precise Hybrid Type Inference for JavaScript Brian Hackett Shu-yu Guo Mozilla {bhackett,shu}@mozilla.com Abstract JavaScript performance is often bound by its dynamically typed nature. Compilers
More informationLanguage Based Virtual Machines... or why speed matters. by Lars Bak, Google Inc
Language Based Virtual Machines... or why speed matters by Lars Bak, Google Inc Agenda Motivation for virtual machines HotSpot V8 Dart What I ve learned Background 25+ years optimizing implementations
More informationInstrumenting V8 to Measure the Efficacy of Dynamic Optimizations on Production Code
Instrumenting V8 to Measure the Efficacy of Dynamic Optimizations on Production Code Michael Maass March 2013 CMU-ISR-13-103 Ilari Shafer Institute for Software Research School of Computer Science Carnegie
More informationJalangi: A Selective Record-Replay and Dynamic Analysis Framework for JavaScript
Jalangi: A Selective Record-Replay and Dynamic Analysis Framework for JavaScript ABSTRACT Koushik Sen EECS Department UC Berkeley, CA, USA. ksen@cs.berkeley.edu JavaScript is widely used for writing client-side
More informationAjaxScope: Remotely Monitoring Client-side Web-App Behavior
AjaxScope: Remotely Monitoring Client-side Web-App Behavior Emre Kıcıman emrek@microsoft.com Ben Livshits livshits@microsoft.com Internet Services Research Center Microsoft Research Runtime Analysis &
More informationMicrosoft Office 365, BYOD and ipads
Microsoft Office 365, BYOD and ipads This document is to give an overview of how students can utilise the different ways of accessing their email, files and assignments if using the Office365 product with
More informationDeveloping Offline Web Application
Developing Offline Web Application Kanda Runapongsa Saikaew (krunapon@kku.ac.th) Art Nanakorn Thana Pitisuwannarat Computer Engineering Khon Kaen University, Thailand 1 Agenda Motivation Offline web application
More informationTesting on the other side of the pendulum
Testing on the other side of the pendulum Issues and considerations Presented by : Percy Pari Salas www.accesstesting.com "Those who cannot remember the past are condemned to repeat it." as poet and philosopher
More informationWhat is Outlook.com and how can I use it?
What is Outlook.com and how can I use it? Blog Post Date: August 6 th, 2012 Category: Technology made easy Author: Ulrika Hedlund Source: http://www.businessproductivity.com/ what-is-outlook-com-and-how-can-i-use-it
More informationThe Future Of Computing
The Future Of Computing +Wesley Chun / @wescpy Developer Advocate, Google Fall 2013 I Code 1 I Write I Teach 2 About You and This Talk Professional in Industry, Education, Government Open minds, receptive
More informationLarge-Scale Web Applications
Large-Scale Web Applications Mendel Rosenblum Web Application Architecture Web Browser Web Server / Application server Storage System HTTP Internet CS142 Lecture Notes - Intro LAN 2 Large-Scale: Scale-Out
More informationIndex. AdWords, 182 AJAX Cart, 129 Attribution, 174
Index A AdWords, 182 AJAX Cart, 129 Attribution, 174 B BigQuery, Big Data Analysis create reports, 238 GA-BigQuery integration, 238 GA data, 241 hierarchy structure, 238 query language (see also Data selection,
More informationOutlook Data File navigate to the PST file that you want to open, select it and choose OK. The file will now appear as a folder in Outlook.
Migrate Archived Outlook Items Outlook includes archiving functionality that is used to free up space on the mail server by moving older items from the mail server to PST files stored on your computer
More informationWhat is the Cloud? Computer Basics Web Apps and the Cloud. Page 1
Computer Basics Web Apps and the Cloud What is the Cloud? You may have heard people using terms like the cloud, cloud computing, or cloud storage. But what exactly is the cloud? Basically, the cloud is
More informationReplication on Virtual Machines
Replication on Virtual Machines Siggi Cherem CS 717 November 23rd, 2004 Outline 1 Introduction The Java Virtual Machine 2 Napper, Alvisi, Vin - DSN 2003 Introduction JVM as state machine Addressing non-determinism
More informationAutomated Construction of JavaScript Benchmarks
Automated Construction of JavaScript Benchmarks Gregor Richards, Andreas Gal, Brendan Eich, Jan Vitek S 3 Lab, Computer Science Dept., Purdue University Mozilla Foundation Abstract JavaScript is a highly
More informationFrom Internet Data Centers to Data Centers in the Cloud
From Internet Data Centers to Data Centers in the Cloud This case study is a short extract from a keynote address given to the Doctoral Symposium at Middleware 2009 by Lucy Cherkasova of HP Research Labs
More informationUsing the Educator Dashboard
Reference Guide Using the Educator Dashboard What s Inside How to Create Accounts Get to Know the Educator Dashboard How to Manage Licenses and Create Educators How to Give Accommodations to Students First
More informationThe Future Of Computing
The Future Of Computing +Wesley Chun / @wescpy Developer Advocate, Google Fall 2013 goo.gl/gvotdj I Code 1 I Write I Teach 2 About You and This Talk Professional in Industry, Education, Government Open
More informationTool - 1: Health Center
Tool - 1: Health Center Joseph Amrith Raj http://facebook.com/webspherelibrary 2 Tool - 1: Health Center Table of Contents WebSphere Application Server Troubleshooting... Error! Bookmark not defined. About
More informationP&WC Portal Settings. 1) Portal Language Setting:
P&WC Portal Settings In order to set your Internet Explorer Browser and to resolve a few specific issues that users of the P&WC Portal might have, we recommend that you change a few settings in your browser.
More informationDigital Storage Options MAKING ROOM IN THE CLOUD
Digital Storage Options MAKING ROOM IN THE CLOUD Today s Objectives Download and start using Microsoft 365 and more specifically, OneDrive Digital Storage: Personally Speaking Dropbox As many accounts
More informationSOCIAL MEDIA 80 78 76 74 72 70 68 66 64 Access to free content Series 1 To learn Advanced news of products Series 1 A Social Roadmap Understand how and why people use social media Map the social
More informationGoogle Apps for Education (GAFE) Basics
Google Apps for Education (GAFE) Basics Gmail & Chrome Gmail is Google Email. Our school email is actually Gmail. Chrome is a browser for accessing the Internet (just like Mozilla Firefox, Safari, Internet
More informationpicojava TM : A Hardware Implementation of the Java Virtual Machine
picojava TM : A Hardware Implementation of the Java Virtual Machine Marc Tremblay and Michael O Connor Sun Microelectronics Slide 1 The Java picojava Synergy Java s origins lie in improving the consumer
More informationThe V8 JavaScript Engine
The V8 JavaScript Engine Design, Implementation, Testing and Benchmarking Mads Ager, Software Engineer Agenda Part 1: What is JavaScript? Part 2: V8 internals Part 3: V8 testing and benchmarking What is
More informationEvaluating Four Aspects of JavaScript Execution Behavior in Benchmarks and Web Applications
Evaluating Four Aspects of JavaScript Execution Behavior in Benchmarks and Web Applications Jan Kasper Martinsen 1,Håkan Grahn 1, and Anders Isberg 2 1 Blekinge Institute of Technology, Karlskrona, Sweden,
More informationSecurity Benefits of Cloud Computing
Security Benefits of Cloud Computing FELICIAN ALECU Economy Informatics Department Academy of Economic Studies Bucharest ROMANIA e-mail: alecu.felician@ie.ase.ro Abstract: The nature of the Internet is
More informationOpen Source Technologies on Microsoft Azure
Open Source Technologies on Microsoft Azure A Survey @DChappellAssoc Copyright 2014 Chappell & Associates The Main Idea i Open source technologies are a fundamental part of Microsoft Azure The Big Questions
More informationConsolidation and integration aspects of cloud services
Consolidation and integration aspects of cloud services White paper on the use of Cloud services part 2 www.traxion.com Introduction This white paper describes the consolidation and integration aspects
More information1. Understanding Big Data
Big Data and its Real Impact on Your Security & Privacy Framework: A Pragmatic Overview Erik Luysterborg Partner, Deloitte EMEA Data Protection & Privacy leader Prague, SCCE, March 22 nd 2016 1. 2016 Deloitte
More informationGMass Getting Started Guide
Powerful Mass Email System for Gmail Created by: Ajay Goel September 2015 GMass Getting Started Guide Table of Contents Section 1: Set Up Google Chrome & GMass... 1 Who Should Use This Guide... 1 Benefits
More informationHow To Understand The Internet In Latamandorama
Living With The Internet A Latin American Study On What s Driving Web Behavior Agenda Project Objective & Methodology Executive Summary Evolution of the Internet Latin America Online Behavior Latin America
More informationThe Past, Present and Future of XSS Defense Jim Manico. HITB 2011 Amsterdam
The Past, Present and Future of XSS Defense Jim Manico HITB 2011 Amsterdam 0 Jim Manico Managing Partner, Infrared Security Web Developer, 15+ Years OWASP Connections Committee Chair OWASP ESAPI Project
More informationInstalling and Running the Google App Engine On Windows
Installing and Running the Google App Engine On Windows This document describes the installation of the Google App Engine Software Development Kit (SDK) on a Microsoft Windows and running a simple hello
More informationIsItUp Quick Start Manual
IsItUp - When you need to know the status of your network Taro Software Inc. Website: www.tarosoft.com Telephone: 703-405-4697 Postal address: 8829 110th Lane, Seminole Fl, 33772 Electronic mail: Contact1@tarosoft.com
More informationIIT MOBILEPRINT. Mobileprint Workflow
IIT MOBILEPRINT Mobileprint integrates with existing OTS printing system to enable user to print documents, images and email messages using email client or a web capable devices. This include smartphones,
More informationEmail Basics. Creating your e-mail.
Email Basics Creating your e-mail. WHAT IS THIS CLASS? This class is a beginner s level, introductory course on basic email usage. We will cover topics such as creating an account, sending and receiving
More informationHow To Write A Web Server In Javascript
LIBERATED: A fully in-browser client and server web application debug and test environment Derrell Lipman University of Massachusetts Lowell Overview of the Client/Server Environment Server Machine Client
More informationCloud Computing. Orcas Island Chamber of Commerce Presentation November 7, 2012 Tony P Ghazel
Cloud Computing Orcas Island Chamber of Commerce Presentation November 7, 2012 Tony P Ghazel What is Cloud computing In its simplest form, cloud computing refers to resources and programs that are available
More informationClojure and Android. Daniel Solano Gómez. Clojure/conj 2011. Sattvik Software & Technology Resources, Ltd. Co.
Sattvik Software & Technology Resources, Ltd. Co. Clojure/conj 2011 Clojure in Small Places Sattvik Software & Technology Resources, Ltd. Co. Clojure/conj 2011 Clojure to go Sattvik Software & Technology
More informationINTERNET PROGRAMMING AND DEVELOPMENT AEC LEA.BN Course Descriptions & Outcome Competency
INTERNET PROGRAMMING AND DEVELOPMENT AEC LEA.BN Course Descriptions & Outcome Competency 1. 420-PA3-AB Introduction to Computers, the Internet, and the Web This course is an introduction to the computer,
More informationChapter. Solve Performance Problems with FastSOA Patterns. The previous chapters described the FastSOA patterns at an architectural
Chapter 5 Solve Performance Problems with FastSOA Patterns The previous chapters described the FastSOA patterns at an architectural level. This chapter shows FastSOA mid-tier service and data caching architecture
More informationGoogle Apps Migration
Academic Technology Services Google Apps Migration Getting Started 1 Table of Contents How to Use This Guide... 4 How to Get Help... 4 Login to Google Apps:... 5 Import Data from Microsoft Outlook:...
More informationProtect, License and Sell Xojo Apps
Protect, License and Sell Xojo Apps To build great software with Xojo, you focus on user needs, design, code and the testing process. To build a profitable business, your focus expands to protection and
More informationGmail's new compose and reply experience
Gmail's new compose and reply experience You can now write messages in a cleaner, simpler experience that puts the focus on your message itself, not all the features around it. Here are some of the highlights:
More informationGet Started with LeadSquared Guide for Marketing Users. Complete lead to revenue platform
Get Started with LeadSquared Guide for Marketing Users Complete lead to revenue platform Bookmark LeadSquared Login Page Login to LeadSquared at https://run.leadsquared.com (Bookmark the URL) LeadSquared
More informationVancouver Community College Web Orientation
Access the myvcc Web Portal The myvcc portal provides a secure environment for VCC students to: Access VCC s Moodle online learning environment Access your student email (Microsoft Office365) Check your
More informationjohnireland@eircom.net
Email Electronic mail is the transmission of mainly text based messages across networks. This can be within a particular network - internal mail - or between networks - external mail. The most common network
More informationRich Internet Applications
Rich Internet Applications [Image coming] Ryan Stewart Rich Internet Application Evangelist rstewart@adobe.com Ryan Stewart Flex Developer for 3 years Rich Internet Application Blogger for 2 years http://blogs.zdnet.com/stewart/
More informationMicrosoft Outlook 2003 Quick Reference
Microsoft Outlook 2003 Quick Reference Table of Contents Creating Messages 3 Using the Address book 3 Sending messages 3 Saving unfinished messages 4 Adding attachments 4 Using automatic signatures 5 Reading
More informationAdvantage Database Server
whitepaper Advantage Database Server Scalability Technical Brief A whitepaper from Sybase ianywhere TABLE OF CONTENTS 1 Introduction 2 Specifications 2 Tables 2 Server Machine 2 Client Machine 2 Development
More informationFrequently asked questions about Java TM capancdt 6200 colorcontrol ACS 7000 confocaldt 2451/2471 CSP 2008 eddyncdt 3100 ILD 2300.
? Frequently asked questions about Java TM capancdt 6200 colorcontrol ACS 7000 confocaldt 2451/2471 CSP 2008 eddyncdt 3100 ILD 2300 optocontrol 2520 MICRO-EPSILON MESSTECHNIK GmbH & Co. KG Königbacher
More informationEclipse Visualization and Performance Monitoring
Eclipse Visualization and Performance Monitoring Chris Laffra IBM Ottawa Labs http://eclipsefaq.org/chris Chris Laffra Eclipse Visualization and Performance Monitoring Page 1 Roadmap Introduction Introspection
More informationGOOGLE DRIVE Google Apps Documents Step-by-Step Guide
Table of Contents Creating a New Document... 2 Editing a Document... 3 Collaborate on a Document... 3 Revision History... 4 Sharing your Documents... 6 Inviting people to View, Edit, or Comment... 7 Uploading
More informationC# and Other Languages
C# and Other Languages Rob Miles Department of Computer Science Why do we have lots of Programming Languages? Different developer audiences Different application areas/target platforms Graphics, AI, List
More informationPresented by SitesByDerek
Presented by SitesByDerek Table of Contents Is Free Hosting Reliable? 2 Why You Need a Good Hosting Service 2 Understanding Hosting Fundamentals 2 What is Dedicated Hosting? 2 Understanding Virtual Hosting
More informationA Study of the Allocation Behavior of the SPECjvm98 Java Benchmarks
A Study of the Allocation Behavior of the SPECjvm98 Java Benchmarks Sylvia Dieckmann and Urs Hölzle University of California at Santa Barbara Department of Computer Science Santa Barbara, CA 936 {sylvie,
More informationBuilding A Self-Hosted WebRTC Project
Building A Self-Hosted WebRTC Project Rod Apeldoorn EasyRTC Server Lead Priologic Software Inc. rod.apeldoorn@priologic.com Slides will be available at: http://easyrtc.com/cloudexpo/ A Little About Priologic
More informationGetting Started Introduction to iphones
Getting Started Introduction to iphones 1. Introduction to using iphones 2. Buttons on your iphone 3. Using the keyboard in your iphone 4. Scrolling through your apps 5. Texting and calling 6. Adding contacts
More informationUsing e-mail and the Internet
Using e-mail and the Internet New to Windows 7? Even though there s a lot in common with the version of Windows that you had before, you might still need a hand getting up to speed. This guide is filled
More informationNative v HTML5 An Event Planner s Primer
v HTML5 An Event Planner s Primer If you ve researched mobile apps for your conference, tradeshow or event, you ve probably come across the question or HTML5? Both provide an app experience designed for
More informationUsing OneDrive for Business to save and share files in the cloud
Using OneDrive for Business to save and share files in the cloud Contents Creating and working with files on OneDrive for Business... 2 Signing in... 2 Creating a new file or folder in OneDrive for Business...
More informationLab Experience 17. Programming Language Translation
Lab Experience 17 Programming Language Translation Objectives Gain insight into the translation process for converting one virtual machine to another See the process by which an assembler translates assembly
More informationSUNY Adirondack email
SUNY Adirondack email Official Correspondence Faculty, Staff and Students should be aware that their campus email account is considered their official email account in regard to all business pertaining
More informationGmail: Sending, replying, attachments, and printing
If you're using an old version of Gmail, your Inbox may look a little different. Gmail: Sending, replying, attachments, and printing Welcome to Gmail. This document will give you a quick overview of how
More informationISI ACADEMY Web applications Programming Diploma using PHP& MySQL
ISI ACADEMY for PHP& MySQL web applications Programming ISI ACADEMY Web applications Programming Diploma using PHP& MySQL HTML - CSS - JavaScript PHP - MYSQL What You'll Learn Be able to write, deploy,
More informationRich Internet Applications
Rich Internet Applications Prepared by: Husen Umer Supervisor: Kjell Osborn IT Department Uppsala University 8 Feb 2010 Agenda What is RIA? RIA vs traditional Internet applications. Why to use RIAs? Running
More informationIntroduction to Webmail. Apache County Library District April 2011
Introduction to Webmail Apache County Library District April 2011 1 Review of terms we will be using in this tutorial: Single-click: This refers to a single click of the left mouse button. If you hold
More informationMicrosoft Office 365 vs Google Apps for Business
Microsoft Office 365 vs Google Apps for Business A publication by Is this ebook right for me? Not quite sure if this ebook is right for you? See the below description to determine if your level matches
More informationIntroduction to Cloud Storage GOOGLE DRIVE
Introduction to Cloud Storage What is Cloud Storage? Cloud computing is one method to store and access data over the internet instead of using a physical hard drive (e.g. computer s hard drive, flash drive,
More informationVirtual Machine Learning: Thinking Like a Computer Architect
Virtual Machine Learning: Thinking Like a Computer Architect Michael Hind IBM T.J. Watson Research Center March 21, 2005 CGO 05 Keynote 2005 IBM Corporation What is this talk about? Virtual Machines? 2
More informationSoftware Requirements Specification
Software Requirements Specification Version 1.1 March 7, 2013 Prepared by Group Name: The Constructors Alex Hamstra 4506291 alexhamstra@gmail.com Jared Roesch 4826574 roeschinc@gmail.com Kyle Jorgensen
More informationMonitoring and Managing a JVM
Monitoring and Managing a JVM Erik Brakkee & Peter van den Berkmortel Overview About Axxerion Challenges and example Troubleshooting Memory management Tooling Best practices Conclusion About Axxerion Axxerion
More informationContacts: Email, find, and manage your contacts
Does your Contact Manager look different than what s shown here? To fix this, switch to the new look! Contacts: Email, find, and manage your contacts With Google Apps, you can easily organize, find, contact,
More informationClient Training Manual
Client Training Manual Contents Quick Summary on How to Open Encrypted Email from Arlington County.2 I. Overview... 4 A. Overview of Email Encryption with Arlington County Government... 4 Link to YouTube
More informationResco CRM Guide. Get to know Resco CRM
Resco CRM Guide Get to know Resco CRM Table of Contents Introducing Resco CRM... 3 1.1. What is Resco CRM...3 1.2. Capabilities of Resco CRM... 4 1.3. Who should use Resco CRM...5 1.4. What are the main
More informationA JIT Compiler for Android s Dalvik VM. Ben Cheng, Bill Buzbee May 2010
A JIT Compiler for Android s Dalvik VM Ben Cheng, Bill Buzbee May 2010 Overview View live session notes and ask questions on Google Wave: http://bit.ly/bizjnf Dalvik Environment Trace vs. Method Granularity
More informationTrace-Based and Sample-Based Profiling in Rational Application Developer
Trace-Based and Sample-Based Profiling in Rational Application Developer This document is aimed at highlighting the importance of profiling in software development and talks about the profiling tools offered
More informationEntrust Managed Services PKI Administrator s Quick Start Guide
Entrust Managed Services PKI Administrator s Quick Start Guide Each Managed Services PKI organization requires an administrator also known as a local registration authority (LRA) whose duty it is to manage
More informationAJAX: Highly Interactive Web Applications. Jason Giglio. jgiglio@netmar.com
AJAX 1 Running head: AJAX AJAX: Highly Interactive Web Applications Jason Giglio jgiglio@netmar.com AJAX 2 Abstract AJAX stands for Asynchronous JavaScript and XML. AJAX has recently been gaining attention
More informationEarn Money Sharing YouTube Videos
Earn Money Sharing YouTube Videos Get Started FREE! Make money every time you share a video, also make money every time the videos you have shared get watched! Unleash The Viral Power of Social Media To
More informationSetting up an Apple ID
Setting up an Apple ID SETUP GUIDE: This setup guide was created for Albany Creek State High school to be used only for the purpose of assisting school staff and students in setting up and configuring
More informationlanguage 1 (source) compiler language 2 (target) Figure 1: Compiling a program
CS 2112 Lecture 27 Interpreters, compilers, and the Java Virtual Machine 1 May 2012 Lecturer: Andrew Myers 1 Interpreters vs. compilers There are two strategies for obtaining runnable code from a program
More informationBrowser Performance Tests We put the latest web browsers head-to-head to try to find out which one is best!
Browser Performance Tests We put the latest web browsers head-to-head to try to find out which one is best! Browsers Tested Google Chrome 23 Mozilla Firefox 16 Internet Explorer 10 Internet Explorer 9
More informationMXwendler Javascript Interface Description Version 2.3
MXwendler Javascript Interface Description Version 2.3 This document describes the MXWendler (MXW) Javascript Command Interface. You will learn how to control MXwendler through the Javascript interface.
More information>>Welcome to IHS Online
Sometimes online learning feels like a very lonely place. With IHS Online you join a virtual community of fellow students who study with you assisted by a tutor. The International Hotel School Online Campus,
More informationHCM on Any Device SAP Fiori Apps for Human Capital Management
Orange County Convention Center Orlando, Florida June 3-5, 2014 HCM on Any Device SAP Fiori Apps for Human Capital Management Satyam Singh Gertrud Beisel LEARNING POINTS Fiori and the UX Strategy Principles
More informationCSC309 Winter 2016 Lecture 3. Larry Zhang
CSC309 Winter 2016 Lecture 3 Larry Zhang 1 Why Javascript Javascript is for dynamically manipulate the front-end of your web page. Add/remove/change the content/attributes of an HTML element Change the
More informationProgressive Enhancement With GQuery and GWT. Ray Cromwell ray@timefire.com
Progressive Enhancement With GQuery and GWT Ray Cromwell ray@timefire.com Web Application Models Web 1.0, 1 Interaction = 1 Page Refresh Pure JS, No Navigation Away from Page Mixed Model, Page Reloads
More informationECM 210 - Chapter 4 Building an E-commerce Presence: Web Sites, Mobile Sites, and Apps
ECM 210 - Chapter 4 Building an E-commerce Presence: Web Sites, Mobile Sites, and Apps Imagine Your E-commerce Presence What s the idea? Vision Mission statement Target audience Intended market space Strategic
More information1 Which of the following questions can be answered using the goal flow report?
1 Which of the following questions can be answered using the goal flow report? [A] Are there a lot of unexpected exits from a step in the middle of my conversion funnel? [B] Do visitors usually start my
More informationDrupal Performance Tuning
Drupal Performance Tuning By Jeremy Zerr Website: http://www.jeremyzerr.com @jrzerr http://www.linkedin.com/in/jrzerr Overview Basics of Web App Systems Architecture General Web
More information風 水. Heap Feng Shui in JavaScript. Alexander Sotirov. asotirov@determina.com
風 水 Heap Feng Shui in JavaScript Alexander Sotirov asotirov@determina.com Black Hat Europe 2007 Introduction What is Heap Feng Shui? the ancient art of arranging heap blocks in order to redirect the program
More informationFour Ways to Modernize Your Application Performance Monitoring Strategy for Web 2.0 and AJAX
Four Ways to Modernize Your Application Performance Monitoring Strategy for Web 2.0 and AJAX Abstract As businesses become increasingly reliant on online channels for customer interactions, the need for
More informationBrowser Performance Tests We put the latest web browsers head-to-head to try to find out which one is best!
Browser Performance Tests We put the latest web browsers head-to-head to try to find out which one is best! Browsers Tested Google Chrome 31 Mozilla Firefox 25 Internet Explorer 11 Opera 17 Apple Safari
More informationData Memo. BY: Associate Director John B. Horrigan (202-419-4500) RE: USE OF CLOUD COMPUTING APPLICATIONS AND SERVICES September 2008
Data Memo BY: Associate Director John B. Horrigan (202-419-4500) RE: USE OF CLOUD COMPUTING APPLICATIONS AND SERVICES September 2008 Cloud computing takes hold as 69% of all internet users have either
More information