# Open Source PIM/Core Challenges
## Basic problems

To illustrate the usefulness of Open Source PIM. A reasonable user may ask, "Why should I care about this?" This can best be answered in terms of specific problems and how Open Source PIM seeks to fix these problems.

### Information overload

* the user is not able to find information that she remembers having saved previously
* the user is not able to search, compare or analyze information in a dynamic way
* because of the lack of a consistent and unified storage and retrieval system, the user may have duplicate copies of the same information in multiple places

### Discontinuity of experience

* users are often required to change applications:
** when dealing with different media types
** when dealing with different storage formats
** when dealing with software from different vendors
Changing applications entails ascending a different learning curve every time a new application is encountered. Old skills become obsolete and new ones have to be learned.

## Limitations to avoid

One of the motivations behind Open Source PIM is the view that personal information management should be unencumbered by certain persistent limitations. These limitations are common hurdles to dealing with the basic problems of personal information management. These limitations have various root causes and side-effects, but they all represent basic issues that can be addressed and dealt with, once they are recognized.

### Limited Metaphors

There are certain persistent metaphors used in computing that limit the way users think about information. This in turn limits the creativity of software developers, because their efforts are naturally inhibited by what they believe users can reasonably understand. This creates a self-perpetuating loop.
Limited metaphors do not necessarily reflect bad ideas or bad design. Some metaphors reflect an attempt to convey ideas that have yet to be understood by the general public, but will someday become commonplace. The problem arises when the metaphors become more influential than the underlying ideas and structures that they were originally intended to convey. That is when the metaphors become problematic and limiting.
Some of these "limiting" computing metaphors include:
* the notion of "files"
* the notion of "directories" (aka "folders")
* the "fixed hierarchy" implicit in the way files and directories are organized

#### Limitations of the "file" metaphor

* limited attributes for classifying files (e.g., file = path + name + extension )
* a file is assumed to have one and only one "name"
* sub-elements of a file may not support attributes (e.g., assigning a "name" to each paragraph in a text file, so that each paragraph can be independently cross-referenced)
* support for metadata to address these limitations is spotty and inconsistent

#### Limitations of the "directory" metaphor

Assigning a file to a particular directory is analogous to "tagging" a file. Under this analogy, a file is allowed one and only one "tag" as a descriptor, and the tag must fit within a rigidly defined hierarchy.

### Limited accessibility

Interaction with software should not rest on too-rigid assumptions about how that interaction is going to take place. Many users of alternate abilities interact with software in ways that may not be apparent to those who are primarily familiar with more common modes of interaction.

#### Common barriers to accessibility

Some common barriers to accessibility include:
* closed file formats with unpublished or constantly-changing specifications
* file formats that are not translatable into "neutral" formats such as plain text
* file formats that are translatable, but only through time-consuming "point and click" interfaces with no options for "batch" processing
* any kind of essential functionality restricted to time-consuming "mouse-only" operations
Point-and-click interfaces do allow a certain level of convenience and flexibility, a problem arises, however, when point-and-click becomes the only way to get certain operations done in an application.

#### Common areas where accessibility barriers are high

Often software packages omit the ability to save and transfer information generated by a "point and click" interaction into a "fixed" state via configuration files.
* application data files
* user choices in application dialog boxes and settings panels
* repetitive operations such as keystrokes and menu clicks that occur on a regular basis
* different "snapshots" of data after transformations through search, sort, and filter

## Solutions to avoid

There are a range of counter-productive solutions
* complex notations and meta-data schemes that are difficult and time consuming to learn
* one-vendor-fits-all solutions that emphasize a singular way of doing things at the expense of enabling a dynamic mix of technologies