Progressive Web Applications (PWA) is a comprehensive term describing web applications that implement a base set of browser platform features like HTTPS, Web Manifest and Service Workers. But it bleeds beyond the scope of an application's code because browsers are enabling qualified web applications to offer the same user experiences native application enjoy. This includes prominent home screen placement, push notifications, eliminated browser chrome and app store placement.
Become a Progressive Web App expert with my course: Progressive Web Apps (PWA) Beginner to Expert -> http://PWACourse.com
JavaScript front end performance optimizationsChris Love
No one wants a slow loading, slow reacting application. As page weight has increased so has the dependency on JavaScript to drive rich user experiences. Today many pages load over 2MBs of JavaScript, but is this healthy? Do your scripts and dependencies perform well? In this session we will review common JavaScript performance bottlenecks, how to detect them and how to eliminate them.
This session will review common bad coding syntax, architecture and how to replace them with better alternatives. You will also be exposed to caching, code organization, build and deployment best practices that produce the best user experiences. Finally, you will see how to use the navigation timing and performance timing APIs to fine tune your applications to produce a fast, lean application your customers will love.
Service workers your applications never felt so goodChris Love
If you have not heard of service workers you must attend this session. Service Workers encompass new browser capabilities, along with shiny new version of AJAX called Fetch. If you have every wanted your web applications to experience many native application features, such as push notifications, service workers is the gateway to your happiness. Have you felt confused by application cache and going offline? Well service workers enable offline experiences in a much cleaner way. But that is not all! If you want to see some of the cool new, advanced web platform features that you will actually use come to this session!
https://love2dev.com/blog/what-is-a-service-worker/
Develop a vanilla.js spa you and your customers will loveChris Love
Do you want to leverage HTML, CSS and JavaScripts APIs to deliver rich user experiences that outlive the framework du jour? Do You want to understand good front-end application architecture and performance principles. Then you want to build applications in Vanilla JS. Despite popular belief Vanilla JS is not as difficult to master and implement as you might think.
In this tutorial Chris Love will demonstrate how to apply many common web performance optimization, good architecture and tricks to build a fast, native-like application user experience customers desire without dependency on large, fast food frameworks.
This tutorial will demonstrate the following concepts:
- Applying the 14kb Rule for Instant Loading
- Markup Management
- Eliminating Excess AJAX Calls
- Working With and Around Application Cache
- Applying Service Workers and HTTP/2 For Even Better User Experiences
- Leveraging common browser APIs & good architecture
10 things you can do to speed up your web app today 2016Chris Love
Web Sites are to slow and this is costing businesses money. Most performance issues are easy to fix. In this session we review why web performance is important and 10 simple things you can do to make a faster user experience.
Advanced front end debugging with ms edge and ms toolsChris Love
All browsers have developer tools that help developers troubleshoot their applications. But each browser's tools are different and all have strengths and weaknesses. Microsoft Edge is no different.This session will highlight some deeper insights you can gain through the Edge developer tools and some advanced tools available from Microsoft. We will dive into advanced CSS and JavaScript debugging capabilities. We will also review how to chase memory leaks and diagnose common performance rendering issues. Finally we will do a quick review of Vorlon.js, a remote debugging library that enables you to troubleshoot issues on devices you do not have developer tool access.
The average website loads over 1.5MBs of content per page, making over 75 requests. Many popular websites are serving over 5MBs just to load their homepages. And these numbers represent measurements taken AFTER compression is applied. The full weight of many popular websites is pushing 20+ MBs these days. In an era where performance truly matters to the end user experience, web developers need techniques to help curtail this bloat in data down the wire.
No matter how well you optimize, there is no better way than to delete things you do not need. How does one determine what is essential to the user experience and what is not? One answer Chris posits is to develop a hyper-lightweight version of your website which will provide critical insights into your specific performance priorities. This is a process that he has leveraged on many projects, in particular at YouTube to reduce the size of the video watch page from 1.5MBs to 100KBs. In this talk, Chris will take real-world web pages and show techniques for dramatically reducing their page weight and for identifying areas to optimize, while outlining the key steps to doing this well.
jQuery 1.9 and 2.0 - Present and FutureRichard Worth
jQuery has grown over 7 years to become the most widely used JavaScript library ever. This talk will cover how the jQuery project continues to support the browsers of the past, present, and future while also delivering modularity, innovation, and mobile support.
JavaScript front end performance optimizationsChris Love
No one wants a slow loading, slow reacting application. As page weight has increased so has the dependency on JavaScript to drive rich user experiences. Today many pages load over 2MBs of JavaScript, but is this healthy? Do your scripts and dependencies perform well? In this session we will review common JavaScript performance bottlenecks, how to detect them and how to eliminate them.
This session will review common bad coding syntax, architecture and how to replace them with better alternatives. You will also be exposed to caching, code organization, build and deployment best practices that produce the best user experiences. Finally, you will see how to use the navigation timing and performance timing APIs to fine tune your applications to produce a fast, lean application your customers will love.
Service workers your applications never felt so goodChris Love
If you have not heard of service workers you must attend this session. Service Workers encompass new browser capabilities, along with shiny new version of AJAX called Fetch. If you have every wanted your web applications to experience many native application features, such as push notifications, service workers is the gateway to your happiness. Have you felt confused by application cache and going offline? Well service workers enable offline experiences in a much cleaner way. But that is not all! If you want to see some of the cool new, advanced web platform features that you will actually use come to this session!
https://love2dev.com/blog/what-is-a-service-worker/
Develop a vanilla.js spa you and your customers will loveChris Love
Do you want to leverage HTML, CSS and JavaScripts APIs to deliver rich user experiences that outlive the framework du jour? Do You want to understand good front-end application architecture and performance principles. Then you want to build applications in Vanilla JS. Despite popular belief Vanilla JS is not as difficult to master and implement as you might think.
In this tutorial Chris Love will demonstrate how to apply many common web performance optimization, good architecture and tricks to build a fast, native-like application user experience customers desire without dependency on large, fast food frameworks.
This tutorial will demonstrate the following concepts:
- Applying the 14kb Rule for Instant Loading
- Markup Management
- Eliminating Excess AJAX Calls
- Working With and Around Application Cache
- Applying Service Workers and HTTP/2 For Even Better User Experiences
- Leveraging common browser APIs & good architecture
10 things you can do to speed up your web app today 2016Chris Love
Web Sites are to slow and this is costing businesses money. Most performance issues are easy to fix. In this session we review why web performance is important and 10 simple things you can do to make a faster user experience.
Advanced front end debugging with ms edge and ms toolsChris Love
All browsers have developer tools that help developers troubleshoot their applications. But each browser's tools are different and all have strengths and weaknesses. Microsoft Edge is no different.This session will highlight some deeper insights you can gain through the Edge developer tools and some advanced tools available from Microsoft. We will dive into advanced CSS and JavaScript debugging capabilities. We will also review how to chase memory leaks and diagnose common performance rendering issues. Finally we will do a quick review of Vorlon.js, a remote debugging library that enables you to troubleshoot issues on devices you do not have developer tool access.
The average website loads over 1.5MBs of content per page, making over 75 requests. Many popular websites are serving over 5MBs just to load their homepages. And these numbers represent measurements taken AFTER compression is applied. The full weight of many popular websites is pushing 20+ MBs these days. In an era where performance truly matters to the end user experience, web developers need techniques to help curtail this bloat in data down the wire.
No matter how well you optimize, there is no better way than to delete things you do not need. How does one determine what is essential to the user experience and what is not? One answer Chris posits is to develop a hyper-lightweight version of your website which will provide critical insights into your specific performance priorities. This is a process that he has leveraged on many projects, in particular at YouTube to reduce the size of the video watch page from 1.5MBs to 100KBs. In this talk, Chris will take real-world web pages and show techniques for dramatically reducing their page weight and for identifying areas to optimize, while outlining the key steps to doing this well.
jQuery 1.9 and 2.0 - Present and FutureRichard Worth
jQuery has grown over 7 years to become the most widely used JavaScript library ever. This talk will cover how the jQuery project continues to support the browsers of the past, present, and future while also delivering modularity, innovation, and mobile support.
Building Progressive Web Apps for Android and iOSFITC
Presented at Web Unleashed 2017. More info at www.fitc.ca/webu
Presented by Simon MacDonald, Adobe
Overview
Progressive Web Apps are the new hotness with Google pressing hard to make them the defacto choice for building mobile applications but what’s to be done about iOS where many of the key API’s are not supported. That’s where Apache Cordova/PhoneGap comes in by polyfilling the missing functionality. In this talk Simon will show you how to create a PWA that runs on the web, Android and iOS from a single code base. Take advantage of some new tools to easily deploy and test your PWA.
Beginning with a brief overview of Progressive Web Apps, what features make your web app progressive and which API’s you can take advantage of, Simon will discuss the availability of these API’s on various platforms, taking care not to completely dump on Apple for falling behind. No, that’s a lie, he will jokingly take Apple to task.
He will introduce Apache Cordova/PhoneGap, explaining how you can use Apache Cordova/PhoneGap to deploy a web application to Android and iOS; explaining how Cordova plugins allow us to polyfil the missing functionality on iOS.
Simon will demo a PWA running on the desktop in Chrome, Android in Chrome and as a compiled hybrid app on iOS all from the same codebase.
Objective
To introduce developers to building progressive web apps for all platforms.
Target Audience
Web application developers
Five Things Audience Members Will Learn
What are Progressive Web Apps
How to build a progressive web app
The differences between PWA’s on Chrome and Safari
How to use a single code base to target web, Android and iOS
How to deploy a PWA on iOS as an app
jQuery Conference Boston 2011 CouchAppsBradley Holt
CouchApps are web applications built using CouchDB, JavaScript, and HTML5. CouchDB is a document-oriented database that stores JSON documents, has a RESTful HTTP API, and is queried using MapReduce views. This talk will answer your fundamental questions about CouchDB and will cover the basics of building CouchApps using jQuery and various jQuery plugins.
After consulting with several companies on performance related issues, it became clear that one of the biggest performance issues facing websites today is the sheer amount of JavaScript needed to power the page. The demand for more interactive and responsive applications has driven JavaScript usage through the roof. It’s quite common for large sites to end up with over 1 MB of JavaScript code on their page even after minification. But do today’s web applications really need that much JavaScript?
Presented at Web Unleashed 2017
More info at www.fitc.ca/webu
Overview
Most people feel a lot less restricted to open up a browser in lieu of installing a mobile app. The convenience, security and simplicity of just typing a URL into an address bar is a powerful advantage of the web, and Progressive Web Apps (PWA) combine this with the feel of native applications.
In short, PWAs are applications that use modern web capabilities to provide a user experience similar to that of mobile and native apps. This presentation will go over how you can add a number of progressive aspects to your application including faster load times, offline support and the ability to install to your mobile home screen.
Objective
Explain the concept of Progressive Web Apps, how to build one and how to improve apps built with React, Angular or any other framework without adding too much complexity.
Target Audience
Front-end developers
Assumed Audience Knowledge
Some understanding of building web applications with a JavaScript framework or library
Five Things Audience Members Will Learn
What exactly is a Progressive Web App
How to use Lighthouse to test and improve your webpage
Improve app loading times with a Service Worker App Shell
Use a App Shell + Dynamic Content model to allow for offline support
Add a web app manifest file to allow for installing an app to a mobile home screen
Grokking #9: Building a real-time and offline editing service with CouchbaseOliver N
In this talk, I would like to share how we build a system for LitiBook that can handle (1) real-time editing, (2) offline editing, (3) synchronizing between devices and (4) conflict between different editing sessions. There are not much applications out there can do all these above things. (Evernote does not resolve conflict. Hackpad, Trello and Asana do not support offline). So the challenge is really interesting.
This talk is geared towards users of jQuery plugins who are looking to pick the best plugins and plugin authors who would like a holistic review of existing jQuery plugins and what things to consider when making your own plugins. Marketing tactics and approaches to spreading the word about your plugin will also be discussed.
Angular vs React for Web Application DevelopmentFITC
Presented at Web Unleashed 2017. More info at www.fitc.ca/webu
Presented by Hasan Ahmad, DEV6 - A Division of the New Toronto Group Inc.
Overview
JavaScript has enjoyed a strong following among front-end developers for creating dynamic web applications because it’s the fastest way to get up and offloading server-side computation to the client-side. Developers also have many choices when it comes to choosing a client-side tool, and not surprisingly, two of the most popular libraries for JavaScript that have emerged are open source projects. Google and Facebook, giants when it comes to developing the largest web applications in production today, are sharing their expertise using Angular and React, which have a lot in common, but also have significant differences. Both allow developers to work on application features in parallel by splitting them into self-contained components, and both ensure the codebase maintains minimum level of accessibility to developers of varying JavaScript experience.
Angular and React are well-supported with guides, tooling, and an open source community, but they also relieve developers of several burdens. JavaScript’s use of the client offers many advantages, but that makes it dependent on the web browser. Frameworks such as Angular and React keep track of ever-changing APIs and the capabilities of the web so that developers don’t have to do the resource-intensive work to update individual parts of the application. These frameworks also enforce certain minimal assumptions about the structure of the code to handle complex tasks with the latest and best-known techniques so developers don’t have to maintain them. They also provide real-time debugging support and unit tests that are required by enterprise applications that place high priority on performance and reliability.
Both Angular and React offer the enterprise-class JavaScript support developers require as they both solve the same set of problems. However, they tackle them in different ways, and it’s those differences that should decide which framework works best for their project.
Objective
Compare and contrast two leading front-end web application frameworks and highlighting how to help large enterprises choose what frameworks are productive for them.
Target Audience
JavaScript developers, project managers at large enterprise corporations
Five Things Audience Members Will Learn
Why are applications increasingly being built on the front-end?
What requirements drive the decisions of an enterprise web development team?
What problems are Angular and React providing a solution for?
The difference in approach and implementation between Angular and React?
What criteria your team should use when determining if Angular or React are a good fit for their project?
Testing Any Site With Cucumber and SeleniumChris Johnson
Do you have a website? Do you have any tests for that site? Even if you have unit tests integration tests can help you target workflows such as a checkout process. In this presentation I will talk about testing any site with Cucumber and Selenium. I will show what the tests look like, and explain the different ways to run these tests, from running them locally, building your own selenium grid to using Sauce labs as your testing infrastructure.
AD113 Speed Up Your Applications w/ Nginx and PageSpeededm00se
My slide deck from my session, AD113: Speed Up Your Applications with Nginx + PageSpeed, at MWLUG 2015 in Atlanta, GA at the Ritz-Carlton.
For more, see:
- https://edm00se.io/self-promotion/mwlug-ad113-success
- https://github.com/edm00se/AD113-Speed-Up-Your-Apps-with-Nginx-and-PageSpeed
Introduction to Service Workers, a new Web API that allows developers to build app-like Progressive Apps with features ranging from Offline first to real Push notifications and more.
Building Progressive Web Apps for Android and iOSFITC
Presented at Web Unleashed 2017. More info at www.fitc.ca/webu
Presented by Simon MacDonald, Adobe
Overview
Progressive Web Apps are the new hotness with Google pressing hard to make them the defacto choice for building mobile applications but what’s to be done about iOS where many of the key API’s are not supported. That’s where Apache Cordova/PhoneGap comes in by polyfilling the missing functionality. In this talk Simon will show you how to create a PWA that runs on the web, Android and iOS from a single code base. Take advantage of some new tools to easily deploy and test your PWA.
Beginning with a brief overview of Progressive Web Apps, what features make your web app progressive and which API’s you can take advantage of, Simon will discuss the availability of these API’s on various platforms, taking care not to completely dump on Apple for falling behind. No, that’s a lie, he will jokingly take Apple to task.
He will introduce Apache Cordova/PhoneGap, explaining how you can use Apache Cordova/PhoneGap to deploy a web application to Android and iOS; explaining how Cordova plugins allow us to polyfil the missing functionality on iOS.
Simon will demo a PWA running on the desktop in Chrome, Android in Chrome and as a compiled hybrid app on iOS all from the same codebase.
Objective
To introduce developers to building progressive web apps for all platforms.
Target Audience
Web application developers
Five Things Audience Members Will Learn
What are Progressive Web Apps
How to build a progressive web app
The differences between PWA’s on Chrome and Safari
How to use a single code base to target web, Android and iOS
How to deploy a PWA on iOS as an app
jQuery Conference Boston 2011 CouchAppsBradley Holt
CouchApps are web applications built using CouchDB, JavaScript, and HTML5. CouchDB is a document-oriented database that stores JSON documents, has a RESTful HTTP API, and is queried using MapReduce views. This talk will answer your fundamental questions about CouchDB and will cover the basics of building CouchApps using jQuery and various jQuery plugins.
After consulting with several companies on performance related issues, it became clear that one of the biggest performance issues facing websites today is the sheer amount of JavaScript needed to power the page. The demand for more interactive and responsive applications has driven JavaScript usage through the roof. It’s quite common for large sites to end up with over 1 MB of JavaScript code on their page even after minification. But do today’s web applications really need that much JavaScript?
Presented at Web Unleashed 2017
More info at www.fitc.ca/webu
Overview
Most people feel a lot less restricted to open up a browser in lieu of installing a mobile app. The convenience, security and simplicity of just typing a URL into an address bar is a powerful advantage of the web, and Progressive Web Apps (PWA) combine this with the feel of native applications.
In short, PWAs are applications that use modern web capabilities to provide a user experience similar to that of mobile and native apps. This presentation will go over how you can add a number of progressive aspects to your application including faster load times, offline support and the ability to install to your mobile home screen.
Objective
Explain the concept of Progressive Web Apps, how to build one and how to improve apps built with React, Angular or any other framework without adding too much complexity.
Target Audience
Front-end developers
Assumed Audience Knowledge
Some understanding of building web applications with a JavaScript framework or library
Five Things Audience Members Will Learn
What exactly is a Progressive Web App
How to use Lighthouse to test and improve your webpage
Improve app loading times with a Service Worker App Shell
Use a App Shell + Dynamic Content model to allow for offline support
Add a web app manifest file to allow for installing an app to a mobile home screen
Grokking #9: Building a real-time and offline editing service with CouchbaseOliver N
In this talk, I would like to share how we build a system for LitiBook that can handle (1) real-time editing, (2) offline editing, (3) synchronizing between devices and (4) conflict between different editing sessions. There are not much applications out there can do all these above things. (Evernote does not resolve conflict. Hackpad, Trello and Asana do not support offline). So the challenge is really interesting.
This talk is geared towards users of jQuery plugins who are looking to pick the best plugins and plugin authors who would like a holistic review of existing jQuery plugins and what things to consider when making your own plugins. Marketing tactics and approaches to spreading the word about your plugin will also be discussed.
Angular vs React for Web Application DevelopmentFITC
Presented at Web Unleashed 2017. More info at www.fitc.ca/webu
Presented by Hasan Ahmad, DEV6 - A Division of the New Toronto Group Inc.
Overview
JavaScript has enjoyed a strong following among front-end developers for creating dynamic web applications because it’s the fastest way to get up and offloading server-side computation to the client-side. Developers also have many choices when it comes to choosing a client-side tool, and not surprisingly, two of the most popular libraries for JavaScript that have emerged are open source projects. Google and Facebook, giants when it comes to developing the largest web applications in production today, are sharing their expertise using Angular and React, which have a lot in common, but also have significant differences. Both allow developers to work on application features in parallel by splitting them into self-contained components, and both ensure the codebase maintains minimum level of accessibility to developers of varying JavaScript experience.
Angular and React are well-supported with guides, tooling, and an open source community, but they also relieve developers of several burdens. JavaScript’s use of the client offers many advantages, but that makes it dependent on the web browser. Frameworks such as Angular and React keep track of ever-changing APIs and the capabilities of the web so that developers don’t have to do the resource-intensive work to update individual parts of the application. These frameworks also enforce certain minimal assumptions about the structure of the code to handle complex tasks with the latest and best-known techniques so developers don’t have to maintain them. They also provide real-time debugging support and unit tests that are required by enterprise applications that place high priority on performance and reliability.
Both Angular and React offer the enterprise-class JavaScript support developers require as they both solve the same set of problems. However, they tackle them in different ways, and it’s those differences that should decide which framework works best for their project.
Objective
Compare and contrast two leading front-end web application frameworks and highlighting how to help large enterprises choose what frameworks are productive for them.
Target Audience
JavaScript developers, project managers at large enterprise corporations
Five Things Audience Members Will Learn
Why are applications increasingly being built on the front-end?
What requirements drive the decisions of an enterprise web development team?
What problems are Angular and React providing a solution for?
The difference in approach and implementation between Angular and React?
What criteria your team should use when determining if Angular or React are a good fit for their project?
Testing Any Site With Cucumber and SeleniumChris Johnson
Do you have a website? Do you have any tests for that site? Even if you have unit tests integration tests can help you target workflows such as a checkout process. In this presentation I will talk about testing any site with Cucumber and Selenium. I will show what the tests look like, and explain the different ways to run these tests, from running them locally, building your own selenium grid to using Sauce labs as your testing infrastructure.
AD113 Speed Up Your Applications w/ Nginx and PageSpeededm00se
My slide deck from my session, AD113: Speed Up Your Applications with Nginx + PageSpeed, at MWLUG 2015 in Atlanta, GA at the Ritz-Carlton.
For more, see:
- https://edm00se.io/self-promotion/mwlug-ad113-success
- https://github.com/edm00se/AD113-Speed-Up-Your-Apps-with-Nginx-and-PageSpeed
Introduction to Service Workers, a new Web API that allows developers to build app-like Progressive Apps with features ranging from Offline first to real Push notifications and more.
Presentation given to Penn State University students in spring 2017 as the Bishoff Entrepreneur in Residence (visiting lecturer) to students in Minor in Entrepreneurship and Engineering Entrepreneurship courses. CPPx5 model is based on 15 key concepts necessary for success as an entrepreneur.
Candidatos para comisionados presentados por universidadesGrupo Promotor LAIP
Hojas de vida de los candidatos a comisionado propietario y suplente para el Instituto de Acceso a la Información Pública presentados por las Universidades.
Real World Lessons in Progressive Web Application & Service Worker CachingChris Love
Over the past year we have seen a lot of excitement around Progressive Web Applications. Browser evangelist are selling developers and business owners on their advantages and promising future. But what is the real story? What are the details to proper execution? What do engineers need to know to make their web sites into Progressive Web Applications that not only meet the minimum criteria, but meet the sales hype?
Searching the Pokedex offline is fun, what is the real experience like caching a business application? Caching application assets and data can be complex, especially for larger applications. What to cache, how long to cache and how to cache are all valid questions. Often, in an effort to just ship something, we cache nothing. When we don't cache, we disappoint the customer and miss a key promise of progressive web applications.
Escaping the yellow bubble - rewriting Domino using MongoDb and AngularMark Leusink
Slides from my ICON UK 2014 session held on September 13, 2014 at IBM Southbank, London.
The session was an introduction to the MEAN stack (Mongo, Express, Angular and Node).
Instant and offline apps with Service WorkerChang W. Doh
2 parts of talking at Google Developer Summit 2016 Seoul
- How to optimize loading performance your web app
- Introducing to Service Worker & Offline 101
This is a talk about some of the higher level topics that you need to think when design an Android app. These include architecture, security, hybrid apps, SDKs, logging, and testing.
Performance and Scalability Art of Isomorphic React ApplicationsDenis Izmaylov
A couple weeks ago I have talked at React Amsterdam Meetup about Performance and Scalability of Isomorphic React Application.
Have a look at the video from this talk: https://www.youtube.com/watch?list=PLNBNS7NRGKMGLeJj3cuE4JDqJ0_9xAbZV&v=kI19MCP-wIE
GDD Japan 2009 - Designing OpenSocial Apps For Speed and ScalePatrick Chanezon
Google Developer Days Japan 2009 - Designing OpenSocial Apps For Speed and Scale
Original slides from Arne Roomann-Kurrik & Chris Chabot with a few Zen quotes and references added by me:-)
Being a WordPress developer means that our main programming language is PHP. Which works for building websites but not for running tasks. In this talk I will share my experience using Node.js as a platform to build on. Explaining why I have chosen for Node.js and show you how I used Node.js to build microservices that are supporting my WordPress projects.
Top 10 HTML5 Features for Oracle Cloud DevelopersBrian Huff
Whether you are using Mobile, Social, Java, or Sites in the cloud, HTML5 is probably the easiest way to create and maintain web applications. Most of the Oracle cloud supports HTML5, so it is important to understand what powerful new features are built into this platform.
JavaOne2016 - How to Generate Customized Java 8 Code from Your Database [TUT4...Speedment, Inc.
The best code is the one you never need to write. Using code generation and automated builds, you can minimize the risk of human error when developing software, but how do you maintain control over code when large parts of it are handed over to a machine? In this tutorial, you will learn how to use open source software to create and control code automation. You will see how you can generate a completely object-oriented domain model by automatically analyzing your database schemas. Every aspect of the process is transparent and configurable, giving you, as a developer, 100 percent control of the generated code. This will not only increase your productivity but also help you build safer, more maintainable Java applications and is a perfect solution for Microservices.
How to JavaOne 2016 - Generate Customized Java 8 Code from Your Database [TUT...Malin Weiss
The best code is the one you never need to write. Using code generation and automated builds, you can minimize the risk of human error when developing software, but how do you maintain control over code when large parts of it are handed over to a machine? In this tutorial, you will learn how to use open source software to create and control code automation. You will see how you can generate a completely object-oriented domain model by automatically analyzing your database schemas. Every aspect of the process is transparent and configurable, giving you, as a developer, 100 percent control of the generated code. This will not only increase your productivity but also help you build safer, more maintainable Java applications and is a perfect solution for Microservices.
My slides of my talk at WordSesh 2014.
A talk about a few projects and the lessons I learned from them.
Checkout wordsesh.org for more information about this event.
The Fetch API is a modern replacement of the XMLHTTPRequest object. It is based on promises and makes making AJAX/API calls easier to manage and code.
This slide deck is a quick introduction to the API.
Website speed is a crucial aspect of on page SEO everyone can control. Your goal is to be interactive in under 3 seconds, even on a basic phone over a 3G connection.
However, most web sites have so many requests and large payloads this time limit or budget cannot be achieved. In fact, the average web page takes 22 seconds to load, according to Google's research.
But what if I told you there is a way to offload or even avoid loading page assets until they are needed?
This can give your website a distinct advantage over your competition because not only will Google like your pages better so will your visitors!
Progressive Web Applications are a new way to think about using the web to provide great user experiences using the best web platform features.
The education market has many opportunities to benefit their communities using PWAs to deliver information and application experiences across all devices and platforms.
A Day Building Fast, Responsive, Extensible Single Page ApplicationsChris Love
This is an older slide deck I realized I never uploaded.
It is a slightly longer deck than the Night at the SPA deck. This features many concepts that are forerunners to the modern progressive web application.
There are slides related to web performance best practices, JavaScript architecture, responsive web design, touch and much more.
According to HTTPArchive.org the average web page is now larger than the original DOOM installation application. Today's obese web is leading to decreased user satisfaction, customer engagement and increased cost of ownership. Research repeatedly tells us customers want faster user experiences. Search engines reward faster sites with better rankings. Small, fast sites are cheaper to develop, maintain and operate.
- Why has the web become obese?
- What actions can developers and stakeholders do to combat their morbid obesity?
- Are these actions expensive or hard to implement?
This session reviews what customers want and how to identify your web site's love handles. More importantly you will learn simple techniques to eliminate the fat and create a healthy, maintainable, affordable web development lifestyle that produces the user experiences your customers want to engage with over and over.
Using Responsive Web Design To Make Your Web Work Everywhere - UpdatedChris Love
Devices are as unique as their users. Detecting the end user’s platform is a fruitless expenditure that often leads to wrong assumptions. Maintaining multiple web applications for different platforms is not cost effective and stressful. Responsive web design is a way to design your applications for devices of all shapes, sizes and resolutions. This session covers a definition, examples and how to execute a proper mobile first responsive design. We will also cover how to use responsive images to ensure your application performs well.
Implementing a Responsive Image StrategyChris Love
Applications must implement responsive web design strategies today. However most developers are not experienced in responsive techniques. More over images have provided a difficult hurdle for developers and business stakeholders to make responsive.
A proper responsive web design strategy increases return on investment, reduces long term maintenance requirements and improves application performance. Images create many challenges in implementing responsive design.
This session will explain what responsive images are. How new web standards have enabled manageable responsive image practices. We will go over tooling and techniques to enable responsive images in your developer and line of business workflows.
When you leave this session you will have actionable knowledge of responsive images, techniques, tooling and workflow options you can apply to your projects now.
Using Responsive Web Design To Make Your Web Work EverywhereChris Love
Devices are as unique as their users. Detecting the end user’s platform is a fruitless expenditure that often leads to wrong assumptions. Maintaining multiple web applications for different platforms is not cost effective and stressful. Responsive web design is a way to design your applications for devices of all shapes, sizes and resolutions. This session covers a definition, examples and how to execute a proper mobile first responsive design. We will also cover how to use responsive images to ensure your application performs well.
If you are new to CSS or have been using it for years this presentation should give you more insight into how to write and use CSS to make your web sites better.
Using Responsive Web Design To Make Your Web Work Everywhere Chris Love
Devices are as unique as their users. Detecting the end user’s platform is a fruitless expenditure that often leads to wrong assumptions. Maintaining multiple web applications for different platforms is not cost effective and stressful. Responsive web design is a way to design your applications for devices of all shapes, sizes and resolutions. This session covers a definition, examples and how to execute a proper mobile first responsive design. We will also cover how to use responsive images to ensure your application performs well.
Microsoft is releasing a new Browser with Windows 10, called Edge. Edge is a fork of Internet Explorer that leaves legacy support behind and adds support for many new specs and features. This session attempts to highlight many of the changes and provide understanding of what the future holds for web developers.
10 things you can do to speed up your web app today stir trek editionChris Love
Why is Web Performance Optimization Important and what are some things developers can do to ensure their applications perform well and please end users?
Single Page Applications or SPAs are a hot topic today, however most developers feel lost. We are going to explore the basic concepts of a SPA, go over a few gotchas and traps and cover some best practices. This is not a talk about a specific framework, but more of a breakdown of how a SPA is composed, many key working concepts and some techniques you should employ for a successful modern web application.
There Is No Mobile: An Introduction To Responsive Web DesignChris Love
The web has come a long way. One of the great features of the modern web is responsive web design (RWD). RWD allows developers to create a single web client for all devices & platforms. This presentation is an introduction to key concepts developers need to understand in order to start implementing responsive web design.
Touch is now everywhere. It is almost impossible to find a personal computing device without a touch screen. This means developers and designers need to reconsider how to design client interfaces to successfully enable successful touch interactions. Touch involves layout choices, new CSS properties and new touch APIs. This session covers design concepts and how to apply new coding techniques
10 Things You Can Do to Speed Up Your Web App TodayChris Love
Web Performance is a serious issues these days. 80% of web performance issues are in the client. Many developers either do not realize what they are leaving on the table and how that affects the success of their application. These are 10 things any web developer can do in about 30-60 minutes to drastically increase page load times and thus increase the application's profitability.
Are you curious about Single Page Applications and modern web development? This is the slide deck for a presentation about modern web development concepts focusing on high performance single page, responsive web applications.
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
11. What is a Progressive Web
Application?
Defining the Front-End
LOVE2DEV.COM
12. “Progressive Web Applications:
A New Level of Thinking About the Quality of
Your User Experience”
https://www.youtube.com/watch?v=EErueQdEXMA Chris Wilson,
Google
13. “Native Apps are a bridging
technology (like Flash)”
http://bit.ly/2e5Cgry Bruce Lawson,
Opera (former)
14. “These apps aren’t packaged &
deployed through stores,
they’re just websites that took
the right vitamins.
They progressively become
apps…”
Alex Russell
Google
19. PWA Features
•Reliable - Load instantly and never show the
downasaur, even in uncertain network
conditions.
•Fast - Respond quickly to user interactions
with silky smooth animations and no janky
scrolling.
•Engaging - Feel like a natural app on the
device, with an immersive user experience.
LOVE2DEV.COM
20. PWA Features
•“install” to the home screen
•have their own icon (defined by the web
developer)
•can launch full-screen, portrait or
landscape
•but “live” on the Web
LOVE2DEV.COM
21. PWA Features
•live on the server so no update distribution
lag
•require no app store or gatekeeper
•can work offline
•are a normal website on browsers such as
Opera Mini, Safari, Windows phones
•searchable, indexable, linkable
LOVE2DEV.COM
22. PWA Features
•“Feels” like a normal app
•Push Notifications (optional)
•Background Sync (optional)
•More Coming (soon)
LOVE2DEV.COM
23. Why Build A PWA?
•Worthy of Being on the Home screen
•Work Reliably, No Matter the Network
Conditions
•Increased Engagement
•Improved Conversions
LOVE2DEV.COM
30. Application Shell
•The app "shell" is the minimal HTML, CSS
and JavaScript required to power the user
interface and when cached offline can
ensure instant, reliably good performance
to users on repeat visits
LOVE2DEV.COM
31. Application Shell
•The Approach For Single Page Applications
•Aggressively Cache Content via Service
Worker
•Get Initial HTML on the Screen without a
Network
•Content Rendered via Using JavaScript
LOVE2DEV.COM
33. Manifest File
• Creating a manifest and linking it to your page are
straightforward processes.
• Control what the user sees when launching from the
home screen.
• This includes things like a splash screen, theme colors,
and even the URL that's opened.
LOVE2DEV.COM
36. Include
•A short_name for use as the text on the
users home screen.
•A name for use in the Web App Install
banner.
LOVE2DEV.COM
37. start_url
•Allows you to control what page is loaded
when application is launched
•Without start_url the current page (route)
is assumed to be the start page
LOVE2DEV.COM
46. Fetch
• Replaces XMLHttpRequest
• Uses Promises
• Polyfil Available for Legacy Browsers
• Full Support for Modern Browsers
• IE 11 & Old Android Need Polyfil
• Headers, Request, Response Objects
LOVE2DEV.COM
47. The Fetch API provides a JavaScript
interface for accessing and manipulating
parts of the HTTP pipeline, such as requests
and responses. It also provides a global
fetch() method that provides an easy, logical
way to fetch resources asynchronously across
the network.
LOVE2DEV.COM
62. Service Workers
• allows developers to cache assets when connected,
and intercept failed calls to network when offline, so
user experience can be maintained
LOVE2DEV.COM
63. Service Workers
• Faster loading of assets, even
when online
• Fastest HTTP Request is the One
Never Made
LOVE2DEV.COM
74. self.addEventListener('fetch', function (event) {
//intercept fetch request (any request from the UI thread for a file or
API) and return from cache or get from server & cache it
event.respondWith(
caches.match(event.request).then(function (resp) {
return resp || fetchAsset(event);
})
);
});
LOVE2DEV.COM
75. Service Worker Cache
• Persist Files with Response Headers
• Limited by Device Resources
• Available Online & Offline
LOVE2DEV.COM
84. Offline API
if (!navigator.onLine) {
console.log("you are offline");
}
window.addEventListener('online', function () {
console.log("you have gone offline");
});
window.addEventListener('offline', function () {
console.log("you are back online");
});
LOVE2DEV.COM
85. Debugging Service Workers
• Use Developer Tools
• Sources
• Application
• Manifest
• Service Workers
LOVE2DEV.COM
89. Service Worker Tools
• sw_precache
• A node module to generate service worker code that will precache
specific resources so they work offline.
• https://github.com/googlechrome/sw-precache
• sw_toolbox
• A collection of service worker tools for offlining runtime requests
• https://github.com/GoogleChrome/sw-toolbox
LOVE2DEV.COM
90. Service Worker Resources
• Is Service Worker Ready?
• https://jakearchibald.github.io/isserviceworkerready/
• Service Worker Cookbook
• https://serviceworke.rs/
LOVE2DEV.COM
92. Add Application to Home Screen
• Has a web app manifest file with:
• a short_name (used on the home screen)
• a name (used in the banner)
• a 144x144 png icon
• a start_url that loads
• Has a service worker registered on your site.
• Is served over HTTPS (.
• Is visited at least twice, with at least five minutes
between visits.
LOVE2DEV.COM
95. Push Notifications
• Require Service Worker so they operate in the
background
• Work even when the browser is closed
LOVE2DEV.COM
96. • 72% increase in time spent for users visiting via a push
notification
• 26% increase in average spend per visit by members
arriving via a push notification
• +50% repeat visits within 3 month
LOVE2DEV.COM
97. Two Technologies
• push is invoked when a server supplies information to
a service worker;
• a notification is the action of a showing information to
a user
LOVE2DEV.COM
99. {
"body": "Did you make a $1,000,000 purchase at Dr. Evil...",
"icon": "images/ccard.png",
"vibrate": [200, 100, 200, 100, 200, 100, 400],
"tag": "request",
"actions": [
{ "action": "yes", "title": "Yes", "icon": "images/yes.png" },
{ "action": "no", "title": "No", "icon": "images/no.png" }
]
}
LOVE2DEV.COM
100. Request User Permission
function initialiseState() {
if (Notification.permission !== 'granted') {
console.log('The user has not granted the notification
permission.');
return;
} else if (Notification.permission === “blocked”) {
/* the user has previously denied push. Can't reprompt. */
} else {
/* show a prompt to the user */
}
LOVE2DEV.COM
101. Request User Permission
// Use serviceWorker.ready so this is only invoked
// when the service worker is available.
navigator.serviceWorker.ready.then(function(serviceWorkerRegistration) {
serviceWorkerRegistration.pushManager.getSubscription()
.then(function(subscription) {
if (!subscription) {
// Set appropriate app states.
return;
}
})
.catch(function(err) {
console.log('Error during getSubscription()', err);
});
});
}
LOVE2DEV.COM