Mansimar Kaur
Using python and microservices to fuel WebPush at Mozilla
Ever wondered how the push notifications you get actually reach to you from the time you click on ‘Allow notifications’ to seeing the notifications actually appear on your screen?
This talk will cover in detail how the WebPush technology works followed by a discourse on how to build a backend for handling webpush subscriptions and sending notifications coupled with lessons learnt while developing a push microservice at Mozilla.
Outline
What is Web Push?
- A brief about what the webpush technology is and how it works.
- What are service workers and their role in webpush.
- What are push servers and their role in webpush.
- How to subscribe to push notifications
How we built a webpush microservice using Python at Mozilla?
- What are the various components?
- How to handle authentication for requests?
- What are channels and how to implement them?
- How to implement subscription to a channel?
- How to implement publishing to a channel?
Speaker bio
Mansimar was a software developer intern at Mozilla and as part of her internship, developed a PubSub channels based push microservice. She has spoken at FOSDEM 2017 and EuroPython 2017 about the webpush technology and has written a series of articles about her work and webpush technology. She worked on Brew as part of Google Summer of Code 2017 with Homebrew. Previously, she was also an intern with HackerRank. Being an ardent open source enthusiast, she has contributed to Kinto - a minimalist JSON storage service, Brackets - a code editor by Adobe and also has a string of self-projects that she’s proudly maintaining.
Links
- LinkedIn - https://www.linkedin.com/in/mansimarkaur/
- Twitter - https://twitter.com/mkaur1102
- Blog - https://medium.com/@mansimarkaur.mks
- Talk at FOSDEM 2017 - https://www.youtube.com/watch?v=Ld4PFVlbCPk&t=181s
Slides
https://docs.google.com/presentation/d/161Om8lLaXJYF5nqrYkoP8Zzm26Kxh8LpXAZ76LoYDSc/edit?usp=sharing
{{ gettext('Login to leave a comment') }}
{{ gettext('Post a comment…') }}{{ errorMsg }}
{{ gettext('No comments posted yet') }}