This document provides an overview and examples of using HTML5 canvas to create graphics and mobile apps. It discusses using canvas to draw basic shapes, images, and textures. It also covers touch events, animation, and creating menus. Later examples demonstrate loading images, simple games with touch input, and playing sound. The document emphasizes best practices like only drawing after resources load and using requestAnimationFrame for smooth animation. Overall, it serves as a tutorial for beginners on building graphics and interactive content using the HTML5 canvas element.
This document discusses different animation techniques in PowerPoint, including flipbook animation, motion path animation, and flash once animation. It provides step-by-step instructions for how to create each type of animation through examples like creating the animation of a sunrise or a moving car. The document also compares the three animation methods and suggests combining them to create more complex animations.
Gil Irizarry presents techniques for building lightweight mobile apps quickly using open source tools like PhoneGap, jQuery Mobile, and Android SDK. The presentation includes 5 code examples that demonstrate getting data from online RSS feeds and the device, building interactive UIs, and using local storage. PhoneGap allows developing cross-platform mobile apps using HTML, CSS, and JavaScript that can access device capabilities like contacts.
Make Cross-platform Mobile Apps Quickly - SIGGRAPH 2014Gil Irizarry
This document provides a summary of a presentation about making cross-platform mobile apps quickly using open source tools. It discusses using PhoneGap to create apps using HTML, CSS, and JavaScript that are cross-platform. It provides examples of building simple apps demonstrating concepts like accessing device data, using maps, touch events, and animation. The examples are meant to illustrate how to create mobile apps that work across Android and iOS without using their native languages.
This document discusses using TensorFlow on Android. It begins by introducing TensorFlow and how it works as a dataflow graph. It then discusses efforts to optimize TensorFlow for mobile and embedded devices through techniques like quantization and models like MobileNet that use depthwise separable convolutions. It shares experiences building and running TensorFlow models on Android, including benchmarking an Inception model and building a label_image demo. It also compares TensorFlow mobile efforts to other mobile deep learning frameworks like CoreML and the upcoming Android Neural Networks API.
Generational Layered Canvas Mechanism for Collaborative Web Applicationskata shin
The document proposes a Generational Layered (GL) canvas mechanism to reduce unnecessary redraws in collaborative web applications using the HTML5 canvas. The GL canvas assigns drawings to dynamically divided layers based on their update frequency, as determined by an "age" parameter. Drawings are promoted to older layers if their age exceeds a threshold. An evaluation showed the GL canvas outperformed an earlier Drawing-Frequency based Layered canvas by automatically optimizing redraws without requiring developers to configure update frequencies.
The Search for a New Visual Search Beyond Language - StampedeCon AI Summit 2017StampedeCon
Words are no longer sufficient in delivering the search results users are looking for, particularly in relation to image search. Text and languages pose many challenges in describing visual details and providing the necessary context for optimal results. Machine Learning technology opens a new world of search innovation that has yet to be applied by businesses.
In this session, Mike Ranzinger of Shutterstock will share a technical presentation detailing his research on composition aware search. He will also demonstrate how the research led to the launch of AI technology allowing users to more precisely find the image they need within Shutterstock’s collection of more than 150 million images. While the company released a number of AI search enabled tools in 2016, this new technology allows users to search for items in an image and specify where they should be located within the image. The research identifies the networks that localize and describe regions of an image as well as the relationships between things. The goal of this research was to improve the future of search using visual data, contextual search functions, and AI. A combination of multiple machine learning technologies led to this breakthrough.
This document discusses responsive design for online help outputs from tools like Flare and RoboHelp. It covers converting legacy projects, which can involve addressing local formatting, images that are too large or not resizable, tables, and other issues. New issues with responsive design include supporting different image resolutions, handling videos and captions at different screen widths, and optimizing CSS. The document provides examples and suggestions for addressing many of these common challenges.
This document provides an overview of Java applets and how to create a simple "Welcome" applet. It discusses how applets run inside an applet viewer or browser. The document then demonstrates how to create a simple applet class that extends Applet and overrides the paint method to draw a string. It shows the Java code for the applet class and the necessary HTML to display the applet. Finally, it discusses using additional graphics methods like drawLine to create more complex applets.
This document discusses different animation techniques in PowerPoint, including flipbook animation, motion path animation, and flash once animation. It provides step-by-step instructions for how to create each type of animation through examples like creating the animation of a sunrise or a moving car. The document also compares the three animation methods and suggests combining them to create more complex animations.
Gil Irizarry presents techniques for building lightweight mobile apps quickly using open source tools like PhoneGap, jQuery Mobile, and Android SDK. The presentation includes 5 code examples that demonstrate getting data from online RSS feeds and the device, building interactive UIs, and using local storage. PhoneGap allows developing cross-platform mobile apps using HTML, CSS, and JavaScript that can access device capabilities like contacts.
Make Cross-platform Mobile Apps Quickly - SIGGRAPH 2014Gil Irizarry
This document provides a summary of a presentation about making cross-platform mobile apps quickly using open source tools. It discusses using PhoneGap to create apps using HTML, CSS, and JavaScript that are cross-platform. It provides examples of building simple apps demonstrating concepts like accessing device data, using maps, touch events, and animation. The examples are meant to illustrate how to create mobile apps that work across Android and iOS without using their native languages.
This document discusses using TensorFlow on Android. It begins by introducing TensorFlow and how it works as a dataflow graph. It then discusses efforts to optimize TensorFlow for mobile and embedded devices through techniques like quantization and models like MobileNet that use depthwise separable convolutions. It shares experiences building and running TensorFlow models on Android, including benchmarking an Inception model and building a label_image demo. It also compares TensorFlow mobile efforts to other mobile deep learning frameworks like CoreML and the upcoming Android Neural Networks API.
Generational Layered Canvas Mechanism for Collaborative Web Applicationskata shin
The document proposes a Generational Layered (GL) canvas mechanism to reduce unnecessary redraws in collaborative web applications using the HTML5 canvas. The GL canvas assigns drawings to dynamically divided layers based on their update frequency, as determined by an "age" parameter. Drawings are promoted to older layers if their age exceeds a threshold. An evaluation showed the GL canvas outperformed an earlier Drawing-Frequency based Layered canvas by automatically optimizing redraws without requiring developers to configure update frequencies.
The Search for a New Visual Search Beyond Language - StampedeCon AI Summit 2017StampedeCon
Words are no longer sufficient in delivering the search results users are looking for, particularly in relation to image search. Text and languages pose many challenges in describing visual details and providing the necessary context for optimal results. Machine Learning technology opens a new world of search innovation that has yet to be applied by businesses.
In this session, Mike Ranzinger of Shutterstock will share a technical presentation detailing his research on composition aware search. He will also demonstrate how the research led to the launch of AI technology allowing users to more precisely find the image they need within Shutterstock’s collection of more than 150 million images. While the company released a number of AI search enabled tools in 2016, this new technology allows users to search for items in an image and specify where they should be located within the image. The research identifies the networks that localize and describe regions of an image as well as the relationships between things. The goal of this research was to improve the future of search using visual data, contextual search functions, and AI. A combination of multiple machine learning technologies led to this breakthrough.
This document discusses responsive design for online help outputs from tools like Flare and RoboHelp. It covers converting legacy projects, which can involve addressing local formatting, images that are too large or not resizable, tables, and other issues. New issues with responsive design include supporting different image resolutions, handling videos and captions at different screen widths, and optimizing CSS. The document provides examples and suggestions for addressing many of these common challenges.
This document provides an overview of Java applets and how to create a simple "Welcome" applet. It discusses how applets run inside an applet viewer or browser. The document then demonstrates how to create a simple applet class that extends Applet and overrides the paint method to draw a string. It shows the Java code for the applet class and the necessary HTML to display the applet. Finally, it discusses using additional graphics methods like drawLine to create more complex applets.
This document summarizes Vitaly Friedman's talk on responsive design techniques and tricks. The talk covered resolution independence using SVG/icon fonts, content choreography with Flexbox, compressive images that maintain quality at different sizes, conditional loading of assets based on breakpoints, and lazy loading of JavaScript and social buttons. It also discussed maintaining aspect ratios for images and videos across screens, and serving different video files for different devices. The overall message was that responsive design requires a new mindset and pragmatic solutions rather than rigid rules.
"Responsive Web Design: Clever Tips and Techniques". Vitaly Friedman, Smashin...Yandex
Responsive web design challenges web designers to apply a new mindset to their design processes, as well as to techniques they are using in design and coding. This talk provides an overview of various practical techniques, tips and tricks that you might want to be aware of when working on a new responsive design project.
This tutorial shows some lessons learned by us and our layer developers during the creation of 3D content.
We hope this presentation will help you optimize your 3D experiences in Layar. If you have any subjects you like to know more on, please contact developers@layar.com.
Fullstack 2018 - Fast but not furious: debugging user interaction performanc...Anna Migas
1. The document discusses optimizing user interface performance by reducing jank caused by the browser missing frame rendering deadlines.
2. It explains how browser rendering works and the different types of changes that can trigger layouts and repaints.
3. Potentially dangerous UI patterns are identified like overusing animations, parallax effects, fixed elements, scrolling events, hover effects, and improperly loading images. Optimizations like using transforms and the will-change property are recommended.
Responsive Web Design: Clever Tips and TechniquesVitaly Friedman
Responsive Web design challenges Web designers to adapt a new mindset to their design and coding processes. This talk provides an overview of various practical techniques, tips and tricks that you might want to be aware of when working on a new responsive design project.
Better DITA Graphics for a Multi-Screen WorldJoe Pairman
Good visual communication is essential, yet graphics are often an afterthought in DITA implementations. We need a new approach to make them work well over an increasing range of screen sizes, devices, and contexts.
Graphics illustrate relationships, demonstrate subtle concepts, and build emotional connections with brands. But they have to look clear and attractive over many screen sizes and software tools. As our image libraries grow, we can't keep manually tweaking different versions for different outputs.
Image processing tools are smart enough to handle this automatically; we just need to set up the rules. But the key to success is information architecture: the same needs analysis, planning, and content type definitions that we'd apply to any structured content solution.
This video is from a a college level course taught at the Florida Polytechnic University located in Lakeland Florida. The purpose of this course is to introduce Freshmen students to what design patterns are and how to use them.
in this class session, Dr. Anderson introduces object orientated programming, covers abstraction, encapsulation, polymorphism, and inheritance. He then wraps things up with a discussion of the differences between composition and inheritance..
The Instructor is Dr. Jim Anderson.
HTML5 is a new version of HTML that includes new elements and features. It introduces elements for embedding graphics and media, like <canvas> for drawings and <video> and <audio> for media playback. It also includes new form input types, drag and drop functionality, and geolocation. HTML5 provides semantic elements to better describe content. It enables offline web applications and web storage. While browser support is still evolving, many new HTML5 features can already be used today.
This document provides an overview of a lesson on imaging and design for online environments. The lesson will cover basic principles of graphics and layout, common image file formats used on the web like JPG and GIF, principles of image manipulation, and how to upload and share images online. By the end of the lesson, students should be able to understand graphics principles, create simple infographics, understand and use common file formats, easily edit images, and share images online. Formative assessments include having students examine a selfie on their phone by zooming in and identifying common software.
http://fr.droidcon.com/2014/agenda/
http://fr.droidcon.com/2014/agenda/detail?title=Framing+the+Canvas
This talk will guide you through a topic that is often ignored: the Canvas API. Even if there's only scarce documentation for it, the Canvas API is at the heart of everything that shows a UI on Android. You'll need to tame this powerful and mysterious creature if you want to create great custom views and brilliant, lightweight UIs for your apps.
What is a Canvas? How do you Paint? Can you draw Paths? What is Skia, and who invited it anyway? What actually happens during a drawing pass? What are Shaders? What are Filters? Is it true that text is basically impossible to measure correctly? What shape does a Shape have if noone's painting it? These and other questions will get an answer during this session. Well, some of them will not, probably.
Connect the dots in the spotty documentation the Android team has assembled, and become a true pixel pusher!
Speaker: Sebastiano Poggi, Novoda
Sebastiano Poggi is a Android Software Craftsman at Novoda in London.
A self-taught and strong OSS believer who loves in beautiful and simple UX and UI, where “less is more”, he spends a big chunk of his spare time reading and writing about Android development. He also creates and maintains some FOSS apps and libraries, that span from the fun little project to more serious (and, perhaps, useful) work.
He worked some time in AKQA as a Senior Software Engineer. Before moving to London, he also worked at i’m Spa (an Italian smartwatch startup) for two years, messing with the Android platform and handling their Developer Relations. He's been toying with the Android SDK since 2010.
This document provides an agenda and introduction for a training session on HTML5. It discusses HTML5 features like new elements, canvas, SVG, drag and drop, geolocation, video, audio, forms, storage and more. The trainer is Mehdi Jalal from NETLINKS for the Afghanistan Workforce Development Program. Browser support for HTML5 is still evolving as the specification is not fully complete.
Responsive images are crucial to delivering stunning responsive web sites. Now that the <picture> element and srcset feature have found their way into every browser with to a certain degree following a common standard, there is no excuse for refusing to add art-directed responsive images to your grunt, gulp or webpack build flow or backend CMS/blog. This talk will explore the state of the art in building art-directed responsive images and will showcase several tools and techniques that web designers can use to automate art-directed responsive images.
Google Webmaster Tool shows traffic for each keyword separately, it gives more information about website performance according to Google search query. This tool does not cover search query result from others search engines, such as Bing, Yahoo, or Baidu.
Google Analytics shows total traffic of a website such as clicks to your site regardless of where they came from and what search terms were used. It shows whatever search terms brought up your site in the listings. While your keywords might be there too, many will probably be specific terms or long-tail search terms. There are probably even search terms where Google offered your site even though they don't see a perfect match. If Google thinks the searcher meant something else, maybe they displayed your site for that word or term as a suitable match even though that word is not listed in Webmaster Tools as even being on your site.
This document discusses different approaches for texture mapping in e-commerce applications. It compares pre-calculating all possible texture combinations versus calculating textures on-the-fly. The approach of calculating on-the-fly using a C library integrated into a web server is found to be better, allowing textures to be combined and delivered as JPEG for optimal performance. The library approach balances speed and reliability compared to calling an external program. Caching can further improve performance by reusing previously rendered images.
The document provides information about various Android concepts like storing files, animations, AsyncTasks, Canvas, and Paint. It discusses storing files internally or externally on a device and how to access them. It describes two types of animations - frame animations using AnimationDrawable and tween animations using XML attributes like alpha, scale, translate, and rotate. AsyncTask is explained as a way to run background tasks and update UI asynchronously. Canvas and Paint are discussed as components for drawing, with Paint representing the drawing brush and its various properties. The document concludes with an overview of the process for submitting and evaluating student projects.
This document discusses motion design and animations in Fiori applications. It covers why animations are important, different types of animation patterns, how to apply animations using CSS transitions and keyframes, the Web Animation API, and considerations for performance. The document also examines the current state of animations in UI5 and a vision for a unified Animation Module that provides predefined animations that are integrated into UI5 and implements the Web Animation API.
This document outlines the modules in a course on programming and the web for beginners. The course introduces HTML to structure web pages, CSS for styling, and JavaScript for programming. Students will learn the seven-step process for developing programs, write functions in JavaScript, and complete a final mini-project creating an e-portfolio website using the skills learned. By the end of the course students will be able to make basic web pages, think critically about solving problems, and recognize debugging as part of the scientific method.
The document provides information about an upcoming training session on frontend development. It covers topics like HTML5 audio and video, the canvas element, geolocation, and web forms. The training will be held in Iasi, Romania in March 2014 and will include lectures on using HTML5 features to add audio, video, and interactive elements to web pages without requiring plugins. It provides code examples and explanations of how to use various HTML5 elements like <audio>, <video>, <canvas>, and geolocation APIs.
We will cover whole of the web development basics comprising of HTML, CSS, JavaScript in this series.
Following are topics useful for any newbie to intermediate who is interested in learning Web Development
Rosette Name Indexer applies machine learning and artificial intelligence to the problem of matching names and specific techniques for Hebrew names. Rosette is a leader in applying NLP and computational linguistics to text analytics.
[Apple-organization] and [oranges-fruit] - How to evaluate NLP tools - Basis ...Gil Irizarry
The document discusses how to evaluate NLP tools for entity extraction. It recommends defining the problem domain, assembling a test set within that domain, creating annotation guidelines, reviewing evaluation metrics like precision and recall, providing examples of evaluations, and considering inter-annotator agreement when creating a gold standard. The goal is to perform a rigorous evaluation that can inform decisions about which NLP tools are suitable for a given use case.
This document summarizes Vitaly Friedman's talk on responsive design techniques and tricks. The talk covered resolution independence using SVG/icon fonts, content choreography with Flexbox, compressive images that maintain quality at different sizes, conditional loading of assets based on breakpoints, and lazy loading of JavaScript and social buttons. It also discussed maintaining aspect ratios for images and videos across screens, and serving different video files for different devices. The overall message was that responsive design requires a new mindset and pragmatic solutions rather than rigid rules.
"Responsive Web Design: Clever Tips and Techniques". Vitaly Friedman, Smashin...Yandex
Responsive web design challenges web designers to apply a new mindset to their design processes, as well as to techniques they are using in design and coding. This talk provides an overview of various practical techniques, tips and tricks that you might want to be aware of when working on a new responsive design project.
This tutorial shows some lessons learned by us and our layer developers during the creation of 3D content.
We hope this presentation will help you optimize your 3D experiences in Layar. If you have any subjects you like to know more on, please contact developers@layar.com.
Fullstack 2018 - Fast but not furious: debugging user interaction performanc...Anna Migas
1. The document discusses optimizing user interface performance by reducing jank caused by the browser missing frame rendering deadlines.
2. It explains how browser rendering works and the different types of changes that can trigger layouts and repaints.
3. Potentially dangerous UI patterns are identified like overusing animations, parallax effects, fixed elements, scrolling events, hover effects, and improperly loading images. Optimizations like using transforms and the will-change property are recommended.
Responsive Web Design: Clever Tips and TechniquesVitaly Friedman
Responsive Web design challenges Web designers to adapt a new mindset to their design and coding processes. This talk provides an overview of various practical techniques, tips and tricks that you might want to be aware of when working on a new responsive design project.
Better DITA Graphics for a Multi-Screen WorldJoe Pairman
Good visual communication is essential, yet graphics are often an afterthought in DITA implementations. We need a new approach to make them work well over an increasing range of screen sizes, devices, and contexts.
Graphics illustrate relationships, demonstrate subtle concepts, and build emotional connections with brands. But they have to look clear and attractive over many screen sizes and software tools. As our image libraries grow, we can't keep manually tweaking different versions for different outputs.
Image processing tools are smart enough to handle this automatically; we just need to set up the rules. But the key to success is information architecture: the same needs analysis, planning, and content type definitions that we'd apply to any structured content solution.
This video is from a a college level course taught at the Florida Polytechnic University located in Lakeland Florida. The purpose of this course is to introduce Freshmen students to what design patterns are and how to use them.
in this class session, Dr. Anderson introduces object orientated programming, covers abstraction, encapsulation, polymorphism, and inheritance. He then wraps things up with a discussion of the differences between composition and inheritance..
The Instructor is Dr. Jim Anderson.
HTML5 is a new version of HTML that includes new elements and features. It introduces elements for embedding graphics and media, like <canvas> for drawings and <video> and <audio> for media playback. It also includes new form input types, drag and drop functionality, and geolocation. HTML5 provides semantic elements to better describe content. It enables offline web applications and web storage. While browser support is still evolving, many new HTML5 features can already be used today.
This document provides an overview of a lesson on imaging and design for online environments. The lesson will cover basic principles of graphics and layout, common image file formats used on the web like JPG and GIF, principles of image manipulation, and how to upload and share images online. By the end of the lesson, students should be able to understand graphics principles, create simple infographics, understand and use common file formats, easily edit images, and share images online. Formative assessments include having students examine a selfie on their phone by zooming in and identifying common software.
http://fr.droidcon.com/2014/agenda/
http://fr.droidcon.com/2014/agenda/detail?title=Framing+the+Canvas
This talk will guide you through a topic that is often ignored: the Canvas API. Even if there's only scarce documentation for it, the Canvas API is at the heart of everything that shows a UI on Android. You'll need to tame this powerful and mysterious creature if you want to create great custom views and brilliant, lightweight UIs for your apps.
What is a Canvas? How do you Paint? Can you draw Paths? What is Skia, and who invited it anyway? What actually happens during a drawing pass? What are Shaders? What are Filters? Is it true that text is basically impossible to measure correctly? What shape does a Shape have if noone's painting it? These and other questions will get an answer during this session. Well, some of them will not, probably.
Connect the dots in the spotty documentation the Android team has assembled, and become a true pixel pusher!
Speaker: Sebastiano Poggi, Novoda
Sebastiano Poggi is a Android Software Craftsman at Novoda in London.
A self-taught and strong OSS believer who loves in beautiful and simple UX and UI, where “less is more”, he spends a big chunk of his spare time reading and writing about Android development. He also creates and maintains some FOSS apps and libraries, that span from the fun little project to more serious (and, perhaps, useful) work.
He worked some time in AKQA as a Senior Software Engineer. Before moving to London, he also worked at i’m Spa (an Italian smartwatch startup) for two years, messing with the Android platform and handling their Developer Relations. He's been toying with the Android SDK since 2010.
This document provides an agenda and introduction for a training session on HTML5. It discusses HTML5 features like new elements, canvas, SVG, drag and drop, geolocation, video, audio, forms, storage and more. The trainer is Mehdi Jalal from NETLINKS for the Afghanistan Workforce Development Program. Browser support for HTML5 is still evolving as the specification is not fully complete.
Responsive images are crucial to delivering stunning responsive web sites. Now that the <picture> element and srcset feature have found their way into every browser with to a certain degree following a common standard, there is no excuse for refusing to add art-directed responsive images to your grunt, gulp or webpack build flow or backend CMS/blog. This talk will explore the state of the art in building art-directed responsive images and will showcase several tools and techniques that web designers can use to automate art-directed responsive images.
Google Webmaster Tool shows traffic for each keyword separately, it gives more information about website performance according to Google search query. This tool does not cover search query result from others search engines, such as Bing, Yahoo, or Baidu.
Google Analytics shows total traffic of a website such as clicks to your site regardless of where they came from and what search terms were used. It shows whatever search terms brought up your site in the listings. While your keywords might be there too, many will probably be specific terms or long-tail search terms. There are probably even search terms where Google offered your site even though they don't see a perfect match. If Google thinks the searcher meant something else, maybe they displayed your site for that word or term as a suitable match even though that word is not listed in Webmaster Tools as even being on your site.
This document discusses different approaches for texture mapping in e-commerce applications. It compares pre-calculating all possible texture combinations versus calculating textures on-the-fly. The approach of calculating on-the-fly using a C library integrated into a web server is found to be better, allowing textures to be combined and delivered as JPEG for optimal performance. The library approach balances speed and reliability compared to calling an external program. Caching can further improve performance by reusing previously rendered images.
The document provides information about various Android concepts like storing files, animations, AsyncTasks, Canvas, and Paint. It discusses storing files internally or externally on a device and how to access them. It describes two types of animations - frame animations using AnimationDrawable and tween animations using XML attributes like alpha, scale, translate, and rotate. AsyncTask is explained as a way to run background tasks and update UI asynchronously. Canvas and Paint are discussed as components for drawing, with Paint representing the drawing brush and its various properties. The document concludes with an overview of the process for submitting and evaluating student projects.
This document discusses motion design and animations in Fiori applications. It covers why animations are important, different types of animation patterns, how to apply animations using CSS transitions and keyframes, the Web Animation API, and considerations for performance. The document also examines the current state of animations in UI5 and a vision for a unified Animation Module that provides predefined animations that are integrated into UI5 and implements the Web Animation API.
This document outlines the modules in a course on programming and the web for beginners. The course introduces HTML to structure web pages, CSS for styling, and JavaScript for programming. Students will learn the seven-step process for developing programs, write functions in JavaScript, and complete a final mini-project creating an e-portfolio website using the skills learned. By the end of the course students will be able to make basic web pages, think critically about solving problems, and recognize debugging as part of the scientific method.
The document provides information about an upcoming training session on frontend development. It covers topics like HTML5 audio and video, the canvas element, geolocation, and web forms. The training will be held in Iasi, Romania in March 2014 and will include lectures on using HTML5 features to add audio, video, and interactive elements to web pages without requiring plugins. It provides code examples and explanations of how to use various HTML5 elements like <audio>, <video>, <canvas>, and geolocation APIs.
We will cover whole of the web development basics comprising of HTML, CSS, JavaScript in this series.
Following are topics useful for any newbie to intermediate who is interested in learning Web Development
Rosette Name Indexer applies machine learning and artificial intelligence to the problem of matching names and specific techniques for Hebrew names. Rosette is a leader in applying NLP and computational linguistics to text analytics.
[Apple-organization] and [oranges-fruit] - How to evaluate NLP tools - Basis ...Gil Irizarry
The document discusses how to evaluate NLP tools for entity extraction. It recommends defining the problem domain, assembling a test set within that domain, creating annotation guidelines, reviewing evaluation metrics like precision and recall, providing examples of evaluations, and considering inter-annotator agreement when creating a gold standard. The goal is to perform a rigorous evaluation that can inform decisions about which NLP tools are suitable for a given use case.
[Apple|organization] and [oranges|fruit]: How to evaluate NLP tools for entit...Gil Irizarry
This document outlines steps for evaluating NLP tools for entity extraction:
1. Define the problem domain and assemble a test set specific to that domain
2. Create annotation guidelines to define what entities should be extracted and how annotators should label them
3. Review evaluation metrics like precision, recall, F1 score, and have annotators label a test set to create a gold standard for comparison
4. Compare tool output to the gold standard using the metrics to evaluate performance.
Ai for Good: Bad Guys, Messy Data, & NLPGil Irizarry
All the information that is needed to find and stop bad actors from entering our financial system already exists and is available to you today; it’s just buried in terabits of messy, unstructured data all over the internet. For those performing investigations and evaluating risk, this needle in a stack of needles problem is huge and growing: Unstructured data already dominates the web (growing exponentially year over year), and the traditional technology these departments use cannot keep up. Recent developments in natural language processing technology (NLP), the field of AI that focuses on human language, have, for the first time, made it possible for automated systems to find and deliver identity-relevant intelligence hidden in unstructured textual data.
DevSecOps Orchestration of Text Analytics with ContainersGil Irizarry
The document discusses container security best practices. It begins by introducing containers and their advantages over VMs, but notes containers also introduce security risks if not managed properly. It then outlines several mitigation strategies like patching operating systems, scanning container images for vulnerabilities, not running as root, using namespaces to isolate containers, and implementing resource limits. The document concludes by offering a demonstration and inviting questions.
This document provides an overview of beginning native Android app development. It discusses Android app structure including the manifest, activities, intents and lifecycles. It also covers common Android views and layouts, accessing device capabilities like the camera and location, working with data via content providers, and rendering with OpenGL. Example code is provided for various app features like input handling, scrollable lists, and camera access. The document concludes with the process for submitting an app to the Google Play Store.
Building The Agile Enterprise - LSSC '12Gil Irizarry
The document discusses how to scale Agile practices beyond individual teams to the enterprise level using Kanban and release management. It recommends prioritizing work, planning dependencies between teams, continuously integrating and testing code, and deploying features using a "release train" model even if not all work is complete by a deadline. Automating builds, tests and deployments is key to enabling small, frequent releases across multiple interdependent teams.
Agile The Kanban Way - Central MA PMI 2011Gil Irizarry
This document provides an overview of Kanban and how it was presented to the PMI Central MA Chapter. The key points covered include:
1) Kanban is a scheduling system that manages workflow using a visual board to limit work-in-progress and ensure continuous flow.
2) Core Kanban principles include visualizing workflow, limiting work-in-progress, managing flow, making policies explicit, and improving collaboratively.
3) Kanban was presented including demonstrating how to set up a Kanban board, establish policies and limits, and use cumulative flow diagrams to identify bottlenecks.
Transitioning to Kanban: Theory and Practice - Project Summit Boston 2011Gil Irizarry
This document provides an overview of transitioning a team to Kanban. It discusses the motivations for adopting Kanban, including reacting quicker to changes and improving quality. It covers Kanban concepts like value stream mapping, establishing work-in-progress limits, and using metrics like cumulative flow diagrams to identify bottlenecks and continuously improve. An example is provided of one company's experience transitioning its website team to Kanban and how it improved workflow, reduced bottlenecks, and enabled more consistent delivery.
The document discusses Constant Contact's transition from Scrum to Kanban. It provides background on Constant Contact and the motivations for adopting Kanban. It then discusses the theory behind Kanban and how the Website team at Constant Contact implemented Kanban in practice over several weeks and months. Key aspects included mapping their value stream, establishing work in progress limits, defining policies, tracking metrics like cycle time, and improving their process continuously based on those metrics.
This document summarizes a presentation on transitioning a team to using Kanban. It discusses the motivations for adopting Kanban, provides an overview of Kanban principles and practices, and shares the experience of one team at Constant Contact that transitioned to Kanban. This included mapping their workflow, establishing work in progress limits, defining policies, tracking metrics like cycle time, and evolving their process over time to achieve continuous flow and delivery.
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Speck&Tech
ABSTRACT: A prima vista, un mattoncino Lego e la backdoor XZ potrebbero avere in comune il fatto di essere entrambi blocchi di costruzione, o dipendenze di progetti creativi e software. La realtà è che un mattoncino Lego e il caso della backdoor XZ hanno molto di più di tutto ciò in comune.
Partecipate alla presentazione per immergervi in una storia di interoperabilità, standard e formati aperti, per poi discutere del ruolo importante che i contributori hanno in una comunità open source sostenibile.
BIO: Sostenitrice del software libero e dei formati standard e aperti. È stata un membro attivo dei progetti Fedora e openSUSE e ha co-fondato l'Associazione LibreItalia dove è stata coinvolta in diversi eventi, migrazioni e formazione relativi a LibreOffice. In precedenza ha lavorato a migrazioni e corsi di formazione su LibreOffice per diverse amministrazioni pubbliche e privati. Da gennaio 2020 lavora in SUSE come Software Release Engineer per Uyuni e SUSE Manager e quando non segue la sua passione per i computer e per Geeko coltiva la sua curiosità per l'astronomia (da cui deriva il suo nickname deneb_alpha).
UiPath Test Automation using UiPath Test Suite series, part 6DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 6. In this session, we will cover Test Automation with generative AI and Open AI.
UiPath Test Automation with generative AI and Open AI webinar offers an in-depth exploration of leveraging cutting-edge technologies for test automation within the UiPath platform. Attendees will delve into the integration of generative AI, a test automation solution, with Open AI advanced natural language processing capabilities.
Throughout the session, participants will discover how this synergy empowers testers to automate repetitive tasks, enhance testing accuracy, and expedite the software testing life cycle. Topics covered include the seamless integration process, practical use cases, and the benefits of harnessing AI-driven automation for UiPath testing initiatives. By attending this webinar, testers, and automation professionals can gain valuable insights into harnessing the power of AI to optimize their test automation workflows within the UiPath ecosystem, ultimately driving efficiency and quality in software development processes.
What will you get from this session?
1. Insights into integrating generative AI.
2. Understanding how this integration enhances test automation within the UiPath platform
3. Practical demonstrations
4. Exploration of real-world use cases illustrating the benefits of AI-driven test automation for UiPath
Topics covered:
What is generative AI
Test Automation with generative AI and Open AI.
UiPath integration with generative AI
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
How to Get CNIC Information System with Paksim Ga.pptxdanishmna97
Pakdata Cf is a groundbreaking system designed to streamline and facilitate access to CNIC information. This innovative platform leverages advanced technology to provide users with efficient and secure access to their CNIC details.
UiPath Test Automation using UiPath Test Suite series, part 5DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 5. In this session, we will cover CI/CD with devops.
Topics covered:
CI/CD with in UiPath
End-to-end overview of CI/CD pipeline with Azure devops
Speaker:
Lyndsey Byblow, Test Suite Sales Engineer @ UiPath, Inc.
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
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
20 Comprehensive Checklist of Designing and Developing a WebsitePixlogix Infotech
Dive into the world of Website Designing and Developing with Pixlogix! Looking to create a stunning online presence? Look no further! Our comprehensive checklist covers everything you need to know to craft a website that stands out. From user-friendly design to seamless functionality, we've got you covered. Don't miss out on this invaluable resource! Check out our checklist now at Pixlogix and start your journey towards a captivating online presence today.
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfMalak Abu Hammad
Discover how MongoDB Atlas and vector search technology can revolutionize your application's search capabilities. This comprehensive presentation covers:
* What is Vector Search?
* Importance and benefits of vector search
* Practical use cases across various industries
* Step-by-step implementation guide
* Live demos with code snippets
* Enhancing LLM capabilities with vector search
* Best practices and optimization strategies
Perfect for developers, AI enthusiasts, and tech leaders. Learn how to leverage MongoDB Atlas to deliver highly relevant, context-aware search results, transforming your data retrieval process. Stay ahead in tech innovation and maximize the potential of your applications.
#MongoDB #VectorSearch #AI #SemanticSearch #TechInnovation #DataScience #LLM #MachineLearning #SearchTechnology
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc
How does your privacy program stack up against your peers? What challenges are privacy teams tackling and prioritizing in 2024?
In the fifth annual Global Privacy Benchmarks Survey, we asked over 1,800 global privacy professionals and business executives to share their perspectives on the current state of privacy inside and outside of their organizations. This year’s report focused on emerging areas of importance for privacy and compliance professionals, including considerations and implications of Artificial Intelligence (AI) technologies, building brand trust, and different approaches for achieving higher privacy competence scores.
See how organizational priorities and strategic approaches to data security and privacy are evolving around the globe.
This webinar will review:
- The top 10 privacy insights from the fifth annual Global Privacy Benchmarks Survey
- The top challenges for privacy leaders, practitioners, and organizations in 2024
- Key themes to consider in developing and maintaining your privacy program
In the rapidly evolving landscape of technologies, XML continues to play a vital role in structuring, storing, and transporting data across diverse systems. The recent advancements in artificial intelligence (AI) present new methodologies for enhancing XML development workflows, introducing efficiency, automation, and intelligent capabilities. This presentation will outline the scope and perspective of utilizing AI in XML development. The potential benefits and the possible pitfalls will be highlighted, providing a balanced view of the subject.
We will explore the capabilities of AI in understanding XML markup languages and autonomously creating structured XML content. Additionally, we will examine the capacity of AI to enrich plain text with appropriate XML markup. Practical examples and methodological guidelines will be provided to elucidate how AI can be effectively prompted to interpret and generate accurate XML markup.
Further emphasis will be placed on the role of AI in developing XSLT, or schemas such as XSD and Schematron. We will address the techniques and strategies adopted to create prompts for generating code, explaining code, or refactoring the code, and the results achieved.
The discussion will extend to how AI can be used to transform XML content. In particular, the focus will be on the use of AI XPath extension functions in XSLT, Schematron, Schematron Quick Fixes, or for XML content refactoring.
The presentation aims to deliver a comprehensive overview of AI usage in XML development, providing attendees with the necessary knowledge to make informed decisions. Whether you’re at the early stages of adopting AI or considering integrating it in advanced XML development, this presentation will cover all levels of expertise.
By highlighting the potential advantages and challenges of integrating AI with XML development tools and languages, the presentation seeks to inspire thoughtful conversation around the future of XML development. We’ll not only delve into the technical aspects of AI-powered XML development but also discuss practical implications and possible future directions.
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
Building RAG with self-deployed Milvus vector database and Snowpark Container...Zilliz
This talk will give hands-on advice on building RAG applications with an open-source Milvus database deployed as a docker container. We will also introduce the integration of Milvus with Snowpark Container Services.
Sudheer Mechineni, Head of Application Frameworks, Standard Chartered Bank
Discover how Standard Chartered Bank harnessed the power of Neo4j to transform complex data access challenges into a dynamic, scalable graph database solution. This keynote will cover their journey from initial adoption to deploying a fully automated, enterprise-grade causal cluster, highlighting key strategies for modelling organisational changes and ensuring robust disaster recovery. Learn how these innovations have not only enhanced Standard Chartered Bank’s data infrastructure but also positioned them as pioneers in the banking sector’s adoption of graph technology.
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIVladimir Iglovikov, Ph.D.
Presented by Vladimir Iglovikov:
- https://www.linkedin.com/in/iglovikov/
- https://x.com/viglovikov
- https://www.instagram.com/ternaus/
This presentation delves into the journey of Albumentations.ai, a highly successful open-source library for data augmentation.
Created out of a necessity for superior performance in Kaggle competitions, Albumentations has grown to become a widely used tool among data scientists and machine learning practitioners.
This case study covers various aspects, including:
People: The contributors and community that have supported Albumentations.
Metrics: The success indicators such as downloads, daily active users, GitHub stars, and financial contributions.
Challenges: The hurdles in monetizing open-source projects and measuring user engagement.
Development Practices: Best practices for creating, maintaining, and scaling open-source libraries, including code hygiene, CI/CD, and fast iteration.
Community Building: Strategies for making adoption easy, iterating quickly, and fostering a vibrant, engaged community.
Marketing: Both online and offline marketing tactics, focusing on real, impactful interactions and collaborations.
Mental Health: Maintaining balance and not feeling pressured by user demands.
Key insights include the importance of automation, making the adoption process seamless, and leveraging offline interactions for marketing. The presentation also emphasizes the need for continuous small improvements and building a friendly, inclusive community that contributes to the project's growth.
Vladimir Iglovikov brings his extensive experience as a Kaggle Grandmaster, ex-Staff ML Engineer at Lyft, sharing valuable lessons and practical advice for anyone looking to enhance the adoption of their open-source projects.
Explore more about Albumentations and join the community at:
GitHub: https://github.com/albumentations-team/albumentations
Website: https://albumentations.ai/
LinkedIn: https://www.linkedin.com/company/100504475
Twitter: https://x.com/albumentations
2. About Me
• Launched VC News Daily app on iOS and Android. Over
1200 downloads so far.
• Owner and lead engineer at Conoa, a graphics and
mobile software firm
• gil@conoa.com
• http://www.slideshare.net/conoagil/
3. About Me
• All examples and sample code in this presentation can
be found at:
– http://conoa.com/hidden/example.zip
4. Why?
• There are nearly 2 million mobile apps available today.
(http://www.pureoxygenmobile.com/how-many-apps-in-each-app-store/ )
• 1.5 years ago, there were 15K new mobile apps released
each week. (http://www.nytimes.com/2011/12/12/technology/one-million-apps-and-counting.html )
• For many, interacting with software means interacting
with mobile devices (or at least devices that run mobile
software).
5. What we will do
• We will learn how to build lightweight mobile apps
quickly, using open source tools.
• The apps will be cross-platform.
• However, we must actually pick a platform on which to
build and test the apps.
• For this presentation, we will work in Android since the
tools are free and easily available. We will do this on
Windows.
6. What we will do
• (Mostly) everything presented today in the Android
environment will apply to iOS, or has an equivalent in that
environment.
• So, let‟s get started…
7. Assumptions
• Setting up a development environment is covered in the
Making Mobile Apps Quickly workshop.
• For this workshop, we assume that a development
environment is in place.
8. PhoneGap
• PhoneGap allows HTML pages to be built as mobile apps.
• HTML pages can include JavaScript and JavaScript
libraries, such as jQuery.
• HTML pages can also include HTML5 elements.
9. Canvas
• HTML5 includes a new <canvas> element.
• Canvas allows the rendering of 2D graphics via some low-
level primitives.
• It does not include a scene graph API, so you must store
rendering information yourself for redrawing a scene.
11. Graphics Example 1 – Simple Canvas
• Select the Graphics Example 1 project in the Package
Explorer in Eclipse.
• Select Run from the top menu bar
• Once the emulator starts and is finished installing the app,
you should see something like this:
13. Graphics Example 1 – Simple Canvas
• This example creates a canvas, gets its drawing context,
and draws into it.
• It follows a pattern that will soon be familiar: most of the
action is happening in JavaScript.
• One problem with this example is that the canvas is a
fixed size. Let‟s fix that with Example 2.
15. Graphics Example 2 – Better Canvas
• Example 2 queries the size of the window, then adds a
canvas to fit the window. In this way, we can make a
canvas that would fit any device.
• Notice that the position of the text is based on the size of
the canvas, which is now based on the size of the device
window. The text will be centered on any device the app
is run, courtesy of a small amount of JavaScript.
• Let‟s see what else we can draw.
17. Graphics Example 3 – More Drawing
• This example gives a sense of what can be drawn.
• Canvas uses a drawing system similar to Adobe
PostScript or Mac OS QuickDraw. This is not surprising
considering that Apple developed the initial
implementation of canvas before it became a (nascent)
standard.
• Obtain the graphics context of the canvas for issuing
drawing commands
18. Canvas Drawing
• beginPath() … fill() or stroke () paradigm
• moveTo() / lineTo() for paths
• arc() for full or partial circles
• bezierTo() for complex curves
• fillText() / strokeText() for text
19. Canvas Drawing
• drawImage()
• colors, either by name or hex values
• gradients, linear or radial, and patterns
• stroke styles, including stipple patterns and line end caps
• push and pop transformations and state
20. Canvas Coordinate System
• (0, 0) is in the upper left corner of the canvas.
• Increasing y is “down” from the screen‟s perspective.
Increasing x is to the right.
(0, 0)
(0, height)
(width, 0)
21. Let’s make a pattern
• Find an image from the internet and save it to
GraphicsExample3/assets/www
• Change this code:
– context.fillStyle=gradient;
– context.beginPath();
– context.arc(55,155,40,0,2*Math.PI);
– context.fill();
• To this code:
22. Let’s make a pattern
– var img = new Image();
– img.src = 'clouds.jpg'; // use your image name here
– img.onload = function (e) {
• var pattern = context.createPattern(img, 'repeat');
• context.fillStyle=pattern;
• context.beginPath();
• context.arc(55,155,40,0,2*Math.PI);
• context.fill();
– };
• Shapes that you fill will become masks for the underlying
pattern.
23. Graphics Example 4 – Touch
• Everything so far has been static.
• JavaScript has an event system. We saw one in the
previous example: onload
• Let‟s use other events to add some interactivity.
25. Touch Events
• HTML5 canvas adds new events for devices:
– ontouchstart
– ontouchmove
– ontouchend
• Note that events come back as arrays. Why?
• Because HTML5 supports multi-touch. We can have
multiple simultaneous move events.
26. Touch Events
• Important to remember that event coordinates triggered by
the canvas are relative to the full window.
• Events need to be converted to the canvas coordinate
system in order to be relevant to the canvas.
• Look at function windowToCanvas (canvas, x, y) in
Graphics Example 4 source code (found in assets/www
folder).
27. Previewing
• Examples 1 through 3 work equally well as a PhoneGap-
powered mobile app and as a web page. If you haven‟t
already done so, trying running assets/www/index.html in
a browser.
• However, by incorporating touch events, we must run
Example 4 and other examples incorporating touch in the
mobile emulator.
29. Images
• In addition to stroked shapes, we can draw images.
• Images can be sourced locally or over the network.
• Note how images are loaded:
– image.src = filename;
– image.onload = function(e) {
– };
• If you reference an image before it is loaded, you run the
risk that you are trying to use an image before it is
available.
30. Images
• Images can be scaled and transformed.
• Canvas supports compositing and alpha.
• Canvas also support shadows.
• The example uses an RGBA color value to render semi-
transparent text and have it composited over the image.
The text is given a drop shadow.
31. Images over the network
• To access images over the network (or any data at all),
remember that network access must be enabled. On
Android, network access is not the default. It must be
enabled in the AndroidManifest.xml file:
• <uses-permission
android:name="android.permission.INTERNET" />
32. Saving and restoring state
• save() pushes the current context onto a stack.
• In addition to the current transformation, attributes are
also pushed.
• In the current example, because the text was given a
shadow, the shadow applies to the paint object. If we
want only the text to have a shadow, we could put the text
rendering code inside a save() / restore() block.
33. Graphics Example 6 – Paint and Menus
• Since we can render images into the canvas, we can use
a set of images and canvases to create menus.
• We could also draw into the canvases to render the menu
options dynamically.
35. Graphics Example 6 – Paint and Menus
• Example 6 allows the color and size of the paint brush.
• Separate canvases are used for the icon images, and
touch event handlers are attached to the canvases. How
else could we accomplish this?
• The image selector and scale checkbox are standard
HTML controls that trigger JavaScript events. We could
make <div> elements with <img> elements containing the
icons, and put event handlers on the images.
36. Animation
• Although we‟ve added some interactivity, the examples so
far have been a little static.
• Let‟s add some animation.
38. Animation
• self.setInterval () is used to have the page be called again.
• Note that the screen is not cleared and that we are adding
to the canvas on each call.
• Instead, let‟s clear the canvas each frame. We can
transform the previous example into a simple clock app.
40. Animation
• This example queries the time from the JavaScript Date()
object and draws the hands accordingly.
• The canvas is cleared each frame and redrawn.
• If you haven‟t already, try running the Graphics Example 8
in a browser (by running assets/www/index.html)
• There is something consistently missing in both the
emulator and the browser. What is it?
41. Animation
• The answer is flicker. The same canvas is cleared and
redrawn each frame, yet there is no flicker.
• This is because the canvas is inherently double-buffered.
• You could implement your own double buffering scheme
because HTML5 allows drawing to off-screen drawables.
You could draw off-screen, then swap the off-screen
memory to the on-screen canvas. However, HTML5
canvas does this more efficiently.
42. Save and Restore
• Remember save() and restore()?
• Let‟s use them to change the clock face so the text is
oriented around the face, much like text on a path in some
applications.
• Do this by using translate and rotate to change the
coordinate system of the fillText() call.
• If you can‟t figure out how to do this, look at the
commented out code.
44. Let’s Do Things the Right Way
• We have been cutting some corners, so let‟s do things the
right way.
• PhoneGap should load the JavaScript when it is
ready, otherwise you potentially have the problem similar
to when you reference an image before it is loaded.
• Set a device ready event:
– document.addEventListener("deviceready", fnName, false);
– fnName is the name of the event handler
45. Let’s Do Things the Right Way
• Setting the device ready event requires that the device get
set in the config.xml file. This file is not in a default
Eclipse project, so it needs to be added manually. It goes
in the /res/xml folder.
• <feature name="Device">
• <param name="android-package"
value="org.apache.cordova.Device" />
• </feature>
46. Let’s Do Things the Right Way
• Look at the clock app. Also, try running it in a browser and
look at it there.
• If you look closely enough, you‟ll see a stutter on the
second hand. This is because setInterval() is a general
suggestion to the canvas on when to redraw and not a
hard commitment.
• There is a better way: requestAnimationFrame()
47. Let’s Do Things the Right Way
• requestAnimationFrame() is designed to deliver 60 FPS
and is made for games or animation.
• However, there is a problem. Many browsers don‟t
implement it!
• Remember that HTML5 is still not a standard!
48. Let’s Do Things the Right Way
• webkitRequestAnimationFrame() for Chrome,
mozRequestAnimationFrame() for Firefox.
• Search for „robust polyfill code‟ to find ways to deal with
this.
• http://my.opera.com/emoller/blog/2011/12/20/requestanim
ationframe-for-smart-er-animating
49. Let’s Do Things the Right Way
• Unfortunately, Android and iOS do not support
requestAnimationFrame(), at least at the versions we‟ve
been supporting in these examples.
• In this case, the polyfill code reverts back to setInterval()
or setTimeout().
• Another solution is to support only later versions of the
OS.
50. Let’s Do Things the Right Way
• http://caniuse.com/requestanimationframe
51. Let’s Do Things the Right Way
• Let‟s stop the main Android activity from showing up
before the HTML loads.
• <application android:theme="@android:style/Theme.NoTitleBar" >
53. Playing Sound
• In the latest example, a sound is played when a ball
bounces.
• To enable this, remember to set the correct permissions in
both AndroidManifest.xml and config.xml.
• Create a PhoneGap media object. This requires the use
of cordova.js in addition to cordova.jar.
54. Playing Sound
• If you listen closely, you hear that the sounds are not
exactly in sync with the bounces.
• This is an inherent problem with PhoneGap‟s Media class.
• To alleviate, use an uncompressed sound file.
• Also, there is the Low Latency Audio Plugin for
PhoneGap.
55. Sprites
• HTML5 does not support sprites natively but, now that we
know how to do animation and draw images, we can
simulate them.
• drawImage() allows a subset of an image to be drawn.
• Every so many frames, we can draw a different part of a
larger image. The larger image can be made up of
different sprite images.
57. What about 3D?
• An emerging standard for 3D graphics in a web page.
• However, it is not supported by iOS or Android browser
and has no support within PhoneGap.