The Personal Journal is one of the core structures
of Specter. It is the system's memory, where any events noticed
by Specter's sensors as well as conclusions drawn based on these
events have to be stored. Since ideally the recording time covers
the user's life span, a large-scale data structure is required,
which provides the user with appropriate means for accessing all
the varying data with varying means for varying purposes. In the
following, we will have a close look at this component's technical
structure, and then proceed to means of accessing the recorded data.
Sensors connected to Specter record binary signals.
Such low-level information is translated into symbolic signal values,
which are recorded in the Personal Journal. These values serve as
input for an abstraction process under control of Specter's learning
component. Its result are so-called journal entries. These
provide an abstract and structured view on a subset of the stored
signal information, and are the main data source applied during
interaction with the user.
Figure 1: Storing information in the personal journal
Figure 1 demonstrates the process of how information
is stored in the journal. In the given example, a room temperature
sensor provides a temperature value to Specter. Based on that value,
a signal entry is created and stored in the journal. This new information
may trigger one or more abstraction methods. Following the example,
an abstraction method combines the temperature signal with the user's
current state of affect (computed by another abstraction method),
and creates a journal entry that represents the derived information.
2. User Interface
The quality of services provided by Specter depends
strongly on the amount and quality of data stored in the personal
journal. Thus the system records ideally permanently as many data
as possible from the environment and compiles them into personal
journal entries, a process that is performed automatically. And
it has to be performed that way in order to free the user from the
need of reviewing incoming data. Consequently, the actual process
of entry generation will often be out of the user's control. Thus
a means of inspecting the journal is required, which provides information
about which kind of data have been recorded (and ideally how they
have been processed) in order to provide transparency to the user
and thus to extend her perception of the environment, and finally
to increase her trust in Specter's actions.
However, such reading access will not be sufficient.
In the best case, Specter records all information of interest, and
provide relevant information based on these data. Unfortunately
this seems out of reach for the near future: sensors may have malfunctions
or might be completely missing depending on the environment, and
especially in the training phase, the system will produce wrong
conclusions due to an incomplete user model. Thus there is a certain
need of editing manually content stored in the personal journal.
Finally, in order to accompany and to assist the
user while she is interacting with an instrumented environment,
inspection and editing should be possible at any time. Thus an appropriate
user interface for these actions should be adaptable to varying
scenarios in order to benefit from the varying environment features
(e.g., small-scale display vs. large scale display).
Regarding the design of such an interface, there
are systems with similar goals as Specter, which apply diverse techniques
in order to achieve interfaces appropriate for their varying application
domains. These domains overlap partially with Specter's domain,
but none of them match it completely. To take this into account,
Specter's personal journal user interface incorporates and merges
the ideas of these interfaces where possible, and extends them where
Basically, the personal journal user interface enables the user
to browse the journal similarly as the Web. Thus it adopts the concept
of a Web browser, which enables accessing the personal journal via
so-called viewers. These provide varying data views of
the information stored in the journal, an approach comparable to
the one followed by MyLifeBits
and the Personal
Digital Historian. In this framework, the browser as well as
the viewers may be exchanged in order to benefit from the specific
advantages of a given platform (e.g., a large screen).
That interface enables the user performing certain
tasks. A frequent one is the need to navigate within content stored
in the Personal Journal. That navigation relies in the first place
on Specter requests, which are organized like hyperlinks,
including a request history and the option to bookmark requests.
An alternative way of navigating the journal is
provided by the so-called reminder points. Such points
are a specific kind of journal entry, which may be created by the
user during interaction with the environment. The idea behind these
points is that the user might be too busy or distracted to provide
Specter with sophisticated feedback. Nevertheless she might notice
the need to adjust Specter, and this need can be expressed via a
reminder point. Later on, at a more appropriate time and location
for introspection, she may inspect the recorded reminder points
and perform in collaboration with Specter the required adjustments.
Beneath navigation, managing journal content is
an important aspect for the user. That includes the option to provide
explicit feedback by annotating journal entries. Such annotations
include free text comments, references to other journal entries
or Web pages, assigning content categories, and adding ratings (e.g.,
about importance or evaluation). Additionally, the user may group
entries in order to indicate that some entries are related together.
This feature enables manual organization, and provides Specter with
additional insight in the recorded information's nature.