CloudServices/Notifications: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
Line 42: Line 42:
** Assume users have Sync accounts
** Assume users have Sync accounts
** Encryption: TBD
** Encryption: TBD
** Client code at XXX
** Server code at XXX


=== Proof of concept (End of Apr 2011) ===
=== Proof of concept (End of Apr 2011) ===

Revision as of 03:36, 17 February 2011

Project

  • Engineers
    • Alex Amariutei
    • Shane da Silva
    • Toby Elliot
    • Philipp von Weitershausen
  • Meeting Notes

Goals

  • Push notifications from the cloud to the browser and other 3rd party clients (e.g. phones)
    • receive notification of new email, eBay auction ending, new FB message, etc. without the need to have the tab open
    • possibly client-to-client in the future, e.g. open this tab on my mobile phone, pull-sync, etc.
  • Messages are encrypted so that the service provider (Mozilla) does not get to read them (like Sync)
  • People should be able to run their own service (like Sync)
  • Must be super easy for web apps to implement (adoption!)

Milestones

First prototype and research phase (End of Jan 2011)

  • First prototype
    • Server: simple Python app
    • Client: use HTTP long polling
    • No encryption
    • Server code at XXX
    • Client code at XXX
  • Research messaging protocols (XMPP and AMQP)
  • Decide on protocol + technology
    • protocol: AMQP
    • RabbitMQ broker + REST agents in Python

Second prototype using AMQP (End of Feb 2011)

  • Develop system specification
    • Notifications client API (AMQP + REST)
    • Web app facing REST API
  • Second prototype
    • Client: (partially) implement AMQP client protocol for Firefox
    • Server: Set up RabbitMQ broker, implement client + web app facing agents
    • Assume users have Sync accounts
    • Encryption: TBD
    • Client code at XXX
    • Server code at XXX

Proof of concept (End of Apr 2011)

  • Incorporate input from
    • Brian Smith (crypto)
    • UX team
    • Ragavan (PM)
  • Provide experimental add-on
  • Basis for integration into Firefox