Frontends:Bookmarks Standard
Given the use of more and more mobile devices with SWORD front-ends, a shared bookmark system would be a useful addition.
Contents
Feature wish list for format
Bookmark Item:
- nested folders
- able to link to specific modules
- has a way of adding free text at any given level
- can link to verses, verse ranges, chapters, sections, paragraphes, subverse
- should utilise as much as possible existing shared/shareable code
- internationalised
- time of creation and last read
- color of verse or range
History Item:
- range user read
- place user finished read
- time user finished read
- module
Current formats in use
Xiphos and BibleCS(?) use this format:
<?xml version="1.0"?> <SwordBookmarks syntaxVersion="1.0"> <Folder caption="Personal"> <Folder caption="What must I do to be saved?"> <Bookmark modulename="" key="Acts 16:31" moduledescription=" " description="Acts 16:31"/> <Bookmark modulename="" key="Eph 2:8,9" moduledescription=" " description="Eph 2:8,9"/> <Bookmark modulename="" key="Romans 1:16" moduledescription=" " description="Romans 1:16"/> </Folder> <Folder caption="What is the Gospel?"> <Bookmark modulename="" key="1 Cor 15:1-4" moduledescription=" " description="1 Cor 15:1-4"/> </Folder> </Folder> </SwordBookmarks>
At top of XML structure should persists format version attribute.
Child nodes represent main data sets: bookmarks, history, notes. Each should have information about last synchronization time, application name and version (for debugging).
Existing standards
There are definitely bookmark formats floating around already which have some amount of standardization. See the XML Bookmark Exchange Language (XBEL) and the related links to XOXO and OPML.
XBEL
Example of XBEL-standardized bookmarks file:
<?xml version="1.0" encoding="utf-8"?> <xbel version="1.0"> <folder id="folder1" added="2010-03-23T13:15:07.512"> <title>Bible Bookmarks</title> <info> <metadata owner="ApplicationName" dateadded="1269349684570502" lastmodified="1269511284396136"/> </info> <folder id="folder2" added="2010-03-23T13:15:07.512"> <title>My Favorite Places</title> <bookmark id="any" added="2010-03-25T10:01:16.473" visited="2010-03-25T10:00:50.972" modified="2010-03-25T10:01:24.549" href="bible://john/#note-N66131"> <title>John</title> <info> <metadata owner="ApplicationName" dateadded="1269349684570502" lastmodified="1269349684648629"/> </info> </bookmark> </folder> </folder> </xbel>
Metadata came from Firefox SyncPlaces.
- Advantages
- Internet bookmarks are very similar to Bible bookmarks.
- It's better to use existing widespread format.
- Disdvantages
- An internet bookmark is not the same as a Bible bookmark, I'm anxious to counter limitations of XBEL.
- On mobile devices, processing complex format with a lots of bookmarks could affect performance.
OPML
One example of the use of OPML for bookmark import/export is the Sage lightweight RSS and Atom feed reader - which is an add-on for Mozilla Firefox.
Ways of sharing
- local bookmark file replacement
- public internet bookmark sharing service: google.com/bookmarks
- Please add your ideas here.
Current situation
- Please describe here which front-ends already support local bookmarks, and how?
Four of the listed front-ends support exporting of bookmarks.
- See Choosing a SWORD program - section 3.6 Bookmarking, Tagging, Listing and Notes. Some significant front-ends are not yet listed in this page. (e.g. PocketSword).
- PocketSword - currently only supports basic bookmarks (add a bookmark for a specific verse, and touch the bookmark and it will show that verse in the context of the entire chapter it appears in - which it does because PocketSword is entirely based around viewing chapters, not a verse or verse range). I have plans to completely redo bookmarks, to be much more inline with what appears in this page (as of 25/3/2010). It also similarly supports history: with one for Bible history and another for Commentary history.
FireBible
FireBible is a unique case in that, being a Firefox add-on, it uses the existing bookmarks structure of Mozilla Firefox, with additions to the Firefox menus. Moreover, it also supports URIs that begin with bible: and sword: as extensions to the browser.