The document discusses the past, present, and future of real-time applications and communications. It describes how the internet enabled new types of real-time experiences and how demand for up-to-date information and engagement drove the need for real-time capabilities. The document outlines several common real-time communication patterns used in applications today like messaging, publish-subscribe, and data synchronization. It envisions continued growth in real-time technologies, protocols, and use cases across the internet of things and areas like notifications, collaboration, and gaming.
4. Real-Time Apps & Communications...
Past - how we got here
Present - what we're doing and building now
Future - what we're going to build in the future
4 / 87
@leggetter
12. These aren't new Needs or Demands
But...
The Internet
9 / 87
@leggetter
13. Internet
“a global computer network providing a variety
of information and communication facilities,
consisting of interconnected networks using
standardized communication protocols.
10 / 87
@leggetter
25. Technology Advancements
Memory & CPU speed and cost
The Cloud
Browser standardisation & enhancements
Any client can use the standards
21 / 87
@leggetter
29. Internet Usage (per day)
200 billion emails
7 million blog posts written†
500 million tweets
30 billion WhatsApp messages
24 / 87
@leggetter
30. Internet Usage (per day)
200 billion emails
7 million blog posts written†
500 million tweets
30 billion WhatsApp messages
55 million Facebook status updates
5 billion Google+ +1's
60 million Instagram photos posted
2 billion minutes spent on Skype
33 million hours of Netflix watched
750 million hours of YouTube watched
24 / 87
@leggetter
39. Client
var ws = new WebSocket('wss://localhost/');
30 / 87
@leggetter
40. Client
var ws = new WebSocket('wss://localhost/');
ws.onmessage = function(evt) {
var data = JSON.parse(evt.data);
30 / 87
@leggetter
41. Client
var ws = new WebSocket('wss://localhost/');
ws.onmessage = function(evt) {
var data = JSON.parse(evt.data);
// ^5
performHighFive();
};
30 / 87
@leggetter
42. Client
var ws = new WebSocket('wss://localhost/');
ws.onmessage = function(evt) {
var data = JSON.parse(evt.data);
// ^5
performHighFive();
};
Server
// server
server.on('connection', function(socket){
30 / 87
@leggetter
43. Client
var ws = new WebSocket('wss://localhost/');
ws.onmessage = function(evt) {
var data = JSON.parse(evt.data);
// ^5
performHighFive();
};
Server
// server
server.on('connection', function(socket){
socket.send(JSON.stringify({action: 'high-5'}));
});
30 / 87
@leggetter
100. The Internet...
1. is our main communications platform
2. is becoming our main entertainment
platform
62 / 87
@leggetter
101. The Internet...
1. is our main communications platform
2. is becoming our main entertainment
platform
3. should give users real-time experiences
62 / 87
@leggetter
127. Summary
The Internet is our communications platform
Easier than ever to innovate on this platform
84 / 87
@leggetter
128. Summary
The Internet is our communications platform
Easier than ever to innovate on this platform
Users expect real-time experiences
84 / 87
@leggetter
129. Summary
The Internet is our communications platform
Easier than ever to innovate on this platform
Users expect real-time experiences
Future:
Infrastructure
standards
IoT
Event streams
Use case evolution
Chat everywhere
84 / 87
@leggetter
130. Realtime Internet Apps & Communications
===
IoT
Web Browsers +
Web Servers +
Native Apps +
Devices +
...
85 / 87
@leggetter
131. The Past, Present and Future of Real-Time
Internet Apps & Communications
PHIL @LEGGETTER
Head of Developer Relations
86 / 87
@leggetter
132. References
Nexmo
These slides - leggetter.github.io/realtime-internet-apps/
Mary Meeker's internet trend report
Real-Time Web Tech Guide
87 / 87
@leggetter