Flutterby™!: snippet manager

Next unread comment / Catchup all unread comments User Account Info | Logout | XML/Pilot/etc versions | Long version (with comments) | Weblog archives | Site Map | | Browse Topics


This is my first attempt at trying to build a Wiki-like knowledge base on top of the Flutterby content management system.

This is a place for explanation, description and static links on a topic that's either too broad to be covered under a single link, or that you're just too lazy to find the real link to.

Entries are automatically generated.

Weblogging taken over the top

by:Dan Lyke started: 2003-07-09 03:38:56.635005+02 updated: 2003-07-18 22:48:27.959161+02

So. I envision a tool. That tool organizes snippets of information, and manages how they get sent and received from various sources. It also understands the relationships that those sources have to me, and can edit those snippets a little bit as they get sent out. It also tracks those snippets for me, understands revisions, trusted repositories where it can get the snippet again, which ones it can throw away and which ones it should keep.

Those snippets are text or images or sound or movies, and might get sent out or incorproated via email, via some sort of chat system, posted on a web page, RSS feeds, or wherever. A record should be kept of this so that revisions can be sent appropriately, or that the people I' ve sent it to can see the latest version, ie: "What is Bob's phone number?", the query goes out to friends with snippet managers, and mine says "I know, and I've previously told the person who asked, so I can just send that information."

Those snippets are also marked up with additional meta information. The tool can take guesses as I write, or engage in a dialog with me as it imports information, about who people are, whether phone numbers refer to people mentioned in a snippet.

For instance, say I said "I went hiking with Bob today, and he said...". It's not unreasonable to figure that "Bob" might have a little metadata attached, and that on Flutterby I don't want to reveal last names or home phone numbers, but if I've given a friend access to that information, they can query my snippet manager and ask for details. Maybe "Bob" is linked but your average Joe only sees the other places on Flutterby that I've mentioned "Bob", where as my hypothetical trusted friend sees all times I've mentioned that particular "Bob", and my super trusted friend sees the page from my PDA with Bob's contact info.

Obviously friends and coworkers should be treated similarly but differently.

And it also knows that a persona and a person are different, and keeps track of them similarly. If I know that "Bob" is also "Bernice" who lip-syncs at a club in San Francisco, maybe that's something I want to keep track of, and I want to associate all snippets related to both personas, but I don't necessarily want people in my business contacts list to know that association.

The tool tries to do some information processing. Some of this can be done with statistical analysis, but most of it is actually just regular expressions. It knows about:

  • Phone numbers
  • ISBNs and ISSNs
  • What titles (of movies, books, songs, etc) look like.
  • Dates and times, with a scheme for representing accuracy.
  • Addresses and geographical positions

It has a strong sense of authorship, each of these snippets has an original author, and that author might not necessarily be who typed it in (quotes and such).

It is important to note that no matter how this snippet manager is communicating with the world, it's taking a lot of the load off. If someone from work says "Show me Dan's schedule" it'll send them my calendar with big black boxes where my personal life happens, and do this without intervention from me. If Todd asks his snippet manager for Bob's number and it doesn't know, it will ask mine, and mine might ask me for confirmation that it's okay to send it, but won't make me go hunting down the right document unless it can't find it and Todd has escalated beyond the "I wonder if any of my friend's snippet managers know..." stage.

From a security standpoint, it should also be able to watch Todd's mail, notice that he knows Bob too, determine what Todd is willing to publicly say about Bob, and be willing to keep Todd up to date if he asks.

That's a pass on some of the higher level ideas right now, I'm off to sling some code. I'm starting with using these techniques to better manage my photographs, I just checked, I have 9685 on my laptop, which probably translates to at least 2500 actually distinct images, some of which are crops and edits of others, and I need to be able to search these by what they're of, who appears in them, where they were taken, where the subject is, and since some of the subjects are of confidential information (white boards, installations at client sites), some are of buildings covered by copyright, some are of people in or out of costume or in compromising positions, so all of these topics are coming up.

And I need to be able to put bits on websites, keep folks updated on the whiteboard images, so all of those issues come into play.

I'll keep you updated, and start posting code soon.

Comments in the front page entry

by:Dan Lyke started: 2003-07-09 03:44:20.918241+02 updated: 2003-07-18 22:48:27.959161+02

Comments in the front page entry.

Photo organizer ideas

by:Dan Lyke started: 2004-07-22 01:56:24.218528+02 updated: 2004-07-22 01:56:24.218528+02

My ideas break down into a few categories:

  • Security and sharing
  • Geography
  • Subjects and people

On security and sharing, I'd like to see a package that can publish to a variety of targets, from "email these images and descriptions" to several variations of "create a URL accessible page and email that" to "burn a CD" or "print me an album" (possible marketing tie-in with companies like "Creative Memories" here, not sure how to make that work). When sharing images, the sharing should go to members of groups, and the user should be able to set up whether groups overlap. For instance, I've taken pictures of a client's offices, that's something that perhaps should be shared with my coworkers, but not on a publicly accessible web site. Sharing them with one group can tag them as appropriate to that group, and there should then be an override necessary to share them with groups that are marked as exclusive to that group.

And obviously there are also heuristics one can apply to images and grouping them, especially if you can tie in to, say, an event calendar.

On geography, my photo software should be able to match up GPS trackpoints with EXIF (or even just file timestamp) data to provide location information. I should then be able to take an image of a map (scan, photograph of a brochure, something scarfed from MapQuest, whatever) and put down some known locations on the map (maybe even just drag and drop an image thumbnail to that location), and have the remainder of the images placed. My code and testing thus far shows that the map doesn't even have to be all that "to-scale", position a few photographs and do the right position interpolation and even the most compressed and stretched maps quickly give a fast way to say "show me all of the pictures of the Golden Gate Bridge".

Of course you'd then want to be able to expand this to say "show me all of my pictures of Yosemite in spring".

On subjects and people, obviously if I say "San Anselmo, California" it's easy enough to at least pull an approximate location (to tie into the notes on geography), but since the images are undoubtedly already grouped together in some way (folder, roll, slide tray), if I type in descriptions like "Joe, Sue, and Mom" then the software should know enough about people to at least rank who "Joe", "Sue" and "Mom" are in this context, and the software should provide assistance as the user types to narrow down the hypertext tagging of all of these attributes.

And, of course, all descriptions need to be "wiki" like in that clicking on "Mom" for a given image can give us exactly which "Mom" is meant.

There's also a lot you can do with clustering based on EXIF data. If the picture is taken at night, whether or not the flash was used provides a lot of information. Clustering based on time and letting the user group descriptions based on that is also useful.

Flutterby™ is a trademark claimed by

Dan Lyke
for the web publications at www.flutterby.com and www.flutterby.net.