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