Saturday, April 19, 2008

ConnectedText 3

I have been using ConnectedText since August of 2005 (Version 1.0.0.2), that is, almost from its very beginnings. Before ConnectedText, I used Notebook, a tcl/tk application by William Duquette that I felt implemented the idea of a personal wiki in a most elegant way. There was, however, one problem that became more and more important to me, as my database grew larger, and this was the limitation of the search function. Notebook allowed (and allows) you to search only for a certain string. It does not have any "full text" search, or the ability to search using operators like AND, OR, NOT, etc. ConnectedText did have this capability. Furthermore, Notebook's database was a flat text file. This made searches fast, but it also meant that everything was in one large text file, and the question arose for me how well that would work, if I did not just have one or two thousand of entries, but ten-thousand entries or more. ConnectedText is based on an SQL database, and that seemed to be better. It also allows several databases to be open, allows searches across all open databases, and even inter-project links. All these reasons persuaded me to switch, even though there were some things that Notebook did better, as, for instance, the ability to embed searches in pages by using a macro.

It took me a while to transfer the thousand or so entries into ConnectedText, but since the Notebook file was a mere text file, it was not difficult to translate its format into the format required by ConnectedText and to remove information that was irrelevant. (This just goes to show how important it is not to be locked in by a proprietary format.)

I have never regretted the decision to move to ConnectedText. It has never crashed, and I feel my information was never in danger. In any case, eventually there were added export capabilities that allowed you to transfer all the information to text or html files. The newest version goes on step further. It can save all the information twice: once in the database, and another time as a pure text file in a backup directory (which, by the way, can be indexed and accessed by any desktop search program.) In other words, ConnectedText does not only not lock you in, it also plays nice with other applications. Import could, in my opinion, be stronger. It allows you to import text and html files, but it does not allow you to import one large text file as many topics, using a separator like "~", for instance. But that does not bother me at all, since I put all the information I collect and all my thoughts into ConnectedText project (or database) anyway.

Version 3 solves, by the way, the only misgivings I had when I changed from Notebook. It now has something called "Smart Topics," or topics that can contain search expressions and can thus give you an idea of what information there is in your database on a certain topic. Indeed, since ConnectedText's searches are much more capable than those of Notebook, the feature is much more sophisticated as well. I now have more than 6000 entries in my main project, called "Notebook," and thus this feature is more important than ever. If you index your project and don't create huge pages, that is, pages that are the equivalent of more than 50 printed pages, smart topics open almost instantaneously (just as the results of even highly complicated show up immediately).

There was one feature of ConnectedText that I did not immediately appreciate, but that has become more important to me as time went on, namely the ability to assign categories to topics, where categories can be used very much like tags. In any case, it allows you to categorize as much or as little as you want.

Another feature, which I thought would be more important to me than it turned out to be is the Navigator, which gives you a visual outline of how the topics are related to one another, very much like a mind map (or like the visual map of a program called The Brain). I sometimes use it, but less than I would have predicted. I prefer the "mental map" of the direct connections between topics created by the direct wiki links and by the indirect linking through categories. But there are others who find this visual map more important.

Between late 2005 and April 2008 so many new features were added that one might almost say that ConnectedText became a different application. But the "almost" is important, as it remained true to the spirit of its original conception as a personal wiki designed for note-taking. Some of the more imprtant of these features were: export capabilities, the ability to filter categories and topics, inline queries, print preview, a clipboard catcher, anchors and footnotes, an autolink function for topics, an outline view, a quite capable outliner that allows one to drag topic names as links into the outline, inclusion (transclusion) of other topics in any given topic, a table of contents view, various plugins for useful applications, and scripts, etc., etc.

Version 3 adds many tweaks and minor improvements, but the most important feature it adds in addition to a new editor that handles proportional fonts, indexing, and backup is the new semantic extension enabling markup of properties and attributes, which can also be used in full text searches.

Properties provide meta-information about a topic that is not displayed directly in the topic itself but can be queried for in a full text or semantic search. Thus, if there are certain topics that need further work or revision, one could add the property ($PR:) pending (Status:=PENDING). It could be something as complicated as the following: $PR:Status:=OK|DateDue:=20080519|Value:=1000.
This is very useful for "slicing and dicing" in ways that mere categories do not allow.

Attributes are used to mark information within the topic itself. They allow you to assign a value to a certain phrase, as for instance the value 3,000,000 to "population." If the topic contains the text "the population is [[population:=3,000,000]], the topic would display "the population is 3,000,000". Attributes can also be searched for in full text and inline queries, thus adding a further dimension to the data.

I do not think that it is an exaggeration to call ConnectedText now a "semantic desktop wiki". As such, it is almost without competition.

In any case, I am impressed with the new capabilities of ConnectedText. Time will tell, how valuable the semantic extension will be to me personally, but the beauty of the program is that you can use this feature as much or as little as you wish. It grows with you, or, perhaps more importantly, it allows you to grow with it.

No comments: