Forum OpenACS Development: User Categorization

Collapse
Posted by Tom Jackson on

What do we do with email? I guess it depends on how much you get. But more than a few of us that frequent this wonderful web community receive quite a few, and a good percentage are directly from this bboard. But what happens after we get the email? Besides reading it, or at least skimming, I, at least, move them to a special folder (uh, actually a filter does that). However not all messages are the same, and I usually want to remember some special message or thread. I know this at the time, but later I forget exactly, and the message is anyway stored with all other OACS messages. Then there is the fear of losing this jumble of email messages completely. Anyway, they are on the website, I guess I can find it again if I really need to. And here is the point.

Why can't the website maintain my favorite messages and threads? If I am really open, why can I not share my culled messages with the rest of the community? I would like to be able to arrange messages in my own categories, and in whatever order seems useful at the time. From an operational perspective, I should be able to click on a link in the email of the message to add this message/thread to my personal list. I should be able to visit my list occasionally and arrange or rearrange the list. Although email is absolutely wonderful in timely notification, most of us wish to remember a few key pieces of data, and somehow email clients are a little lacking in friendliness in this regard.

So these are just my thoughts, implementation should not be too hard.

Collapse
Posted by David Kuczek on
I was thinking about a similar implementation recently... I think that the bookmarks module has pretty much all the needed functionality.

My scenario works like this:

1. The user has to activate his bookmarks first...

2. He sets up different folders (categories) to his personal bookmarks tree.

3. When a bboard thread gets mailed to him, he would see an ordered list of links that represent his bookmark folders at the bottom of the email. Maybe right above the link to the thread and the unsubscribe link.

4. The user could now decide where to save this particular thread in his bookmarks. He would only have to press the right "folder link".

5. The users could additionally add some more internal and external links via the bookmarks user interface of the openacs site...

6. I also thought about a javascript link that the user can add to the bookmarks of his browser. Whenever he wants to add the page that he is currently surfing to his openacs bookmarks tree, he would just click on that bookmark and a popup would appear. After he logged into the openacs site via this popup he would see his folder tree and a field to enter the name of the page, a description, a ranking etc...

http://www.blink.it has this functionality and it's pretty useful. It is pretty easy to implement, too!!!

Collapse
Posted by Roberto Mello on
I would love to have such features. I feel pretty much the same way as Tom about saving messages I'm interested in and that I'd like to go back to.

David's suggestion of use of Javascript would be a good use of Javascript IMHO. The user wouldn't have to have it enabled to use the site, for he/she could always open another window and go to /favorites (or wherever the package would be mounted on) and copy/paste the URL and finish the process.

Collapse
Posted by Torben Brosten on
I think it is a great idea. I for one don't have time to build a personal, practical website (right now), and would enjoy using a modifiable extension of the current forum message logging associated with one's id.

Regarding Javascript. I feel it is important that any use of it be noncritical to primary functionality.  I believe an adequate alternative is adding a url to each message that states something like:

add to your favorites:  http://domain/favorites/msg_id=3567

When clicking on it, one is presented with an html selection bar of currently user specified categories, a field for comments etc as I imagine is available from the share bookmarks module.

I've read about Phil G's bookmark module but haven't used it, so don't know the extent of changes needed, but this certainly seems promising.

Collapse
Posted by Roberto Mello on
Torsben,

I'm thinking that we might not want to limit ourselves to bboard messages. What if the user wants to add a certain album in the photo-album to his "favorites"? And how about that mp3 page from the mp3 jukebox module?

My thinking is that we want to make this "favorites" module (bookmark may be another good word, but there is a bookmark module already, we could extend it, but I haven't looked at it yet) available to every page of the site without having to modify all other modules.

We could do this by modifying the master default template for example,  having it add a link to the bottom of the page.

Collapse
Posted by Michael Feldstein on
I strongly agree with Roberto that we don't want to limit this to
bboard messages. In fact, every item in the CR should be
exposed to categorization.

I wonder, though, if it's a mistake to use folders as the
categorization mechanism when the OpenACS team is actively
working on developing a CR-wide categorization mechanism
(service contract?). Why not just change the scoping on the
categorization method to allow people to create their own trees?
That way, when categorization gets enhanced and extended,
your module reaps the benefits.

Collapse
Posted by Talli Somekh on
I also think this is a great idea and was kind of what I was hoping we would eventually do with the developer section of OpenACS.org. It would provide a way for improving the access to documentation for each package. The idea would be this:

Each package, module or piece of the OACS would have its own page with links to the packages documentation, SDM page and download page. In addition, there would be a place where bookmarks to revelant threads in the bboards could be made. This would all be in the interest of providing a central location for users and developers to access information quickly.

The flow might work like this. A developer is interested in the categories module. He goes to developer.openacs.org and is directed to the categories page on the site. At that page, he RTFMs the docs on categories. Not finding his answer there, he goes to the bookmarks section and can view all the threads that have discussed the design, problems or other issues related to the categories module. Not finding his answer there, he posts a follow up question on one of the threads or starts a new thread on the bboards.

Does that make sense?

talli

Collapse
Posted by Michael Feldstein on

Does that make sense?

Yes, it does make sense, although it's somewhat orthogonal (and complimentary) to Tom's idea. In your case, you'd have a category tree that consists of the various OpenACS packages, service contracts, etc. It would be scoped, I suppose, for all users. In Tom's case, each user would have his/her own category tree. Each of these trees could be displayed in a portlet at the appropriate place in the site.

Collapse
Posted by Dave Bauer on
This per-user categorization tree could be implemented using the plans for a new category system in this thread [1]. It is intended that each package or package instance could build its own tree based on the main category tree. There is no reason each user could not have one too.

[1] https://openacs.org/bboard/q-and-a-fetch-msg.tcl?msg_id=0003xq&topic_id=12&topic=OpenACS%204%2e0%20Design

Collapse
Posted by Torben Brosten on
Hi Roberto, I agree to not limit sharing urls to messages only.

For the record, my example intended to reflect the positive aspects of David Kuczek's suggestion.

Yet, I foresee a problem with number 3 of Kuczek's scenario. I know some people like to categorize (with perhaps 100 items in a tree). A lengthy "ordered list of links" could create awkward messages (and increase load on the system with lots of message activity --not good for scalability). To get around this, I suggest creating 1 url in the message which then sends the user to a page for entry and customization of the url.

cheers,

Collapse
Posted by Ken Kennedy on
I agree with most of the comments on using bookmarks in this way. In fact, I do exactly that (add urls to bboard threads in the bookmarks module)...of course, I ported the module, so I'm kinda a bookmark junkie! *grin* And I have to do it manually, of course.

The "add a bookmark to this thread" feature described sounds pretty interesting, though that would be as much for bboard developers to work on as for me. Right now, I've got an XML-RPC interface to the OpenACS 3.X module "with the hood up"...it mostly works, but I put it on hold a while back intending to rewrite the whole thing into OpenACS 4 once we released.

Anyone who's interested in doing the Javascript stuff can have at it...I'm no JS guru (or even a wannabe). Feel free to email me patches, talk to Don (or whoever) about commit privs, etc. Once we've released the OpenACS 4 beta, I'll probably start looking at the bookmarks code wholesale again, with an eye towards an API (XML-RPC or otherwise) for other modules (and client apps...my test app is wxPython!) to "hook into".

Collapse
Posted by Tom Jackson on

I have to admit that I wasn't really thinking of links or urls, but of objects or items of content. So I think any object in the system should be a target. Maybe besides categorization, the user could apply templates or some kind of formatting to the content, or weave these content items with new original content. I'm not sure how that would work out, but it might be interesting: collage like.

Collapse
Posted by Ken Kennedy on
I have to admit that I wasn't really thinking of links or urls, but of objects or items of content.

And don't worry, I certainly didn't mean to imply that that's the only way to do it. In fact, I was mainly responding to a couple of the later messages that described using the bookmarks module. OTOH, remember that almost anything in OpenACS is, in effect, a URL, since that's how you access it (via the Web). So bookmarks could make sense in a way.

OTGH (we'll see how many Niven/Pournelle fans we've got here) ... the requirements don't map precisely onto bookmarks. Perhaps a totally separate module, with some similarities to bookmarks, better hooks to the CR, etc., is needed. I see a itch that someone might scratch here...*grin*

Collapse
Posted by Torben Brosten on
Using objects instead of urls, how would implementation be different from photo.net's image services offered to members --where reviews etc point to files?
Collapse
Posted by Tom Jackson on

What I was thinking is that Objects are relatively well defined types. Usually they are grouped togeather in some kind of useful interface. Maybe someone wants to remember the content of that object, more than the specific interface, or produce their own interface to the object. I tend to write notes on 8 1/2 x 11 inch paper, and stacks of this pile up around my desk. Someone else is sure to use post-it notes. Now this idea is more complicated because we have different types of objects, but maybe this provides an opportunity for synthesis. A photo, a bookmark, a bboard posting. I don't want the entire thread, just the postings, but maybe some link could bring the user to the original (or multiple) places where this content is posted.

I think of a simple experiment I happened to try in college. Some industrious student had made poster boards for a lecture he was giving. I was not able to figure out what the topic was. These posters had abstract messages, questions. All I did was to thumb-tack one of these to one of those mobile poster thingies. What happened is that other students would wander by and see this quite out of place sign and they would start writing their own responses on the poster. Soon, responses to the responses would show up. Occasionally I would change the poster for a new one from the same lecture. Eventually I started my own nonsense posters. The point is that the responses can be quite amazing, and certainly are interesting. This is more like stream of thought, which might not fit into the regular discussion but could be interesting.

So I am thinking of a separate area that would allow users to orgainze material how they see fit, and to add commentary.

Collapse
Posted by Torben Brosten on
Interesting idea. I like it and certainly know of some creativity meetings that could use a tool like it!
Collapse
Posted by Clay Gordon on
I'd like to look beyond the mechanics of implementation for a moment.

If categorization like this is going to be implemented on a public server, then I'd like to see the idea of popularity implemented -- show me popular links, concepts, objects, people, etc. For example, I can find out that DonB posts a lot, so maybe I'd like to "subscribe" to DonB, not just a thread or content object. (In reality, popularity is an n-dimensional concept, needing both machine-generated values (for initial seeding, for example), with human generated values (which over time, may be more useful)).

A shared bookmark manager module might evaluate all of the URIs posted by all contributors and post a list of popular bookmarks; evaluation of multiple categorization trees can be used as input to create a shared vocabulary for describing content that can be leveraged across many uses of the system, especially with the ability to explicitly create knowlege networks and attach them to category nodes as searchable metadata. This gets even more interesting with the integration of tools like WordNet and OpenCyc as pre-processors providing input for openFTS.

Finally, I urge a kind of stochastic processing that will bring less popular items to the top of the list for evaluation. One of the problems with popularity systems (e.g., Google PageRank, DirectHit) is that popular items tend to get more popular, while less popular items tend to get less popular.

Collapse
Posted by Michael Feldstein on
Clay, the community talked about the whole ratings thing (and
how it relates to categories) at least once before, on this thread:

https://openacs.org/bboard/q-and-a-fetch-msg.tcl?msg_id=0002Gl&topic_id=11&topic=OpenACS

At the time we talked about a "general ratings module," although
a service contract is probably a better way of thinking about it.

BTW, the offer I made on that thread to help work out functional
specs still stands, if we can come to some informal consensus
online first regarding what we would like the damned thing to
look like.

Collapse
Posted by Ben Koot on
From an enduser perspective this would be an interesting value added explanation why the bookmarks module is usefull. It would help getting the message out that using this tool can help save time and manage information more effectively, than by just using the function in your local mail programm. Is anybody still looking into how we can add this to the core bookmark module. Together with Maltes colleague I will be starting on a user & sales manual next week. It would be great to have a number of ideas like this in the documentation, plus a possible timeline when it will be available. I realize most of us have limmited time, but it's shame great ideas are left floating around the bboard.
Collapse
Posted by Peter Marklund on

Many interesting ideas are touched on in this thread and I would like to look at them more carefully. The good news is that it seems to me like very little, if any, new functionality is needed in the Bookmarks module to enable bookmarking Bboard threads and other pages of interest in an OpenACS community. Note that the Bookmarks module has a little Javascript feature that lets you have an "Add Bookmark" button in the toolbar of your browser so that using web bookmarks becomes as easy as using ordinary browser bookmarks.

I am currently using the daily digest from the OpenACS forums and something I am *really* missing is links to each posting in the emails. In addition to such a link we could also add a "bookmark this posting link" that would take the user to the bookmark-add page in the Bookmarks module where the posting can be filed in an appropriate folder with a description.

I have recently started using the Bookmarks/Postgres package for my own bookmarks. I have a slight fear that the bookmark tree may get very slow with large numbers of bookmarks. Another and related challenge is that the SQL statements used in the module (I will take part of the blame for this...) are very lengthy and complex and thus difficult to maintain. Still, I am hoping that a complete rewrite of the module will not be necessary and I am fixing bugs as I encounter them and hope that more people will start using the package.

Collapse
Posted by Michael Bluett on
As messages are objects, if I understand site-wide search - doesn't the system somehow know how to "display" any given object?  Perhaps we could have a "favourite objects" collection/list.  We could view the objects by type, grouping our favourite users, postings, and other objects such as content items.
Collapse
22: Re: User Categorization (response to 1)
Posted by Ciaran De Buitlear on
Hi starting a new project - thread here https://openacs.org/forums/message-view?message_id=85199 - some of the functionality might be related to this thread.  Very early stages but I am thinking about using the "knowledge base" in Oracle text (formerly known as intermedia) or at least part of it as a hierarchy of categories.  This knowledge base is stored in a tree like structure (otherwise known as a taxonomy).  Content can be "automatically" placed in a number of categories through a special type of search.  I am also looking at  letting users browse or search the taxonomy itself and to update it.  There is also the concept of searching for content based on the "theme" which I am looking at.  Anyway more later...