History

The Push Service was originally developed in Go, utilizing a websocket
connection from Firefox OS to the Push service. It was
deployed in 2013
with the legacy SimplePush DOM
API that runs
under Firefox OS. This API only supported incrementing version numbers,
to wake a device so that it could check with an Application Server to determine
what to display.

In 2015 the Push Service was rewritten in Python, and added preliminary
WebPush support for carrying data in push messages. The underlying
protocol used between Firefox and the Push Service is an extended
SimplePush Protocol utilizing a websocket protocol that will eventually be
deprecated in favor of a specification compliant WebPush HTTP 2.0
protocol.