Loop/Architecture

Design Goals

Underlying Technologies

Mozilla Technologies

The Loop project relies on a number of other technologies under development within Mozilla. These include the following:

Third-Party Technologies

  • Node.js for Loop server, at least through production

Open Issues

These technology choices will be moved into one of the preceding sections as decisions are made:

Network Architecture

Data Flows

User Connects

User Generates "Call-Me" URL

Non-User Clicks "Call-Me" URL

User Rejects Call

Note that the exact means by which Bob receives pending call status is still an open issue -- periodic polling is easy, but might not scale as well as we'd like. Long polling is a potential improvement, but also has scaling implications. Ultimately, websockets may be the preferred approach here.

User Blocks "Call-Me" URL

User Calls Other User

Client Architecture

Address Book

Server Architecture

Database Schema