in

Emerald Hand

Emerald Hand, Inc. community home page.

This Blog

  • Home
  • Contact
  • About
  • Directory of Computers/Tech Blogs

Syndication

News

I'm back to blogging

Worm in liquid maze

Design and development of information management tools.

Wiki PIM

For those who don't know, PIM is a personal information manager. It's a special program to store and manage any type of information on the computer that you might want to reference later. I think computer is the best tool to store any type of information, including personal notes, tasks, and so on. I use it for that purpose and looking back at the time when I used notebook to store my notes (or even worse, random pieces of paper) I can't imagine going back.

There are a lot of different PIM programs, and I think most of them suck. I'm lucky if program allows me to store notes as a tree (sometimes working with a tree is complicated, such as Microsoft OneNote. I hate clicking 5 times to open a page and simply avoid using the tool).

But to me tree organization is not enough. It's limiting. I often want to be able to access my notes using different paths. For example I want to reference a page dedicated to a book from the list of books I want to read and from a project page that holds all the materials related to the project, which include the book. How to store these relationships in a tree? A page might have two or more parents. In this case the book might be related to several projects. Good PIMs support custom flags (or other forms of references) and I might be able to mark each book as related to project A and B, but it's not always an answer. I need the PIM to support a graph structure.

Working with wikis I realized that they organize pages in a graph. Each page can reference any other page or itself. That's what I was looking for.

I'm not a big fan of the wikitext format, but I can live with it. Sometimes there are limitations with renaming a page (a link to the page will break unless all pages are parsed and the link text is updated), but most wikis have mechanism to overcome this. I started to look around the web and found out I wasn't the first who came up with the idea.

Initially I thought I will have to use a wiki on a server. However, it would have been an impediment to store quick notes on it. I would need to open a browser, navigate to the page, wait for it to load and so on. Plus I don't trust browsers to enter large amounts of data, such as a long article (I use w.bloggar to write blog posts). Soon I found wikiPad and fell in love with it (well, almost).

wikiPad is free, open source (runs on Python), stand-alone wiki that runs and stores wiki pages locally. It is designed specifically to organize information and uses the fact that it's a local application to go well beyond what most online wikis have to offer.

Here's a list of things that make it stand out for me:

  • Dynamic tree view - Next to the page editor there's a tree that shows relationship between all pages. Each page is a node. When a page has several parents (referenced in several places) it is shown as a child node of each page that references it. This is very handy, since now I can have my book shown under each project that references it and under a separate page that lists all books I'm planning to read. It is also possible to see a list of all parents of the page.
  • Custom attributes - Each page can have custom attributes defined in a way similar to how links are defined. Tree has a special "views" node that shows all pages grouped first by the attribute name and then by the attribute value (I use this to have two separate lists of projects that I currently work on and projects I want to work on in the future).
  • Wikiword completion - wikiPad can show a list of existing wikiwords or attributes that start with the current word. It helps me to remember the exact wikiword I was looking for. In addition the program has a dialog that finds pages for the text you enter as you enter it.

The program is nice, but it isn't perfect. This is a list of things I wish would be better or different:

  • No page history - Among other things, wikis are very useful for version control. In most wikis it's easy to see previous versions of the current page and compare it with the current page. Not in wikiPad. I miss this feature.
  • Limited tree operations - Tree doesn't support add or drag and drop. It might be tricky to define what should happen (since links are embedded and mixed with the page text) and implement, but it would have been useful.
  • No hotkey or single instance - The application can be minimized to the taskbar icons area, but there's no hotkey to open it. I could have created a hotkey to launch the application, but it doesn't support single instance.
  • Flat pages relation - I like how open-ended wiki is, but sometimes it does get in the way (partially due to the way wiki works). For example I can't have "Project/Overview" page and then from "Overview" reference parent page using "../" or something like that. This way I cannot have multiple "Overview" pages that are related to different projects. It's a price I'm willing to pay. As a side note OpenWiking does support both, flat and structured pages location.

I also want to mention that with a graph structure it's really easy to create a mess out of the page relationships since the wiki is so open. I try to be careful with referencing a page in several places. If I do it I get a chaotic mixture in which it's really hard to find what I need. Most of the time I don't have this problem.

Alternatives

It wouldn't be fair to praise wikiPad without talking about alternatives. I have already mentioned that it's possible to just host a web-based wiki on a local server. I don't like that solution because it's sluggish and using browser to enter text can be unreliable. There's a number of wiki application designed to run locally (look at Desktop Wikis at Wikipedia), but most of them have limited support to show relations between wiki pages, such as dynamic tree in wikiPad.

The only other desktop wiki I found that I found interesting is ConnectedText. It's a shareware wiki with some features that are missing from the wikiPad. It supports inline images and page versions, but I don't like their "tree" with pages (both how it looks, how it acts and it misses some of the wikiPad features, such as custom icon for the node). I like it less than wikiPad. For me, wikiPad parts absent from the ConnectedText are important, but I can live without unique ConnectedText features.

Share this post: Email it! | bookmark it! | digg it! | reddit!
Readability Stats: Word Count: 1173; Sentence Count: 69; Grade Level: 8.3, more info...

Comments

 

Jim Bakker said:

Your comments about ConnectedText are not entirely true. It is possible to add icons to any topic. And I am not sure about which "tree" you refer since topics are not organized in a tree like in Wikidpad. I use ConnectedText because Wikidpad is simply not reliable. At every release of it some problems vanish and others appear. Since I started using ConnectedText never again I had to face the problem of application not starting.

I also would like to point that there features in ConnectedText that Wikidpad fall short. Like plugins that enables me to create charts or add mathematical formulas. Support for drag and drop, HTML Help export, etc.

Note that Wikidpad just started to add some of it recent features, like the use of SQL Lite after the appearance of ConnectedText.

July 14, 2006 6:24 AM
 

Ornus said:

Well, they show all notes in a graph (a cluster?). Imho it's still a tree only shown differently, and I don't like it. Maybe I'm more used to explorer-like tree, but ConnectedText way of showing wiki structure isn't easy for me to use.

You're right about icons, but I don't see how to show them in the "navigator"... I might have missed it though.

Wikipad does support custom extensions (and custom syntax btw), but they're not nearly as good as ConnectedText. I don't really need mathematical formulas or charts, appropriate tree is more important. But to some people charts could be important.

You're right about ConnectedText maturity. It's a commercial application and it should have much less problems than Wikipad. So far however I didn't have a lot of issues. New releases add new features, and for me those releases are stable enough. However, Wikipad is still in beta and problems are to be expected.
July 14, 2006 7:28 AM
 

Jim Bakker said:

Hi Ornus,

A graph is not a tree since a wiki is not hierarchical per se. The graph shows links in and out. Note that the graph is not necessary to navigate between topics in ConnectedText. It is just another tool that helps to see how one topic links to others. Like the other tools available.

Wikidpad works more like a two-pane outliner. ConnectedtText is more wiki-like. It it not possible to see the whole strucuture of Wiki since the number of links are very large. For instance, ConnectedText keeps all revisions, a very important feature in wiki systems, a also for me, because it enables me to track down all changes made in a topic.

To show icons in navigator you have to enable it in the options menu.

July 17, 2006 6:23 AM
 

Ornus said:

Hey, both Wikipad and Connected Text store data in a directed graph. Each node, wikitext document, can have more than one parent. Actually Wikipad supports unidirected graph, since it's possible to see parents of the child from the child (it shows a list of nodes) and a list of children (in the tree view). There are different ways to show the graph, and I just happen to like Wikipad way better.

You're right about versions, but in general there's no need to include them in the picture. I might want to look at the old versions, but I don't think ability to find the old version through a link is important. It would actually lead to confusion, since if I removed the link in the new version of the document, I don't want to see it anymore.
July 26, 2006 9:53 AM

Leave a Comment

(required)  
(optional)
(required)  
Add

About Ornus

Lead Sider and Xelog developer. I'm interested in information and how we can better manage it using computers. I'm also into design and understanding how to creating cool, useful, simple things.
Copyright © 2006-2007 EmeraldHand, Inc. All rights reserved.
Powered by Community Server (Non-Commercial Edition), by Telligent Systems