How we built a decentralized blogging engine with XMPP J er ome - - PowerPoint PPT Presentation

how we built a decentralized blogging engine with xmpp
SMART_READER_LITE
LIVE PREVIEW

How we built a decentralized blogging engine with XMPP J er ome - - PowerPoint PPT Presentation

How we built a decentralized blogging engine with XMPP J er ome Poisson (Goffi) FOSDEM Saturday 30th January 2016 Plan XMPP PubSub PEP Microblogging solutions! Conclusion XMPP XMPP standard (RFCs 6120, 6121, 6122)


slide-1
SLIDE 1

How we built a decentralized blogging engine with XMPP

J´ erˆ

  • me Poisson (Goffi)

FOSDEM

Saturday 30th January 2016

slide-2
SLIDE 2

Plan

XMPP PubSub PEP Microblogging solutions! Conclusion

slide-3
SLIDE 3

XMPP

XMPP

◮ standard (RFCs 6120, 6121, 6122) ◮ decentralized/federated ◮ libre (free as in freedom) ◮ extensible

slide-4
SLIDE 4

XMPP

◮ jid (Jabber ID): goffi@jabber.fr/S`

aT

◮ XSF (XMPP Standards Foundation) ◮ XEP (XMPP Extension Protocol)

slide-5
SLIDE 5

XMPP

XMPP

slide-6
SLIDE 6

XMPP

XMPP is

slide-7
SLIDE 7

XMPP

XMPP is NOT

slide-8
SLIDE 8

XMPP

XMPP is NOT ONLY

slide-9
SLIDE 9

XMPP

XMPP is NOT ONLY about

slide-10
SLIDE 10

XMPP

XMPP is NOT ONLY about instant

slide-11
SLIDE 11

XMPP

XMPP is NOT ONLY about instant messaging

slide-12
SLIDE 12

XMPP

XMPP is NOT ONLY about instant messaging !

slide-13
SLIDE 13

XMPP

XMPP is NOT ONLY about instant messaging ! !

slide-14
SLIDE 14

XMPP

XMPP is NOT ONLY about instant messaging ! ! !

slide-15
SLIDE 15

Plan

XMPP PubSub PEP Microblogging solutions! Conclusion

slide-16
SLIDE 16

But why?

◮ decentralized

◮ comments ◮ spam

◮ standard (JID, content, URIs)

◮ changing software ◮ import/transfer ◮ URIs

xmpp:romeo@montague.lit?;node=urn%3Axmpp%3Amicroblog%3A0

◮ cool XMPP features ◮ push notifications ◮ mention ◮ private blogs ◮ . . .

◮ a huge playing ground, open to the world

slide-17
SLIDE 17

PubSub

◮ XEP-0060 ◮ Pubish/Subscribe ◮ long XEP ◮ powerful, huge potential

slide-18
SLIDE 18

Plan

XMPP PubSub PEP Microblogging solutions! Conclusion

slide-19
SLIDE 19

vocabulary

◮ service ◮ node ◮ item

slide-20
SLIDE 20

Plan

XMPP PubSub PEP Microblogging solutions! Conclusion

slide-21
SLIDE 21

affiliations

◮ owner ◮ publisher ◮ member ◮ none ◮ outcast

slide-22
SLIDE 22

Plan

XMPP PubSub PEP Microblogging solutions! Conclusion

slide-23
SLIDE 23

access model

◮ open ◮ presence ◮ whitelist ◮ roster

slide-24
SLIDE 24

Plan

XMPP PubSub PEP Microblogging solutions! Conclusion

slide-25
SLIDE 25

but also

◮ collections ◮ notifications filtering ◮ automatic nodes creations ◮ temporary subscriptions ◮ metadata ◮ etc

slide-26
SLIDE 26

PEP

◮ XEP-0163 ◮ simplified PubSub ◮ easier to implements ◮ events (mood, activity, music)

slide-27
SLIDE 27

PEP

◮ 1 account (jid) = 1 service ◮ 1 publisher per node (owner = publisher) ◮ presence access by default ◮ notifications filtered on expressed interest ◮ smart defaults

slide-28
SLIDE 28

Microblogging

◮ XEP-0277 ◮ PEP ◮ Atom

slide-29
SLIDE 29

Microblogging

◮ publishing/answering ◮ comments ◮ tags ◮ etc

slide-30
SLIDE 30

Plan

XMPP PubSub PEP Microblogging solutions! Conclusion

slide-31
SLIDE 31

problems

◮ implementations not complete/not existant/issues ◮ development cycle ◮ special features ◮ RSM (XEP-0059) and MAM (XEP-0313)

slide-32
SLIDE 32

Plan

XMPP PubSub PEP Microblogging solutions! Conclusion

slide-33
SLIDE 33

Libervia/Salut ` a Toi special case

◮ fine permissions ◮ new access model (publiser-roster)

slide-34
SLIDE 34

solutions!

◮ not being dependant of the server anymore ◮ quick development cycle ◮ lot of freedom ◮ generic

slide-35
SLIDE 35

Plan

XMPP PubSub PEP Microblogging solutions! Conclusion

slide-36
SLIDE 36

Namespace Delegation

◮ XEP-0355 ◮ external implementation ◮ admin & client modes

slide-37
SLIDE 37

Plan

XMPP PubSub PEP Microblogging solutions! Conclusion

slide-38
SLIDE 38

Priviliged Entity

◮ XEP-0356 ◮ roster ◮ message ◮ presence

slide-39
SLIDE 39
slide-40
SLIDE 40
slide-41
SLIDE 41

Conclusion

XMPP rocks!

slide-42
SLIDE 42

◮ https://libervia.org/blog/salut-a-toi ◮ https://xmpp.org ◮ https://xmpp.org/xmpp-protocols/xmpp-extensions/ ◮ http://salut-a-toi.org ◮ http://www.goffi.org ◮ goffi@jabber.fr