Frontends:Bookmarks Standard

From CrossWire Bible Society
Revision as of 10:38, 25 March 2010 by Kalemas (talk | contribs) (Existing standards)

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
  • 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>

A shared format

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.

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

  • internet bookmark is not the same as Bible bookmark, i'm worry to counter limitations of xbel --Kalemas 16:27, 24 March 2010 (UTC)
  • on mobile devices processing complex format with a lots of bookmarks could affect performance

Ways of sharing

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.