SlideShare a Scribd company logo
SAPO messenger meets Web2.0:Create your own Instant Messaging mashups!
Overview	IntroductionXMPP BasicsHow to use the API	What can you do?
IntroductionTest and develop your own plug-ins! The best ones developed in Codebits are going to be available in SAPO’s community, in our new and upcoming site.The SAPO Messenger Apps:XMPP basedDelphi (windows client)Javascript (web client)Our team:Luis TroniJorge CruzCarlos Oliveira
XMPP Basics – Stands for ...	eXtensible Messaging and Presence Protocol:Real time messaging systemXML basedDecentralizedSecureFlexibleOpen standards                                                             Useful link: http://xmpp.org/
XMPP Basics – Packet trafficClientalice@sapo.ptClientjohn@gtalk.comEjabberd Serversapo.ptServergtalk.com Inter-domain packet traffic is established between servers not clients
 Inter-domain authentication is not supportedXMPP Basics – Jabber ID (JID)UserDomainResourcealicesapo.ptworkplace@/Bare JIDFull JID
XMPP Basics – Stanzas types<message/> - the conversation itself<presence/> - it is the way you define your status on the web, there are several types of presences, ex: online, away,...<iq/> - Information Queries, the way you change stuff
How to use the API (I)Create Plugins folder inside app folder:
How to use the API (II)	Must have plugin.ini with required data
How to use the API (III)plugin.ini example[plugin][plugin]entrypoint= Mainlanguage= VBScript[description]Name= Hello World!Description= your friendly hello world test!Author = SAPOVersion= 1.0.0.0[components]File1=Test01.vbsName of the entry functionLanguage of the plug-inFile(s) that contains the source code
How to use the API (IV)	Plugins will be loaded on main window, as defined in plugin.ini
How to use the API (V)	The Windows Script Host API:Roster_OnPresenceChange (int Presence  Value) Roster_OnMoodChange (int Mood Value) Roster_OnStatusChange (strStatusPhrase Value) Roster_OnPresenceReceived (str JID Value,int Presence value) Roster_OnDisconnect
What can you do? - Example CodeThe “hello world” example
What can you do? – Other ideas	Real-time Social Networking    Insert RSS notifications    React to XMPP events (ex: change status)<Insert your idea here/>
	@web: http://messenger.sapo.pt/codebits 	@e-mail & @xmpp:messenger.plugins@sapo.ptFeel free to contact us!

More Related Content

PDF
DomDisc and the Domino data api
PDF
Secure and practical authentication in API Platform
PPT
Rapid java backend and api development for mobile devices
PPS
PHP - History, Introduction, Summary, Extensions and Frameworks
PDF
Phalcon Framework: San Antonio Web Developers Group
ODP
Technology / Open Source @ Creative Commons (CC Salon SF, August 2009)
PDF
Lean Php Presentation
PPTX
Kiwipycon command line
DomDisc and the Domino data api
Secure and practical authentication in API Platform
Rapid java backend and api development for mobile devices
PHP - History, Introduction, Summary, Extensions and Frameworks
Phalcon Framework: San Antonio Web Developers Group
Technology / Open Source @ Creative Commons (CC Salon SF, August 2009)
Lean Php Presentation
Kiwipycon command line

What's hot (12)

PDF
Building Awesome APIs with Lumen
PPTX
Exploring Ruby on Rails and PostgreSQL
PPTX
PDF
Fluentd Unified Logging Layer At Fossasia
PDF
PHP is the king, nodejs is the prince and Lua is the fool
PDF
Building Applications Using Ajax
PDF
Flask for cs students
PPTX
Php intro
PPTX
Phalcon 2 - PHP Brazil Conference
PDF
Complete WPF Overview Tutorial with Example - iFour Technolab
PDF
Code rippa
Building Awesome APIs with Lumen
Exploring Ruby on Rails and PostgreSQL
Fluentd Unified Logging Layer At Fossasia
PHP is the king, nodejs is the prince and Lua is the fool
Building Applications Using Ajax
Flask for cs students
Php intro
Phalcon 2 - PHP Brazil Conference
Complete WPF Overview Tutorial with Example - iFour Technolab
Code rippa
Ad

Viewers also liked (7)

PPT
米羅(20張)
PPT
Roessle pres
KEY
Fall 2009 Keynote - eMotions in Motion
PDF
Project Mi
PDF
In Game Advertising
PPT
Vedo Nityam Adhiyatham
DOC
米羅(20張)
Roessle pres
Fall 2009 Keynote - eMotions in Motion
Project Mi
In Game Advertising
Vedo Nityam Adhiyatham
Ad

Similar to SAPO Messenger Meets Web 2.0 (20)

DOCX
unit1 part 1 sem4 php.docx
PDF
Build Great Networked APIs with Swift, OpenAPI, and gRPC
PPTX
flask.pptx
PPTX
08 - Data Fetch (Monica).pptx
PPTX
IoT Service Bus - High availability with Internet of Things (IoT)/ API Rest/ ...
PDF
Unleash your Symfony projects with eZ Platform
PPT
Create Cross-Platform Native Mobile Apps in Flex with ELIPS Studio
PDF
High quality ap is with api platform
PPTX
solution Challenge design and flutter day.pptx
PDF
Introduction to Slack App Development
PPT
In Act Developers Platform
PPT
Tutorial: Writing Sencha Touch Mobile Apps using ]project-open[
KEY
APIs Demystified
PDF
Internationalizing The New York Times
PDF
Creating Rajanikant Powered Site
PPTX
German introduction to sp framework
PDF
A high profile project with Symfony and API Platform: beIN SPORTS
PDF
IRJET- Mail Server Communication:PHP
PPT
BarCamp KL H20 Open Social Hackathon
unit1 part 1 sem4 php.docx
Build Great Networked APIs with Swift, OpenAPI, and gRPC
flask.pptx
08 - Data Fetch (Monica).pptx
IoT Service Bus - High availability with Internet of Things (IoT)/ API Rest/ ...
Unleash your Symfony projects with eZ Platform
Create Cross-Platform Native Mobile Apps in Flex with ELIPS Studio
High quality ap is with api platform
solution Challenge design and flutter day.pptx
Introduction to Slack App Development
In Act Developers Platform
Tutorial: Writing Sencha Touch Mobile Apps using ]project-open[
APIs Demystified
Internationalizing The New York Times
Creating Rajanikant Powered Site
German introduction to sp framework
A high profile project with Symfony and API Platform: beIN SPORTS
IRJET- Mail Server Communication:PHP
BarCamp KL H20 Open Social Hackathon

Recently uploaded (20)

PPTX
Machine Learning_overview_presentation.pptx
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Network Security Unit 5.pdf for BCA BBA.
PPTX
Big Data Technologies - Introduction.pptx
PPT
Teaching material agriculture food technology
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Empathic Computing: Creating Shared Understanding
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
Cloud computing and distributed systems.
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Machine Learning_overview_presentation.pptx
“AI and Expert System Decision Support & Business Intelligence Systems”
The Rise and Fall of 3GPP – Time for a Sabbatical?
Network Security Unit 5.pdf for BCA BBA.
Big Data Technologies - Introduction.pptx
Teaching material agriculture food technology
Advanced methodologies resolving dimensionality complications for autism neur...
Assigned Numbers - 2025 - Bluetooth® Document
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
MYSQL Presentation for SQL database connectivity
Dropbox Q2 2025 Financial Results & Investor Presentation
Empathic Computing: Creating Shared Understanding
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Cloud computing and distributed systems.
The AUB Centre for AI in Media Proposal.docx
Building Integrated photovoltaic BIPV_UPV.pdf
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf

SAPO Messenger Meets Web 2.0

  • 1. SAPO messenger meets Web2.0:Create your own Instant Messaging mashups!
  • 2. Overview IntroductionXMPP BasicsHow to use the API What can you do?
  • 3. IntroductionTest and develop your own plug-ins! The best ones developed in Codebits are going to be available in SAPO’s community, in our new and upcoming site.The SAPO Messenger Apps:XMPP basedDelphi (windows client)Javascript (web client)Our team:Luis TroniJorge CruzCarlos Oliveira
  • 4. XMPP Basics – Stands for ... eXtensible Messaging and Presence Protocol:Real time messaging systemXML basedDecentralizedSecureFlexibleOpen standards Useful link: http://xmpp.org/
  • 5. XMPP Basics – Packet trafficClientalice@sapo.ptClientjohn@gtalk.comEjabberd Serversapo.ptServergtalk.com Inter-domain packet traffic is established between servers not clients
  • 6. Inter-domain authentication is not supportedXMPP Basics – Jabber ID (JID)UserDomainResourcealicesapo.ptworkplace@/Bare JIDFull JID
  • 7. XMPP Basics – Stanzas types<message/> - the conversation itself<presence/> - it is the way you define your status on the web, there are several types of presences, ex: online, away,...<iq/> - Information Queries, the way you change stuff
  • 8. How to use the API (I)Create Plugins folder inside app folder:
  • 9. How to use the API (II) Must have plugin.ini with required data
  • 10. How to use the API (III)plugin.ini example[plugin][plugin]entrypoint= Mainlanguage= VBScript[description]Name= Hello World!Description= your friendly hello world test!Author = SAPOVersion= 1.0.0.0[components]File1=Test01.vbsName of the entry functionLanguage of the plug-inFile(s) that contains the source code
  • 11. How to use the API (IV) Plugins will be loaded on main window, as defined in plugin.ini
  • 12. How to use the API (V) The Windows Script Host API:Roster_OnPresenceChange (int Presence Value) Roster_OnMoodChange (int Mood Value) Roster_OnStatusChange (strStatusPhrase Value) Roster_OnPresenceReceived (str JID Value,int Presence value) Roster_OnDisconnect
  • 13. What can you do? - Example CodeThe “hello world” example
  • 14. What can you do? – Other ideas Real-time Social Networking Insert RSS notifications React to XMPP events (ex: change status)<Insert your idea here/>
  • 15. @web: http://messenger.sapo.pt/codebits @e-mail & @xmpp:messenger.plugins@sapo.ptFeel free to contact us!