<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Managing Personal Information through Information Components</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Stefania Leone</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Matthias Geel</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Moira C. Norrie</string-name>
          <email>norrieg@inf.ethz.ch</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Institute for Information Systems, ETH Zurich CH-8092 Zurich</institution>
          ,
          <country country="CH">Switzerland</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>We introduce the concept of information components and show how it can allow non-expert users to construct personal information spaces by selecting, customising and composing components de ned by the system or other users. The system presented is based on a plug-andplay concept and new user-de ned applications can be integrated into the portal-style interface based on default templates which can easily be customised by the users.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>The term Web 2.0 refers to a new generation of Web-based applications that
empower the user in the creation and management of content and services.
Combined with the concepts of portals, widgets and mashups, users are nowadays
able to not only manage and share their own data, but also integrate a wide
range of external data and services. At the same time, users are encouraged to
collaborate in a range of ways|including the community-based development of
application libraries o ered by sites such as Facebook.</p>
      <p>It is therefore not surprising that users are increasingly turning to Web 2.0
sites for the management of personal information. However, this can in turn
create its own problems in terms of losing control of one's own data and increased
fragmentation of information across a range of Web 2.0 applications and desktop
applications. At the same time, while sites such as Facebook provide a very large
collection of applications for the management of personal information such as
contacts, photo albums, places visited and virtual bookshelves, it is not possible
to personalise these or combine them in exible ways.</p>
      <p>Our goal was to adopt concepts from Web 2.0 to empower users in the
management of all of their personal information by allowing them to customise and
compose information components. Instead of o ering units of reuse at the
interface or service level, we o er them at the database level, thereby allowing users
to focus on their data requirements and to extend, customise, group or associate
data items as they choose. A Web-based pluggable interface architecture
generates the interfaces automatically based on default or selected templates which
can easily be customised.</p>
      <p>Section 2 provides the background to our work and an overview of the
approach is given in Sect. 3. Section 4 describes the development process, while
implementation details are given in Sect. 5. Our approach is compared to related
work in Sect. 6. Concluding remarks are given in Sect. 7.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Background</title>
      <p>
        Personal information management (PIM) systems proposed in research tend to
either use a prede ned PIM domain model e.g. [
        <xref ref-type="bibr" rid="ref1 ref2">1, 2</xref>
        ], or work according to a
\no-schema" or \schema-later" approach e.g. [
        <xref ref-type="bibr" rid="ref3 ref4">3, 4</xref>
        ]. On the interface level, they
mostly o er a generic browser where a user can browse via associations. In
Haystack [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], entities are self-rendering in that they know how to render and
display themselves and o er a context menu with the operations for that entity.
While these systems help users work with information fragmented across existing
applications, they do not provide the basic infrastructure to enable users to easily
design, build and customise their own personal information space.
      </p>
      <p>
        Web 2.0 has had a tremendous impact in terms of how people use the Web
to communicate, collaborate and manage personal data. Its success can provide
valuable lessons in how to provide easy-to-use, customisable and extensible
platforms for PIM. In particular, users have become familiar with the plug-and-play
style of interfaces o ered by portals as well as applications o ered by social
networking sites such as Facebook. They are also becoming increasingly familiar
with the notions of widgets that allow small, lightweight applications to be
integrated into Web pages and Web-based mashups that allow the integration of
services within a client. Taken together with the notions of user-generated
content underlying Web 2.0, users are increasingly becoming empowered to manage
their own information needs. However, on the negative side, the increased usage
of Web 2.0 applications for PIM has drastic consequences in terms of loss of user
control over their own data and also information fragmentation [
        <xref ref-type="bibr" rid="ref5 ref6">5, 6</xref>
        ].
      </p>
      <p>We have adopted features of Web 2.0 for a PIM platform that allows users
to de ne and manage their own personal information space by creating,
sharing, customising and composing so-called information components. These
components de ne the data structures, application logic and interaction logic that
support particular information management tasks. Being able to build a personal
information space in a plug-and-play manner through the selection and
composition of components allows even non-expert users to pro t from the experience
of more advanced users and have ne-grained control over their PIM.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Approach</title>
      <p>Information components are intended to be the basic units of reuse in information
systems at both the schema and data level. An information space consists of a set
of information components where each component can contain both metadata
and data. If an information component consists of only metadata, reuse is only
at the schema level to support the design of an information space. Optionally, an
information component may contain data as well as metadata which allows the
reuse of data. Information components can be composed from other components
as shown in Fig 1.</p>
      <p>InformationSpace</p>
      <p>InformationComponent</p>
      <p>MetaData
Data</p>
      <p>ModelPart
Model
Concepts</p>
      <p>Class</p>
      <p>Collection</p>
      <p>Association</p>
      <p>
        Our prototype was developed using an object database based on the OM
model [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] and therefore the metadata of a component is de ned in terms of the
model primitives which are classes, collections and associations. We show this in
Fig 1 as a particular set of model parts to indicate that our notion of information
components could be applied to other models.
      </p>
      <p>Our approach allows users to construct their personal information space by
de ning their own components through a process of selecting, extending and
combining existing components. A core set of system-de ned components are
provided to support the basic, common information management tasks in PIM
systems such as the management of contacts and we show in the next section
how a user can use these as the starting point for developing their own PIM
applications. In addition, users can also reuse components de ned by other users
based on a global component registry.</p>
      <p>An application consists of an information component together with an
associated user interface (UI). To create an application, the user basically models the
application domain and associates domain concepts to templates. The system
then generates both the database representation of the domain model and the
user interface based on the domain concept-template assignment speci ed by the
user and deploys the application into the user interface.
4</p>
    </sec>
    <sec id="sec-4">
      <title>Application Development Process</title>
      <p>Assume a user has a simple contact application and a picture management
application and would like to tag pictures with contacts. We will now illustrate how
the user could extend their personal information space with this functionality
by creating a new information component from the composition of the existing
components. Figure 2 gives an overview of the steps involved as supported by
the Application Manager integrated into our prototype system PIM 2.0.</p>
      <p>1 shows the PIM 2.0 UI with three applications. In order to create a new
application, a user rst creates a new information component 2 by modeling
the application domain reusing existing component parts and/or specifying new
domain concepts. Note that an information component can have arbitrarily
complex models, but may also represent a single domain concept. Figure 3 shows a
screenshot of component composition in the Application Manager.</p>
      <p>Component Composition</p>
      <p>Create new component parts
Import components
Associate component parts</p>
      <p>2
6</p>
      <p>PPicitcutruerses
ContactsEPvicetnutrses</p>
      <p>tagged
Contacts Pictures</p>
      <p>Automatic Steps
Component Generation</p>
      <p>(Database) 3
UI Generation 5</p>
      <p>Associate with templates
User-defined templates</p>
      <p>tagged
Contacts Pictures
4</p>
      <p>We assume the reuse of a Contacts component and a Pictures component.
The following assumes a combined de nition of collections and types.</p>
      <sec id="sec-4-1">
        <title>Contacts{</title>
        <p>contacts(name:string, birthday:date, phone:set, address:set)
}
Pictures{
pictures(picture:uri, caption:string)
albums(name:string)
picturesInAlbums(picture:ref, album:ref)
}
Users can drag and drop component parts into the composer area of the
Application Manager to reuse them. New classes, collections and associations can
be created by using the menu on the left. As shown in Fig. 3, a PictureTagging
component can be created by reusing contacts from the Contacts component
and pictures from the Pictures component and associating them with a tagged
association. The textual representation of the new component is:</p>
      </sec>
      <sec id="sec-4-2">
        <title>PictureTagging{</title>
        <p>Contacts.contacts(name:string, birthday:date, phone:set, address:set)
Pictures.pictures(picture:uri, caption:string)
tagged(picture:ref, contact:ref)
}
Collection and association names are quali ed with their component names to
ensure uniqueness. However, users can rename objects during composition in
order to simplify the interface of the new component. Once de ned, the component
model is automatically created in the database 3 .</p>
        <p>To create the UI for the new component, it is associated with a structural
template 4 which de nes what should be displayed in terms of attributes and
associated entities, the order in which these should be displayed and also the
operations o ered through context menus and buttons. To support the de nition
of the UI, there are standard templates for displaying collections and objects in
read or write modes. Further, structural templates can be created automatically
by the Application Manager by users de ning views through the simple selection
and ordering of object attributes. Also, context menus to select from various
standard options are available where appropriate.</p>
        <p>The actual layout and positioning of data is de ned in separate layout
templates that are applied upon interface generation. Note that users can create
their own layout templates or extend existing ones. During UI generation, a
view is generated which includes the layout as well as the structural information
and represents the actual UI through which the user interacts with the data.</p>
        <p>The default collection template displays a collection as a list and the user
has to specify the object attributes to appear in that list. For example, they
might specify that the contacts collection be displayed as a list of surnames
followed by forenames. By default, collection views are always in write mode, so
that objects can be selected, added to and removed from the list.</p>
        <p>The default structural templates represent objects in a generic way. It is easy
for users to create their own custom templates. For example, they might specify
that in the picture detail view, the actual picture together with a caption should
be displayed rather than the URL. To support such customisations, templates
can be created which specify a set of applicable types and users are presented
with a choice of presentations. The picture detail template would have the form:
&lt;view name=`PictureDetailView' mode=`read'&gt;
&lt;layout source=`defaultGridLayout'&gt;
&lt;compatibletypes&gt;</p>
        <p>&lt;type name=`pictures'/&gt;
&lt;/compatibletypes&gt;
&lt;attributes&gt;
&lt;attribute name=`picture' resource=`attributes/picture'/&gt;
&lt;attribute name=`caption' value=`attributes/caption/'&gt;
&lt;/attributes&gt;
&lt;/view&gt;</p>
        <p>Attribute picture is a resource which means that the value is the path to the
resource to be displayed, while the attribute caption is a value that can displayed
directly. This template uses a default layout template defaultGridLayout, but a
user can also de ne their own layout template or extend the default ones.</p>
        <p>A user may wish to reuse the customised templates of imported components,
extending them to cater for new data or functionality. For example, in the picture
tagging application, the user might want to display the names of tagged persons
along with the picture and caption. This could be done by creating a template
that extends the PictureDetailView template as follows:
&lt;view name=``TPictureDetailView'' extends name=``PictureDetailView''&gt;
...
&lt;attributes&gt;
&lt;attribute name = `Tagged'</p>
        <p>value=`associations/tagged/contacts/attributes/name' type=`set'&gt;
&lt;/attributes&gt;
&lt;/view&gt;
The previous template is extended with an attribute that provides a set of names
of the people related by the `tagged' association of the PictureTagging
component as speci ed by a path expression. By declaring type=`set', we indicate
that the navigation may yield a set of values all of which should be displayed.
After associating the model with the templates, the actual views are generated
by combining the structural and layout templates 5 . The application is then
deployed into the portal. In our example, the PIM portal is extended and features
the additional picture tagging application 6 .</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>5 Implementation</title>
      <p>The rst step of implementing the PIM 2.0 system was to implement an object
database that supported the concept of information components. In a second
step, we implemented a Web application on top of the database that allows
users to manage their personal information space by creating, composing and
accessing information components through a portal-style interface.</p>
      <p>Figure 4 provides an overview of the PIM 2.0 architecture. The system has
two main parts|the Interface Manager and the Component Manager. The
Component Manager is responsible for the creation and manipulation of information
components as well as the management of the template assignments. The
Interface Manager manages the template repository where the default structural
and layout templates as well as user-de ned templates are stored. Structural
templates are written in an implementation-independent XML dialect whereas
layout templates are written in an implementation-dependent manner since they
are part of the underlying UI technology.</p>
      <p>
        The component manager is implemented as a metamodel extension
module [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] of our object database Avon [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. A metamodel extension module consists of
three parts, namely metamodel concepts, CRUD classes to manipulate the
metamodel concepts and an optional language extension. Through the metamodel
extension mechanism, the information component concepts are represented as
metadata in the database.
      </p>
      <p>Generated Applications</p>
      <p>Application Manager UI</p>
      <p>HTTP
Interface
Manager</p>
      <p>Interface
Cache
Template
Repository</p>
      <p>Runtime
Compiler
Interface
Generator</p>
      <p>View
Repository</p>
      <p>Component Manager
Template Assignment</p>
      <p>Events</p>
      <p>Pictures</p>
      <p>Contacts</p>
      <p>The Web client o ers a portal interface to a user's PIM system, where
components are represented as portal applications. The Application Manager is also a
portal application embedded within the PIM interface. The UI was implemented
using the OpenLaszlo Web application framework. The OpenLaszlo architecture
allows Web applications to be speci ed using a declarative XML syntax,
Openlaszlo XML (LZX), that is then compiled to Flash on-the- y. As an immediate
bene t, this architecture allows us to compile automatically generated
OpenLaszlo applications dynamically at runtime. We make use of this functionality
to automatically load newly created applications into the PIM interface upon
invocation of the view generation process on the server side.
6</p>
    </sec>
    <sec id="sec-6">
      <title>Discussion</title>
      <p>Our approach combines the advantages of prede ned, no-schema and
schemalater approaches to PIM by o ering users a set of PIM components that can
either be imported from a global registry or are already present in a user's local
information space. The user can then extend or compose these to create new
information components according to their information needs as they evolve.</p>
      <p>
        While reuse in databases has been considered at the architectural level in
terms of component database systems [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] and also at the data level in terms
of various forms of data integration services [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], little attention has been given
to reuse at the database schema level to support reuse in the design and
development of applications. An exception is the work of Thalheim [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] where he
proposed the use of composable sub schematas to enhance the management of
large and complex database schemas. In contrast, we focus on reuse as a means
of allowing non-expert users to create a customised personal information space.
We achieve this by providing them with a Web-based pluggable interface with
an embedded set of graphical tools that enables them to create their personal
information space through the selection, customisation and composition of
components that are usually small and simple.
      </p>
      <p>Our studies of existing PIM systems and also various Web 2.0 platforms such
as Facebook shows that PIM application schemas tend to be rather small and
simple. Users therefore tend to nd PIM schemas easy to understand and our
initial experiences with PIM 2.0 suggest that they have no problems to work
with and compose our information components. However, this is something that
requires detailed studies in the future.</p>
    </sec>
    <sec id="sec-7">
      <title>Conclusion</title>
      <p>We have presented the concept of information components as a mechanism for
allowing users to construct their personal information space in a plug-and-play
style of composing schemas and data. By supporting reuse within and across
PIM systems, we believe that the more advanced Web users can create and
share components with other users, while non-expert users can bene t from the
expertise and experience of the community similar to collaboration evident in
many Web 2.0 communities.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Gemmell</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bell</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lueder</surname>
          </string-name>
          , R.:
          <article-title>MyLifeBits: a Personal Database for Everything</article-title>
          .
          <source>Comm. ACM</source>
          <volume>49</volume>
          (
          <issue>1</issue>
          ) (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Dong</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Halevy</surname>
          </string-name>
          , A.Y.:
          <article-title>A Platform for Personal Information Management and Integration</article-title>
          .
          <source>In: Proc. CIDR</source>
          <year>2005</year>
          , Asilomar, CA, USA (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>Vaz</given-names>
            <surname>Salles</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.A.</given-names>
            ,
            <surname>Dittrich</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.P.</given-names>
            ,
            <surname>Karakashian</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.K.</given-names>
            ,
            <surname>Girard</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.R.</given-names>
            ,
            <surname>Blunschi</surname>
          </string-name>
          , L.:
          <article-title>iTrails: Pay-As-You-Go Information Integration in Dataspaces</article-title>
          .
          <source>In: Proc. VLDB</source>
          <year>2007</year>
          , Vienna, Austria (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Karger</surname>
            ,
            <given-names>D.R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bakshi</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Huynh</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Quan</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sinha</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          :
          <article-title>Haystack: A GeneralPurpose Information Management Tool for End Users Based on Semistructured Data</article-title>
          .
          <source>In: Proc. CIDR</source>
          <year>2005</year>
          , Asilomar, CA, USA (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Leone</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Grossniklaus</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Norrie</surname>
            ,
            <given-names>M.C.</given-names>
          </string-name>
          :
          <article-title>Architecture for Integrating Desktop and Web 2.0 Data Management</article-title>
          .
          <source>In: Proc. IWOOST</source>
          <year>2008</year>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Norrie</surname>
            ,
            <given-names>M.C.</given-names>
          </string-name>
          :
          <source>PIM Meets Web 2.0. In: Proc. ER</source>
          <year>2008</year>
          , Barcelona, Spain (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Norrie</surname>
            ,
            <given-names>M.C.</given-names>
          </string-name>
          :
          <article-title>An Extended Entity-Relationship Approach to Data Management in Object-Oriented Systems</article-title>
          .
          <source>In: Proc. ER</source>
          <year>1993</year>
          , Arlington, Texas, USA (
          <year>1993</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Grossniklaus</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leone</surname>
          </string-name>
          , S.,
          <string-name>
            <surname>de Spindler</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Norrie</surname>
            ,
            <given-names>M.C.</given-names>
          </string-name>
          :
          <article-title>Dynamic Metamodel Extension Modules to Support Adaptive Data Management</article-title>
          .
          <source>In: Proc. CAISE</source>
          <year>2010</year>
          , Hammamet, Tunesia (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Norrie</surname>
            ,
            <given-names>M.C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Grossniklaus</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Decurtins</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>de Spindler</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vancea</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leone</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Semantic Data Management for db4o</article-title>
          .
          <source>In: Proc. ICOODB</source>
          , Berlin, Germany (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Dittrich</surname>
            ,
            <given-names>K.R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Geppert</surname>
          </string-name>
          , A., eds.:
          <article-title>Component Database Systems</article-title>
          . Morgan Kaufmann (
          <year>2001</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Halevy</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rajaraman</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ordille</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          :
          <article-title>Data Integration: the Teenage Years</article-title>
          .
          <source>In: Proc. VLDB</source>
          <year>2006</year>
          , Seoul, Korea (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Thalheim</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>Component Development and Construction for Database Design</article-title>
          .
          <source>Data &amp; Knowledge Engineering</source>
          <volume>54</volume>
          (
          <issue>1</issue>
          ) (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>