Click here to Skip to main content
15,920,438 members
Articles / Programming Languages / C#

Introducing Project ZNIX

Rate me:
Please Sign up or sign in to vote.
3.18/5 (9 votes)
5 Jul 2005CPOL4 min read 30.3K   41   13   4
Project ZNIX is an attempt to refine traditional information management systems to provide an object-based, application-independent retrieval and manipulation framework targeting casual users.

The Prologue

Think of the world around you. Think of the people that inhabit it, the relationships they have to you, or the things you have to interact with on a daily basis...

Then think of how much information, without even realizing, you transfer through your computer about this world. An email to your mother back home, on your first day at college; the note you put in your journal about how you are not getting along with one of your co-workers; the sites you browsed on the internet for research on your latest assignment; all these are tokens of information about the world that’s closest to you, that you regularly feed into your computer.

In a certain perspective, the PC is a like a secret best friend. It knows your most intimate secrets and your most daring ambitions. But unlike a true friend, at present it has little capacity to understand you as an individual. While it holds bits and pieces of information, it is utterly incapable of connecting these disparate dots and completing the whole picture that makes up your world. Project ZNIX is an attempt to help users to manage this interpersonal and intrapersonal domain of information. It envisions a world in which when a user logs in to his PC, he is not presented with data disconnectedly stored under some spur-of-the-moment logic, and an interface for this data that requires an understanding of the software that created them; rather, he sees a semblance of his intimate world that he already knows and understands.

It would be easy to confuse the goals of Project ZNIX, with those of any other information management system. The reader would not be wrong in doing so. While it is true that in essence ZNIX is an information management system, it should be noted that this research is more about the “spirit of information”. This is to say that, unlike regular information management systems, ZNIX does not concern itself with categorizing, for example, an image based on keywords, file type, etc. The Framework is interested in how this image relates to the intimate world of the user; the image could for example be of his pet dog. To ZNIX, the image is thus not a JPEG image of which the term "my pet dog" is a property, it is the "picture" of the entity "My Pet Dog" (or the of the "Pet Dog" property of the entity "Me", depending on the way the user prefers to navigate).

The Approach

Undoubtedly, this ambitious project would take many stages of research to perfect. However, at this initial stage, we hope to layout some strong groundwork such as to gain the interest and acceptance by the open source community. We believe that project of such magnitude and significance is best served by the values and ideals that govern the OSI.

In a rough architectural overview, Project ZNIX hopes to establish the following:

  1. A framework for storing sets of information (belonging to differentiable data formats) such that the labyrinth of relationships that they hold to each other could easily be modeled, viewed and modified.
  2. A standard API for manipulating this information labyrinth.
  3. Mechanisms for feeding and extracting information to the above mentioned data store, from and for third party applications that were not inherently built to support the framework.
Image 1

An Analogy

Often in the film industry, an agent serves as the middle-man between directors and actors. They generally maintain a pool of actors under contract and are solely responsible for the number of jobs each actor receives. During a film casting, a director would contact such an agent and give him the details of the roles present in the script. The agent, fully aware of the capabilities and the experiences of each of his actors, would pick the one most appropriate for the role. The director then interviews the candidate and decides whether he is suitable or not. If the latter is the case, the director may continue to ask for another candidate until he is satisfied. In some instances, rather than asking the agent for a candidate, the director may ask for a specific actor, whom he himself knows to be the best.

The ZNIX Framework too, functions in a similar manner. A client process is analogous to a director. When a client needs to query or manipulate some set of information, it will ask the Framework's "Agent" to provide him with an interface to that information. This interface is called an "Actor". Like a real life director, the client may know exactly which Actor is appropriate for the task at hand. For example, if the client wants to store the e-mail address of a person named John, it will ask the Agent for the Actor named "John." Alternatively, the client needs to find the Actor with a given email address, it may ask the Agent to fetch him any known Actors with a matching email address.

Please visit the project web site for additional information. All comments will be valued.

History

  • 5th July, 2005: Initial post

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Architect
Sri Lanka Sri Lanka
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions

 
GeneralTry something besides copying ..... Pin
fwsouthern5-Jul-05 16:30
fwsouthern5-Jul-05 16:30 
GeneralRe: Try something besides copying ..... Pin
sameeraperera6-Jul-05 5:48
sameeraperera6-Jul-05 5:48 
GeneralRe: Try something besides copying ..... Pin
Hans Dietrich9-Jul-07 0:44
mentorHans Dietrich9-Jul-07 0:44 
GeneralRe: Try something besides copying ..... Pin
sameeraperera9-Jul-07 0:49
sameeraperera9-Jul-07 0:49 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.