◀ 9.3. Using Memory Buoyancy to realise a Mobile Information Assistant

9.3.1 Motivation

The Content Value Assessment of the PoF Framework allows for realising enhanced features in the Active System. In this section, we focus on the ability to assess a resource’s current importance to the user by means of the Memory Buoyancy (MB).
The availability of the PIMO5 user interface allows to access and use the PIMO also on mobile devices. Therefore, components and features of the Semantic Desktop are also available on mobile devices such as the Semantic Text Editor (Seed) and the apps PIMO Photo Organization, PIMO Diary, and task management.

Furthermore, by supporting the CalDAV (6.1) and CardDAV-endpoints (6.2), mobile devices such as the iPhone can also sync and access persons, organizations, tasks, events, and reminders from the PIMO. Therefore, a large number of PIM activities are also supported on mobile (Not yet all, e.g., annotating web pages with PIMO concepts is not (yet) possible on, e.g., iOS). Thus, by introducing PIMO5 the Semantic Desktop evolved from a desktop-only information assistant to also being a mobile information assistant.

Nonetheless, using PIMO5 in a mobile browser has certain limitations which we will outline in the following Section 2.7.1. Therefore, to fully experience the benefits, native clients which can be installed on the mobile device are required to overcome these limitations and grant more freedom to access resources on a device. Then a mobile information assistant can be realized with the ability to synchronize resources and concepts from the PIMO based on the current and expected importance and required accessibility of resources relying on the Memory Buoyancy assessment. The proof-of-concept for this feature is presented in Section 2.7.2.

9.3.2 PIMO5 Native Clients

Pilot I introduced the HTML5 user interface, PIMO5, for working with the Semantic Desktop on mobile devices using a web browser. Meanwhile, the Java applications brought into the project have been replaced by PIMO5 as it can be used also on the desktop in a web browser.

But still, this browser-based UI has several limitations: First, it does not allow access to local files on desktops or mobile devices. Being restricted to PIMO5 only (i.e., not using the SemanticFileExplorer) would require users to download files first in the browser before usage, and vice versa, requiring manual uploads by the user via an “Open File”-dialog to the PIMO. This is cumbersome and error-prone as, for instance, uploads could be forgotten, and thus, different file versions would exist.

Second, to support offline access and the envisioned syncing of files, currently, PIMO5 is limited to the browser’s local storage which is usually only up to 5MB space for storing objects. Therefore, a larger cache is required, which can be realised only with a native client.

Therefore, the Personal Preservation Pilot II introduces native clients for mobile devices as well as desktops using the Semantic Desktop infrastructure w/o relying on a web browser. The architecture of the PIMO5 native client is shown in the following Figure.

Architecture Memory Buoyancy Sync Manager in the Semantic Desktop
Architecture Memory Buoyancy Sync Manager in the Semantic Desktop: The Memory Buoyancy Sync Manager ensures the availability of resources in the local cache in the PIMO5 native client.

The current proof-of-concept uses a local web server which serves the PIMO5 web pages and uses a local database as cache and runs as a native client. Then PIMO5 communicates with the PIMO Server using an embedded proxy which checks if resources are available locally. If a file is available in the local cache, the PIMO5 interface currently offers to open the file from the local cache as shown in the following Figure:

PIMO5 interface allowing to open a file locally.
When PIMO5 runs as a native client, if a file is available in the cache, the user gets the option to open it from the local cache.

To ensure availability on a vast amount of desktop and mobile operating systems, we plan to migrate to the Electron framework which allows to build cross platform applications using HTML5.

9.3.3 Syncing Resources to Devices based on Memory Buoyancy Assessment

As demonstration of the utility of Managed Forgetting developed in ForgetIT, Pilot I already provides several features which use Memory Buoyancy, namely hiding concepts with low MB when browsing or in search, removing files from a file system with low MB as well as restoring them (see D9.3).

A new functionality realised in Pilot II is the syncing of resources from the PIMO Server to mobile devices based on the Memory Buoyancy assessment. This shows how the MB is capable of supporting the PIM of users by ensuring accessibility of information objects in the information management system, in our case, the Semantic Desktop with the PIMO as knowledge base. Thus, by relying on the Memory Buoyancy, we are able to reduce required mobile data traffic as well as to support a smarter offline support (e.g., on an airplane) for working with the PIMO.

Above architecture Figure shows the architecture of this functionality. The Memory Buoyancy assessment on the PIMO Server ensures that the MB of things in the PIMO is calculated accordingly. Other applications or the PIMO5 can access the MB for value-added services.

The PIMO5 native client has an embedded Memory Buoyancy Sync Manager which takes care of filling the local cache with high buoyant PIMO concepts and copies file resources to the local store. The manager uses a dedicated Memory Buoyancy threshold to decide on the set of resources which should be synced. This threshold is higher on a mobile device than on a desktop computer. For a mobile device, we assume a tighter disk space issue as well as a more focused work and information need which does not require to have a large amount of data on immediate access. On the desktop, the disk space constraints are usually more relaxed and the main focused work will happen there. Especially for offline usage the Semantic Desktop can offer a broader spectrum of relevant media. On the DFKI PIMO we use a MB threshold of 50% (of the MB-spectrum) for the desktop and 70% for the mobile.

The next Figure shows a PIMO5 page listing the currently high buoyant resources and concepts which are synced to the device. On the left-hand side, resources are shown which are kept on the local device (i.e., either desktop or mobile device) for local access. Clicking on a resource opens the local copy of the pimo:CloudFile 12 instead of downloading it. This handling is done throughout PIMO5. If a file is not in the cache, it is then accessed via the PIMOCloud.

PIMO5 overview page showing the high buoyant resources which are synced to the device
An overview page showing the high buoyant resources which are synced to the device on the left hand side. The list on the right shows the high buoyant PIMO concepts (starting with pimo:Note usually written with Seed). The screenshot shows a user’s individual view on the DFKI PIMO. The pimo:Document D11.4 has two pimo:CloudFile which are now cached as shown in the Figure below.
Remark: “Showing i of j”: i items shown in the view of j items synced to the device. The numbers of items must be seen in relation with the potential items: in the DFKI PIMO there are currently over 7000 items of pimo:Media and approx. 3900 concepts which belong to the user shown and are shared by the group (as of December 2015).

On a desktop, the behavior is slightly different, as there might be local files of the user available in the file system anyway (e.g., annotated by the SemanticFileExplorer and hav- ing a local file path as grounding occurrence in the PIMO), then a download to the cache is not necessary, the local file is opened instead.
With grounding occurrence the PIMO denotes the occurrence of the thing in the real world which stores its content. It grounds the thing in reality. For instance, if a web page is represented in the PIMO (‘rebirthed’), a thing of type pimo:Webpage is instantiated and the URL of the web page is added with the property pimo:groundingOccurrence.

The following Figures show a screenshot of the local cache of the PIMO5 on a desktop where resources are synced to by the Memory Buoyancy Sync Manager. The folders are the PIMO URIs of the respective pimo:CloudFile which is located in the folder.

View on the PIMO native client file-cache: folders are named after the pimo:CloudFile URI, the file is located in the folder A different view showing several synced files, especially the D11.4 versions (docx and pdf)
A view on the local cache of the PIMO5 native client on a desktop where resources are synced to by the Memory Buoyancy Sync Manager. The PIMO5 native client then offers these files to be opened from local cache as shown in the Figure above.

The presented functionality together with the PIMO5 user interface for mobile browser and a proof-of-concept for syncing in native clients shows that the ForgetIT-enhanced functionality of the Semantic Desktop is also realisable on mobile devices. Thus, Pilot II extends Pilot I from a “concise preserving desktop information assistant” to a “concise preserving mobile information assistant”.