The Perspectives Platform

Collaboration and Privacy

What does Privacy mean in the context of collaboration? It means that we ensure that nobody is watching as we collaborate. That only we have access to the data we exchange and that this data does not, now or later, end up with parties that are not part of our collaboration.

The Perspectives Distributed Platform guarantees that only those who collaborate have access to the data they need, given their role in the collaboration. And never another party. To achieve this guarantee, there is no central component in the Perspectives Platform where the data comes together.

Centralized, Decentralized or Distributed


A decentralized architecture may be better than a centralized one but still has some disadvantages:

  • Users served by a particular server lose everything when the respective server administrator discontinues it.
  • Keeping a server up and running and managing it costs money anyway. This always creates dependence on those who have the money for it.
  • Servers consume energy. If we can limit or prevent that energy usage, it is an advantage.

Only a distributed architecture without servers provides the benefits of privacy and sustainability. But it has more advantages. For instance, it’s impossible to execute a DDOS attack on the platform. At least not an attack targeting multiple victims. There’s no server that can be attacked.

Calculation Distribution

But what’s needed to realize a distributed architecture? It’s essential to calculate the message traffic that needs to be exchanged between the collaborators. This requires precisely knowing which role needs which data to fulfill its role. The Perspectives modeling technique provides precisely this information.

Once a user changes a role in a context, the platform calculates which data the other users in the context need to receive to process the change. The resulting messages are then sent to all relevant users in the context.

The Post Office

Unfortunately, the participants in a context aren’t always online. To ensure that messages for a particular user eventually arrive, the users in a context act as a post office for each other. By storing and forwarding undelivered messages to each other once the recipient is online again, no messages are lost. The system is thus what’s called “eventually consistent”. Of course, a post office doesn’t have access to the messages.

Platform Limitations

The Perspectives Platform is not suitable for applications with many users in a single context. This disqualifies the Platform for typical Enterprise Applications. The Platform is focussed on collaborations with up to ten to fifteen participants.

The Platform User Interface

The Perspectives Platform provides a generic User Interface that automatically supports all applications that are modelled in the Perspectives Language. The User Interface is centered around the notion of Who-What-Where:

  • Who plays a part (role) in a Context?
  • What information can I see in a Context?
  • Where (in which Context) am I and Where can I go to?

Of course the What and Where answers are determined by the Role the user Play in a Context.

An App in the Perspectives User Interface is a Model that is offered by another Perspectives User or is downloaded from an Perspectives App Store (repository). An Perspectives App provides several Contexts. The User will always start an App by playing the predetermined Role within the predetermined first Context defined by the App Modeller. From this first Context the User can navigate to other Contexts within the App dependent on his or her Role.

To prevent confusion, the User can always ask the question: Where am I? The answer will be something like “You have the Role Shopper in the Context of the MyShop in the Shopping App”.

Users can navigate to more specific Contexts, navigate to Contexts that were pinned earlier or navigate to one of the latest visited Contexts. Typically, after a while the User will develop a mental model of the Apps and their Contexts. This will help to understand and keep control of the navigation within the Perspectives Universe.