Frontends:Bookmarks Standard

From CrossWire Bible Society
Jump to: navigation, search

Given the use of more and more mobile devices with SWORD front-ends, a shared bookmark system would be a useful addition.

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 (like Description in a Firefox bookmark)
  • can link to verses, verse ranges, chapters, sections, paragraphs, sub-verse
  • 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 - used for forgotten places, determine books and chapters user never read or read long time ago
  • place user finished read
  • time user finished read
  • module

Existing standards

Xiphos Bookmarks Format

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>
Advantages
  • Format used in popular desktop application
Disdvantages
  • Localization of Folder/caption and Bookmark/description uses html encoded characters like &#40D1 . Maybe it is better to use utf-8 and put it in xml tag text space like <title>Personal</title>?
  • Necessity to grow to satisfy all applications needs.

XBEL

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.

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.
  • import local xbel file into browser (that allows to synchronize further through bookmarking service).
  • needn't conversion to upload on server.
  • wide format infrastructure, look here.
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 can 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

Please add your ideas here.
  • local bookmark file replacement
  • public internet bookmark sharing service: google.com/bookmarks

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.

See also