I thought it might be handier at the start to combine requirements and use cases into this single page.
This is a statement of actors/users and the functions that open source book widgets should perform. Non-technical in nature.
Who uses book widgets? Two general categories: book widget authors interested in sharing book information, and book widget users interested in using book information. That said, there are many kinds of authors and users. It may be useful to distinguish librarians and library users as a distinct group.
As a widget author:
- Provide book covers and other bibliographic data for readers of my blog.
- Easily select from different data sources, using various identifiers (not just ISBN), be able to select from multiple versions of given title, set options for linking, etc.
- Access data sources for independent writers, publishers, etc. If these records are not in the data source, I would like to be able to add them.
- Credit contributors to a book: artists, illustrators, translators, editors, etc. Credit can take the form of being named, but also through a link to the contributors website, if available.
- Respect copyright on book cover images. (My research on this indicates that thumbnails are fair use for book covers of copyrighted materials. If it can be determined that a book cover is public domain, copying full covers is legal. --Johnmiedema 06:06, 12 January 2009 (PST)).
As a widget author who manages a library website:
- I am targeting patrons of my own library. I would like to be able to configure the widget to show items in my specific library.
As a widget user:
- Link to detailed book data.
- View books online where available.
- Read reviews and recommended titles.
- Connect to social data about books.
- See availability of an item in my libraries and bookstores. Libraries should include those that are not OCLC members. Bookstores should include independent bookstores. (Of course, this requirement is a significant design issue -- see Technical Design for more discussion).
- Add virtual books to my personal "shelf".
As a third-party developer:
- I would like book widgets to be designed for auto-detection by other applications. E.g. COinS or unAPI for detection by Zotero and other applications.
- Consume book data that is XHTML compliant.