PIM (Personal Information Management) part 1
2011/04/24 Leave a comment
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.
This structure guaranty a consistent information across all clients.
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.
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:
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:
- PIM part 2
- PIM part 3