Garo Garabedyan- a private blog

Everything here is written and belongs to me except otherwise noted.

Archive for April 2008

Event Based Content Editor

with 4 comments

Event Based Content Editor

(Concrete Implementation of the eventBased Data Philosophy)

Printable version in odt and pdf.

People use the content (in general text) as the main output of their work. I want to provide an ability of storing information about every procedure which the human has done on this output. In such a way that when a procedure binds pieces of text in some relations, this binding to be technologically presented and when a piece of text is edited, the user to be aware (by warning) of the relations of the edited text with other text(s) pieces. I want to ensure not breakable logic relations between pieces of data when future editing is applied.

1. Used expressions and their meanings in this paper:

1.1 Text/ Content

Text refers to every group of words logically forming connected statements. Text in its nature has an object of representation. Valuable content is always dynamic, it changes when there is a change in the purpose of the document, in documents which relate to this one and in many other consequences which reason the need of change of the content.

In technology aspect content is symbols, pictures, tables, etc.

1.2 Content Editor

Content editor generalizes a group of applications which deals with content. These are applications enabling editing of content and this way creating revisions of it.

1.3 Connections between parts of content

In any text we found connections between its parts and parts of other texts. Of its own genesis this connections are dynamic as the nature of the content.

Relations are logical and lexical according to their nature of genesis. When a relation breaks, this causes a logical or lexical mistake.

This logical relations count is not discrete. Often we can’t count them. We as editors of content are taught to capture many of this relations, but some of them are bind with the concrete content and its aim. The letter relations are too heavy and sometimes with a couple of readings aren’t enough to recognize such a broken relation.

1.4 Part of Content/ Text

Text which can be marked in the editor. Copied and pasted in the same or other document.

1.5 Connection between Parts of Text

Group of texts connected in a connection. Minimal count of this group is 1 /one/ (in order to enable user to start some connection and in future to find text appropriate to be added to the connection), maximal count of this group is not set at this moment. Every connection can have text describing the connection, this text is called down as note to the connection. It is possible to not enable the note to the connection to be text (see the definition of text up in this paper) but only group of symbols.

2. Description of the eventBased Content Editor:

2.1 Event Based Text Editor Catching Changes and Its Related Parts in Order to Provide Applying of the Change to the all Related in any Manner Pieces

This is a text editor with a functionality presented to the author(s) to declare connections between parts of the text and write some notes describing the declared connection. Every time when some part of text in this editor is changed and this change affects some part which is part of connection, to the user (in future we can address the output of this functionality not only to human but to a machine) is presented information about the text parts in the connection (which presentation allows the user to see the whole part of text in the connection) and notes written about the connection.

One part of text can be part of many different connections. Every part of text can contain many parts of text which are parts of connections.

The user can view/edit the connections for every part of text by using a viewer integrated in the text editor.

2.2 Advance functionalities

Adding special object treated as part of text which is not printed, but in its own is a macro, which outputs texts and as every part of text this one can attend connections. This objects are supposed to be checked by the editor by running background process in the operating system and when the output of the object (macro) is changed the editor to present a warning message containing the two outputs of the object (present and past) and the parts of the text in the connection(s) and the notes to the connection(s) plus fast way to open the document and edit this parts of text.

The macros have to store in itself the last its output.

Note: It is not an aim of this paper to work on the idea to present the output of the special object (macro) directly to the text of the document.

2.3 Possible implementation

The Event Based Text Editor is written in form of macro and added to the general templates of any Text Editor providing macros. The user is supposed to be provided with a button for accessing the viewer of connections and creating connections tool. Every connection of its own is stored in other macro (one for the all connections in a document) which is not placed in the template but without stored connections in it.

This implementation in its own is multi platform and saves the connections through different computers when they are in the same document.

It is not sure what will happen when part of text (which is part of a connection) is copied and pasted in the same or in other document.

One possible business logic is: Connections are specific in the context of the whole document and it’s not right to automate the connections, but only prompting for this ability at every copying. Argument (in example): it’s possible the user to try to copy part of text which is part of connection which connection has in itself parts of text which are not in the part of copying text. It’s possible this texts to be part of connections with other parts of text not in the copying text.

Q: Connections declared by the user are not in deep about lexical and all connections (in general) but only about the most important ones?

Q: It’s important to keep only the first level of connection?

Example:

<1….1> <2…...2> <3…….3>

As its shown it is possible to be selected parts of parts of connections. It is not a good idea to try to automate the copying of connections in every case.

<1…..<2…..1>….2>

Here is an example showing the specific nature of part of texts, it’s not a good idea to use XML style of presenting the connections, but XML does not allow an element to contain an open tag of a child element without child’s closing tag in the first element, too.

2.4 Possible additional tools

Tool enabling finding differences between two documents by using their connections as a start point. In general searching not for connections changes but for the whole document.

Tool working in background of the operating system and from a list of declared files to take the objects (macros) from them which are part of some connections and trace check for differences of the output.

2.5 Embedded RDF in XML (XHTML) implementation can enable referencing connections from different document and even from different sources

http://www.w3.org/2006/07/SWD/RDFa/primer/

When a connection contains parts of text from different sources the system (according to me) should create RDF names referring to the texts attending the connection(s) and place this content in an RDF file attached to the content. It is not necessary to program all parts of text to automatically create RDF names, but I don’t like the idea to create RDF name referral when the part of text is connected not only with parts of text from the current document but with other part(s) of text from different document. It’s nice the connections about pieces of only one document to be referred to the RDF file attached to the document, too. This connections’ references should related to the parts’ of text references and this way forming RDF model of the connections and the parts of text. This way machine can be able to find this connections through parts of RDF requests (in order to take the all part of text which is a member of a connection the machine should use a new protocol/ trying to translate the document to an HTML file with a RDF) but not through a completely new protocol.

2.6 Tracing revision

http://garabedyan.wordpress.com/2007/11/18/ajax-wiki-editing/

In the above post I have explained that editing documents is just Editing or Adding content. In this way of thinking by using JS in Web Presentation Layer it can be easy to trace which is edited and which added.

Google offer of cutting letter count of words with the aim to save memory

Written by garabedyan

April 27, 2008 at 18:15

Wikis are sucessful

with one comment

Wikis are even so powerful because it mimics the way we work in real life in order to produce content. When we work in collaboration the aim is the same. Wikis help to keep the aim and to avoid any other misunderstandings and waste of time in communication between the team members.

http://www.commoncraft.com/video-wikis-plain-english
Common Craft Show about wiki as a coordination mechanism between people.

Saving the data in one lace is not a revolution of Wikis. This is a known technique, which wikis share.

Data Immunity (opposite of Data integrity)
Free to make a change which will be applied until someone changes it
While editing wiki page there is no any conversation between you and the other collaborators. This is a good characteristic in order to do what you really want, to reach the main goal of the project. If the collaborators are many it is hard to get into a some consensus about something, sometimes the other collaborators have no opinion about your change. But when you apply your change directly, only people who have arguments against this change will talk to you (or just erase your change).

People were scared at first look at wiki. They all have been thinking that people will be like vandals and will mass delete and change whatever they see. They think that collaboration between unknown people have to be first in talks and later when everything is set down, it to be applied in homogeneous final work.

This process as described above is only in real life. By IT we can save all the revisions which in real life is too heavy to be done (revisions are sometimes so much and so small in their change). We can provide a continuously edit and update of wiki article which is too hard in real life process of collaboration.

Express your opinion independant
Blogs and Forums are competitors of Wiki only when there is a discrete topic on which all members want to express their independent opinions. At this case blogs and forum present editing capability only to the author of the concrete post. At this case the saving all the revisions is not needed.

Wiki is useful in Enterprise
Wiki enables full and dynamic collaboration on the topic of the job and lets executives to see who and how much work have done.

Commenting (or expressing independant (not mass editable) view)
Because of the mass editing nature, expressing independant opinion should be protected by the revision history engine in the wiki. In other words to inherit the motionless nature of the pure revision and this way ignore the dynamic behaviour of the wiki content at all in order to save the independent view not changed.
Making comment like a chronologically presented opinions is too motionless technique for the virtual enterprise collaboration. Everything in virtual world is dynamic, especially about the enterprise where things must be dynamic. So making comments have to be tied with something static (the revision itself is a good candidate in example).

Making comments in Wiki articles have to be tied to a concrete piece(s) from the last current revision. This means that a comment is related to the revision and to a piece from the document. This comment must not be presented to revisions older than the current. This comment have to be presented to newer revisions until the linked piece of the document is not changed, at such a case the author of the comment is alerted and he or she has the right to republish the same comment if he/she things it is needed.

New Office Packets with Wikis
When we collaborate in real life in order to finish a particular job we behave like we are in an on-line forum. Usually our colleagues calls us with some request about some work, if we thought that we need some additional information in order to finish the job, we call our colleagues and ask them about the needed information.

We all use paper folders in our real life jobs. We trust our colleagues that they will not replace of steal some document from this folders.

Now, let me describe you the future Office Pack which will have this capability in itself.

You will be working not with a single document, but with a hole bunch of many documents stored into one secure archived Office file. This file will be secure and nobody can replace a document from it. To this archive wil be added a default wiki which will coordinate the editors about the TODO list and so on. Every piece from the content of every document can be addressed and referenced from the wiki article.

Document revisions would be a statutory to the new way documents are going to be edited
In future bosses will use document revisions in order to review the work of every editor (worker) in collaborative on-line jobs. No matter is the document a Solid Works model of an engine or a brochure for a piano concert. This will be all inspired from the mass usage of document revisions within Wikis.

http://garabedyan.wordpress.com/2007/11/18/ajax-wiki-editing/
Ajax is useful to wikis because it can make fast editing and with a special JS code Document Revision recognition can be done while the article is editing.

This kind of editing would be a little bit advanced.

Editors will be able to mark with special tags the content (piece of the document) which they are not sure about while they edit content relative to the first one. We talk about a parallel work on one document and in usual people who work on it are not specialist in what the other person is doing. It is something important because in default people thing that when you edit (fix) something you try to make it true, but if something on which the last thing is based on is not true (I have written a post about how to technologically present such relations), you are responsible only for your work. When your work is closely related to something which you can’t predict, something that you don’t know, you need to claim that you don’t want to be responsible for it while doing your job.

Idea: Document revision for a concrete piece from a document
Imagine you want to trace all changes of a piece of document, not the whole document. How a piece of document is firstly too small, then is getting bigger with a lot of information in it. In this period of grow it is sometimes deleted without any pieces left.

Written by garabedyan

April 27, 2008 at 09:14