File:  [mozdev] / bookie / www / index.html
Revision 1.6: download - view: text, annotated - select for diffs - revision graph
Wed Nov 29 10:48:00 2000 UTC (16 years, 10 months ago) by will
Branches: MAIN
CVS tags: HEAD
fixed formatting.

Bookie is a personal attempt to keep the bookmarks that I have at home
synced with the bookmarks I have at work, and a way of solving my
frustrations in sharing bookmarks with other people over computers.  It also
is an outgrowth of the bluesky <a
href="http://www.mozilla.org/blue-sky/ui/199805/bookmarks.html">good
bookmarking</a> and <a
href="http://www.mozilla.org/blue-sky/misc/199805/collaborative-bookmark-index.html">collaborative
bookmark indexing</a>.  In addition, there are sites which attack this
problem from another angle: <a href="http://renaghan.com/bookmarker/">Bookmarker</a> and <a href="http://www.webwizards.net/useful/wbbm.htm">Web-Based Bookmark Managers</a>.

<p>Quite frankly, bookmark management sucks.  Every person I know has a
collection of bookmarks which have grown over months if not years.  Not only
the bookmarks themselves but the structure of the bookmark directory is
critical.  Yahoo's origin and real, underlying purpose is as a huge
collection of well organized bookmarks.  Yet while it is easy to send a URL
over the web, sending branches or entire trees is impossible.  It is
impossible to share the same bookmarks folder with several people, so that
all information can be synced over a department.  And it's really hard to
keep bookmarks synced between several locations.

<p>The roaming access feature in Netscape goes in the right direction of
solving these problems, but RDF is the perfect answer to these problems.
Whenever a browser wants to see bookmarks, it can make a request to a
central bookmark server, and receive streamed RDF.  Likewise, whenever a
bookmark or branch is submitted, RDF can be sent to the server and synced
with all the other clients.

<p>Most of the work is already done -- Mozilla already has an
RDFXMLDataSource, and all that needs to be done on the client end is some
work to hook it into the network layer, and a way to present that data as a
treeview.

<p>The more involved work is in writing a server which can parse RDF,
construct an internal RDF graph, and can convert the internal RDF graph into
an SQL database.  And writing it out the other way.
<pre>
	 serialized RDF <--> RDF graph <--> SQL database
</pre>
<p> Of course, this is barely scratching the surface of what Bookie could do
-- it could invalidate useless bookmarks, keep a cache of bookmarks for
you... it could keep private bookmark folders which you could only see by
typing a password... It could provide folders with multiple parents so that
you could have the equivalent of symlinks in folders... It could rearrange
or delete bookmarks according to your own criteria (popularity, last
updated)... You could have limited access to bookie allowing you to add only
annotations to a bookmark, or submit links on an honor system so that the
most popular float to the top...  You could adjust your filter so that only
the oldest or the newest bookmarks show up.

<p>Anyway...

<p> The server is done, although it still is read-only.  You can import
bookmarks into the database and you can read bookmarks out of the server.
The mozilla client will connect to the server, but I've had some troubles
getting the RDF from the server synced up with the user interface.  There's
also a client written in Swing which I'm using for debugging, which is
teaching me the joys of asynchronous non-blocking network IO in Java.



FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>