Add to Watchlist

MAX: Realtime messaging and activity stream engine

6 views

Citation of segment
Embed Code
Purchasing a DVD Cite video

Automated Media Analysis

Beta
Recognized Entities
Speech transcript
if so welcome everybody thanks for being here on the thing with the spoken we rate really appreciate that and that we're going to move have a semi were going to the I give this talk local maxima real-time messaging and activity stream I don't I lessons
in Europe by developer and idea architecture of UBC need I not both Foundation members and I'm cortical Proceedings 2010 and I'm also I fear or it's
called upon 3 entrenched which was published in 2010 by but and long-term and kernels and time by phone and I was clearly the development and I'm working with Python for the last phase ideas and just because this project also occasionally which everyone and some of the kind of guy everyone asks for a rate is present and we've
picked up on begin doing good website with phoneme that you can see that is a private company that is owned by them when it was set up within the little known and so on and so we have the more bands and so 100 sites in blog running in university and the last 4 years from also makes some products we we've parents engaged again
odds we wanted to do so at the moment and I don't think we are able to do that because the and the why for these theory crabby but that's how it is however we tried to do that so let's see so but let's see what happens so want to do that because of course the amenities is was so why 1 thousand words and if it's not working on our merry so to get to of the shows what were the upon that and will of come on so it was really wanted to show you the stream which is thereby buzzing your eyes and plementation what doing that and little the hockey
self-awareness that we have this histories but this is the central part of the here which is that it works as this said is that you idling dation of max and in which we can we can have both things like like these so the low over his body on and then and that the full did reduce their ion right now powerless has also send me our our real-time assets which I II I can see that like you know in a real-time litigation and then knowledge legal tool that you then see that met some of the erasing that message and I can reply to the right like the so this is basically what we've gone these uh that the 2 main parts of the main features of of max on and we just wanted to show you let's back to the presentation so a living of history of max we initially designed max being the fact that we wanted to we have we we wanted to implement some kind of social interaction which is the concept that use nowadays used very trendy and for the university itself and we read initially designed that a key feature of the the the interaction popular what which is the the the streaming in giant on and then after that we we also I believe the the in the messaging at future as well and today matches use alive by more than 30 thousand students and 8 thousand the rest of the staff and eating directly mainly underlying come close of the University of obsolete in the institutional collaboration tools used by the that at basically what its max so during the needed it's it's an it's an enzyme that you see in the but basically is a RESTful API and we that we almost half 100 points I pass these 2 main features the service the user and the application of stream because we read that is not only it's it's capable of of receiving an activity from users but also from other applications and we
can impersonate obligations much talking in in the mouth of the users to also and that we can rely on at the that that kind of thing and then we have this thing grows messaging number under conversations future will we already seen it I know it's a GPL license so how
we came to to was that uh that that concept the concept that the uh using max we we have a lot of forums in the even in the online temples and in the also I wanted to look modernize so that the user experience our for that forum so we thought that maybe we could and reuse some of the of concepts of the forums in a spatial from topics because you are in your user you're interested in a special topics about you always have to go to the website and and check that and we want to that that the information came from and more than point of view to the user so we basically interviews that
concept of a context so the MACs with basically is the way that you read we
um well the likely so
imagine you have a context which that are mapped directly to topics to topics weeds out the the main features that they have they are related to a unique you're you're right so we can I'm happy to we're ritually at any any speech that even if it's not uh related to match the regularly but that and this context we can agree forced boards that have social features like commenting on our like soil and the fact that the primary feature and we had it also the concept of of subscription so I can subscribe myself or or someone gotten so described I need to a context i'm gonna like uh and and this person can believe me I don't run some some that some permissions that it allows me to interact with with with the context in in different ways so we have this description of the the context that these mapped to the topic so I can as a user I can subscribe myself to our all the context that that that I I wanted so
what about the the future of the context of the state is a unified by you need your your hands on we can have assigned permissions very context we show that you are basically and now we have these at 8 permissions with allows us through 2 more more build different kind of of context based on on on that permissions and that gives us almost 6 thousand and kind of context which is a pretty useful and useless fact however and that we we can also override of this aggression out there that the emissions of the user in and run a lot ways because we we are able to grant revolt it's a specific permissions for user for allowing users to the more than the the context so
whatever their own real-life examples for Latin for example we have now tool these is in areas where we have a community sides underlined campus in the community sites this kind of our as a said this interest social interaction at the University where we have a lot of a lot of communities which are directly mapped to 1 context about which guys have any of these cases like institutionally events traditional news or and Annandale income was we have all the subjects uh that that are mapped to each each 1 tool to a context I indicated
decide we decided to have these 3 community died just to show you what we can do and that we have the open communities when everyone can join and leave at we'll we have the close communities where they only showed it should invite me you know them to join but I can't leave also what I want I and the institutional accumulated I would a world where this side that means decides who subscribe but no 1 can leave this this is the idea example of the means of these additional events where I want that everyone be subscribed but nobody leaves as a
summary of features that we have the 2 stream your releasing in digits is stores activity from user applications and we have that social the features selected on the slides and we also have support for Apache the images and find this is a composition features is almost the same that because the Union kind of way R R sharing some of the basic features of the TDC and later countless would will show you on that we basically allows us to have a one-to-one to miss conversations and group composition as well and it supports also images and 5
this is something we have the service creator of URI we will you already seen are indeed the reference implementation of the of the wife attacking the DAPI and under you can use each other as example for implementing your your old uh you wife this a video which so we also
have been no difficulty and modification and John for the real time of feature of that it's but but most this place but for a specific which notifications for up and will and also these allow us to have a kind of the internal modifications to which we are exploring air right now that we really want it to be able to send the defecations for example to the desktop to the users and not related with the a real-time messaging but also for all the information that the media user could have we also have an external source aggregation we the are currently monitoring and not treated plastics include which we can push each uh inside the stream also as the also gives the children that we we are able to deploy the max company fuel or whatever we want and these address some security concerns that we could have used the 1st we are using more popular and tool like let's see let let's say out what's up alright message loss of things like that and if you are worried about that that the privacy and ownership uh we provide with a way to have a lack of corporate what's sample cooperate by so it's it's also a good feature and this is that the summary of them again I
will try to this playing you a little bit some of the components that we will have to make use it's possible that but when have kind to 3 different kind of components on the left you can see that the components that around the ones that have a user interface the ones that the user really uses and entities which are apps and being the intuition is that we have done with other systems like the 1 and love and India and the Javascript widget and that it can be really puts put anyway In this entity rats and they remains of water that we developed to use and we will with through some details of the and on the right some of the well known and so were present that we used as the mother of the back inside of of the of my
distracts from what we call a CDs season and implementation of also those sentiments to the sorry had asked to implementation and this is built on top of the dynamic and this is a very simple implementation will leave the support of the of this call that the resource owner creations flow the those and as we are we are using new wealth from trusted systems but we don't have the need of the more complex flows of wealth of define and even permission a lot of resources so as the systems where using these but I've trusted by their final user it's that it's that system that provides the needed grants was to obtain the tokens and under the validation are using normally being both in in all cities and towns in the API for storage and 1 of the reasons that we in the development of of our own system is because we know that we will have simply that's laugh at a specific user directory systems or a single sign-on systems and the wanted some flexibility tool of the whatever to those clients so we make our cities so which client and can get its own brilliant tool to adapt its features but we have the basis and that implementation and therefore also and a lot of service to our client is if they are not recover for the and maximizes the API parts and it's also don't of of the gametes and why we use the and it's we were using for the last 4 years we know pretty well what features the past and eat seats fitted well with what we wanted to achieve we use the API but I will not going deep out all the inference that we developed a max only a few of the implementation details that we years as for
example errors on the rooting of all the all the endpoints that existing max we use a and have a centralized plays in the cold when we define although the where else of of all the end points and the is used by the army to artfully find the rooting and we use it to generate ultimately commendation present on conduct strings of them on each implementation of the of the important and we also use these travellers from it's of it a combined way of reading that using euro dispatch for reaching the URL and terrorist but a to to retrieve the object that the is that the object offensive ideas and point so but once we enter in there In the definition in the actual coat of that of that M . we already have all their initialization authorization and that's education Don and so that the real call of each employing use very simple event and they sharp we also used future of identity and that is called twins to produce is actually the greater but managed by right I mean so you can you can find a lot of twins and you can define in which part of the twins are executed and basically you can perform tasks before and after the request and the system so you can modify their direct their into a request that has arrived and modified and the response to that will and will be shown to the user as an example of 1 of the 2 means
that if we have implemented as easily a check that is done on a special value 1 if you that we are using them because we thought that in maybe in some some point in time we would reach point that we we're what would that will have no option that makes some and the breaking change in the so all the mobile applications that you had distributed across all the client devices will be broken so the mobile devices and the at the APA several and agreed to in our in the in Valley that it's it's just an and the number that we are incrementing over time and each request check it on this on the number so each we you have to make a written change we just increment that number and then a lapse no that's a change from his made and that's probably and will there's another application is really and he tells the user to gradient so we have a control about this but we try not to make that kind of changes it's just in case we have no other option and the last thing about
Max sees how we implemented the exception handling we wanted them in a unified way to show the and across to them both to the and and final users that is using the API and and and a way to catch possible 400 extensions and box that appear the system so what we've done is that every year no 1 exception that we have in our culture he's rise of that as opposed to exceptional and then this is kind of value might be gametes text and exception and rendering of was and there's a message for each kind of of and so on and handle exceptions we record that is that of the area were included the information that was in their in the request and will
turn a little over the
user interface to be able to we expect that the about information and quickly acts of on possible backs without having to to really on on contact in the user trying to reproduce the of under real Bangham
missense in fact that we have used gravity and q is it is it is really the the sits at the end of that inmates where we where exploring different possibilities with diet and we experiment on circuit ideal then we tried we JSI and so that the yield to and finally we discovered 1 of the pollutants that come with gravity and without these a storm we so separates from the and then only if anyone had had of epistemology what we what we can achieve with these and also we the unique floating features that fast for everything and you is that we can we can't directly map and have to a client that can exist in the system to internal Kiwi any change a system of every of writing and call and also we have developed at an Atlanta looking for a very gentle to connect with you know where all those syndication and this
is an idea of what was implemented to to world to me suggest 1 new feature that we are very proud to is that's out there the structure of of some of these design holds that the security of so what what users the where users can read and write from so and each of the each of them the changes that you see here Our connected by some being the exam I maintain it might EPA calls so any any time a secretion suspicion is made the core meanings for each user are operator and so and as such can only go through the system that exist so the security is implicit in there in the design of the of the meaning we also develop
that kind of vertical message that is what messages and everything cool contains yeah and that message easy is designed to be pockets and on to use that the minimum size so we have a kind of underspecification toolbox the messages of a on static values that we know so we can go from this you Maria there format to these never really able for my soul it's not about read about but it's usually the
level it would have to prove in an anti sort images and
finally this is of them expanding component that is the key weak consumer is a process through consumer so we can stock many many consumer for each of the those would have developed and is in charge of taking the messengers and doing the appropriate test for to each message still to fill in the API is an and so on and that much money
component uses we comics client is itself I found weapon for the rest API that's a rather than all the functionality from the API and this is what these users tool from much money to quality the I was given and we also a but the specialization of them explained that the there was the item at client we each piece a way to from that executes all the code from max using official fake with the service so we can make a request in the same way that is on the material happy but without using the real services and at last the to turn on the extent of aggregation and he's not already spend so I want to show you now the current durations which you already seen in the demo which is the size of communities reduce these social internet we have the modeling the integration which is a stimulant in which we call the your land composed and also the 11 and the it's not so so it would be easy
URI so you be social interact with the keys of the jobs created which is in the middle this is the model
tried to or 1 of them because we have a lot of the of all also and we the integration of the all of the stream here which allows the students on the teachers to have for very tight communication and even with the stream on with that conversation about these are
the the diseases to the value this our and this is the
101 so they basically have the same this same of of functionality and
potentially durations and almost literally whatever you are thinking of we are also thinking in that a boat this stream also on Europe's or e-mail I don't know any any of this see via a web but we're happy that you have the because of the chemistry you don't put the JavaScript with barely that at fought and make it work with max anyway and then I will review exploring the idea of this said with with may be putting in our European something like that we see these we
have a huge list of how to do this because there so much to we I wanted to add social integration and satellite full length to deletion feature or share like the people 1 on the it was 1 of the we definitely have to the the the commendation may be explored the penalization of each of the alleles reason and then make it a real microsurgery is exploring also assume all kinds of cash like reviews for will also wanted to reported to Python 3 because we are using 7 right now and maybe use so and improve for our API by being a some additional the high-protein technology there and of course having a some kind of end-to-end encryption which is very close 1 but nevertheless but some of and so we are here also because we also want to explore it we can nebula community around Max reliability a let's say how happy and proud of what we've done and we know that there's a lot of false things of of of improvement but well so of definitely we want to know explorer what the we can do community around the time that this conflict as if you're interested are you find interesting and the present welcome disease the recovery the resources where you can go and take a look at the the different 1 is that the conditional on that and the other ones are there are repose have proposed of so much so I think you can think of few
non christians medicines so city choice several military besides traveling you were chosen in an interesting which 1 standing especially to the look at NPP 1 . us aphorical to use in Europe at the time of that so I'm interested in knowing what technologies US looked at instead of robbing Q and I'm especially interested in knowing if you guys take to go look at a QP 1 . 0 as a vertical to use rather than problem you with 0 . 9 OK missing a already said it's we use parameter we submit that you're the 1st approaches with that word without thinking you know unity we wrote in inside the system that we we realized that we we couldn't achieve a real real real time with a little with a system like that and thing so evidently is using IEEE and cool but we are using some of them extensions that everything you I fast has come forward understand the political so we are a little tight theories question yeah move in this sense distinctions and fj
Metropolitan area network
Maxima and minima
Message passing
Bit rate
Real-time operating system
Streaming media
Software developer
Scripting language
Software developer
Multiplication sign
Projective plane
Java applet
Core dump
Intranet
Kernel (computing)
Computer animation
Bit rate
Phase transition
Regular expression
Erlang distribution
Computer architecture
Optical disc drive
Goodness of fit
Musical ensemble
Word
Product (category theory)
Inheritance (object-oriented programming)
Blog
Universe (mathematics)
Moment (mathematics)
Website
Streaming media
Amenable group
Point (geometry)
Metropolitan area network
Service (economics)
Presentation of a group
Interactive television
Streaming media
Staff (military)
Student's t-test
Streaming media
Representational state transfer
Student's t-test
Cartesian coordinate system
Mereology
Number
Maxima and minima
Intranet
Maxima and minima
Message passing
Collaborative software
Computer animation
Universe (mathematics)
Right angle
Data conversion
Multiplication
Point (geometry)
Internet forum
Maxima and minima
Context awareness
Computer animation
Information
Internet forum
View (database)
Tabu search
Metropolitan area network
Context awareness
Pay television
Computer animation
Speech synthesis
Whiteboard
Subtraction
Descriptive statistics
Area
Context awareness
Building
State of matter
Latin square
Real number
Interactive television
Event horizon
Uniform resource locator
Latent heat
Type theory
Event horizon
Sample (statistics)
Computer animation
Personal digital assistant
Website
Bounded variation
Subtraction
Arc (geometry)
Slide rule
Real number
Computer file
Computer-generated imagery
Data storage device
Real-time operating system
Streaming media
Streaming media
Port scanner
Cartesian coordinate system
Event horizon
Open set
Local Group
Medical imaging
Arithmetic mean
Sample (statistics)
Type theory
Computer animation
Data conversion
Digitizing
Asynchronous Transfer Mode
Implementation
MP3
Service (economics)
Information
Source code
Sampling (statistics)
Data storage device
Insertion loss
Real-time operating system
Bit rate
Streaming media
Information privacy
Maxima and minima
Message passing
Computer animation
Absolute value
Information security
Address space
Complex (psychology)
Dataflow
Mobile app
Implementation
Service (economics)
GUI widget
Connectivity (graph theory)
1 (number)
Water vapor
Client (computing)
Mereology
Inference
Variable (mathematics)
Maxima and minima
Latent heat
Representational state transfer
Hybrid computer
Implementation
Subtraction
Physical system
User interface
Metropolitan area network
Dataflow
Validity (statistics)
Server (computing)
Token ring
Basis (linear algebra)
Bit
Data storage device
Directory service
System call
Maxima and minima
Plane (geometry)
Computer animation
Data storage device
Right angle
Single sign-on
Damping
Point (geometry)
Twin prime
Implementation
Game controller
Mobile app
Presentation of a group
Multiplication sign
Client (computing)
Mereology
Event horizon
Number
Maxima and minima
Mathematics
Computer configuration
String (computer science)
Authorization
Error message
Physical system
Metropolitan area network
Cartesian coordinate system
System call
Maxima and minima
Flow separation
Arithmetic mean
Computer animation
Personal digital assistant
Dependent and independent variables
Object (grammar)
Identical particles
Thermal conductivity
Area
Information
Maxima and minima
Maxima and minima
Message passing
Computer animation
Artistic rendering
Cuboid
Information
Extension (kinesiology)
Message passing
Exception handling
Physical system
User interface
Metropolitan area network
Digital electronics
Information
Mapping
Mathematical singularity
Client (computing)
System call
Web syndication
Mathematics
Computer animation
Gravitation
Queue (abstract data type)
Subtraction
Writing
Physical system
Metropolitan area network
File format
Multiplication sign
Demo (music)
File format
Client (computing)
Group action
Maxima and minima
Maxima and minima
Arithmetic mean
Message passing
Mathematics
Computer animation
Operator (mathematics)
Core dump
Revision control
Vertex (graph theory)
Message passing
Information security
Physical system
Data type
Metropolitan area network
Medical imaging
Message passing
Process (computing)
Computer animation
Connectivity (graph theory)
Energy level
Software testing
Quicksort
Message passing
Domain name
Maxima and minima
System call
Hoax
Service (economics)
Code
INTEGRAL
Scientific modelling
Connectivity (graph theory)
Client (computing)
Maxima and minima
Representational state transfer
Internetworking
Extension (kinesiology)
Metropolitan area network
Demo (music)
Key (cryptography)
Server (computing)
Interactive television
Computer
Client (computing)
Streaming media
Data storage device
Representational state transfer
Functional (mathematics)
Front and back ends
Maxima and minima
Hausdorff space
Process (computing)
Computer animation
Stress (mechanics)
Revision control
Metropolitan area network
Personal identification number
Computer animation
INTEGRAL
Telecommunication
Ext functor
Streaming media
Data conversion
Student's t-test
Streaming media
Form (programming)
Metropolitan area network
Maxima and minima
Email
Computer animation
Streaming media
Streaming media
Discrete element method
Vector potential
Satellite
Axiom of choice
INTEGRAL
Length
Multiplication sign
Data recovery
1 (number)
Electronic mailing list
Shared memory
Real-time operating system
Parameter (computer programming)
Theory
Maxima and minima
Flow separation
Word
Cache (computing)
Computer animation
Encryption
Absolute value
Extension (kinesiology)
Physical system

Metadata

Formal Metadata

Title MAX: Realtime messaging and activity stream engine
Title of Series EuroPython 2015
Part Number 158
Number of Parts 173
Author Bruguera, Carles
License CC Attribution - NonCommercial - ShareAlike 3.0 Unported:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal and non-commercial purpose as long as the work is attributed to the author in the manner specified by the author or licensor and the work or content is shared also in adapted form only under the conditions of this license.
DOI 10.5446/20093
Publisher EuroPython
Release Date 2015
Language English
Production Place Bilbao, Euskadi, Spain

Content Metadata

Subject Area Information technology
Abstract Carles Bruguera - MAX: Realtime messaging and activity stream engine What if I told you that we’ve built an open source “WhatsApp”-like RESTful API on the top of Pyramid? We've developed MAX: a real-time messaging service and activity stream that has become the key feature for a social intranet at the BarcelonaTech University We will show how we designed and built MAX with performance in mind using state of the art Python technologies like Gevent, WSGI, and multi-threaded queue processing. We will also show you how we've managed to design a simple architecture guaranteeing both high scalability and performance, achieving connecting ratios over 30.000 students, teachers, and university staff. The API is secured using oAuth 2.0 resource owner password credentials flow powered by our own oAuth server implementation (Osiris) also Pyramid-based. We are using MongoDB as general storage backend and RabbitMQ over websockets to support realtime and messaging.
Keywords EuroPython Conference
EP 2015
EuroPython 2015

Recommendations

Loading...
Feedback
AV-Portal 3.5.0 (cb7a58240982536f976b3fae0db2d7d34ae7e46b)

Timings

  748 ms - page object