SlideShare a Scribd company logo
1 of 15
INTRODUCTION
Realtime Communication in Mobile
Girish Rengaswamy, Senior Manager - Mobile Solutions
What is real-time communications (RTC) ?
•Instant exchange of information.
•Direct path between the source and the destination.
•Half-duplex or full-duplex modes.
Real-time communications can include:
• Telephony in the conventional sense
• Mobile and cellular telephone
• Two-way or multi-way amateur radio
• IRC or other chatting modes
• Live videoconference and teleconference communications
• SMS/MMS/IM
Why did RTC using SMS/MMS failed?
•Data Congestion
• MMS is difficult to setup in the handset
•Data limitation
•Cost
RTC in the Web: Early days
•IRC
•Yahoo Chat
•ICQ
•AIM
•MSN Messenger
•Skype
RTC in Mobile: Now!
WhatsApp FB Messenger
Telegram
Skype
WeChat
Hike Viber
Snapchat
Line
SlackBBM QQ
RTC Mobile apps usage
0 100 200 300 400 500 600 700 800 900 1000 1100
Whatsapp
FB Messenger
QQ
WeChat
Skype
Line
Viber
Telegram
Hike Messenger
Active User (Millions)
Technologies used by RTC Mobile apps
WhatsApp FB Messenger Telegram Slack
Protocol
XMPP MQTT MTProto WebSocket
Server/Broker ejabberd/YAWS
IBM
MessageSight/mos
quitto*
Unknown
Java messaging
service/Apache
Server Side Programming
Language Erlang/PHP* Java* Unknown Java/PHP
Online Database
Mnesia/MySQL* Unknown Unknown MySQL
Offline DB
SQLite SQLite SQLite SQLite
* The information presented here has been collected from third party sources as many of apps mentioned here are not open about their architecture.
Understanding WhatsApp architecture
XMPP (eXtensible Messaging and Presence Protocol)
•XMPP is a client-server application protocol.
•Uses TCP while WebSockets can also be used.
•Push instead of pull.
•Matured implimentaton.
•Serverless Messaging (P2P) for Video, Audio and File transfer
•Open source servers: Wildfire, ejabberd, Jabberd 2, Jabberd 1.4
•Supports wide variety of datastore like: MySQL, Postgresql, Oracle, sqlite, Berkeley
DB, file
WebSocket Protocol
•WebSocket is a protocol providing full-duplex communication channels over a
single TCP connection.
•Works seamlessly over web, mobile and standalone application.
•Works over a firewall
•Client implementation in all most all the languages
•Can be implemented in mobile apps using the following library
•iOS : SocketRocket
•Java-WebSocket
Architecture for a scalable RTC App
Cloud Based Platform Solutions for RTC
What’s Next?
•IOT based RTC mobile apps
•AI systems
•Wearables
•Remotely control machines/robots/drones
Thank You
girish.r@fingent.com
girish.r@gmail.com

More Related Content

What's hot

Web Tech
Web TechWeb Tech
Web TechRupsee
 
Chat application android app ppt
Chat application android app pptChat application android app ppt
Chat application android app pptZreena
 
Presentation 1
Presentation 1Presentation 1
Presentation 1aisadhsa
 
Introduction to web technology
Introduction to web technologyIntroduction to web technology
Introduction to web technologyVARSHAKUMARI49
 
Introduction To Web Technology
Introduction To Web TechnologyIntroduction To Web Technology
Introduction To Web TechnologyArun Kumar
 
Basic computers for DIU laptop project students
Basic computers for DIU laptop project studentsBasic computers for DIU laptop project students
Basic computers for DIU laptop project studentsAlauddin Azad
 
Basic Internet_Baabtra.com template
Basic Internet_Baabtra.com templateBasic Internet_Baabtra.com template
Basic Internet_Baabtra.com templateJijo Joseph
 
Web Technology and Standards Tutorial
Web Technology and Standards Tutorial Web Technology and Standards Tutorial
Web Technology and Standards Tutorial Jonathan Jeon
 
Online chatting system
Online chatting systemOnline chatting system
Online chatting systemSamakshgoel3
 

What's hot (16)

Web Tech
Web TechWeb Tech
Web Tech
 
Chat application android app ppt
Chat application android app pptChat application android app ppt
Chat application android app ppt
 
Voice browser
Voice browserVoice browser
Voice browser
 
Presentation 1
Presentation 1Presentation 1
Presentation 1
 
voice browser
voice browservoice browser
voice browser
 
Onlinechat
OnlinechatOnlinechat
Onlinechat
 
Introduction to web technology
Introduction to web technologyIntroduction to web technology
Introduction to web technology
 
Introduction To Web Technology
Introduction To Web TechnologyIntroduction To Web Technology
Introduction To Web Technology
 
Web Technology UPTU UNIT 1
Web Technology UPTU UNIT 1 Web Technology UPTU UNIT 1
Web Technology UPTU UNIT 1
 
Basic computers for DIU laptop project students
Basic computers for DIU laptop project studentsBasic computers for DIU laptop project students
Basic computers for DIU laptop project students
 
Onlinechat
OnlinechatOnlinechat
Onlinechat
 
Basic Internet_Baabtra.com template
Basic Internet_Baabtra.com templateBasic Internet_Baabtra.com template
Basic Internet_Baabtra.com template
 
Int d 4
Int d 4Int d 4
Int d 4
 
Web Technology and Standards Tutorial
Web Technology and Standards Tutorial Web Technology and Standards Tutorial
Web Technology and Standards Tutorial
 
Overview of TCP IP
Overview of TCP IPOverview of TCP IP
Overview of TCP IP
 
Online chatting system
Online chatting systemOnline chatting system
Online chatting system
 

Similar to Realtime communication in mobile

D1-3-Signaling
D1-3-SignalingD1-3-Signaling
D1-3-SignalingOleg Levy
 
WebSphere Liberty Rtcomm: WebRTC Middleware for the Enterprise
WebSphere Liberty Rtcomm: WebRTC Middleware for the EnterpriseWebSphere Liberty Rtcomm: WebRTC Middleware for the Enterprise
WebSphere Liberty Rtcomm: WebRTC Middleware for the EnterpriseBrian Pulito
 
Protolcols in communication system
Protolcols in communication systemProtolcols in communication system
Protolcols in communication systemArchana Dwivedi
 
Realtime mobile&iot solutions using mqtt and message sight
Realtime mobile&iot solutions using mqtt and message sightRealtime mobile&iot solutions using mqtt and message sight
Realtime mobile&iot solutions using mqtt and message sightfloridawusergroup
 
WebRTC - Bridging Web and SIP Worlds
WebRTC - Bridging Web and SIP WorldsWebRTC - Bridging Web and SIP Worlds
WebRTC - Bridging Web and SIP WorldsIMTC
 
Building a WebRTC Communication and collaboration platform - techleash barcamp
Building a WebRTC Communication and collaboration platform  -  techleash barcampBuilding a WebRTC Communication and collaboration platform  -  techleash barcamp
Building a WebRTC Communication and collaboration platform - techleash barcampALTANAI BISHT
 
SignalR powered real-time x-plat mobile apps!
SignalR powered real-time x-plat mobile apps!SignalR powered real-time x-plat mobile apps!
SignalR powered real-time x-plat mobile apps!Sam Basu
 

Similar to Realtime communication in mobile (20)

D1-3-Signaling
D1-3-SignalingD1-3-Signaling
D1-3-Signaling
 
WebSphere Liberty Rtcomm: WebRTC Middleware for the Enterprise
WebSphere Liberty Rtcomm: WebRTC Middleware for the EnterpriseWebSphere Liberty Rtcomm: WebRTC Middleware for the Enterprise
WebSphere Liberty Rtcomm: WebRTC Middleware for the Enterprise
 
Protolcols in communication system
Protolcols in communication systemProtolcols in communication system
Protolcols in communication system
 
WebRTC
WebRTCWebRTC
WebRTC
 
intro to iot.pdf
intro to iot.pdfintro to iot.pdf
intro to iot.pdf
 
Realtime mobile&iot solutions using mqtt and message sight
Realtime mobile&iot solutions using mqtt and message sightRealtime mobile&iot solutions using mqtt and message sight
Realtime mobile&iot solutions using mqtt and message sight
 
WebRTC presentation
WebRTC presentationWebRTC presentation
WebRTC presentation
 
WebRTC - Bridging Web and SIP Worlds
WebRTC - Bridging Web and SIP WorldsWebRTC - Bridging Web and SIP Worlds
WebRTC - Bridging Web and SIP Worlds
 
Building a WebRTC Communication and collaboration platform - techleash barcamp
Building a WebRTC Communication and collaboration platform  -  techleash barcampBuilding a WebRTC Communication and collaboration platform  -  techleash barcamp
Building a WebRTC Communication and collaboration platform - techleash barcamp
 
Chapter-1.pptx
Chapter-1.pptxChapter-1.pptx
Chapter-1.pptx
 
WebRTC Summit (June 2014) - WebRTC Interoperability (and why it is important)
WebRTC Summit (June 2014) - WebRTC Interoperability (and why it is important)WebRTC Summit (June 2014) - WebRTC Interoperability (and why it is important)
WebRTC Summit (June 2014) - WebRTC Interoperability (and why it is important)
 
protocols.pptx
protocols.pptxprotocols.pptx
protocols.pptx
 
SignalR powered real-time x-plat mobile apps!
SignalR powered real-time x-plat mobile apps!SignalR powered real-time x-plat mobile apps!
SignalR powered real-time x-plat mobile apps!
 
DevCon 5 (December 2013) - WebRTC & WebSockets
DevCon 5 (December 2013) - WebRTC & WebSocketsDevCon 5 (December 2013) - WebRTC & WebSockets
DevCon 5 (December 2013) - WebRTC & WebSockets
 
WebRTC
WebRTCWebRTC
WebRTC
 
chapter-1_iot.pptx
chapter-1_iot.pptxchapter-1_iot.pptx
chapter-1_iot.pptx
 
IOT UNIT 1B.ppt
IOT UNIT 1B.pptIOT UNIT 1B.ppt
IOT UNIT 1B.ppt
 
Html5 RTC - 1
Html5 RTC  - 1Html5 RTC  - 1
Html5 RTC - 1
 
Module 1.pptx
Module 1.pptxModule 1.pptx
Module 1.pptx
 
DevCon5 (July 2014) - Intro to WebRTC
DevCon5 (July 2014) - Intro to WebRTCDevCon5 (July 2014) - Intro to WebRTC
DevCon5 (July 2014) - Intro to WebRTC
 

Recently uploaded

Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 

Recently uploaded (20)

Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 

Realtime communication in mobile

  • 1. INTRODUCTION Realtime Communication in Mobile Girish Rengaswamy, Senior Manager - Mobile Solutions
  • 2. What is real-time communications (RTC) ? •Instant exchange of information. •Direct path between the source and the destination. •Half-duplex or full-duplex modes.
  • 3. Real-time communications can include: • Telephony in the conventional sense • Mobile and cellular telephone • Two-way or multi-way amateur radio • IRC or other chatting modes • Live videoconference and teleconference communications • SMS/MMS/IM
  • 4. Why did RTC using SMS/MMS failed? •Data Congestion • MMS is difficult to setup in the handset •Data limitation •Cost
  • 5. RTC in the Web: Early days •IRC •Yahoo Chat •ICQ •AIM •MSN Messenger •Skype
  • 6. RTC in Mobile: Now! WhatsApp FB Messenger Telegram Skype WeChat Hike Viber Snapchat Line SlackBBM QQ
  • 7. RTC Mobile apps usage 0 100 200 300 400 500 600 700 800 900 1000 1100 Whatsapp FB Messenger QQ WeChat Skype Line Viber Telegram Hike Messenger Active User (Millions)
  • 8. Technologies used by RTC Mobile apps WhatsApp FB Messenger Telegram Slack Protocol XMPP MQTT MTProto WebSocket Server/Broker ejabberd/YAWS IBM MessageSight/mos quitto* Unknown Java messaging service/Apache Server Side Programming Language Erlang/PHP* Java* Unknown Java/PHP Online Database Mnesia/MySQL* Unknown Unknown MySQL Offline DB SQLite SQLite SQLite SQLite * The information presented here has been collected from third party sources as many of apps mentioned here are not open about their architecture.
  • 10. XMPP (eXtensible Messaging and Presence Protocol) •XMPP is a client-server application protocol. •Uses TCP while WebSockets can also be used. •Push instead of pull. •Matured implimentaton. •Serverless Messaging (P2P) for Video, Audio and File transfer •Open source servers: Wildfire, ejabberd, Jabberd 2, Jabberd 1.4 •Supports wide variety of datastore like: MySQL, Postgresql, Oracle, sqlite, Berkeley DB, file
  • 11. WebSocket Protocol •WebSocket is a protocol providing full-duplex communication channels over a single TCP connection. •Works seamlessly over web, mobile and standalone application. •Works over a firewall •Client implementation in all most all the languages •Can be implemented in mobile apps using the following library •iOS : SocketRocket •Java-WebSocket
  • 12. Architecture for a scalable RTC App
  • 13. Cloud Based Platform Solutions for RTC
  • 14. What’s Next? •IOT based RTC mobile apps •AI systems •Wearables •Remotely control machines/robots/drones

Editor's Notes

  1. Any mode of telecommunications in which all users can exchange information instantly or with negligible latency. Although the link might contain several intermediate nodes, the data goes from source to destination without having to be stored anyplace In half-duplex RTC, data can be transmitted in both directions on a single carrier but not at the same time. In full-duplex RTC, data can be transmitted in both directions simultaneously on a single carrier. RTC generally refers to peer-to-peer communications, not broadcast or multicast.
  2. Telephony in the conventional sense Mobile and cellular telephone Two-way or multi-way amateur radio IRC or other chatting modes Live videoconference and teleconference communications SMS/MMS/IM
  3. Data Congestion during peak usage MMS is difficult to setup in the handset SMS 160 limit. Cannot send multimedia files unless converted to proprietary formats. Per Message rates set by the network providers
  4. All of the communication services listed here use proprietary protocols. Yahoo used their proprietary protocol They all failed to evolve into the mobile platform expect Skype
  5. China population 1.3 Billion India population 1.2 billion Snapchat of May 2014, the company has refused to disclose the total number of active monthly users Line app active users are mostly from Japan, Thailand ,Indonesia, Taiwan and South Korea
  6. Network protocol | TCP, HTTPS, WebSocket | HTTPS, TCP, UDP | TCP,HTTPS FB Messenger app used technologies it borrowed from Beluga pod which they acquired in 2011. MQTT(formerly MQ Telemetry Transport) - MQTT publish-subscribe based "light weight" messaging protocol for use on top of the TCP/IP protocol. (a low-power, low-bandwidth protocol) It is designed for connections with remote locations where a "small code footprint" is required or the network bandwidth is limited. The publish-subscribe messaging pattern requires a message broker. Facebook has used aspects of MQTT in Facebook Messenger.[12] However, it is unclear how much of MQTT is used or for what; Moreover, it is to be noted that this is a phone application, not a sensor application. Facebook recently switched its Messenger from pull based protocol to push based queueing system on top of MySQL storage backend. How to implement MQTT in android: http://stephendnicholas.com/posts/power-profiling-mqtt-on-android http://redmonk.com/jgovernor/2012/08/24/facebooks-new-native-ios-client-a-kingmaker-for-mqtt-ibm-facebook-no-shit/ http://mqtt.org/2012/09/mosquitoes-rabbits-facebook-portals-news-round-up https://www.facebook.com/notes/facebook-engineering/under-the-hood-rebuilding-facebook-for-ios/10151036091753920 https://core.telegram.org/mtproto Its possible to set a descriptor so that it is placed in "non-blocking" mode. When placed in non-blocking mode, you never wait for an operation to complete. This is an invaluable tool if you need to switch between many different connected sockets, and want to ensure that none of them cause the program to "lock up."
  7. Here you can see a supposed architecture of whatsapp. All of the server are clusters and distributed geographically
  8. Which differs from HTTP by allowing either side to send data to the other asynchronously. The default transport protocol is TCP while WebSockets can also be used. XMPP connections are long lived, and data is pushed instead of pulled. Matured implementation first release at 1999 and still activity developed. Using Jingle Many Open source XMPP servers are Wildfire, ejabberd, Jabberd 2, Jabberd 1.4
  9. Its only relationship to HTTP is that its handshake is interpreted by HTTP servers as an Upgrade request. ——————————————————————————————————————————— When you send bytes from a buffer with a normal TCP socket, the send function returns the number of bytes of the buffer that were sent. If it is a non-blocking socket or a non-blocking send then the number of bytes sent may be less than the size of the buffer. If it is a blocking socket or blocking send, then the number returned will match the size of the buffer but the call may block. With WebSockets, the data that is passed to the send method is always either sent as a whole "message" or not at all. Also, browser WebSocket implementations do not block on the send call. But there are more important differences on the receiving side of things. When the receiver does a recv (or read) on a TCP socket, there is no guarantee that the number of bytes returned correspond to a single send (or write) on the sender side. It might be the same, it may be less (or zero) and it might even be more (in which case bytes from multiple send/writes are received). With WebSockets, the receipt of a message is event driven (you generally register a message handler routine), and the data in the event is always the entire message that the other side sent. Note that you can do message based communication using TCP sockets, but you need some extra layer/encapsulation that is adding framing/message boundary data to the messages so that the original messages can be re-assembled from the pieces. In fact, WebSockets is built on normal TCP sockets and uses frame headers that contains the size of each frame and indicate which frames are part of a message. The WebSocket API re-assembles the TCP chunks of data into frames which are assembled into messages before invoking the message event handler once per message.
  10. PubNub - PubNub is a global Data Stream Network (DSN) and realtime infrastructure-as-a-service (IaaS). Uses WebSockets, Socket.IO, SignalR, WebRTC PubNub provides SDKs for over 70 different programming languages PubNub also provides client libraries for board platforms including Raspberry Pi, Arduino, Texas Instruments, and Microchip. 2. Pusher mainly communicates over a WebSocket connection. Contus Fly - uses the similar technology stack used by whats app. that is XMPP and ejabberd quickblox Firebase - realtime database and backend as a service.