PIM (Personal Information Management) part 1

The PIM (Personal Information Manager) solutions allow you to manage, backup, sync … personal  data. In this serie of 3 articles, I will try to develop about the technology and the application of PIM.

1. Overview and disambiguation

Let’s start with a definition from wikipedia for Personal Information Management:

“Personal information management (PIM) refers to the practice and the study of the activities people perform in order to acquire, organize, maintain, retrieve and use information items such as documents (paper-based and digital), web pages and email messages for everyday use to complete tasks (work-related or not) and fulfill a person’s various roles (as parent, employee, friend, member of community, etc.).

One ideal of PIM is that we always have the right information in the right place, in the right form, and of sufficient completeness and quality to meet our current need.” from wikipedia

Let’s now see the difference with Personal Information Manager:

“A personal information manager (often referred to as a PIM tool or, more simply, a PIM) is a type of application software that functions as a personal organizer.” from wikipedia

It’s important to notice that the same acronym targets two different perspectives of the same concept but viewed from two different perspectives: the tools and the concept of synchronization. For the rest of this articles I will be talking about the PIM tools, Personal Information Manager.

The goal of this tools is to be able to access from different devices or places the same information in the form that you can use that info at the moment you’re visualizing it.

2. Accessing, updating and archiving information

The common structure behind the PIM tools is a server-clients architecture. The information is stored on a server. The clients access, update and synchronize the local data for direct usage.
pim's server-clients architecture

This structure guaranty a consistent information across all clients.

3. SyncML

The SyncML protocol has been created to manage the synchronization of data between a server and a mobile client. This protocol is used by a lot of companies worldwide, like Google,  Sony Ericsson, LG,IBM … (SyncML wikipedia).

The protocol manage the synchronization of data such as contacts, to-do lists, schedules.

Communication scheme:

pim - syncml client server communication

On this scheme we can see that the synchronization is operated after some initializations.

SyncML is based on the XML language to exchange the tasks to be done. The protocol has different Tags, here some examples:

  • <SyncML></SyncML> : describe the file
  • <SyncHdr></SyncHdr> : SyncML header, describes the communication with the version of the protocol used
  • <SyncBody></SyncBody> : describes the data to sync; from which database to which database, and the action to do
      Example of simple syncml file:

pim - syncml example

In this first article in a series of 3, we saw the definition of Personal Information Manager, the structure behind as well as SyncML.

This article is not intended to go deeply into the architecture (client-server) or the SyncML protocol, if you want to learn more about them please refer to the following links:



Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: