SlideShare a Scribd company logo
the web
as it should be
Martin Beeby - @thebeebs
paving the
way to the
end user
Hotbed of innovation
World of standards
Ever-closer user experiences
in the beginning…


mosaic   netscape navigator   internet explorer v1
1993                          August 1995
2001                      a space odyssey
Internet Explorer 6 - Microsoft won the Web (or so they thought)
http://www.youtube.com/watch?v=Gp-FQN_v3AM
we all
make
mistakes
the rise
of the
competition
Amazing browsers
came on-line

Microsoft had a long
journey to catch up
the journey so far
March 2011
Internet Explorer 9
 Great browser
 Constant development
 momentum
 Eight-week beta-launch cycles
 Faster launch cadence
innovate or die
standards-based
browsing
HTML5
W3C:
Sixteen full-time employees
Most test cases submitted
around 1,700

But we still innovate
smallest chrome
bringing users closer
web sites as
applications
                Fully-fledged Applications
                HTML5
                CSS3
                Standards-based Web technologies

               IE10 is a
               distinct application
               delivery platform
just some of the new
html5 features…
Animation Frames               CSS Positioned Floats (Exclusions)   FormData                     Page Visibility
CSS3 2d Transforms             CSS Selectors                        HTML5 Application Cache      Pointer (Mouse, Pen and Touch)
CSS 3d Transforms              CSS Transitions                      HTML5 async                  Events
CSS3 Animations                CSS Values and Units                 HTML5 Canvas                 Resource Timing
CSS3 Backgrounds and Borders   Data URI                             HTML5 Drag and drop          Selectors API Level 2
CSS Color                      DOM Element Traversal                HTML5 Forms and Validation   SVG Filter Effects
CSS FlexBox                    DOM HTML                             HTML5 Geolocation            SVG Inline
CSS Fonts                      DOM Level 3 Core                     HTMl5 History API            Timing Callbacks
CSS Grid Alignment             Dom Level 3 Events                   HTML5 Parser                 Web Messaging
CSS Hyphenation                DOM Style                            HTML5 Sandbox                Web Sockets
CSS Image Values (gradients)   DOM Traversal and Range              HTML5 Selectors              Web Workers
CSS Media Queries              DOMParser and XMLSerializer          HTML5 semantic elements      XHTML5/XML
CSS multi-column layout        ECMAScript 5                         HTML5 Video and Audio        XMLHttpRequest (Level 2)
CSS Namespaces                 File Reader API                      ICC Colour Profiles
CSS OM Views                   File Saving                          IndexedDB
cookbook
demo
off-line access
benefits
           applications work correctly

           at all times
             User-generated data can
             be stored off-line

             Improved overall performance
             by spreading the load
             between the cloud and client
appcache
creation flow
                       caches
                     resources
                       locally
 First run fetches               Later runs fetch
 info from network               info from cache
appcache
how it works
Behind the scenes after Web content displayed
Manifest file specifies resource URIs to cache
Cache only created if all resources are downloaded
Easy-update of manifest file to update target cache content
Applications can access cached resources using URLs and URIs
appcache
  vs         Guaranteed availability of

  http       cached resources

             Correct off-line resolution of URLs

caching    http caching can optimise
           appcache behaviour
indexed db
indexed db
vs relational db
Concept                              Relational DB                                     IndexedDB
Database                             Database                                          Database

Tables                               Tables contain columns and rows                   objectStore contains Javascript objects and keys

Query Mechanism, Join, and Filters   SQL                                               Cursor APIs, Key Range APIs, and Application Code

Transaction Types and Locks          Lock can happen on databases, tables,             Lock can happen on database on VERSION_CHANGE
                                     or rows on READ_WRITE Transactions                transaction, on an objectStores on READ_ONLY and
                                                                                       READ_WRITE transactions. There is no object level locking.

Transaction Commits                  Transaction creation is explicit. Default is to   Transaction creation is explicit. Default is to commit unless I call
                                     rollback unless I call commit.                    abort or there is an exception that is not caught.

Property Lookups                     SQL                                               Indexes are required to query object properties directly

Records/Data                         Normal form and single valued properties          De-normal form and can have multi-valued properties
indexed db
how it works
var oRequestDB = window.indexedDB.open("Library");
oRequestDB.onsuccess = function (event) {
    db1 = oRequestDB.result;
    if (db1.version == 1) {
         txn = db1.transaction(["Books"], IDBTransaction.READ_ONLY);
         var objStoreReq = txn.objectStore( "Books");
         var request = objStoreReq.get("Book0");
         request.onsuccess = processGet;
    }
};
indexed db
benefits
Optimised way of querying data objects
Website access to large amounts of related data
Data filtering using KeyRange objects
“Master” cloud and local IndexedDB database architecture
Faster searches
Off-line data access
websockets
and xhr
benefits
            Better off-line application
            performance

            Improved user stickiness
            to the application

           greater opportunity
           for your business
web
application
user
experience
the
beauty
of html5
achieving browser
invisibility
real world
www.beautyoftheweb.co.uk
                           Showcase of sites using
                           HTML5
test drive
http://ie.microsoft.com/testdrive/


                                     download
                                     Internet Explorer 10 preview

                                     Example applications

                                     http://dev.windows.com
the web
as it should be
W3C standards-based: HTML5, CSS3, Web-browsers
Application delivery platform
Compelling end-user experiences
Driven by innovation
contact
martin beeby
@thebeebs
http://www.ubelly.com/html5
martin.beeby@microsoft.com

More Related Content

PPT
Sql Data Services
PPTX
Groovy in SOAP UI
PPTX
Chris O'Brien - Customizing the SharePoint/Office 365 UI with JavaScript (ESP...
PDF
Spca2014 js link and display templates hatch
PPT
Entity Framework Overview
PPT
Dojo - from web page to web apps
PDF
MongoDB for Coder Training (Coding Serbia 2013)
PPTX
Intro to .NET for Government Developers
Sql Data Services
Groovy in SOAP UI
Chris O'Brien - Customizing the SharePoint/Office 365 UI with JavaScript (ESP...
Spca2014 js link and display templates hatch
Entity Framework Overview
Dojo - from web page to web apps
MongoDB for Coder Training (Coding Serbia 2013)
Intro to .NET for Government Developers

What's hot (20)

PPTX
Web components
PPTX
Microsoft SQL Server 2008
PDF
Mike Taulty DevDays 2010 Silverlight 4 - What's New Part 1
PPTX
Office 2013 loves web developers slide
PPTX
Client Object Model - SharePoint Extreme 2012
PPTX
Building RESTfull Data Services with WebAPI
PDF
SharePoint Saturday The Conference DC - How the bcs saved my marriage
PPTX
Mongo db operations_v2
PDF
Introduction to SOAP/WSDL Web Services and RESTful Web Services
PPTX
Introduction to the SharePoint Client Object Model and REST API
PPTX
jQuery programming with visual web part
PDF
PPTX
Share point saturday presentation 9 29-2012-2
PDF
Asp.Net Abbreviations
PPTX
SharePoint Saturday Utah - Do you claim to be from the Azure Sky?
PDF
MongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
PPTX
PPTX
2014.06.25 State of the Web Development 2014
PPTX
Developing and Hosting REST APIs 3.7
Web components
Microsoft SQL Server 2008
Mike Taulty DevDays 2010 Silverlight 4 - What's New Part 1
Office 2013 loves web developers slide
Client Object Model - SharePoint Extreme 2012
Building RESTfull Data Services with WebAPI
SharePoint Saturday The Conference DC - How the bcs saved my marriage
Mongo db operations_v2
Introduction to SOAP/WSDL Web Services and RESTful Web Services
Introduction to the SharePoint Client Object Model and REST API
jQuery programming with visual web part
Share point saturday presentation 9 29-2012-2
Asp.Net Abbreviations
SharePoint Saturday Utah - Do you claim to be from the Azure Sky?
MongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
2014.06.25 State of the Web Development 2014
Developing and Hosting REST APIs 3.7
Ad

Similar to The web as it should be (20)

PPT
ArcReady - Architecting For The Cloud
PPT
Microsoft Azure
PPTX
Server-side Web development via Ruby on Rails
PPTX
Beginners' guide to Ruby on Rails
PPT
Introduction to the Client OM in SharePoint 2010
PPT
What is WebDAV - uploaded by Murali Krishna Nookella
PPTX
HTML5: An Overview
PDF
Crash Course HTML/Rails Slides
PPTX
Advanced JavaScript
PPTX
RavenDB overview
PPTX
Nasdanika Foundation Server
PPTX
Mike Taulty MIX10 Silverlight Frameworks and Patterns
PPTX
DevTeach Montreal - 2012-12-11 - Windows 8 & HTML5: friends with benefits
PPTX
Best of Microsoft Dev Camp 2015
ODP
Html5
PDF
Web Development Presentation
PPTX
Go Serverless with Cosmos DB, Azure Functions and Blazor
PPTX
Windows Azure
PDF
Internet Explorer 8
PPT
Ajax toolkit framework
ArcReady - Architecting For The Cloud
Microsoft Azure
Server-side Web development via Ruby on Rails
Beginners' guide to Ruby on Rails
Introduction to the Client OM in SharePoint 2010
What is WebDAV - uploaded by Murali Krishna Nookella
HTML5: An Overview
Crash Course HTML/Rails Slides
Advanced JavaScript
RavenDB overview
Nasdanika Foundation Server
Mike Taulty MIX10 Silverlight Frameworks and Patterns
DevTeach Montreal - 2012-12-11 - Windows 8 & HTML5: friends with benefits
Best of Microsoft Dev Camp 2015
Html5
Web Development Presentation
Go Serverless with Cosmos DB, Azure Functions and Blazor
Windows Azure
Internet Explorer 8
Ajax toolkit framework
Ad

More from thebeebs (7)

PDF
A Developer Primer on Blockchain
PDF
Blockchain Explain
PPTX
HItchhickers Guide to TypeScript
PDF
HTML5 and Human Interaction
PDF
Building apps why you should bet on the web
PPTX
IE9 the story so far
PPTX
Using HTML5 and CSS3 today
A Developer Primer on Blockchain
Blockchain Explain
HItchhickers Guide to TypeScript
HTML5 and Human Interaction
Building apps why you should bet on the web
IE9 the story so far
Using HTML5 and CSS3 today

Recently uploaded (20)

PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
TLE Review Electricity (Electricity).pptx
PDF
Web App vs Mobile App What Should You Build First.pdf
PDF
Hybrid model detection and classification of lung cancer
PDF
Heart disease approach using modified random forest and particle swarm optimi...
PPTX
Tartificialntelligence_presentation.pptx
PPTX
Chapter 5: Probability Theory and Statistics
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PPTX
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
PPTX
cloud_computing_Infrastucture_as_cloud_p
PDF
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
PDF
A comparative analysis of optical character recognition models for extracting...
PDF
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
Enhancing emotion recognition model for a student engagement use case through...
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
A novel scalable deep ensemble learning framework for big data classification...
PDF
project resource management chapter-09.pdf
PDF
Hindi spoken digit analysis for native and non-native speakers
Agricultural_Statistics_at_a_Glance_2022_0.pdf
TLE Review Electricity (Electricity).pptx
Web App vs Mobile App What Should You Build First.pdf
Hybrid model detection and classification of lung cancer
Heart disease approach using modified random forest and particle swarm optimi...
Tartificialntelligence_presentation.pptx
Chapter 5: Probability Theory and Statistics
MIND Revenue Release Quarter 2 2025 Press Release
gpt5_lecture_notes_comprehensive_20250812015547.pdf
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
cloud_computing_Infrastucture_as_cloud_p
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
A comparative analysis of optical character recognition models for extracting...
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
Assigned Numbers - 2025 - Bluetooth® Document
Enhancing emotion recognition model for a student engagement use case through...
Programs and apps: productivity, graphics, security and other tools
A novel scalable deep ensemble learning framework for big data classification...
project resource management chapter-09.pdf
Hindi spoken digit analysis for native and non-native speakers

The web as it should be

  • 1. the web as it should be Martin Beeby - @thebeebs
  • 2. paving the way to the end user Hotbed of innovation World of standards Ever-closer user experiences
  • 3. in the beginning… mosaic netscape navigator internet explorer v1 1993 August 1995
  • 4. 2001 a space odyssey Internet Explorer 6 - Microsoft won the Web (or so they thought)
  • 7. the rise of the competition Amazing browsers came on-line Microsoft had a long journey to catch up
  • 8. the journey so far March 2011 Internet Explorer 9 Great browser Constant development momentum Eight-week beta-launch cycles Faster launch cadence
  • 10. standards-based browsing HTML5 W3C: Sixteen full-time employees Most test cases submitted around 1,700 But we still innovate
  • 13. web sites as applications Fully-fledged Applications HTML5 CSS3 Standards-based Web technologies IE10 is a distinct application delivery platform
  • 14. just some of the new html5 features… Animation Frames CSS Positioned Floats (Exclusions) FormData Page Visibility CSS3 2d Transforms CSS Selectors HTML5 Application Cache Pointer (Mouse, Pen and Touch) CSS 3d Transforms CSS Transitions HTML5 async Events CSS3 Animations CSS Values and Units HTML5 Canvas Resource Timing CSS3 Backgrounds and Borders Data URI HTML5 Drag and drop Selectors API Level 2 CSS Color DOM Element Traversal HTML5 Forms and Validation SVG Filter Effects CSS FlexBox DOM HTML HTML5 Geolocation SVG Inline CSS Fonts DOM Level 3 Core HTMl5 History API Timing Callbacks CSS Grid Alignment Dom Level 3 Events HTML5 Parser Web Messaging CSS Hyphenation DOM Style HTML5 Sandbox Web Sockets CSS Image Values (gradients) DOM Traversal and Range HTML5 Selectors Web Workers CSS Media Queries DOMParser and XMLSerializer HTML5 semantic elements XHTML5/XML CSS multi-column layout ECMAScript 5 HTML5 Video and Audio XMLHttpRequest (Level 2) CSS Namespaces File Reader API ICC Colour Profiles CSS OM Views File Saving IndexedDB
  • 17. benefits applications work correctly at all times User-generated data can be stored off-line Improved overall performance by spreading the load between the cloud and client
  • 18. appcache creation flow caches resources locally First run fetches Later runs fetch info from network info from cache
  • 19. appcache how it works Behind the scenes after Web content displayed Manifest file specifies resource URIs to cache Cache only created if all resources are downloaded Easy-update of manifest file to update target cache content Applications can access cached resources using URLs and URIs
  • 20. appcache vs Guaranteed availability of http cached resources Correct off-line resolution of URLs caching http caching can optimise appcache behaviour
  • 22. indexed db vs relational db Concept Relational DB IndexedDB Database Database Database Tables Tables contain columns and rows objectStore contains Javascript objects and keys Query Mechanism, Join, and Filters SQL Cursor APIs, Key Range APIs, and Application Code Transaction Types and Locks Lock can happen on databases, tables, Lock can happen on database on VERSION_CHANGE or rows on READ_WRITE Transactions transaction, on an objectStores on READ_ONLY and READ_WRITE transactions. There is no object level locking. Transaction Commits Transaction creation is explicit. Default is to Transaction creation is explicit. Default is to commit unless I call rollback unless I call commit. abort or there is an exception that is not caught. Property Lookups SQL Indexes are required to query object properties directly Records/Data Normal form and single valued properties De-normal form and can have multi-valued properties
  • 23. indexed db how it works var oRequestDB = window.indexedDB.open("Library"); oRequestDB.onsuccess = function (event) { db1 = oRequestDB.result; if (db1.version == 1) { txn = db1.transaction(["Books"], IDBTransaction.READ_ONLY); var objStoreReq = txn.objectStore( "Books"); var request = objStoreReq.get("Book0"); request.onsuccess = processGet; } };
  • 24. indexed db benefits Optimised way of querying data objects Website access to large amounts of related data Data filtering using KeyRange objects “Master” cloud and local IndexedDB database architecture Faster searches Off-line data access
  • 26. benefits Better off-line application performance Improved user stickiness to the application greater opportunity for your business
  • 30. real world www.beautyoftheweb.co.uk Showcase of sites using HTML5
  • 31. test drive http://ie.microsoft.com/testdrive/ download Internet Explorer 10 preview Example applications http://dev.windows.com
  • 32. the web as it should be W3C standards-based: HTML5, CSS3, Web-browsers Application delivery platform Compelling end-user experiences Driven by innovation