PDA Functions

A Personal Data Account would store data added by applications or have data imported into it via Data Plugs. The next logical question is to ask how we can tease further insights from the data in the PDA. For this, we need to perform transformations, analyses and computation on the data within.
There are 2 methods to do so.
1. Create an application and request a copy of the raw data of interest from the PDA and perform the computation external to the PDA. In this model, the data would leave the PDA and under Dataswift governance rules, an app would have to justify asking for the data and the app would also be "B" rated under the platform rating system. See Dataswift Governance information here. It is of course possible (in fact almost all apps not built on PDAs do this) and if you are giving your users good service for their data, that's the typical normal behaviour of centralised apps. However, you do need your users to trust that you won't do anything else with the data and that you will keep your word in terms of the data usage.
2. There is a second option, and this is to bring the computation into the PDA. The PDA is not just a datastore, it has computational capabilities native to the PDA that can access and process its own data, without the data leaving. We call the compute element a PDA Function or Tool. However, PDA Functions/Tools have to be created and trained outside the PDA and when they are ready, the pre-trained Functions/tools have to be reviewed, approved and installed onto the platform before all PDAs can use them to generate the insights.

The Need for Computation in the PDA

The power of the PDA is the ability to conduct "Edge Analytics" i.e. transformation of data within the PDA into new data through PDA Functions. These functions/tools create new data, from simple summaries to new insights and deposit the data back into the PDA, privately for the PDA owner and yet fully shareable with their permission.
Data scientists can create new insights and data within the PDA for the PDA owner to share with an application, receiving royalties in return, and in turn making even the simplest application into a powerful, personalised service for the user.
  • Better insights
  • Fully Private
  • Fully Shareable


The technology behind Tools/Functions on PDAs is the Smart HAT Engine (SHE).
Smart HAT engine (SHE) is the PDA's capability to run any algorithms on data internally without leaking it anywhere else, algorithms that are functions that operate on the PDA data. It extends the core PDA functionality to include algorithms ranging from simple summary of PDA data to personal AI.

SHE Functions

Current SHE Functions

There are a few SHE functions within the PDA currently. These are...
  1. 1.
    Data Feed counter - which summarises the statistics of your activities on Facebook and Twitter
  2. 2.
    Sentiment Tracker - which deciphers whether you are happy or upset based on what was posted on your Facebook posts, Twitter tweets and data from the Notables app. Sentiment tracker therefore is able to compute the sentiment of what was posted on FB and Twitter as well as private notes.
The repository for these functions, written in Scala, is located here.

SHE Functions for Data Science

A set of standard SHE functions created by the £1.1m EPSRC DROPS project, have now been open sourced as contribution to the PDA community. (See the Announcement here.) These functions were created by Dr Ming-Wei Hsu from the Centre of Digital Economy (CoDE) at the University of Surrey Business School.
These include:
  1. 1.
    Word Cloud - that computes the frequency of words used in your Facebook and/or Twitter posts
  2. 2.
  3. 3.
    ent History - which takes the results of Sentiment Tracker and analyses the trend of your sentiments over time.
  4. 4.
    Busy Time - which analyses your Google Calendar to how your time is spent.
The codes to these functions are located here.

How do I start?

For more information on building a SHE function, refer to the document in this folder on "Building Tools".