The new Surfulater V2.94.0.0 Pre-release

As mentioned a few posts back we have a shiny new Surfulater pre-release available for you to take for spin.

The focus of this release is the new  Tags dialog, which I blogged about in Tags – we need your help. Part 1.  Avi has written several follow on posts: Tags and Whitespace – more feedback requested, Tag Management Part III – adding new tags (I’m not sure what happened to Part II) and Tag Management – Live Example Page

We’ve received a lot of great feedback, which we thank you very much for. And we look forward to more.

After weighing things up we’ve settled on using the combined Add and Remove Tags dialog implementation I presented in Part 1, with a change to the Keep column, making it Remove, as suggested by Craig Prichard.

Avi has put together a sample presenting various alternate combinations (18 I think he said) in his Tag Management – Live Example Page post. Do comment on these.

In case you haven’t been following the recent flurry of recent articles, the new  Add and Remove Tags dialog enables you to quickly add new tags to a group of selected articles and remove tags from them. I don’t want to repeat the earlier discussions here, so please go and read those posts for details.

The Surfulater Help Topic: The Basics | Tags and Tagging Articles has been updated to cover the new Add and Removes Tags dialog and the Release Notes in the Help cover some of the other changes in this release. There is more going on under the cover, but we aren’t quite ready to talk about them yet.

Without further ado you can download the new release here.


Tag Management – Live Example Page

In response to the great feedback we have received, we felt it was worthwhile to put up a live sample page of Tag Management. It can be accessed here:

When you get to the page, you have options on the left as to how the Tag Management form will behave on the right. Here are the options and behaviours.

  • Whitespace Handling: Separator means whitespace acts as a separator, so “cat dog” will become two separate tags. Allowed means whitespace is just another character and part of a tag, so “cat dog” will become just one tag. Auto-Convert means whitespace is not allowed at all, and will automatically convert to an underbar ‘_’.
  • Remove/Keep Column: Keep means that the checkbox determines which tags to keep, with unchecked ones being removed. Remove means that the checkbox determines which tags to removed, with unchecked ones left as they are. 3-way means that the checkbox for each tags has three states: checked (keep on or apply to all selected articles); unchecked (remove from all selected articles); dash-checked or semi-checked (currently applies to some of but not all the articles).
  • New Tag Add: Text Only means that new tags in the “New tags” textfield are not shown as new tags in the rows below, but stay in the textfield until you click “Save.” Add to Rows means that as soon as you hit enter from within the “New tags” textfield, the new tags are immediately added to the rows below.

Set your options on the left, click the “Update” button, and try out the features in the Tag Management form on the right.

We look forward to more of your great feedback.


Tag Management Part III – adding new tags

Following up on the last two discussions, question #3 is as follows.

You add new tags in to the text field up top. Do those new tags get added to the rows at bottom, with the “Remove” checkbox empty? Or do they get added only when you click “OK”? Put in other terms, does the “New tags” textfield up top impact the rows at bottom even before you click OK (although not affecting the actual articles themselves until OK), or are the two activities separate?

For a good example of this, try the live sample we have posted (see the following blog post). The option is “New Tag Add.” To try it, select “Text Only” or “Add to Rows” followed by update. Then, go into the “New tags” textfield in the form, add some tags, and hit enter. In the case of “Text Only,” enter will do, well, nothing, since the new tags are only in the textfield. In the case of “Add to Rows,” all the new tags will be split on comma (and possibly whitespace, depending on your selection in the option of “Whitespace Handling,” and then be added to the rows.

Looking forward to your great feedback once again.

Tags and Whitespace – more feedback requested

As a follow-up to the previous article on tag management, and the great feedback we have received, we would like to get your feedback on whitespace in tags.

Here is the question: is a space a legitimate character within a tag, or is it only a valid separator?

Why does it matter? Arguments for the jury, in favour of whitespace in tags or against it.

  • Pro: Tags represent concepts. A concept is sometimes a single word, but sometimes multiple words that cannot be separated. If the tag is “dog animal”, really you are saying it is both a dog and an animal, and thus the two words are two concepts. If, on the other hand, the tag is “Sierra Leone”, (country in West Africa), this is one concept. It is not both in Sierra and Leone. We can think of lots of other examples where the two words together make one concept.
  • Con: Most tagging systems do not allow whitespace, indeed, many treat it as a separator. In many tagging systems, if I type “cat dog” I will automatically get two tags, one cat and one dog, and the whitespace will be treated like an automatic separation. Wiki systems work similarly. For obvious reasons, maintaining maximum upwards compatibility with other tagging systems, or at least not locking us out, makes a lot of sense.

Here are our possibilities:

  • Separator: Whitespace is a separator. If you type in “dog cat” or “Sierra Leone”, that is two distinct tags in each case. If you want to keep “Sierra Leone”, you need to manually and explicitly type Sierra_Leone, SierraLeone, Sierra-Leone or some variant. This is the method.
  • Allow: Whitespace is allowed. If you type in “dog cat” or “Sierra Leone”, that is one tag in each case. For the “dog cat” case, if you want two tags, you will either need to type “dog” then hit an add button (or similar) then “cat” and add, or use a recognized separator, e.g. “dog, cat”. Obviously whitespace at the beginning or end of a tag name will always be ignored. This is the Gmail method.
  • Auto-Convert: Whitespace is not allowed, but isn’t a separator either. Rather, every time you type in whitespace, it is automatically converted to an underbar ‘_’. So, if you type “dog, cat” you will get two tags, one of “dog” and one of “cat”. On the other hand, if you type “Sierra Leone”, you will automatically get “Sierra_Leone”. This is the Wikipedia/MediaWiki method.

One thing we definitely do not want is for there to be multiple options. Too confusing, and support is a nightmare, creating the worst of all worlds. Thoughts and feedback are always appreciated. If a working example would help, let us know in the comments.


Tags – we need your help. Part 1

We are currently working on the next part of the new Surfulater Tagging capability and would like some guidance from you, our users. We are working on two new and related features that revolve around letting you add and remove tags from a group of selected articles. For example you might select six articles and then want to add one or more tags to these articles. Or you might want to delete a tag or two from them. To do this now you would have to select each article in turn and edit its Tags field, to add or remove the tags, which is cumbersome to say the least. 

There are ways to make this task a lot quicker and easier, which is the focus of this post. How are we proposing to do this? Lets start with adding tags. First you select all of the articles in the Knowledge Tree that you want to add some tags to, then right click on one and select Add Tags… from the context menu, which opens this dialog.

Add Tags Dialog

You can type in one or more tags, and auto-suggest lets you choose from the list of existing tags. When you press Save, the Tags you entered are added to the selected articles. Any tags already present in an article will not be added again, so you don’t end up with duplicates. This process works just like the Tags field in your Surfulater Articles.

Some tagging systems let you add tags by displaying a list of all available tags and getting you to tick a checkbox for each tag you want to add. This is simple, intuitive and works very well when you have a smallish number of tags. However as the number of tags you add grows, this quickly gets unwieldy and you spend more and more time scrolling back and forth through the list to locate and choose the tags you want.

Our approach of quickly locating tags using auto-suggest, and of adding new tags to the tags database at the same time, delivers a much better user experience, especially as the number of tags you use grows, which it will.

Now lets talk about removing tags from articles. Assume we have three articles with the following tags:

  1. Cat, Pet
  2. Dog, Pet
  3. Cow, Herbivore

As before we’ll select all of the articles of interest, right click and choose Remove Tags… from the context menu which will open this dialog.

Tags Remove Dialog

This shows a list of all of the tags in the selected articles, with duplicates removed. In this example Pet is in two articles, but only appears once in the list. Beside each tag is a checkbox, with the heading Keep? and all checkboxs are checked. To remove the tag Pet from the selected articles it is in, you uncheck its checkbox and then press Save. If you wanted to remove other tags at the same time, you would uncheck those as well, before pressing Save.

So far so good, or at least I hope so.

Our next step in evolving these designs was to look at a further simplification which would enable you to both Add and Remove Tags within the one dialog, starting from a single context menu selection Tags…. Most of the time you want to either Add or Remove, but there are times when you want to do both. The new combined dialog looks like this.

Add and Remove Tags Dialog

When Save is pressed in this example animal and herbivore will be added to the selected articles and pet will be removed. If the New tags field had been empty, no new tags would have been added. Likewise of no tags were unchecked in the list, none would have been removed from the selected articles. All quite straightforward.

On closer examination one issue became evident and that is there can be some confusion when a tag you want to Add is shown in the Existing Tags list. In our example this is the tag herbivore. 

When you notice herbivore in the list you might decide not too include it as a New tag, which would be a mistake. Referring back to the articles and tags summary:

  1. Cat, Pet
  2. Dog, Pet
  3. Cow, Herbivore

you see that herbivore is only in one of the three selected articles, but there is no way to tell this from the Existing Tags list. Because you didn’t include herbivore in New tags, it won’t be added to articles one and two, which isn’t the desired outcome.

To help to resolve this we concluded that you need some indicator in the Existing Tags list which clearly shows which tags are in All of the selected articles and which are not. The outcome is this dialog.

Revised Tags... Dialog

Note the new In All… column, which in this example is completely empty, because there are no tags which are in all of the selected articles. After we press Save the story changes to.

Revised Tags.. Dialog

You now see animal and herbivore are clearly identified as being in all of the selected articles. You can group the tags that are in all articles together by clicking on the In All… column heading. Now when you see a tag that you want to add is already in the Existing Tags list and it is In All articles, you can skip it if you want, or you might find it easier just to add it and let Surfulater look after things.

The bottom line is that there really isn’t any point in scrolling through a long list of Existing Tags to see if a tag you want to add is there or not, just go ahead and add it.

Where do we need your help?

First does this all make sense? Can you think of better ways to add and removes tags from a group of articles? Should we have separate Add and Remove processes or does combining them into one dialog deliver a better user experience? If so, does the combined dialog we’ve presented above, work for you?

Do you find the user interface for removing tags intuitive? Could you work out how to use it just by looking at the dialog or is it confusing or difficult to grasp?

Please do give us your feedback and help us make some important decisions on this aspect of tagging and untagging multiple articles at once. All our lines are open. 😉

The Next Pre-Release

I am in the midst of wrapping up another new pre-release which will include the combined Add + Remove Tags dialog as described here. It should be available this week. Keep your eye on the Blog for details.

To be continued…

The Topic for this post says Part 1. We have an alternate combined Add/Remove dialog user interface on the drawing board, which we will present here as soon as it is ready, so stay tuned.