Salesy-o-meter

Why the realtime web matters

Phil Leggetter

Introduction

An interactive presentation

Agenda - Why the realtime web matters

What is realtime?

* Slow Loris * Used to be hung-up on this. But now I've decided that it's all about context and keeping things relevant. * If you receive the data and it's still relevant and usable then the delivery time is good enough. * e.g. a tweet 10 seconds after it's been posted * site analytics 10 seconds after a user comes online * Sometimes it's got to be instant: * stock quotes * game moves * alert notifications * break response in a car

What is the realtime web?

* The immediate availability of data * Searchable, discoverable, data available must faster than we'd seen before * The instant delivery of data * A search isn't just a one-off thing any more. You are registering your interest in something you are making a subscription. * Events signify something has just happened. New data is available. * Technology to achieve this has been around for ages, but it's just gone mainstream. * Pub/Sub to the masses * With this technology we can now offer/build: * Realtime data - financial data, sports data, betting odds, where instant updates matter * Notifications: New tweets, facebook status updates, calendar appointment prompts, users coming online prompt * Customer support chat, user to user chat (facebook chat) * Collaboration: Google Draw, Docs, Spreadsheets * Social media reaction/integration: Tweets, Facebook likes, Blog post notifications, Images from TwitPic or yFrog/ImageShack * Games - whether simple gamification updates or true realtime html5 multiplayer games * All of these can be used to improve the UX and UE * UX/UE improvements * We are constantly trying to improve web applications: * HTML * CSS * JavaScript * realtime communication

Why does it matter?
It enhances what we already use the Internet for
and makes new things possible.

Image Source: http://nmap.org/favicon/
* Look & Feel are still very important. But the interactivity and engagement that an app provides is now unbelievably important. * Before all this how often did we sit and look at a web page for longer than a few minutes? * We are really building applications now. Not just web pages string together which we call an application.

Do you agree?

* Have I missed anything? * Do you agree or disagree?

The technologies behind delivering realtime web

* There are amazingly fast backend technologies which enable the realtime web (e.g. realtime messages queues, redis, PubSubHubbub, parallel processing technologies) but they don't deliver it to a client, to the user. We're talking server -> client * As with a lot of things in the past with technology the innovation happened for finance and that sector's requirements and opportunities. * Things are changing.

Realtime technologies for .NET

WebSockets

Focus on WebSockets

* Browser support * Chrome * Firefox * Opera * IE10 on Windows 8 * Flash or Silverlight fallback

WebSocket API (JavaScript)


        
        
        
        
* Browser support * Chrome * Firefox * Opera * IE10 on Windows 8 * Flash or Silverlight fallback

WebSocket API (.NET Client Libraries)

WebSocket API (Microsoft HTML5 Labs)


        
        
        
        
* Note: using WSS:// and port 443 * Note: Silverlight won't allow connections on these port ranges. Must use 4502-4534 * See: http://msdn.microsoft.com/en-us/library/cc645032(v=vs.95).aspx

WebSocket-powered examples

Also see: http://pusher.com/examples

WebSocket-powered examples

WebSocket-powered examples - Games

Pusher

Connecting


        
        
        
        

Subscribing to Channels & Binding to Events


        
        
        
        

Publishing Data from the client

Use with caution


        
        
        
        

Publishing Data (Using the .NET API)

See: http://nuget.org/List/Packages/PusherRESTDotNet


        
        
        
        

Building an Interactive & Engaging realtime user experience with WebSockets & Pusher

* Tech & Demo

Summary: The realtime web is all about:

Questions & Answers