User:Auk/Tag Model
Note: This page is somewhat unmaintained, and was done in a fit. :) It no longer reflects my feelings, though I leave it here for posterity...or something. See User:Auk/Bookmarks instead.
With all the tagging "hype" going around, I thought I'd put in my forty-two cents.
Main principles:
- Worse is better (in terms of user organization, not implementation)
- Multiple descriptors (tags) for each tagged page (bookmark)
- Keep the bookmarks functioning as closely to the current model as possible; make it bookmarks, but in "many folders at once".
Contents
No tagging at all
Despite all the thought invested below, I think one of the most likely and useful scenarios is to have no tags at all — or at least in a very different implementation: with a good, quick scanning the browser could mark some often-found words (keywords or tags if you will). This would be accesible thorough a keyboard interface, and quite possibly a menu/graphical interface as well — hope there are some common keywords.
SAYT is essential here; not necessarily instant, but it should not wait for the revision of the Enter key. A process-working indicator/throbber in the edge of the text box might be good.
[needs to be merged w/ rest of page]
Why does Google work well? I've also been using Deskbar (GNOME applet), and I find it provides a very efficient interface to my bookmarks.
Adding a new page to the tag index
Click the tag page button on the toolbar, or select the entry from the menus. The menu entries should be checkboxes, and the toolbar interface a toggle-button. The "smart sorting" mechanism (see section) would take care of the majority of organizing and sorting automagically.
This would make the entire process of remembering a page nearly painless — transparent until a user chooses to manually sort thier tags. I like this idea.
Smart sorting
When tagging a new page, Firefox should scan the page for frequently used words and attempt to match those to the user's tags.
At a loss of sufficient existing tag match, Firefox should generate/suggest tags based upon it's text scan.
The word frequency limit should have a static absolute minimum, and a dynamic upper limit depending on several factors; is the browser a fresh install,
[...]
Dialog possibility
It is also a possibiity to present page record modification details on selction of the "tag page" command.
The Tag Page dialog should present both a text and a mouse interface. Keep text box and checklist in sync. Clear tags button.
The Tag With text box should present 'tag autocompletion from the created tags
[...]
UI elements in order appearing in window (left to right, top to bottom):
- Name: or Title: text field
- Tag With: or Tags: text field (smart sorting)
- Clear Tags button *
- checklist expand/contract toggle
- tags checklist
- New Tag button
- Cancel button
- Add, Tag or Tag Page button
\* debatable order
Management
The management interface should be maintained in a seperate window. Note that the Searching interface is a different matter.
[...]
Mockup soon.
Searching
Searching should be encouraged as much, if not more, than using the menu. To do this, it needs to be a breeze to get to the search interface, and to use the search interface to go to pages. I suggest embedding a "Search Tagged Pages" or "Bookmarks Search" in the search box, from which a user can type a term, and a Search Results page appears in the browser window. This document can be either an (X)HTML document or a XUL page.
The interface should feature:
- One-click traveling
- Thumbnail previews
- Matching flexibility, e.g. case, hyphen, space discount
- Title and description
- Similar to Beagle BEST results
- Editing by opening the Management interface
Term matching should match all keywords in any order in tags, description, and title. Other metadata, such as visit frequency and last visited, should be used in search ranking, though the search terms match percentage presides over this.
Title: Tags or Bookmarks? Tags is takes up less space, and is kewler! Bookmarks keeps in line with the current model, though. (Imagine grandma "Firefox lost my bookmarks!" After the next automatic upgrade.)
The content of the menu should be almost identical to now, but only completely untagged items (or perhaps a threshold of two tags) show in the main space.
Custom-orderable? No. Worse is better in user organization effort. Alphabetically is the way to go, so it doesn't break user's spatial memory.
On hierarchy
In effect there are three options:
- User-mandated manual hierarchy (like F-Spot)
- Generated pseudo-hierarchy (like the proposed Epiphany patch)
- Sheer flat-file tags (why bother?)
User-mandated
Hierarchy text-delimitor
When typing in the Tag With text field, a user (likely a power user, but possibly a novice if we have a good autocomplete) may want to tag something Computers → Programming. What is the best method for this? Suggestions:
- Computers->Programming (hyphen-greaterThan)
- Computers:Programming (single-colon)
- Computers::Programming (double-colon) *
- Computers/Programming (forward slash)
- Computers\Programming (backslash) *
- Computers.Programming (dot)
- Visitors add more here.
\* Special mention
Tag bumping
When a user decides their Computers tag has grown too full, they may want to split it up into several smaller levels. All the pages previously tagged with Computers will now be tagged with Computers → Programming or Computers → Usability. There needs to be a detector for tagging something with both a sub tag and that sub tag's parent, and revert to the sub tag only.
Or do we want to prevent this at all?
Auto-generated pseudo-heirarchy
This brings up fewer logistical issues than the manual method, but brings up one trumper dilemma — imagine all the grandmas being baffled: they keep moving around in the menu, but they stay put in the Tag(/Bookmarks) Manager!
Metadata
This info should be used in search rankings. Stuff to be stored:
- Title
- URI
- Decription (Pull from <meta/> on web page, but also make user editable)
- Datetime added
- Datetime last visited
- Visit Frequency
- Filetype
- Visitors put suggestions on talk page.
Meta-tags
This distinguishment should be accessible through the main Bookmarks menu, but not as tags while in the Tag Manager. The entries should be compiled as needed from the metadata of the records.
Display a Files menu in the Tags/Bookmarks menu, which presently includes Audio, Images, Video etc.
Alternatively, the meta-tags are editable, but are applied automatically upon tagging something.
Page previews
I think an excellent way to ease recognition is with graphical previews of a page. This is as simple as snapping a shot when the user tag a page, and displaying it as a thumbnail in the searching and management interfaces. Some issues brought up are:
- Performance when storing a bunch of thumbnails in RAM, and on the hard drive. To minimize footprint,
- Thumbnails should not be stored (or even initially created) any bigger than will be displayed. Minimizes on file size and rendering costs of scaling. Sacrifices some size flexibility.
- Thumbnails should be entered into memory when they are viewed and removed from memory when they pass out of the screen for a short length of time (2-6 sec?).
- PNG!
- Differing screen sizes and proportions (Either detect the screen proportions and snap the thumbnails accordingly, or just set a standard average proportion [How about 110x90?] for all screens and let it go.)
- Need a really good scaling mechanism, that doesn't make an inksplatter out of text.
Bookmarks toolbar
Best implemented with a special flag. Placing this flag (checkbox, DnD?) on a parent tag (e.g. Computers) would make all of it's children visible (Programming, Mozilla, Usability) under the Computers drop down on the toolbar. Placing this flag on Programming or Mozilla directly, however, would make those tags visible as drop downs on the toolbar root level.
Why not have a "meta-tag"? Because you cannot tag other tags. There would consequently be no way to show several tag drop downs in the bookmarks folder. (Akin to placing a folder in the Bookmarks Toolbar Folder w/ current system).
- Need quick filter to view toolbar bookmarks while in the Tag Manager
History integration
See User:Auk/History_Model#Bookmarks_integration.
Trash can
Instead of permanently deleting a URL (potentially selected by accident or that you never thought you'd need again) the "Remove" command should ship that bookmark/tag off to the trash can. Removed item retain all thier associations, but are disabled from searches and menus.
Entries should be deleted permanently from the trash can when (I'm not sure which):
- they have sat for a certain length of time
- a prescribed number or memory (because of preview thumbnails) limit runs over
- have a pref between the above
- Visitors put suggestions on talk page.
Terminology
"Tag" applies to the descriptors for tagged pages; "tagged page" & variations are cumbersome; what is a good noun for a page that is in the tag index? Possibilities:
- bookmark
- page
- Visitors add more here.
References
- Epiphany Hierarchical Bookmarks Patch
- F-Spot, a image manager with manual heirarchal tags
On this wiki: