This project is read-only.

Project Description

Personal Knowledge Archive and Social Networking Status and Reporting.

1. Introduction

Weebing is a tool that helps you manage, organize and discovery information and patterns in your social network. It utilizes Web 2.0 services such as Windows Live, Twitter, Facebook, Flickr and more to aggregate information and metadata in an intelligent manner.





----- OUTDATED INFORMATION ---------

1. Introduction

Weebing is a runtime and framework for defining, storing and retreiving any type of personal information. Weebing will have tools that integrates with social network services for status updates, friend details, etc.

Weebing is an attempt to implement ideas from other projects:

http://en.wikipedia.org/wiki/LifeLog
http://en.wikipedia.org/wiki/MyLifeBits

2. Weebing Tools and Utilities

The following is a list of possible tools and utilities that can be built to interact with the Weebing storage framework.

Name Purpose Examples and alternatives
Docked Random Visualizer Application that docks like Vista Sidebar and randomly displays information from your information storage. This can be RSS feeds, contact updates (FaceBook/Twitter), LinkedIn, Flickr updates and other Web 2.0 services that the person subscribes to. Flotzam by Microsoft is a good example on how this could be visualized.
People Visualizer Displays all your contacts in different ways depending on the context and how the user wishes to navigate. People could be grouped in clusters depending on relationships and communication patterns. Example: Some people you communicate with over FaceBook while others over e-mail and yet other people with Instant Messengers. These could be clustered in a manner that makes it logical to dig deeper into the information you have gathered on the specific individuals in the different contexts (services).
Metatagging and Associations Management Tool that allows you to more controlled look and manage all the metadata and associations in your information store. Normally a lot of tagging and associations is automatically generated by the actions and interactions the user has using tools ontop of the information store, but this is an administrative utility to clean up or manually assign metadata.
Cloud Data Manager Utility that can sync your contacts and calendar items between various data sources in the "cloud". Windows Contacts (Vista), Windows Live Contacts, Outlook Contacts, Google (Gmail) Contacts, FaceBook, Flickr, Twitter, etc.


3. Architecture

Data structures will be defined using XML Schemas. Instances of specific data structures will be XML documents that is stored in a simplified table structure on SQL Server Compact Edition 3.5

3.1 Logical Information Store Diagram

InformationStore.png

Objects
This table is responsible for holding all instances of the different types that is defined in the information store. While these logical stores looks like seperate databases, they are physically tables in possibly the same database. But each of the individual stores is wrapped behind a service layer for a loosely coupled architecture.

Types
This table is responsible for describing all the types that a user wants to have in their information store. Some types will be available by default and it's definition will be locked for integration and synchronization and upgrade purposes. The user will still be able to extend the schemas, for example add a field that contains "Birthplace" for all Person types.

Tags
This table holds a hierarchical tagging (e.g. People/Sondre, Places/Oslo) that is applied to objects in the information store. Tagging works in a similar way like Windows Photo Live Gallery. Tags on photos should not be collected in the information store but be wrapped around existing metadata on photo files.

Associations
Holds associations between all objects in the information store. Allows the user to associate any type of objects in different manners and within different contexts.

Groups
Organization of objects in folder/category structures that has more metadata than the tags. Groups is the layer in which permission and sharing control is stored and managed.

3.2 Example Diagram

The following diagram shows a possible way of organizing instances of your objects with associtions, tags and groups. Types, Groups, Tags, Associations can in multiple ways store and be used to represents the same information and sometimes duplicate information will be stored.

ExampleDiagram.png

3.3 Architecture Principals

All of the individual "databases" in the above diagrams will be encapsulated by individual WCF services. There will be granular services that exposes CRUD-like operations but also aggreated services on top which aggregates the various subservices in a logical and naturnal manner.

Windows Sharepoint Services 3.0 API support will be one of these aggregated services which will be exposed from Weebing. This will be done to allow Office 2007 programs to be used as rich clients toward the Weebing service interface. Makes it possible to use Office Access 2007 as a client and build custom and rich forms that interacts with the information stored on Weebing.

Getting Started as User

Weebing is currently in planning and prototype stage and there is no release available to users. But please feel free to contribute in the discussions with your suggestions and ideas.

Getting Started as Developer

These are the requiements for doing development on the Weebing project:

Visual Studio 2008
Team Explorer 2008
Microsoft SQL Server Compact 3.5

Future

Weebing will in the future be the information framework which Lucy - a future CodePlex project to create an personal assistant ("A.I.").

Last edited Jul 7, 2009 at 8:43 PM by CareBear, version 24