SlideShare ist ein Scribd-Unternehmen logo
1 von 76
Downloaden Sie, um offline zu lesen
Building Better Experiences with
Responsive JavaScript
Jonathan Fielding
@jonthanfielding
About me
• Full stack developer
• Been building responsively for

over 3 years
• Worked with big brands like

Beamly, Virgin, Sony and BT
I asked some developers
about what responsive design
meant to them
targeting different devices
@media screen and (max-width: 767px){
media queries
responsive grids
fluid layouts
These all focus on one thing
How the site looks
There is more to building a great
responsive site than simply how it
looks
We also need to consider
how the site functions
Why change functionality
• Devices come in all shapes 

and sizes
• Input methods vary between 

devices
• Device functionality ranges
Examples
accordion on mobileopen content on desktop
single col on mobileequal columns on desktop
simple scrollable
content on mobile
parallax on desktop
new page on mobilelightbox on desktop
stacked content
on mobile
swappable panels
on desktop
What do these
examples tell us
It’s ok to have different journeys for
different devices on a responsive
site
Desktop journey
Mobile journey
Two ways to change functionality
• Based on viewport size
• Based on the features the 

device supports
x
How to change functionality based
on the viewport
Two key browser API’s
• window.onresize
• window.matchMedia
window.resize
Methodology
• Add event to window.onresize
• Use conditional statements to detect current 

width of browser
• Add debounce to resize event to 

prevent it firing excessively
The code
//debounce missing to keep example short
$(window).on('resize', function(){
if ($('body').width() < 768) {
console.log('mobile');
}
});
Could get messy
• Lots of code simply placed in an
on resize event could potentially
be messy
• Need to ensure there is a clear
logical separation between
different targeted viewport sizes
How to achieve the 

logical separation
if ($('body').width() < 768) {
isMobile();
}
!
if ($('body').width() >= 768) {
isDesktop();
}
Browser Support
IEChromeFirefox Safari Android
window.matchMedia
Methodology
• Prepare a MediaQueryList by using a
media query with
window.matchMedia
• Add listener to MediaQueryList
• When listener fires check if its a
match or unmatch
The code
var mql = window.matchMedia("(max-width:768px)");
mql.addListener(function(e){
if(e.matches){
console.log('enter mobile');
}
});
Browser Support
IE 10+Chrome 9+Firefox 6+ Safari 5.1+ Android 3.0+
Real World Usage
80.63%
of users have a browser
that supports
matchMedia
Libraries
Two popular libraries
SimpleStateManager
(aka SSM)
What is SSM?
• Responsive State Manager for JS
• Uses Resize Event
• Uses concept of states
• Expandable with plugins
Setting up SSM
Two methods to setup SSM
• Download from Github
• bower install SimpleStateManager
The API
• addState - Add Responsive
states
• removeState - Remove
Responsive states
• ready - tell SSM the states are
added and you are ready
Methodology
• Prepare a state in the onEnter
• Clean up a state in the
onLeave
• Define a onResize event per
state (optional)
Adding a state
ssm.addState({
id: “mobile”,
maxWidth: 767,
onEnter: function(){
console.log(‘enter mobile’);
}
}).ready();
Removing a state
ssm.removeState('mobile');
Demo
Extending SSM
SSM Plugins allow you to:
• Extend the available state
options
• Wrap jQuery Plugins to add
responsive functionality
Plugin Methodology
• Add a custom config option
• Use it like any other config option
in your states
Add a config option
ssm.addConfigOption({name:"maxHeight", test: function(){
if(typeof this.state.maxHeight === "number" &&
this.state.maxHeight <= window.innerHeight){
return true;
}
else{
return false;
}
}});
Using the config option
ssm.addState({
maxHeight: 480,
onEnter: function(){
console.log(‘enter mobile’);
}
}).ready();
Summary
• Create responsive states with
predefined rules of when it should
be active
• Add onEnter, onLeave and
onResize events to a state
• Use config options to add new
tests
What is enquire.js
• Awesome Media Queries in
JavaScript
• Uses matchMedia API
• Manages registering and
unregistering
Setting up enquire.js
Two methods to setup enquire.js
• Download from Github
• bower install enquire
The API
• register - registers a media
query attaching it to a handler
• unregister - unregisters a media
query
Methodology
• Register a media query with a
handler
• Handler will fire when media
query matches
• Unregister unneeded handlers
Registering a query
enquire.register("(max-width: 767px)", {
match : function() {
console.log("enter mobile");
},
});
Unregistering a query
enquire.unregister("(max-width: 767px)");
Demo
Summary
In summary Enquire.js allows you to
• Create listeners for media queries
• Attach match and unmatch
methods to your listeners
SSM vs Enquire.js
SimpleStateManager Enquire.js
method onresize matchMedia
browser
support
IE7+, FF, O, C, S IE10+, FF, O, C, S
API
events
Enter, Leave, Resize Enter, Leave
Plugin
Library
yes no
In Summary
• Looked at two API’s we can use
for responsive JavaScript
• Looked at SimpleStateManager
and enquire.js as an option to
simplify writing responsive
JavaScript
x
How to change functionality based
device features
x
Methodology
• Detect the features that a browser
supports
• Progressively enhance your site
based on the features it supports
Using Modernizr
if(Modernizr.geolocation){
console.log('Supports GeoLocation');
}
Use in conjunction with SSM
• Create a SSM config option using
Modernizr for the test
Add a config option
ssm.addConfigOption({name:"touch", test: function(){
if(typeof this.state.touch === "boolean" && this.state.touch ===
Modernizr.touch){
return true;
}
else{
return false;
}
}});
Using the config option
ssm.addState({
touch: true,
maxWidth: 767,
onEnter: function(){
console.log(‘is mobile device
that supports touch events’);
}
}).ready();
So how do we build better experiences
using Responsive JavaScript?
By targeting functionality based on the
characteristics of a device
Optimising the journey our user follows
to best suit the device
Demo code from this talk at
!
https://github.com/jonathan-fielding/
ResponsiveJavaScriptTalkExamples
• Learn how to make your sites
responsive
• Chapter on Responsive JavaScript
• http://bitly.com/NXusZn
• 35% off eBook discount code:
B3GW3B
• 4 eBooks to give away today
Any Questions
Further Resources
MDN - Testing Media Queries - mzl.la/18r5yGi
MDN – MediaQueryList - mzl.la/1bxbbZJ
MDN – Window.matchMedia - mzl.la/19qc3Yk
SimpleStateManager – simplestatemanager.com
Enquire.js - wicky.nillia.ms/enquire.js/
MatchMedia Polyfill - github.com/paulirish/matchMedia.js/
Jonathan Fielding’s Blog - jonathanfielding.com
!
Demo code from this talk at!
https://github.com/jonathan-fielding/
ResponsiveJavaScriptTalkExamples

Weitere ähnliche Inhalte

Mehr von Future Insights

Reading Your Users’ Minds: Empiricism, Design, and Human Behavior, Shane F. B...
Reading Your Users’ Minds: Empiricism, Design, and Human Behavior, Shane F. B...Reading Your Users’ Minds: Empiricism, Design, and Human Behavior, Shane F. B...
Reading Your Users’ Minds: Empiricism, Design, and Human Behavior, Shane F. B...Future Insights
 
Front End Development Transformation at Scale, Damon Deaner
Front End Development Transformation at Scale, Damon DeanerFront End Development Transformation at Scale, Damon Deaner
Front End Development Transformation at Scale, Damon DeanerFuture Insights
 
Structuring Data from Unstructured Things. Sean Lorenz
Structuring Data from Unstructured Things. Sean LorenzStructuring Data from Unstructured Things. Sean Lorenz
Structuring Data from Unstructured Things. Sean LorenzFuture Insights
 
Cinematic UX, Brad Weaver
Cinematic UX, Brad WeaverCinematic UX, Brad Weaver
Cinematic UX, Brad WeaverFuture Insights
 
The Future is Modular, Jonathan Snook
The Future is Modular, Jonathan SnookThe Future is Modular, Jonathan Snook
The Future is Modular, Jonathan SnookFuture Insights
 
Designing an Enterprise CSS Framework is Hard, Stephanie Rewis
Designing an Enterprise CSS Framework is Hard, Stephanie RewisDesigning an Enterprise CSS Framework is Hard, Stephanie Rewis
Designing an Enterprise CSS Framework is Hard, Stephanie RewisFuture Insights
 
Accessibility Is More Than What Lies In The Code, Jennison Asuncion
Accessibility Is More Than What Lies In The Code, Jennison AsuncionAccessibility Is More Than What Lies In The Code, Jennison Asuncion
Accessibility Is More Than What Lies In The Code, Jennison AsuncionFuture Insights
 
Sunny with a Chance of Innovation: A How-To for Product Managers and Designer...
Sunny with a Chance of Innovation: A How-To for Product Managers and Designer...Sunny with a Chance of Innovation: A How-To for Product Managers and Designer...
Sunny with a Chance of Innovation: A How-To for Product Managers and Designer...Future Insights
 
Designing for Dyslexia, Andrew Zusman
Designing for Dyslexia, Andrew ZusmanDesigning for Dyslexia, Andrew Zusman
Designing for Dyslexia, Andrew ZusmanFuture Insights
 
Beyond Measure, Erika Hall
Beyond Measure, Erika HallBeyond Measure, Erika Hall
Beyond Measure, Erika HallFuture Insights
 
Real Artists Ship, Haraldur Thorleifsson
Real Artists Ship, Haraldur ThorleifssonReal Artists Ship, Haraldur Thorleifsson
Real Artists Ship, Haraldur ThorleifssonFuture Insights
 
Ok Computer. Peter Gasston
Ok Computer. Peter GasstonOk Computer. Peter Gasston
Ok Computer. Peter GasstonFuture Insights
 
Digital Manuscripts Toolkit, using IIIF and JavaScript. Monica Messaggi Kaya
Digital Manuscripts Toolkit, using IIIF and JavaScript. Monica Messaggi KayaDigital Manuscripts Toolkit, using IIIF and JavaScript. Monica Messaggi Kaya
Digital Manuscripts Toolkit, using IIIF and JavaScript. Monica Messaggi KayaFuture Insights
 
How to Build Your Future in the Internet of Things Economy. Jennifer Riggins
How to Build Your Future in the Internet of Things Economy. Jennifer RigginsHow to Build Your Future in the Internet of Things Economy. Jennifer Riggins
How to Build Your Future in the Internet of Things Economy. Jennifer RigginsFuture Insights
 
The Wordpress Game Changer. Jenny Wong
The Wordpress Game Changer. Jenny WongThe Wordpress Game Changer. Jenny Wong
The Wordpress Game Changer. Jenny WongFuture Insights
 
A behind the-scenes look at cross-browser testing with web driver, Adrian Bat...
A behind the-scenes look at cross-browser testing with web driver, Adrian Bat...A behind the-scenes look at cross-browser testing with web driver, Adrian Bat...
A behind the-scenes look at cross-browser testing with web driver, Adrian Bat...Future Insights
 
Angular Performance: Then, Now and the Future. Todd Motto
Angular Performance: Then, Now and the Future. Todd MottoAngular Performance: Then, Now and the Future. Todd Motto
Angular Performance: Then, Now and the Future. Todd MottoFuture Insights
 
Out of this world payments. Cristiano Betta
Out of this world payments. Cristiano BettaOut of this world payments. Cristiano Betta
Out of this world payments. Cristiano BettaFuture Insights
 
Measuring Micro-services. Richard Rodger
Measuring Micro-services. Richard RodgerMeasuring Micro-services. Richard Rodger
Measuring Micro-services. Richard RodgerFuture Insights
 
Writing Usable REST APIs. Javier Ramirez
Writing Usable REST APIs. Javier RamirezWriting Usable REST APIs. Javier Ramirez
Writing Usable REST APIs. Javier RamirezFuture Insights
 

Mehr von Future Insights (20)

Reading Your Users’ Minds: Empiricism, Design, and Human Behavior, Shane F. B...
Reading Your Users’ Minds: Empiricism, Design, and Human Behavior, Shane F. B...Reading Your Users’ Minds: Empiricism, Design, and Human Behavior, Shane F. B...
Reading Your Users’ Minds: Empiricism, Design, and Human Behavior, Shane F. B...
 
Front End Development Transformation at Scale, Damon Deaner
Front End Development Transformation at Scale, Damon DeanerFront End Development Transformation at Scale, Damon Deaner
Front End Development Transformation at Scale, Damon Deaner
 
Structuring Data from Unstructured Things. Sean Lorenz
Structuring Data from Unstructured Things. Sean LorenzStructuring Data from Unstructured Things. Sean Lorenz
Structuring Data from Unstructured Things. Sean Lorenz
 
Cinematic UX, Brad Weaver
Cinematic UX, Brad WeaverCinematic UX, Brad Weaver
Cinematic UX, Brad Weaver
 
The Future is Modular, Jonathan Snook
The Future is Modular, Jonathan SnookThe Future is Modular, Jonathan Snook
The Future is Modular, Jonathan Snook
 
Designing an Enterprise CSS Framework is Hard, Stephanie Rewis
Designing an Enterprise CSS Framework is Hard, Stephanie RewisDesigning an Enterprise CSS Framework is Hard, Stephanie Rewis
Designing an Enterprise CSS Framework is Hard, Stephanie Rewis
 
Accessibility Is More Than What Lies In The Code, Jennison Asuncion
Accessibility Is More Than What Lies In The Code, Jennison AsuncionAccessibility Is More Than What Lies In The Code, Jennison Asuncion
Accessibility Is More Than What Lies In The Code, Jennison Asuncion
 
Sunny with a Chance of Innovation: A How-To for Product Managers and Designer...
Sunny with a Chance of Innovation: A How-To for Product Managers and Designer...Sunny with a Chance of Innovation: A How-To for Product Managers and Designer...
Sunny with a Chance of Innovation: A How-To for Product Managers and Designer...
 
Designing for Dyslexia, Andrew Zusman
Designing for Dyslexia, Andrew ZusmanDesigning for Dyslexia, Andrew Zusman
Designing for Dyslexia, Andrew Zusman
 
Beyond Measure, Erika Hall
Beyond Measure, Erika HallBeyond Measure, Erika Hall
Beyond Measure, Erika Hall
 
Real Artists Ship, Haraldur Thorleifsson
Real Artists Ship, Haraldur ThorleifssonReal Artists Ship, Haraldur Thorleifsson
Real Artists Ship, Haraldur Thorleifsson
 
Ok Computer. Peter Gasston
Ok Computer. Peter GasstonOk Computer. Peter Gasston
Ok Computer. Peter Gasston
 
Digital Manuscripts Toolkit, using IIIF and JavaScript. Monica Messaggi Kaya
Digital Manuscripts Toolkit, using IIIF and JavaScript. Monica Messaggi KayaDigital Manuscripts Toolkit, using IIIF and JavaScript. Monica Messaggi Kaya
Digital Manuscripts Toolkit, using IIIF and JavaScript. Monica Messaggi Kaya
 
How to Build Your Future in the Internet of Things Economy. Jennifer Riggins
How to Build Your Future in the Internet of Things Economy. Jennifer RigginsHow to Build Your Future in the Internet of Things Economy. Jennifer Riggins
How to Build Your Future in the Internet of Things Economy. Jennifer Riggins
 
The Wordpress Game Changer. Jenny Wong
The Wordpress Game Changer. Jenny WongThe Wordpress Game Changer. Jenny Wong
The Wordpress Game Changer. Jenny Wong
 
A behind the-scenes look at cross-browser testing with web driver, Adrian Bat...
A behind the-scenes look at cross-browser testing with web driver, Adrian Bat...A behind the-scenes look at cross-browser testing with web driver, Adrian Bat...
A behind the-scenes look at cross-browser testing with web driver, Adrian Bat...
 
Angular Performance: Then, Now and the Future. Todd Motto
Angular Performance: Then, Now and the Future. Todd MottoAngular Performance: Then, Now and the Future. Todd Motto
Angular Performance: Then, Now and the Future. Todd Motto
 
Out of this world payments. Cristiano Betta
Out of this world payments. Cristiano BettaOut of this world payments. Cristiano Betta
Out of this world payments. Cristiano Betta
 
Measuring Micro-services. Richard Rodger
Measuring Micro-services. Richard RodgerMeasuring Micro-services. Richard Rodger
Measuring Micro-services. Richard Rodger
 
Writing Usable REST APIs. Javier Ramirez
Writing Usable REST APIs. Javier RamirezWriting Usable REST APIs. Javier Ramirez
Writing Usable REST APIs. Javier Ramirez
 

Kürzlich hochgeladen

Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 

Kürzlich hochgeladen (20)

Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 

Building Better Experiences with Responsive JavaScript (Jonathan Fielding)