Using Python and microservices to fuel WebPush at Mozilla

Video in TIB AV-Portal: Using Python and microservices to fuel WebPush at Mozilla

Formal Metadata

Using Python and microservices to fuel WebPush at Mozilla
Title of Series
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.
Release Date

Content Metadata

Subject Area
Using Python and microservices to fuel WebPush at Mozilla [EuroPython 2017 - Talk - 2017-07-13 - Anfiteatro 2] [Rimini, Italy] This talk will focus on how python and microservices fuel webpush in the storage team of Mozilla . It will also act as a good introduction to webpush technology and how to integrate it into web apps. The talk will cover: How webpush works? The roles played by the various players involved (service workers and push servers and how they interact to bring about the webpush magic). The idea behind the service, WebPush Channels which is at the heart of webpush at Mozilla's storage team. How the service was developed will be covered in detail. How developers can use WebPush Channels to integrate web push in their web apps
Trail Group action Supremum Software developer Googol Software developer Software Code Coma Berenices
State observer Information Gender Set (mathematics) Data storage device Student's t-test Mereology Software Term (mathematics) Synchronization Software Synchronization Error message
Web page Cellular automaton Data storage device Electronic mailing list Client (computing) Data storage device Client (computing) Web browser Cartesian coordinate system Rule of inference Element (mathematics) Arithmetic mean Synchronization Synchronization Website Software testing Library (computing)
Web application Information Cellular automaton Student's t-test Web browser Router (computing)
Web 2.0 Uniform resource locator Server (computing) Cellular automaton Website Computer worm Encryption Data structure
Dependent and independent variables Information Server (computing) Channel capacity Maxima and minima Cartesian coordinate system Demoscene Web application Arithmetic mean Internetworking Network socket Password Encryption Computer worm Encryption Quicksort
Point (geometry) Pay television Multiplication sign Authentication Web browser Formal language Encryption Cuboid Software framework Sanitary sewer Boss Corporation Dependent and independent variables Programming paradigm Information Key (cryptography) Projective plane Data storage device Electronic mailing list Price index Cartesian coordinate system Software maintenance Web application Uniform boundedness principle Message passing Data management Personal digital assistant Password Order (biology) Musical ensemble Computer worm
Point (geometry) Authentication Pay television Pay television Information Key (cryptography) Multiplication sign Workstation <Musikinstrument> Independence (probability theory) Core dump Software framework Descriptive statistics Social class Task (computing)
Chain Serial port Demo (music) Server (computing) Demo (music) Information
Server (computing) Token ring Menu (computing) Information Bulletin board system Form (programming)
Authentication Randomization Information String (computer science) Multiplication sign Image registration Physical system
Authentication Type theory Permanent Projective plane Entropie <Informationstheorie> Field (computer science) Hand fan
Multiplication sign Ranking Hacker (term) Computing platform Number Form (programming)
Multiplication sign
Point (geometry) Pulse (signal processing) Functional (mathematics) Service (economics) Pay television Momentum Multiplication sign Connectivity (graph theory) Set (mathematics) Branch (computer science) Computer hardware Energy level Endliche Modelltheorie Physical system Standard deviation Inheritance (object-oriented programming) Block (periodic table) Weight Projective plane Instance (computer science) Cartesian coordinate system Demoscene Vector potential Type theory Message passing Process (computing) Whiteboard Local ring
I am a software development on a track that and then doing my g sup with whom you and I'm working on increasing goal this coverage for groups and added morality with Mozilla now for those of you would not know about delta g of
it is basically an initiative of the software freedom tendency it's all part of observations so remain not genders and other underrepresented communities that would ounce every year without the T I but the last term which was errors from December to March and allow for more information you can now find it on do no not taught sense of teaching now I did manage
EEG with Mozilla and the logic of that I will on with people so indoor is basically a minimalist use on students overseas it has the synchronization and sharing abilities it's all it's basically written in Python and in Firefox it's used for settings and stored start thinking now a little more about how candle is used in
5 it know that rule client libraries that embedded in Firefox 1 is that in the HTTP client with Santa Claus http requests to begin to API to fetch the bell well that offline client is useful offline synchronization now that applications where this actually is used is 1 the other which is basically a list of that of altered the gets then it also but it also has a list of 4 Adams and plug and all that and militias and protect you from using those and then it's also use the storage don't think API added also stores the bell for A B testing experiments in Iowa not
coming to the mean of the topic of today is that we're discussing which push no 1st I'd like name impact on knowledge aware was how it on walks what those elements are at play here that the things 1 is the cell was local a well close the city of Dallas to by which what's in the bag of it all it handles modifications and what about dancing Gaby about the background things API not so always look at in with the only walk on all on a website a web page that is adjusted away to DBS
all coming to the post so will oppose so basically a so that is associated with the browser it acts as a router between the browser and the web applications so what it has no need of from the web applications so well student now the red up so that up so as basically the cell associated with a web application which sends out information to
the user is basically the users know
then by the structure of how it works so basically when you know on a website
which has the facility of sending notifications you see a pop up which you if you would like those of stifle notification if you click on allow the cell is look at associated with the web so we build their about send send the request to the post so were although about the same here I would like to subscribe to notifications and please give me some credentials like and forwarded
to the web applications the world and informed the and applications so readily to where where to reach me of that leads out the mean so that was so a response back with read it things 1 is the encryption keys 2nd is the capability you I know that the ways in which information can be accessed over the internet the 1st is to a password on a book
in where a red in the use access information has the possibility sort and the other way is that the information is available on obscure new ideas and people who should have access to that information I the only ones with
access to those you want such an order that point capability what it took was so a response back with a capability 1 and and encryption key 1 month of the was looking to see these it need to send it to the web applications a work thing here these this is where you can beat out of each of the mean me and those so would go bad applications so which and boiling is the kinda so when you have a known the use case all stores then end point then the intention he's no and so has to push information out to the users what it takes the payload which is basically the information that has to be sent across and uses these encryption keys to the debate or and then send a constant quest to them for so what about the center poster quiz basically the was the was thinking these then this information across and then the boss so so and I'll send it across to develop the and then across the browser of using the UAI nite you where it is basically the user is and ID with this with bitch of was so they could measure the particular browser so attended across your browser using the you idea and then the browser routed across to the book below the belt across the budget as those with the using a tiny lady maybe the user does not online at that time then that was so what will you will build of message that had to be sent for a particular amount of time by the DBN went to the band delivered which was the which which has to be specified by the web applications that will not
coming to the spot where we would like them in the box where they all make the project I'm talking about those Michael so this is the method might result list that I I and my mentor design you all of user's so that all users of a push my thesaurus not considering the use cases we decided that a pub sub paradigm would be best for designing know but service basically of a publish-subscribe in which the publishers and subscribers the subscribers choose to subscribe to certain China's according to the information they want to be notified about and the publishers and across information to a particular time extend across and 1 course and all of those users that have subscribed nobody that I don't get the information about it the not been felt since we need to maintain information about China's and then we also need to save subscriptions the data about the encryption keys and the capability where we needed to points specifically which will be the the last time and this last subscriptions and points to and now we also do not want to all be using called we did not want to use those would not want have user management basically not having username and password for using this so we decided to overt indication we need you also do better do this nodal major question that we had at hand was how to go about designing it how to the what language do you was what framework the user how to go about it so then we use standard of
course kinda not all is not like a framework what it's basically like a 2 week at which you can use to the it has to be revisited the eyes it exposes well-defined the endpoints and it's very on built using appointees that are and as the anatomy court as the anatomy course forward DW sessions and we'll and blunders endowment foliage http stuff and the rest stuff no which ended up for you don't you get the you get the independence to customize and also you get a lot before points so the only it doesn't matter if 1 was to that at the end points we acquired which was saddened subscriptions the all that was basically customizing it for I use this to the other end points already there for example the heartbeat endpoint another endpoints and it also had the ability to handle the authentication for us hadn't monitoring for us and also give us the ability to add gas if we needed not coming to the jonathan .
battalion of the channels point is such that if you want to adjust a new time if even if the child does not exist oddity you can adjusted using the ports last and tasks and Lady station and you can add any new time lady your the and in need of articular times you can use the class and the class ladies slash vegetation and to get information about a particular time so you want to know how many users of adjustable but at the time and how many times information has been pushed out at that time you can get that information using gets last sentence slash and lady and you also information to a particular time you can use both class sentence that and lady not coming to the end point subscriptions where we need to maintain information about what encryption keys and anyone who has ever come from a particular user of course that subscription we had you send information of let you post the subscription information to build a libido microphone after the API basically all gets class subscriptions will help you will that information about the descriptions of a particular user the when you delete all the subscriptions and if you want the divided the subscription ID deletes last subscriptions start subscription ID will do the let them into the
demo I started so it starts fusing meek soul so depending on the 9 9 import and now
to subscribe to a journal it you the and Singapore
to questions of step at the time and you're as you can see below also listening at all you agree was 9 9 9 9 as I started 0 you have it as easy work and the bill China lady them using this form that form the updated
system random string them using and the devastation and 1 for a distinct and the off and using it for authentication so I haven't have subscribed to that and now the Bush this the not a bush information
that time I can send like can or I can send all of those genes on those days on that I have which is the dialog as modified and some information to build I'm posting of this to the endpoints
national fashion lady using the authentication tokens fan so like I've been able to Boston and all like I get to the do since it has been accepted now I'd like to
have my mentors ME for Joe helping me inviting me on to this project and this was maltreated project basically now for those of you would like to start contributing to condole you can find a signed it up I get about concession doing you can also join us slack talent on slag disorders start on and all you can also all of joint IRC channel on IRC doctrine or . net and all Permanent donor type that
and for those companies who still use the of numbers forms the main goal of the and all you stifle interviewing How can for a walk gives you the ability to 0 then interviews online it's anonymous assessment platform and on so H. l B as fast and decoding it had showed it to those hiding manages the readout all figured out qualified candidates pretty quickly and go out there and what has happened the community which is out of the city where you can't always develop was conducted their coding schemes the the the thank
you all you can contact me on merely conforming to and we're done and going back then on that's it thank you all I will blow Michael blood selected it so I did not have a lot of time to prepare so I could depend only on the shot clock thank you any
questions the we have plenty of time for questions yes we 1 question there at hi that you took and would I
be able if I wanted to the user can say and of pulses the a I am not will to understand what the scene if I wanted to be a user can say could I set up my own Push Service using parents yeah branch firefox in consider my impression all the i you can definitely use so you can definitely use of this of it's basically like of the
bikers so that is the point at which China's and you can definitely use it you indicated you with your itself overjoyed that application and you can use it for Bush modifications you basically have larger so was local fire of which will be endorsed and you have to send the request to the was so what basically you there's an point all I don't remember the exact where all its own was a levels of basically the blouses was so we have to send a request of this oddity function dollars components if you don't want explicitly send a request so understand the request we get back a local credentials standard potential through the Oaks so using a POST request do this so what does the learning instances of this so what are known all I don't remember the letter again but is it an instance of the so were and you can send a request of post request subscriptions will be saved and then you can adjusted whatever time as you want of using go the pool using that would request and then when evidence of a notification has to be sent out that you can do go out by sending requests to go FIL again and the so will then out the dope was stolen and then it will be shown to the users is modification and in fact in on the was can build for other projects if they is it in the article is basically made of flat made out of like it's made using the dominant and lightning swoop d'intérêt boredom use would have an idea what the budget to say accept any other questions any into question when I have a question so can you give us an NATO type of you know performance or or you know maybe hardware requirement to handle you know I imagine and this type of system gets a lot of low lots of messages going out to browse around and is it very the a a very heavy process the unique Bexar reversed or or is something that is very light weight and you know just a regular so long and model then held call what's so instances being used for this but of the momentum me he looks at Mozilla so he of all the data a set of the solar so whenever was allow users for this so was sure of of that is being used for this so far for the for the so we feel that push and so what and so the so basically all in general kinda got board handles all the all had interrupt what is it would have been a little the request that come across in a fast manner on and lake or this is where we chose to use into the because there was a little woken cannot block the drug would has all what like quantity has all the ability to handle the post requests in our the vitamin so we just have to create a few functions which could handy of which could handle that particularly point and so they would all there were the many custom endpoints that would that would kinda awkward so the capital of any other questions if if I don't see you folks if we've but OK if there are no more
questions than uh let's thank our speaker again here