Diamond Wiki 0.1

After about eight hours of late-night hacking, I've got an initial version of the Diamond Wiki project. It doesn't do all that much yet, and there's hardly any content, but feel free to play with it. I've backed it all up, so don't worry about erasing things. You can start with the FrontPage, or you can BrowseFacets.

The next feature I want to implement is to put page counts on the refinements, so that you have a better sense for the size of each category. I also want to add negative refinements (e.g. "all pages that are NOT about Wiki"). Then maybe I'll work on integrating faceted browsing with text search.

Posted on September 5, 2003 07:51 PM
More projects articles

Comments

Our own Sean Conner asked a question over on the Wiki, where normally nobody would ever hear him (tree... forest...). However due to my super powers, I noticed the question, and I so shall reproduce it here for the benefit of all.

He wanted to know why I didn't just use a blank line as the separator between metadata and the document body. The answer is that lots of Wiki pages already have blank lines in them, and I thought it would be annoying if naive users had their entire first paragraph removed, simply because they didn't put any metadata in the page.

Also, I fixed a bug in the URL-generation code that broke the wiki when it tried to link to "Description: 5'10" and according to his Mom, looks like a Cuban refugee." which is a bit of metadata that was also contributed by Sean Conner.

Posted by: kim at September 5, 2003 07:17 PM

Heh. One of my friends thinks I would make a great code tester as I tend to find some rather obscure bugs (when all I do is stupid stuff like compile with conflicting options, or make up wierd meta data).

Now, in thinking on how to add metadata to wiki pages, why bother with putting the metadata in with the rest of the actual page? Why not an extra textarea field where the metadata is edited? That way, there is no silly marker to be remembered, it separates the metadata from the data. I don't see why it would be all that difficult to add another field to the form, since obviously you separate out the metadata from the entry anyway ...

Posted by: Sean Conner at September 7, 2003 02:42 AM

I was originally going to separate the data and metadata, as you suggested. I decided not to because it seemed simpler to have only one text field. But I think maybe you're right, that the marker obviates the benefit of having just one text field.

Alternatively, I could just use a blank line as the separator, and if the first paragraph doesn't appear to be metadata (i.e. it doesn't have a colon), then treat it like regular data.

Anybody else have an opinion? Now's your chance to influence the future :)

By the way, I've implemented page counts now.

Posted by: kim at September 7, 2003 09:58 AM

In the future, would you ever want to tag metadata to specific sections within a page?

Why would you want to do that? Say you have a wiki on programming languages, and that some pages may contain quotes from famous language designers. So one of the refinements that you want for the wiki might be "Contains quotable quotes". While inserting a quote in a page, it is no big deal to simply check the metadata section and append "Quotes: Alan Perlis" to it. But things are much more complicated while deleting a quote — you have to check if there are any other quotes by Perlis in that page before you can delete it in the metadata section. Moreover, you may not know that "Quotes" is one of the metadata and that they should be updated when adding or deleting a quote to a page. In this case, it makes a lot of sense to keep the metadata close to the quote itself — it makes it much easier to maintain consistency between data and metadata that way.

Anyway, if in the future you do want to allow embedding metadata within a page for this (or some other) reason, then it might make sense to leave it the way it is now — with a single text field. Except that the syntax may need to change to allow defining a scope within a page to which the metadata apply. (Of course, you could delay the decision and split it into two text fields for now; they can always be merged back later, if and when you do decide to allow embedded metadata.)

BTW, I don't like the idea of using a blank line for the separator and guessing if the first paragraph is actually metadata. (Ever received mail with ">From ..." as the first line of a paragraph?)

-K

Disclaimer: I haven't completely grokked the idea behind Diamond Wiki yet. This issue may be completely irrelevant.

Posted by: Kaushik at September 7, 2003 02:12 PM

You might also want to display the metadata somewhere, instead of having to edit the page to see what meta data a page has.

Posted by: Sean Conner at September 7, 2003 03:27 PM

Why not define a wiki syntax for embedding the metadata near the content? Something like {{Quotes: Alan Perlis}}.

You could still have a block of metadata at the bottom, or top, of your document, but you could also have the metadata larded in context. This isn't too far from the wiki practice of dropping an AnswerMe or DeleteMe tag where it's needed.

Posted by: Eric Scheid at September 7, 2003 09:55 PM

Further to last comment: I agree with Sean Conner that you want to show the metadata on the page ... wiki editing is all about reinforcement learning through feedback. You could also activate the displayed metadata with a link to browse that facet. This would be similar to but quicker than clicking a category wikilink and then clicking to view the backlinks.

Posted by: Eric Scheid at September 7, 2003 10:32 PM

You've done it now, I can't stop thinking...

Most wiki's include a capability for forming InterWiki links, and I don't know any that don't have RecentChanges.

Say you then write links like MetaFacet:Key:Value into pages, which get converted into clickable links. All you need then is to have the external facet browser watch your recent changes log, look for the link text, and log that.

Bingo - instant faceted classification for your wiki, no coding necessary :-)

Posted by: Eric Scheid at September 8, 2003 06:31 AM
Post a comment









Remember info?




Prove you're human. Type "human":