It is time to do a bit of show and tell about the new Tagging capability being added to Surfulater. The ability to add tags or keywords to articles and then locate articles for specific tags, has been a reasonably common user request. Tagging of content has become extremely popular in recent times, especially on Web sites. I have done a fair amount of research into tagging, folksonomy, ontology, semantic web etc. over the post few years and it is clear there is a lot happening in these areas and we are in many ways still in the early days.
AÂ problem with tags is that single words on their own, are often ambiguous and have no context. For example what does “disk” mean? Is it a hard disk, a record, a CD, a disk in your back or maybe even a plate.
CamelCase (or WikiWords) offer one solution to this, but one I don’t personally like, not that I’ve actually used it much. To quote Wikipedia
CamelCase is the practice of writing compound words or phrases in which the words are joined without spaces and are capitalized within the compound. ex. HardDisk … CamelCase is rarely used in formal written English, and most style guides recommend against its use.
Hierarchical tags are another way to add extra meaning. ex. hard.disk For some time I thought that the ability to use hierarchical tags would be worthwhile, but have in the end decided against that.
To locate articles using tags, my current plan is to enable expressions to be used to specify tag groups. For example: car AND porsche. A tag hierarchy would use car.porsche for this. The problem here is if someone tags porsche instead of car.porsche, then the former won’t appear under the car.porsche listing. It is also more effort to enter hierarchical tags. Expressions offer endless flexibility here. You can find just “car”, just “porsche” “car and porsche”, “car and porsche and not 911” for example.
A tree will be used to show all Tags (as folders) and their matching Articles as children. The aforementioned expressions can be used to specify virtual folders in the tree, along with the matching articles. This will be a new tree in the Knowledge Tree bar.
Until this is all in place and in use, it is difficult to say how well it will work in practice, but I feel it is a good solid starting point.
The next issue is that the use of Tags is a bit of a mess, everyone does their own thing, and there is little standardization, which of course makes using them to find things is less than ideal.
To quote from Wikipedia again:
There are drawbacks to such tag-based systems as well: no standard set of keywords (also known as controlled vocabulary), no standard for the structure of such tags (e.g. singular vs. plural, capitalization, etc.), mistagging due to spelling errors, tags that can have more than one meaning, unclear tags due to synonym/antonym confusion, highly unorthodox and “personalized” tag schemas from some users, and no mechanism for users to indicate hierarchical relationships between tags (e.g. a site might be labeled as both cheese and cheddar, with no mechanism that might indicate that cheddar is a refinement or sub-class of cheese). Services which allow both tags and folders for organizing bookmarks (such as Netvouz) make this less of a problem though.Â
I’ll add Surfulater to that list. It goes further by enabling an article to be in many folders at once and letting you add links between articles, to build a web of related information.
In this situation all that folks like me can do is provide the best tools we can and hope they are used wisely. To this end it is important to use a well defined set of tags (see controlled vocabulary), instead of any old ad-hoc words. To help ensure consistent use of specific words I’ve implemented an auto-suggest list which displays words matching the characters typed so far, which you can then pick from. The first image shows the auto-suggest list with matches for the letter d, along with the matching characters bold and underlined as a visual cue. The second image shows the selected word entered as a tag.
 Â
You can also press the Down Arrow key to access a list of all defined tags, as shown here.
Â
When you enter a tag word that isn’t present in the tags list, it is automatically added. Next a window opens showing the newly added tags, enabling you to correct or delete these tags as required, as well as add a description. If you are happy with the newly added tags just click “Close” to continue. The design here is to try and impinge as little as possible on your work-flow. An alternative approach would be to prompt you each time you typed a word that didn’t exist and ask if you wanted to add it. This could be quite tiresome, especially during the early stages of building your list of tag words.
As I mentioned on the blog recently the inclusion of tagging has dictated extensive changes to the underlying database engine that Surfulater uses, as well as several other fairly major framework enhancements. This means that the time to the next release will be a bit longer than usual, but hopefully well worth the wait.
Nev,
Your proposal for Tagging in SUL is very exciting.
Looking forward to trying it out.
Let me know if you need a Beta Tester,
Cheers,
Leigh
This is all very exciting. I personally would favour hierarchical tags as a capability, even if some folks will simply maintain a flat list.
Nevertheless, one can currently do something similar to hierarchical tags by holding cloned articles in multiple folders, I just find it less convenient if there are many tags.
On a different topic, here’s some good news from this part of the globe. The Cyprus developed excellent Archivarius indexing program supports .surfulater files since yesterday’s release: http://www.likasoft.com/news.shtml
BTW, somebody beat me to the announcement here:
http://www.outlinersoftware.com/topics/viewt/659
alx
@Leigh, thanks. I don’t know yet whether this will go through a Beta cycle, but if it does I’ll let you know.
@Alex. I haven’t completely ruled out hierarchical tags, so they could possibly be implemented in the future. Another area of complexity I didn’t mention in the blog post is representation and use of hierarchical tags in the new tags tree.
Thanks for the info on Archivarius – very interesting. I’ll have to give it a try.
Awesome 😀 I personally hate having to copy and paste articles when I think that they can apply to two subject matters (and then having to find them!!)
I personally find del.ico.us ‘s method very intuitive and easy to use (I had had no previous experience with tags prior); it seems like surfulater’s implementation will be very similar
hi nev,
i too am excitedly looking forward to the tags feature; i dropped by to check on that actually 😉
Your scheme sounds excellent to me, it sounds like you’ve looked at this from all the angles and made quite reasonable choices.
I especially like:
-that the tag tree will be a new tree in the knowledge tree bar
-autosuggest list- would definitely help control the vocabulary
Question-
will tag searches be integrated with the general search? For example, suppose i have a folder called “Sandisk Sansa C250 information’ which contains a bookmark that says ‘sandisk forums’. It wouldnt make sense for me from workflow pov, when creating that folder, if i dont have any more specific tags to add, to reduplicate my typing in the folder name (or bookmark title) over again in the tags line. So in cases like that, searching for ‘sansa c250’ would, i hope, show results of all articles that ‘hit’ based both on tags as well as full text search? or maybe i can select what it should search in? Or will tag search simply be a separate search from regular text search?
Hi Jak, The good news is that the new Tag system is close to being finished. Hopefully we’ll see a release of some sort, in the next week or two. I’m planning another blog post this week.
Re. Search. Tags appear as a normal field even though below the surface they aren’t. The will (should;-)) therefore be included in the current search results, just like any other field. I say “should” as I don’t have this working yet.