Annotation of bookie/www/index.html, revision 1.6

1.4       will        1: Bookie is a personal attempt to keep the bookmarks that I have at home
                      2: synced with the bookmarks I have at work, and a way of solving my
                      3: frustrations in sharing bookmarks with other people over computers.  It also
                      4: is an outgrowth of the bluesky <a
1.3       will        5: href="">good
                      6: bookmarking</a> and <a
                      7: href="">collaborative
1.4       will        8: bookmark indexing</a>.  In addition, there are sites which attack this
1.5       will        9: problem from another angle: <a href="">Bookmarker</a> and <a href="">Web-Based Bookmark Managers</a>.
1.4       will       10: 
                     11: <p>Quite frankly, bookmark management sucks.  Every person I know has a
                     12: collection of bookmarks which have grown over months if not years.  Not only
                     13: the bookmarks themselves but the structure of the bookmark directory is
                     14: critical.  Yahoo's origin and real, underlying purpose is as a huge
                     15: collection of well organized bookmarks.  Yet while it is easy to send a URL
                     16: over the web, sending branches or entire trees is impossible.  It is
                     17: impossible to share the same bookmarks folder with several people, so that
                     18: all information can be synced over a department.  And it's really hard to
                     19: keep bookmarks synced between several locations.
                     21: <p>The roaming access feature in Netscape goes in the right direction of
                     22: solving these problems, but RDF is the perfect answer to these problems.
                     23: Whenever a browser wants to see bookmarks, it can make a request to a
                     24: central bookmark server, and receive streamed RDF.  Likewise, whenever a
                     25: bookmark or branch is submitted, RDF can be sent to the server and synced
                     26: with all the other clients.
                     28: <p>Most of the work is already done -- Mozilla already has an
                     29: RDFXMLDataSource, and all that needs to be done on the client end is some
                     30: work to hook it into the network layer, and a way to present that data as a
                     31: treeview.
                     33: <p>The more involved work is in writing a server which can parse RDF,
                     34: construct an internal RDF graph, and can convert the internal RDF graph into
                     35: an SQL database.  And writing it out the other way.
1.6     ! will       36: <pre>
1.4       will       37:         serialized RDF <--> RDF graph <--> SQL database
1.6     ! will       38: </pre>
1.4       will       39: <p> Of course, this is barely scratching the surface of what Bookie could do
                     40: -- it could invalidate useless bookmarks, keep a cache of bookmarks for
                     41: you... it could keep private bookmark folders which you could only see by
                     42: typing a password... It could provide folders with multiple parents so that
                     43: you could have the equivalent of symlinks in folders... It could rearrange
                     44: or delete bookmarks according to your own criteria (popularity, last
                     45: updated)... You could have limited access to bookie allowing you to add only
                     46: annotations to a bookmark, or submit links on an honor system so that the
                     47: most popular float to the top...  You could adjust your filter so that only
                     48: the oldest or the newest bookmarks show up.
                     50: <p>Anyway...
                     52: <p> The server is done, although it still is read-only.  You can import
                     53: bookmarks into the database and you can read bookmarks out of the server.
                     54: The mozilla client will connect to the server, but I've had some troubles
                     55: getting the RDF from the server synced up with the user interface.  There's
                     56: also a client written in Swing which I'm using for debugging, which is
                     57: teaching me the joys of asynchronous non-blocking network IO in Java.
1.2       will       58: 

FreeBSD-CVSweb <>