Skip to content

User Profiles, cases and requirements

jce1028 edited this page Apr 4, 2014 · 67 revisions

Basic eReader iOS Application Requirements


eReader Platform requirements

  • iPad
  • iPhone
  • iOS 6 and 7
  • Launch Readium EPUB Engine

eReader app requirements

Open and ePub, view and interact with its content

  • Open EPUB2

  • Open EPUB3

  • Open EPUB and Display Book Jacket- on tap got to Chapter One

      See tableView:didSelectRowAtIndexPath: in NavigationElementController. Can be accomplished by adding a tap recognizer on top, and telling it which file to load on that tap.
    
  • Open EPUB and Display Content - Chapter 1

      See tableView:didSelectRowAtIndexPath: in NavigationElementController, it pushes to a specific RDNavigationElement when you tap a cell, to a certain file based on what was specified in the datasource.
    
  • Automatically Size Font percentage equivalent to 12pt Font Calibri iPhone

      Scaling is done on a percentage basis. In launcher app, see EpubSettings - fontScale property.
    
  • Automatically Size Font to equivalent percentage to 14pt Font Calibri iPad

      Scaling is done on a percentage basis. In launcher app, see EpubSettings - fontScale property.
    
  • Automatically set view to single page view on iPhone and iPad.

      Not all books seem to support two column views. In launcher app, see EpubSettings - isSyntheticSpread property, where YES means two columns, and NO means one column.
    
  • Allow flowable content to be scrolled via single touch swipe

      There doesn't seem to be built in support for this, but adding it should be relatively trivial.  
    
  • Advance page turn after end of paginated content is scrolled (ergo - infinite scroll)

      I don't see any support for this built in via the current architecture.
    
  • Turn page back with left swipe or double tap to advance page forward

      There doesn't seem to be built in support for this, but adding it should be relatively trivial.
    

View Navigation requirements

  • Top Bar (TB) Menue for Reading View
  • TB:Options icon - access drop down menu for Options Menue (OM) with following items:
  • OM:Display Options icon - access control to increase decrease font, adjust brightness, change front from Sans Serif (Calibre) to Serif (Times Roman), Day Reading (White background, Black Text) or Night Reading (Black Background, White Text)
  • OM:Table of Contents icon - on tap opens table of contents control
  • OM:Book Marks icon - on tap opens book mark control for given work
  • OM:Share icon - on tap opens native share feature of iOS
  • Add to shelf icon - opens my shelf control (see shelf control requirements)
  • TB:Book Mark Page icon -
  • TB:Share icon - on tap opens native share feature of iOS
  • TB:Search Content icon - on tap opens content search control
  • TB: Back arrow - on tap navigates back from selected sub menu, control or view, or current content location to book Jacket or BookShelf List or Home screen

Optional requirements:Botom Bar Menu (BM), Controls

  • Control:Page Number display/counter
  • Control:Content Guage (%percent read)
  • BM:Book Icon - on tap access content Table of Contents

General Use Cases

As a New User/Existing User I want to:

Connect to my 3rd party reading list (Google Bookshelves, Good Reads, etc..)


So I can See my previous reads

Confirmation Criteria

  • The App can connect to my Google Books Reading List
  • Use my Good Reads books shelf API

Connect to my 3rd party reading list (Google Bookshelves, Good Reads, etc..)


So I can Record my reads

Confirmation Criteria

  • The App can transact on my Google Books Reading List
  • The App can transact on my Good Reads books shelf API

Create Wish List


So I can get notifications when the book is available

Confirmation Criteria

  • The App can use my Google Books Reading List to identify availability in the catalogue
  • The App can use my Good Reads books shelf API to identify availability in the catalogue

See primarily titles that are available


So I can browse through titles available to read now

Confirmation Criteria

  • I get Titles I can download now

  • I get Titles in the format my device and app supports

  • I get only titles that have an available copy (OD, 3M, Haithi, Guttenberg, other..)

      Sent as OPDS acquisition feeds linked to from a navigation
      feed with rel="new", rel="featured", or a custom link
      relation.  Titles have <link> with rel="borrow", rel="sample",
      and/or rel="open-access".
    

Get a physical copy if the eBook isn't available


So I can read the book when format is not an issue with me

Confirmation Criteria

  • I can place a hold on the physical format if the digital format is not available

  • The physical title copy is available for pick-up

       Sent as OPDS acquisition feeds, linked to from a navigation
       feed with a custom link relation. Each title has a <link>
       with custom rel='hold'. Possibly a different <link> for each
       branch that has a copy.
    

Choose to see titles available to hold or get at a later date


So I can read the book for free

Confirmation Criteria

  • I can reserve (hold) a title via the application

  • The title shows up in a holds list

  • The title is on hold in the library ILS and OPAC

      Sent as OPDS acquisition feeds linked to from a navigation feed
      with a custom link relation like "to-hold" in addition to "new",
      "featured", etc. Holdable titles have a <link> with rel="hold".
    

Search available titles


As a User Looking for Something to Read

So I can find the title I am looking for and read it now

     Sent as OpenSearch form within OPDS navigation feed. Search
     results displayed as an acquisition feed.

Browse Recommended Titles by Librarians


As a User Looking for Something to Read

So I can find a title from a trusted source and read it now

    OPDS acquisition feed, linked to from a navigation feed using
    rel="recommended" in addition to a custom relation like
    "from-librarians".

Browse Recommended Titles that are recommended by Friends


As a User Looking for Something to Read

So I can find a title from a trusted source and read it now

    OPDS acquisition feed, linked to from a navigation feed using
    rel="recommended" in addition to a custom link relation like
    "from-friends".

Browse Recommended Titles of genera I am interested


As a User Looking for Something to Read

So I can find a title from a trusted source for a genera I like and read it now

    OPDS acquisition feed, linked to from the main acquisition
    feed using facets plus rel="recommended".

Create Collections (faceted browse)


As a User Looking for Something to Read

So I can find a title for a genera or topic I like and read it now

    OPDS acquisition feed, linked to from the main acquisition
    feed using facets. May also be linked to from the recommended
    acquisition feed for this facet.

Add Titles I have discovered at the library into a list


As a User Looking to share or record a title I have read, or like to read

So I can **Borrow and read it later or share **

Main navigation feed links to an OPDS acquisition feed with a
custom relation like "custom-list". If user can create any
number of lists, all acquisition feeds show up in the
navigation feed with the same relationship but different
names.

A title that can be added to a list may feature a <link> that
will add the title to the list when triggered. Or, it may be
understood that the client may use AtomPub rules to POST a
title to any "custom-list" feed.

Research and Reference User (R&RU)

Use Cases

  • As a Researcher and Reference Users I want to conduct a catalog search or category browse
  • As a Researcher wants to download books
  • is a public library user
  • reads the relevant chapters
  • Bookmarks catalogue items (books) for borrowing
  • wants to capture notes about methods in notes, or Evernote on her mobile phone / tablet when on a job site

Leisure and Entertainment (L&EU)

  • Commuter

  • Bibliophile

  • Mother/Care Giver

  • Millennial?

  • Teen/Young Adult

  • Male

  • Female

Clone this wiki locally