SlideShare a Scribd company logo
1 of 43
Michael Lippmann, Blue Raster
Start-to-Finish Development of Suitability
Applications Using Image Server, D3.js, and
Knockout.js
Alicia Barnash
Brendan Collins
Robert Winterbottom
Pattern: Online Mapping Applications
• Focused Applications
• Curated map
experience
• Mobile apps
• Open Data APIs
• Near real time data
• Determine locations with
necessary qualities for a
specific purpose.
• Ability to consume and
customize analysis via
web-connected devices.
Raster-based Suitability Analysis for the
Web
Elevation
Landcover
Peat Soil Depth
Rainfall
Slope
Euclidean Distance from
Conservation Areas
Soil Type
Soil Acidity
Soil Depth
Raster-based Suitability Analysis for the
Web
• User provides thresholds
for various criteria
• Each variable has a
corresponding layer
within Image Service.
Suitability Server-side Setup
• Preprocessing Data
– Optimizing data for ArcGIS
Server.
• Create Image Service
– Raster functions replace
custom server
development.
Preprocessing with Arcpy
SDR
Preprocessing with Arcpy
arcpy.Describe(raster)
– Raster Format
– NoData Value
– Mean Cell Height / Width (resolution)
– Pixel Type
– Spatial Reference
– Read Documentation
SDR
Preprocessing using Arcpy
arcpy.Reclassify(raster)
– Convert Floats to Integers
– Remove Irrelevant Values
– Read Documentation
SDR
Preprocessing using Arcpy
arcpy.Resample(raster)
– Create Common Resolution
– Align Raster Pixels
– Create Common Extent
– Read Documentation
SDR
Preprocessing using Arcpy
Additional Helper Functions
• arcpy.CreateFileFDB
– Read Documentation
• arcpy.CreateMosaicDataset
– Read Documentation
• arcpy.AddRastersToMosaicDataset
– Read Documentation
• arcpy.EditRasterFunction
– Read Documentation
Create Raster Function Chains
Overview- Client Side Workflow
Request/Receive Image
Server Data
Add to KO View Model
UI automatic refresh
with KO Data Binding
function Callback(response){
…
return(data);
}
ViewModel.histograms(data);
<div class = “dataTitle” data-bind = “text:imageData().title”>
…
</div>
Requesting Image Service Data
Use Image Service Raster Functions to:
- Update Mosaic Rendering
- Get Raster Statistics
- Export Images
based on User selected settings
Requesting Image Service Data
Requesting Image Service Data
/exportImage?
/computeHistograms?
Add Image Service data to View Model
Knockout JS Library
Advantage:
No need to write code/event handlers to update DOM directly
every time the User changes suitability settings.
Write Less Code
MVVM Design Pattern
Separate:
Data Model - Presentation
Stored DataCode
representation of
data and
operations on UI
User Interface
Initialize View Model
Update View Model with Image Service
Data
Knockout Bindings
• visible
• text
• html
• foreach
• attr
• click
• Or use for storage of
particular settings.
Knockout: How it Works
Knockout: What else can we use it for?
Knockout: What else can we use it for?
Data Visualization with D3 and
Highcharts
• D3 is a fantastic data
visualization library,
not a charting library.
• D3 has the ability to
create some really
beautiful
visualizations.
• Highcharts is a simple
plug and play charting
library.
D3 Examples
D3 Examples (cont.)
D3 & Highcharts
D3 & Highcharts (cont.)
Thinking Mobile
• Mobile is changing
the game and cannot
be ignored.
• Develop an
application using
JavaScript with a
mobile friendly UI.
• Test on a real device,
emulator’s,
simulator’s, and
resizing browser
windows is not
Resource to Check Out
http://knockoutjs.com/
http://www.esri.com/software/arcgis/arcgisserver/ex
tensions/image-extension
http://d3js.org/
http://www.highcharts.com/
Q & A
Portfolio available at blueraster.com/blog
@aspacebarnash
@brendancol
@rwinter85
Alicia Barnash
Brendan Collins
Robert Winterbottom

More Related Content

What's hot

Open source web GIS
Open source web GISOpen source web GIS
Open source web GIS
Shweta Ghate
 
Web GIS Usability
Web GIS UsabilityWeb GIS Usability
Web GIS Usability
Adam Conner
 
Building good web_maps, Esri, Joris Bak
Building good web_maps, Esri, Joris BakBuilding good web_maps, Esri, Joris Bak
Building good web_maps, Esri, Joris Bak
Esri Nederland
 

What's hot (20)

NDGeospatialSummit2019 - What’s New with ArcGIS – Highlights From the 2019 UC
NDGeospatialSummit2019 - What’s New with ArcGIS – Highlights From the 2019 UC NDGeospatialSummit2019 - What’s New with ArcGIS – Highlights From the 2019 UC
NDGeospatialSummit2019 - What’s New with ArcGIS – Highlights From the 2019 UC
 
ArcGIS API for Javascript Tutorial
ArcGIS API for Javascript TutorialArcGIS API for Javascript Tutorial
ArcGIS API for Javascript Tutorial
 
An online viewer for Geospatial Vector Data using HTML5 Canvas and JavaScript
An online viewer for Geospatial Vector Data using HTML5 Canvas and JavaScript An online viewer for Geospatial Vector Data using HTML5 Canvas and JavaScript
An online viewer for Geospatial Vector Data using HTML5 Canvas and JavaScript
 
Internet GIS
Internet GISInternet GIS
Internet GIS
 
Imagery and beyond - BK 2016
Imagery and beyond - BK 2016Imagery and beyond - BK 2016
Imagery and beyond - BK 2016
 
Architecting the ArcGIS Platform
Architecting the ArcGIS PlatformArchitecting the ArcGIS Platform
Architecting the ArcGIS Platform
 
Tableau Data Sheet | Whitepaper
Tableau Data Sheet | WhitepaperTableau Data Sheet | Whitepaper
Tableau Data Sheet | Whitepaper
 
Microsoft Azure Data Factory Data Flow Scenarios
Microsoft Azure Data Factory Data Flow ScenariosMicrosoft Azure Data Factory Data Flow Scenarios
Microsoft Azure Data Factory Data Flow Scenarios
 
Open source web GIS
Open source web GISOpen source web GIS
Open source web GIS
 
Azure Data Factory Data Flow Preview December 2019
Azure Data Factory Data Flow Preview December 2019Azure Data Factory Data Flow Preview December 2019
Azure Data Factory Data Flow Preview December 2019
 
App development with constraint layout, kotlin &amp; firebase
App development with constraint layout, kotlin &amp; firebaseApp development with constraint layout, kotlin &amp; firebase
App development with constraint layout, kotlin &amp; firebase
 
2014 Workshop - InstantAtlas for ArcGIS Online product overview and the Insta...
2014 Workshop - InstantAtlas for ArcGIS Online product overview and the Insta...2014 Workshop - InstantAtlas for ArcGIS Online product overview and the Insta...
2014 Workshop - InstantAtlas for ArcGIS Online product overview and the Insta...
 
Esri Ireland "ArcGIS - The Platform Story" Roadmap Session - Eamonn Doyle, Es...
Esri Ireland "ArcGIS - The Platform Story" Roadmap Session - Eamonn Doyle, Es...Esri Ireland "ArcGIS - The Platform Story" Roadmap Session - Eamonn Doyle, Es...
Esri Ireland "ArcGIS - The Platform Story" Roadmap Session - Eamonn Doyle, Es...
 
Azure Data Factory Data Flow
Azure Data Factory Data FlowAzure Data Factory Data Flow
Azure Data Factory Data Flow
 
Web GIS Usability
Web GIS UsabilityWeb GIS Usability
Web GIS Usability
 
Building good web_maps, Esri, Joris Bak
Building good web_maps, Esri, Joris BakBuilding good web_maps, Esri, Joris Bak
Building good web_maps, Esri, Joris Bak
 
InstantAtlas Server Workshop presentations - London 2014
InstantAtlas Server Workshop presentations - London 2014InstantAtlas Server Workshop presentations - London 2014
InstantAtlas Server Workshop presentations - London 2014
 
Arcgis for Server
Arcgis for ServerArcgis for Server
Arcgis for Server
 
Arc gis desktop_and_geoprocessing
Arc gis desktop_and_geoprocessingArc gis desktop_and_geoprocessing
Arc gis desktop_and_geoprocessing
 
Managing highly virtualized environments - Presented by Softchoice and VMware
Managing highly virtualized environments - Presented by Softchoice and VMwareManaging highly virtualized environments - Presented by Softchoice and VMware
Managing highly virtualized environments - Presented by Softchoice and VMware
 

Similar to Total Knockout: Start-to-Finish Development of Suitability Applications Using Image Server, D3.js, and Knockout.js

Microsoft Cloud BI Update 2012 for SQL Saturday Philly
Microsoft Cloud BI Update 2012 for SQL Saturday PhillyMicrosoft Cloud BI Update 2012 for SQL Saturday Philly
Microsoft Cloud BI Update 2012 for SQL Saturday Philly
Mark Kromer
 
Codestrong 2012 breakout session using appcelerator cloud services in your ...
Codestrong 2012 breakout session   using appcelerator cloud services in your ...Codestrong 2012 breakout session   using appcelerator cloud services in your ...
Codestrong 2012 breakout session using appcelerator cloud services in your ...
Axway Appcelerator
 
Scaling digital asset repositories with aem dam and s7 by Devang Shah
Scaling digital asset repositories with aem dam and s7 by Devang ShahScaling digital asset repositories with aem dam and s7 by Devang Shah
Scaling digital asset repositories with aem dam and s7 by Devang Shah
AEM HUB
 
Implementing Large Scale Digital Asset Repositories with Adobe Experience Man...
Implementing Large Scale Digital Asset Repositories with Adobe Experience Man...Implementing Large Scale Digital Asset Repositories with Adobe Experience Man...
Implementing Large Scale Digital Asset Repositories with Adobe Experience Man...
devang-dsshah
 

Similar to Total Knockout: Start-to-Finish Development of Suitability Applications Using Image Server, D3.js, and Knockout.js (20)

dashDB: the GIS professional’s bridge to mainstream IT systems
dashDB: the GIS professional’s bridge to mainstream IT systemsdashDB: the GIS professional’s bridge to mainstream IT systems
dashDB: the GIS professional’s bridge to mainstream IT systems
 
NEW LAUNCH! Delivering Powerful Graphics-Intensive Applications from the AWS ...
NEW LAUNCH! Delivering Powerful Graphics-Intensive Applications from the AWS ...NEW LAUNCH! Delivering Powerful Graphics-Intensive Applications from the AWS ...
NEW LAUNCH! Delivering Powerful Graphics-Intensive Applications from the AWS ...
 
Kisters 3DViewStation - CAD viewer for PLM and stand alone
Kisters 3DViewStation - CAD viewer for PLM and stand aloneKisters 3DViewStation - CAD viewer for PLM and stand alone
Kisters 3DViewStation - CAD viewer for PLM and stand alone
 
How to Migrate from Cassandra to Amazon DynamoDB - AWS Online Tech Talks
How to Migrate from Cassandra to Amazon DynamoDB - AWS Online Tech TalksHow to Migrate from Cassandra to Amazon DynamoDB - AWS Online Tech Talks
How to Migrate from Cassandra to Amazon DynamoDB - AWS Online Tech Talks
 
Desktop Softwares for Unmanned Aerial Systems(UAS))
Desktop Softwares for Unmanned Aerial Systems(UAS))Desktop Softwares for Unmanned Aerial Systems(UAS))
Desktop Softwares for Unmanned Aerial Systems(UAS))
 
OpenStreetMap in 3D - current developments
OpenStreetMap in 3D - current developmentsOpenStreetMap in 3D - current developments
OpenStreetMap in 3D - current developments
 
Jcon2020 keynote-high-performance-java-cloud-native
Jcon2020 keynote-high-performance-java-cloud-nativeJcon2020 keynote-high-performance-java-cloud-native
Jcon2020 keynote-high-performance-java-cloud-native
 
Microsoft Cloud BI Update 2012 for SQL Saturday Philly
Microsoft Cloud BI Update 2012 for SQL Saturday PhillyMicrosoft Cloud BI Update 2012 for SQL Saturday Philly
Microsoft Cloud BI Update 2012 for SQL Saturday Philly
 
Codestrong 2012 breakout session using appcelerator cloud services in your ...
Codestrong 2012 breakout session   using appcelerator cloud services in your ...Codestrong 2012 breakout session   using appcelerator cloud services in your ...
Codestrong 2012 breakout session using appcelerator cloud services in your ...
 
Architecting the ArcGIS Platform - Technical - Esri UK Annual Conference 2017
Architecting the ArcGIS Platform - Technical - Esri UK Annual Conference 2017Architecting the ArcGIS Platform - Technical - Esri UK Annual Conference 2017
Architecting the ArcGIS Platform - Technical - Esri UK Annual Conference 2017
 
Who Is Tract Builder
Who Is Tract BuilderWho Is Tract Builder
Who Is Tract Builder
 
Migrating to Amazon RDS with Database Migration Service
Migrating to Amazon RDS with Database Migration ServiceMigrating to Amazon RDS with Database Migration Service
Migrating to Amazon RDS with Database Migration Service
 
Imagery Analysis in ArcGIS New View, New Vision - Technical - Esri UK Annual ...
Imagery Analysis in ArcGIS New View, New Vision - Technical - Esri UK Annual ...Imagery Analysis in ArcGIS New View, New Vision - Technical - Esri UK Annual ...
Imagery Analysis in ArcGIS New View, New Vision - Technical - Esri UK Annual ...
 
Unleash Workflow Within Plant Design Processes with Laser Scans and Autodesk ...
Unleash Workflow Within Plant Design Processes with Laser Scans and Autodesk ...Unleash Workflow Within Plant Design Processes with Laser Scans and Autodesk ...
Unleash Workflow Within Plant Design Processes with Laser Scans and Autodesk ...
 
Advanced Analytics - Smart Analytics - Esri UK Annual Conference 2017
Advanced Analytics - Smart Analytics - Esri UK Annual Conference 2017Advanced Analytics - Smart Analytics - Esri UK Annual Conference 2017
Advanced Analytics - Smart Analytics - Esri UK Annual Conference 2017
 
Data Collection and Consumption
Data Collection and ConsumptionData Collection and Consumption
Data Collection and Consumption
 
Scaling digital asset repositories with aem dam and s7 by Devang Shah
Scaling digital asset repositories with aem dam and s7 by Devang ShahScaling digital asset repositories with aem dam and s7 by Devang Shah
Scaling digital asset repositories with aem dam and s7 by Devang Shah
 
Large Scale Multimedia Data Intelligence And Analysis On Spark
Large Scale Multimedia Data Intelligence And Analysis On SparkLarge Scale Multimedia Data Intelligence And Analysis On Spark
Large Scale Multimedia Data Intelligence And Analysis On Spark
 
Implementing Large Scale Digital Asset Repositories with Adobe Experience Man...
Implementing Large Scale Digital Asset Repositories with Adobe Experience Man...Implementing Large Scale Digital Asset Repositories with Adobe Experience Man...
Implementing Large Scale Digital Asset Repositories with Adobe Experience Man...
 
Ops Jumpstart: MongoDB Administration 101
Ops Jumpstart: MongoDB Administration 101Ops Jumpstart: MongoDB Administration 101
Ops Jumpstart: MongoDB Administration 101
 

More from Blue Raster

Kill those bugs with the ultimate tool - Chrome DevTools
Kill those bugs with the ultimate tool - Chrome DevToolsKill those bugs with the ultimate tool - Chrome DevTools
Kill those bugs with the ultimate tool - Chrome DevTools
Blue Raster
 
Make JavaScript Lean, Mean, and Clean
Make JavaScript Lean, Mean, and CleanMake JavaScript Lean, Mean, and Clean
Make JavaScript Lean, Mean, and Clean
Blue Raster
 
Building a Custom UI Control with D3 - 2015 Esri Devoloper Summit
Building a Custom UI Control with D3 - 2015 Esri Devoloper SummitBuilding a Custom UI Control with D3 - 2015 Esri Devoloper Summit
Building a Custom UI Control with D3 - 2015 Esri Devoloper Summit
Blue Raster
 
Building a Custom UI control with D3
Building a Custom UI control with D3Building a Custom UI control with D3
Building a Custom UI control with D3
Blue Raster
 

More from Blue Raster (20)

ArcGIS Maps and Microsoft Integration: Power BI
ArcGIS Maps and Microsoft Integration: Power BIArcGIS Maps and Microsoft Integration: Power BI
ArcGIS Maps and Microsoft Integration: Power BI
 
ArcGIS StoryMaps: Agencies Are Creating Great Story Maps; Here's How You Can Too
ArcGIS StoryMaps: Agencies Are Creating Great Story Maps; Here's How You Can TooArcGIS StoryMaps: Agencies Are Creating Great Story Maps; Here's How You Can Too
ArcGIS StoryMaps: Agencies Are Creating Great Story Maps; Here's How You Can Too
 
Unless We Act Now: Impact of Climate Change on Children
Unless We Act Now: Impact of Climate Change on ChildrenUnless We Act Now: Impact of Climate Change on Children
Unless We Act Now: Impact of Climate Change on Children
 
ESRI Federal Small Business Specialty 2017 Partner of the Year Award
ESRI Federal Small Business Specialty 2017 Partner of the Year AwardESRI Federal Small Business Specialty 2017 Partner of the Year Award
ESRI Federal Small Business Specialty 2017 Partner of the Year Award
 
Emerging Hot Spot Analysis
Emerging Hot Spot AnalysisEmerging Hot Spot Analysis
Emerging Hot Spot Analysis
 
Fighting Climate Change by Fighting Fires - Esri FedGIS 2016 Presentation
Fighting Climate Change by Fighting Fires - Esri FedGIS 2016 PresentationFighting Climate Change by Fighting Fires - Esri FedGIS 2016 Presentation
Fighting Climate Change by Fighting Fires - Esri FedGIS 2016 Presentation
 
AppStudio for ArcGIS: The Basics - Esri FedGIS 2016
AppStudio for ArcGIS: The Basics - Esri FedGIS 2016AppStudio for ArcGIS: The Basics - Esri FedGIS 2016
AppStudio for ArcGIS: The Basics - Esri FedGIS 2016
 
Blue Raster Natureserve Synergy Workshop Presentation
Blue Raster Natureserve Synergy Workshop PresentationBlue Raster Natureserve Synergy Workshop Presentation
Blue Raster Natureserve Synergy Workshop Presentation
 
Blue Raster Presents on Emerging Hotspots of Global Tree Cover Loss
Blue Raster Presents on Emerging Hotspots of Global Tree Cover LossBlue Raster Presents on Emerging Hotspots of Global Tree Cover Loss
Blue Raster Presents on Emerging Hotspots of Global Tree Cover Loss
 
Creating Apps with Maps in AppStudio - Esri User Conference 2015 Presentation
Creating Apps with Maps in AppStudio - Esri User Conference 2015 PresentationCreating Apps with Maps in AppStudio - Esri User Conference 2015 Presentation
Creating Apps with Maps in AppStudio - Esri User Conference 2015 Presentation
 
U.S. National Arboretum - Esri User Conference 2015 Presentation
U.S. National Arboretum - Esri User Conference 2015 Presentation U.S. National Arboretum - Esri User Conference 2015 Presentation
U.S. National Arboretum - Esri User Conference 2015 Presentation
 
The Power of Story Maps, Data Visualization, and Analysis: NetHope and Blue R...
The Power of Story Maps, Data Visualization, and Analysis: NetHope and Blue R...The Power of Story Maps, Data Visualization, and Analysis: NetHope and Blue R...
The Power of Story Maps, Data Visualization, and Analysis: NetHope and Blue R...
 
Best Practices for Story Maps
Best Practices for Story MapsBest Practices for Story Maps
Best Practices for Story Maps
 
Kill those bugs with the ultimate tool - Chrome DevTools
Kill those bugs with the ultimate tool - Chrome DevToolsKill those bugs with the ultimate tool - Chrome DevTools
Kill those bugs with the ultimate tool - Chrome DevTools
 
Make JavaScript Lean, Mean, and Clean
Make JavaScript Lean, Mean, and CleanMake JavaScript Lean, Mean, and Clean
Make JavaScript Lean, Mean, and Clean
 
Building a Custom UI Control with D3 - 2015 Esri Devoloper Summit
Building a Custom UI Control with D3 - 2015 Esri Devoloper SummitBuilding a Custom UI Control with D3 - 2015 Esri Devoloper Summit
Building a Custom UI Control with D3 - 2015 Esri Devoloper Summit
 
Building a Custom UI control with D3
Building a Custom UI control with D3Building a Custom UI control with D3
Building a Custom UI control with D3
 
Great Story Maps - Blue Raster Esri User Conference 2014 Presentation
Great Story Maps - Blue Raster Esri User Conference 2014 PresentationGreat Story Maps - Blue Raster Esri User Conference 2014 Presentation
Great Story Maps - Blue Raster Esri User Conference 2014 Presentation
 
Online Mapping Patterns in 2013 and Beyond
Online Mapping Patterns in 2013 and BeyondOnline Mapping Patterns in 2013 and Beyond
Online Mapping Patterns in 2013 and Beyond
 
Harnessing Python
Harnessing PythonHarnessing Python
Harnessing Python
 

Recently uploaded

Microsoft BitLocker Bypass Attack Method.pdf
Microsoft BitLocker Bypass Attack Method.pdfMicrosoft BitLocker Bypass Attack Method.pdf
Microsoft BitLocker Bypass Attack Method.pdf
Overkill Security
 
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
Muhammad Subhan
 
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxHarnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
FIDO Alliance
 

Recently uploaded (20)

Microsoft BitLocker Bypass Attack Method.pdf
Microsoft BitLocker Bypass Attack Method.pdfMicrosoft BitLocker Bypass Attack Method.pdf
Microsoft BitLocker Bypass Attack Method.pdf
 
Generative AI Use Cases and Applications.pdf
Generative AI Use Cases and Applications.pdfGenerative AI Use Cases and Applications.pdf
Generative AI Use Cases and Applications.pdf
 
How to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cfHow to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cf
 
Top 10 CodeIgniter Development Companies
Top 10 CodeIgniter Development CompaniesTop 10 CodeIgniter Development Companies
Top 10 CodeIgniter Development Companies
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
 
UiPath manufacturing technology benefits and AI overview
UiPath manufacturing technology benefits and AI overviewUiPath manufacturing technology benefits and AI overview
UiPath manufacturing technology benefits and AI overview
 
The Ultimate Prompt Engineering Guide for Generative AI: Get the Most Out of ...
The Ultimate Prompt Engineering Guide for Generative AI: Get the Most Out of ...The Ultimate Prompt Engineering Guide for Generative AI: Get the Most Out of ...
The Ultimate Prompt Engineering Guide for Generative AI: Get the Most Out of ...
 
Working together SRE & Platform Engineering
Working together SRE & Platform EngineeringWorking together SRE & Platform Engineering
Working together SRE & Platform Engineering
 
Introduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptxIntroduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptx
 
JavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate GuideJavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate Guide
 
State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!
 
Frisco Automating Purchase Orders with MuleSoft IDP- May 10th, 2024.pptx.pdf
Frisco Automating Purchase Orders with MuleSoft IDP- May 10th, 2024.pptx.pdfFrisco Automating Purchase Orders with MuleSoft IDP- May 10th, 2024.pptx.pdf
Frisco Automating Purchase Orders with MuleSoft IDP- May 10th, 2024.pptx.pdf
 
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
 
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxHarnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
 
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
 
Microsoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - QuestionnaireMicrosoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - Questionnaire
 
Simplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptxSimplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptx
 
ERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage IntacctERP Contender Series: Acumatica vs. Sage Intacct
ERP Contender Series: Acumatica vs. Sage Intacct
 
How we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdfHow we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdf
 
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
 

Total Knockout: Start-to-Finish Development of Suitability Applications Using Image Server, D3.js, and Knockout.js

Editor's Notes

  1. Discuss different types of input
  2. Model-View-View Model (MVVM) is a design pattern for building user interfaces. It describes how you can keep a potentially sophisticated UI simple by splitting it into three parts:A model: your application’s stored data. This data represents objects and operations in your business domain (e.g., bank accounts that can perform money transfers) and is independent of any UI. When using KO, you will usually make Ajax calls to some server-side code to read and write this stored model data.A view model: a pure-code representation of the data and operations on a UI. For example, if you’re implementing a list editor, your view model would be an object holding a list of items, and exposing methods to add and remove items.Note that this is not the UI itself: it doesn’t have any concept of buttons or display styles. It’s not the persisted data model either - it holds the unsaved data the user is working with. When using KO, your view models are pure JavaScript objects that hold no knowledge of HTML. Keeping the view model abstract in this way lets it stay simple, so you can manage more sophisticated behaviors without getting lost.A view: a visible, interactive UI representing the state of the view model. It displays information from the view model, sends commands to the view model (e.g., when the user clicks buttons), and updates whenever the state of the view model changes.When using KO, your view is simply your HTML document with declarative bindings to link it to the view model. Alternatively, you can use templates that generate HTML using data from your view model.
  3. Talk about Observables