SlideShare une entreprise Scribd logo
1  sur  53
Télécharger pour lire hors ligne
Web Browsers &
 the Realtime Web 
       the past, present & future
Techmeetup Edinburgh ­ 08/02/2012
Who is this guy?
 Phil Leggetter
 www.leggetter.co.uk
 @leggetter
 Developer Evangelist at Pusher
Overview
     What is Realtime & the Realtime web
     History of browsers & the Realtime web*
     What technology can we use now?
     Future
     Questions
* ­ according to me
What is Realtime?
     systems that are subject to a "real-time constraint"— e.g. operational
     deadlines from event to system response

Source: Wikipedia: Realtime Computing




What is the Realtime web?
     The real-time web is a set of technologies and practices that enable
     users to receive information as soon as it is published by its authors,
     rather than requiring that they or their software check a source
     periodically for updates.
Source: Wikipedia: Realtime web
Publish & Subscribe
+Phil Search Images Videos Maps News Shopping Gmail More


                            aliens
Why the Realtime Web
matters
 Opportunity
 Convenience
 Interaction
 Engagement
History (according to me)
  My first Job = WOW!
Java Applets
<PLTCD=ra_iesufcas WDH10
APE OE"eltm_tf.ls" IT=5
HIH=5MYCIT
EGT1 ASRP>



 LiveConnect
     "Allows Java and JavaScript software to
     intercommunicate within a Web page"

 Applets were a problem.
     Microsoft had to drop support their JVM (were sued).
     Sun Microsystems releases kept breaking stuff.
Users/Sys admins
  didn't want to
 install plugins!
<frame> Polling




Source
<frame> Long­Polling




Source
<frame> Streaming




Source
XMLHttpRequest
 IE5 in 1999 via ActiveX
 Slowly but surely adopted by all web browser
 Allows
     Polling
     Long­Polling
     Streaming

 AJAX term coined in 2005
     The term Ajax was coined on 18 February 2005 by
     Jesse James Garrett in an article entitled "Ajax: A New
     Approach to Web Applications"
W3C working draft in 2006
    That's how fast technology used to move!
Crossdomain restrictions
     www.example.com ­> www.example.com √
     subdomain.example.com ­> www.example.com
     √*
     www.example.com ­> www.leggetter.co.uk X**
     CORS (Cross Origin Resource Sharing)
             Problem: Browser support (FF3.6+, IE8+ etc.)

* you need to set d c m n . o a n
                   o u e t d m i  to be 'example.com'
** there are ways around this with JSONP
Comet
 Term 'coined' in 2006 by Alex Russell

     Comet is a web application model in
     which a long-held HTTP request allows a
     web server to push data to a browser,
     without the browser explicitly requesting
     it. Comet is an umbrella term,
     encompassing multiple techniques for
     achieving this interaction.
WebSockets
 A protocol and an API
 Single bi­directional connection
 Supports cross domain communication

vrw =
 a s
  nwWbokt"s/mwboktevrcm8";
   e eSce(w:/yescesre.o:0)
w.npn=fnto( {
 sooe   ucin)
  / cneto etbihd
   / oncin salse
};

w.nesg =fnto(aa {/ rcieamsae
somsae   ucindt)  / eev   esg
 w.ed"e,gt "+dt) / sn amsae
 ssn(Yp o:    aa; / ed  esg

  w.ls(;
   scoe)
};

w.nls =fnto(v {;
socoe   ucine) }
w.nro =fnto( {;/ ?
soerr   ucin) } /
What can we use now?
      HTTP Polling √ß
      HTTP Long­Polling √ß
      HTTP Streaming √
      HTML5 WebSockets √*
* ­ See next slide
ß ­ Boo!


Also checkout: http://html5please.us | http://caniuse.com | http://html5readiness.com
WebSocket Support




     Can use on IE6, IE7, IE8, IE9 and other older
     mainstream browsers with web­socket­js Polyfil
     Can use on Android with FlashLite or using
     Firefox for Android and probably Chrome for
     Android.
Source: http://caniuse.com
How is this
technology being
   used now?
Realtime data
 Sports, Finance, betting, grids etc.
Notifications
 Alerts or system
 events e.g. long running
 process has completed (async
 web).

 Realtime comments
 Activity streams
 Live blogging
Chat
 Probably the No.1 use case
Collaboration
 Document collaboration and synchronisation
Social TV
 2nd screen experiences, 2­Screen, Sit forward
 TV
Multiplayer Games
 Game actions
    Player/object moves, etc

 Game state changes
WordSquared
WordSquared (Map)
Iso City
Built on Isogenic Engine
Free Civ




Not available anymore ­ don't know why
Rawkets
Built by Rob Hawkes: Technology Evangelist at Mozilla.
Sierra Games
Technologies
 Self Hosted:
     socket.io ­ node.js
     SockJS ­ Client library with multiple server options
     (node.js/erlang/lua/python)
     FAYE ­ node.js/ruby
     XSockets ­ .NET
     PHP developer? No chance! Well, there are a few options.

 Hosted (platform agnostic)
     Pusher
     There might be others :o)

 Full Guide here:
     http://www.leggetter.co.uk/real­time­web­technologies­guide
The future of Realtime Web
technology
 WebSockets
     Full native browser support
     Not just web browsers

 UX considerations
 Performance considerations
 WebHooks
     We still live in a HTTP World
     Realtime server to server communication
The Internet of Things
Arduino's taking over the
World!
Questions?/Thanks
 I'm putting together a realtime web workshop. If
 you are interested in attending please give me a
 shout.
 Pusher (@pusher) are hiring
     http://pusher.com/jobs
     Mobile Evangelist, Developer Evangelist, Engineer,
     Head of Ops

 Phil Leggetter, @leggetter

Contenu connexe

En vedette

Equipo 3 planificador aamtic con ajustes de retroalimentación version 2.
Equipo 3   planificador aamtic  con ajustes de retroalimentación version 2.Equipo 3   planificador aamtic  con ajustes de retroalimentación version 2.
Equipo 3 planificador aamtic con ajustes de retroalimentación version 2.
Polo Apolo
 
Next Generation Leadership: Integrated Talent Management for Robust Talent Pi...
Next Generation Leadership: Integrated Talent Management for Robust Talent Pi...Next Generation Leadership: Integrated Talent Management for Robust Talent Pi...
Next Generation Leadership: Integrated Talent Management for Robust Talent Pi...
National HRD Network
 
紅樓夢普通版
紅樓夢普通版紅樓夢普通版
紅樓夢普通版
guest2e32a5
 

En vedette (20)

kyle
kylekyle
kyle
 
Github
GithubGithub
Github
 
Build Your Confidence Muscles: Three Tips and Three Challenges
Build Your Confidence Muscles: Three Tips and Three ChallengesBuild Your Confidence Muscles: Three Tips and Three Challenges
Build Your Confidence Muscles: Three Tips and Three Challenges
 
Bilingue si cresce - un incontro sul bilinguismo infantile
Bilingue si cresce - un incontro sul bilinguismo infantileBilingue si cresce - un incontro sul bilinguismo infantile
Bilingue si cresce - un incontro sul bilinguismo infantile
 
Vplyv online kampaní na offline výsledky
Vplyv online kampaní na offline výsledkyVplyv online kampaní na offline výsledky
Vplyv online kampaní na offline výsledky
 
Equipo 3 planificador aamtic con ajustes de retroalimentación version 2.
Equipo 3   planificador aamtic  con ajustes de retroalimentación version 2.Equipo 3   planificador aamtic  con ajustes de retroalimentación version 2.
Equipo 3 planificador aamtic con ajustes de retroalimentación version 2.
 
CaseTalk Transformations - 10 slide intro
CaseTalk Transformations - 10 slide introCaseTalk Transformations - 10 slide intro
CaseTalk Transformations - 10 slide intro
 
Web Tricks
Web TricksWeb Tricks
Web Tricks
 
Audi summary
Audi summaryAudi summary
Audi summary
 
Revision SD 4 SEMESTER GENAP T.P. 2015-2016 UNIT 16
Revision SD 4 SEMESTER GENAP T.P. 2015-2016 UNIT 16Revision SD 4 SEMESTER GENAP T.P. 2015-2016 UNIT 16
Revision SD 4 SEMESTER GENAP T.P. 2015-2016 UNIT 16
 
Griffin Farley's Beautiful Minds
Griffin Farley's Beautiful MindsGriffin Farley's Beautiful Minds
Griffin Farley's Beautiful Minds
 
El petroleo
El petroleoEl petroleo
El petroleo
 
My inspirational person english
My inspirational person englishMy inspirational person english
My inspirational person english
 
Workshop The Family - Automate Your Startup
Workshop The Family - Automate Your StartupWorkshop The Family - Automate Your Startup
Workshop The Family - Automate Your Startup
 
Next Generation Leadership: Integrated Talent Management for Robust Talent Pi...
Next Generation Leadership: Integrated Talent Management for Robust Talent Pi...Next Generation Leadership: Integrated Talent Management for Robust Talent Pi...
Next Generation Leadership: Integrated Talent Management for Robust Talent Pi...
 
Securing the Pipeline
Securing the PipelineSecuring the Pipeline
Securing the Pipeline
 
Timeline of Emerging Science & Technology
Timeline of Emerging Science & TechnologyTimeline of Emerging Science & Technology
Timeline of Emerging Science & Technology
 
SlideShare launches audio hosting for SlideCasting
SlideShare launches audio  hosting for SlideCastingSlideShare launches audio  hosting for SlideCasting
SlideShare launches audio hosting for SlideCasting
 
紅樓夢普通版
紅樓夢普通版紅樓夢普通版
紅樓夢普通版
 
eSign Brochure v1.5
eSign Brochure v1.5eSign Brochure v1.5
eSign Brochure v1.5
 

Similaire à Web browsers & the realtime web

Hello websocket(cn)
Hello websocket(cn)Hello websocket(cn)
Hello websocket(cn)
g65537
 
White paper screen
White paper screenWhite paper screen
White paper screen
eltincho89
 
Rob Tweed :: Ajax and the Impact on Caché and Similar Technologies
Rob Tweed :: Ajax and the Impact on Caché and Similar TechnologiesRob Tweed :: Ajax and the Impact on Caché and Similar Technologies
Rob Tweed :: Ajax and the Impact on Caché and Similar Technologies
george.james
 
HTML5 Web Workers-unleashed
HTML5 Web Workers-unleashedHTML5 Web Workers-unleashed
HTML5 Web Workers-unleashed
Peter Lubbers
 
Dealing With Large Data In Ajax
Dealing With Large Data In AjaxDealing With Large Data In Ajax
Dealing With Large Data In Ajax
webtel125
 

Similaire à Web browsers & the realtime web (20)

HTML5 WebSocket: The New Network Stack for the Web
HTML5 WebSocket: The New Network Stack for the WebHTML5 WebSocket: The New Network Stack for the Web
HTML5 WebSocket: The New Network Stack for the Web
 
CTS Conference Web 2.0 Tutorial Part 2
CTS Conference Web 2.0 Tutorial Part 2CTS Conference Web 2.0 Tutorial Part 2
CTS Conference Web 2.0 Tutorial Part 2
 
Web of Things - Connecting People and Objects on the Web
Web of Things - Connecting People and Objects on the WebWeb of Things - Connecting People and Objects on the Web
Web of Things - Connecting People and Objects on the Web
 
Hello websocket(cn)
Hello websocket(cn)Hello websocket(cn)
Hello websocket(cn)
 
WebSocket Perspectives 2015 - Clouds, Streams, Microservices and WoT
WebSocket Perspectives 2015 - Clouds, Streams, Microservices and WoTWebSocket Perspectives 2015 - Clouds, Streams, Microservices and WoT
WebSocket Perspectives 2015 - Clouds, Streams, Microservices and WoT
 
XST - Cross Site Tracing
XST - Cross Site TracingXST - Cross Site Tracing
XST - Cross Site Tracing
 
Ajax to the Moon
Ajax to the MoonAjax to the Moon
Ajax to the Moon
 
Build APIs With Kapow Mashup Server
Build APIs With Kapow Mashup ServerBuild APIs With Kapow Mashup Server
Build APIs With Kapow Mashup Server
 
Nodejs and WebSockets
Nodejs and WebSocketsNodejs and WebSockets
Nodejs and WebSockets
 
Info2006 Web20 Taly Print
Info2006 Web20 Taly PrintInfo2006 Web20 Taly Print
Info2006 Web20 Taly Print
 
White paper screen
White paper screenWhite paper screen
White paper screen
 
Internet Explorer 8 for Developers by Christian Thilmany
Internet Explorer 8 for Developers by Christian ThilmanyInternet Explorer 8 for Developers by Christian Thilmany
Internet Explorer 8 for Developers by Christian Thilmany
 
Intro to WebSockets
Intro to WebSocketsIntro to WebSockets
Intro to WebSockets
 
API Design and WebSocket
API Design and WebSocketAPI Design and WebSocket
API Design and WebSocket
 
Rob Tweed :: Ajax and the Impact on Caché and Similar Technologies
Rob Tweed :: Ajax and the Impact on Caché and Similar TechnologiesRob Tweed :: Ajax and the Impact on Caché and Similar Technologies
Rob Tweed :: Ajax and the Impact on Caché and Similar Technologies
 
HTML5 Web Workers-unleashed
HTML5 Web Workers-unleashedHTML5 Web Workers-unleashed
HTML5 Web Workers-unleashed
 
Why Open Web Standards are cool and will save the world. Or the Web, at least.
Why Open Web Standards are cool and will save the world. Or the Web, at least.Why Open Web Standards are cool and will save the world. Or the Web, at least.
Why Open Web Standards are cool and will save the world. Or the Web, at least.
 
SenseBox
SenseBoxSenseBox
SenseBox
 
Advanced Web Development
Advanced Web DevelopmentAdvanced Web Development
Advanced Web Development
 
Dealing With Large Data In Ajax
Dealing With Large Data In AjaxDealing With Large Data In Ajax
Dealing With Large Data In Ajax
 

Plus de Phil Leggetter

Plus de Phil Leggetter (20)

An Introduction to AAARRRP: A framework for Defining Your Developer Relations...
An Introduction to AAARRRP: A framework for Defining Your Developer Relations...An Introduction to AAARRRP: A framework for Defining Your Developer Relations...
An Introduction to AAARRRP: A framework for Defining Your Developer Relations...
 
How APIs Enable Contextual Communications
How APIs Enable Contextual CommunicationsHow APIs Enable Contextual Communications
How APIs Enable Contextual Communications
 
An Introduction to the AAARRRP Developer Relations Strategy Framework and How...
An Introduction to the AAARRRP Developer Relations Strategy Framework and How...An Introduction to the AAARRRP Developer Relations Strategy Framework and How...
An Introduction to the AAARRRP Developer Relations Strategy Framework and How...
 
An Introduction to the AAARRRP Developer Relations Strategy Framework and How...
An Introduction to the AAARRRP Developer Relations Strategy Framework and How...An Introduction to the AAARRRP Developer Relations Strategy Framework and How...
An Introduction to the AAARRRP Developer Relations Strategy Framework and How...
 
Contextual Communications: What, Why and How? Bristol JS
Contextual Communications: What, Why and How? Bristol JSContextual Communications: What, Why and How? Bristol JS
Contextual Communications: What, Why and How? Bristol JS
 
Real-Time Web Apps & .NET. What Are Your Options? NDC Oslo 2016
Real-Time Web Apps & .NET. What Are Your Options? NDC Oslo 2016Real-Time Web Apps & .NET. What Are Your Options? NDC Oslo 2016
Real-Time Web Apps & .NET. What Are Your Options? NDC Oslo 2016
 
Real-Time Web Apps & .NET - What are your options?
Real-Time Web Apps & .NET - What are your options?Real-Time Web Apps & .NET - What are your options?
Real-Time Web Apps & .NET - What are your options?
 
The Past, Present and Future of Real-Time Apps and Communications
The Past, Present and Future of Real-Time Apps and CommunicationsThe Past, Present and Future of Real-Time Apps and Communications
The Past, Present and Future of Real-Time Apps and Communications
 
The Past, Present and Future of Real-Time Apps and Communications
The Past, Present and Future of Real-Time Apps and CommunicationsThe Past, Present and Future of Real-Time Apps and Communications
The Past, Present and Future of Real-Time Apps and Communications
 
What's the ROI of Developer Relations?
What's the ROI of Developer Relations?What's the ROI of Developer Relations?
What's the ROI of Developer Relations?
 
Real-Time Web Apps & Symfony. What are your options?
Real-Time Web Apps & Symfony. What are your options?Real-Time Web Apps & Symfony. What are your options?
Real-Time Web Apps & Symfony. What are your options?
 
Why You Should be Using Web Components Right Now. And How. ForwardJS July 2015
Why You Should be Using Web Components Right Now. And How. ForwardJS July 2015Why You Should be Using Web Components Right Now. And How. ForwardJS July 2015
Why You Should be Using Web Components Right Now. And How. ForwardJS July 2015
 
Real-Time Web Apps in 2015 & Beyond
Real-Time Web Apps in 2015 & BeyondReal-Time Web Apps in 2015 & Beyond
Real-Time Web Apps in 2015 & Beyond
 
Why you should be using Web Components. And How - DevWeek 2015
Why you should be using Web Components. And How - DevWeek 2015Why you should be using Web Components. And How - DevWeek 2015
Why you should be using Web Components. And How - DevWeek 2015
 
Patterns and practices for building enterprise-scale HTML5 apps
Patterns and practices for building enterprise-scale HTML5 appsPatterns and practices for building enterprise-scale HTML5 apps
Patterns and practices for building enterprise-scale HTML5 apps
 
Fed London - January 2015
Fed London - January 2015Fed London - January 2015
Fed London - January 2015
 
How to Build Single Page HTML5 Apps that Scale
How to Build Single Page HTML5 Apps that ScaleHow to Build Single Page HTML5 Apps that Scale
How to Build Single Page HTML5 Apps that Scale
 
Realtime Web Apps in 2014 & Beyond
Realtime Web Apps in 2014 & BeyondRealtime Web Apps in 2014 & Beyond
Realtime Web Apps in 2014 & Beyond
 
BladeRunnerJS Show & Tell
BladeRunnerJS Show & TellBladeRunnerJS Show & Tell
BladeRunnerJS Show & Tell
 
Testing Ginormous JavaScript Apps - ScotlandJS 2014
Testing Ginormous JavaScript Apps - ScotlandJS 2014Testing Ginormous JavaScript Apps - ScotlandJS 2014
Testing Ginormous JavaScript Apps - ScotlandJS 2014
 

Dernier

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Dernier (20)

Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 

Web browsers & the realtime web