Problem

I can't download any audiobooks. I can download ebooks. Using the iOS app, latest version. I get the same error for multiple titles.

Diagnostic Process

(from Leonard Richardson)

Why the Error Message is Unclear

At the time of this writing, the SimplyE app is (almost certainly) getting a detailed error message from the server, but as you can tell it's not reporting that message in a useful way. Bad response is nearly useless. So the lack of error detail is a client/app side problem. There is a Jira ticket established for the work to fix the display problem: https://jira.nypl.org/browse/SIMPLY-780.

Until SIMPLY-780 is fixed, I start any attempt to diagnose these kinds of problems by eliminating the SimplyE app from the equation. This allows me to see the underlying error message, which should make it more clear what the actual problem is and where the error is happening. You can do this as well. You can manually replicate the app's work by issuing HTTP requests in your web browser against your Circulation Manager.

Reproducing the Problem — Circulation Manager

Your library collection/catalog lives at its Circulation Manager, with a URL like: http://circulation.simplye-st.org/ABCPL/. Change the base URL in the following requests to match your Circulation Manager domain and library shortname.

  • Start off by issuing a search command for the title that caused/displayed the problem: http://circulation.simplye-st.org/ABCPL/search?q=some-keyword
  • In the OPDS feed of results, find your problem title and look for its loan link. It will include a borrow action: http://circulation.simplye-st.org/ABCPL/works/Axis%20360%20ID/0022334455/borrow/11
  • Copy the link and paste it into your web browser; you will be asked to provide a user barcode. You can use the test barcode for the library and its password/PIN, or use the credentials for your own account. Accept the values and you should be able to borrow the book. The OPDS entry you get in response to the borrow request includes a link with a fulfill action for the title: http://circulation.simplye-st.org/ABCPL/works/123456/fulfill/11
  • This is the URL that will give you either the audiobook manifest (for an audiobook) or the ACSM file (for a DRMed ebook). For this particular problem case, this is the point at which the error most likely occurs, since you mentioned that ebooks are fulfillable.
  • Copy the URL into your web browser and issue the request. If it succeeds, then you can eliminate the Circulation Manager from consideration as a cause of the error/problem. If it fails, you should receive a response with more information than you receive in the SimplyE app.

In this particular case, visiting this URL in my browser results in a pause that's longer than I'd expect, but at the end I get an valid-looking audiobook manifest, which _is_ the expected result. There is no error. Therefore, the most likely cause of the problem seen is a transient error on the vendor/provider side. We know that this kind of error happens regularly, for every vendor we've integrated thus far, although the details are always different.

This general process is the same for diagnosing other types of problems in connecting with or using the Circulation Manager. If there happened to be an actual error on the Circulation Manager, one would expect error information to be displayed instead of the OPDS feed data we mentioned.

[... more detail to come? ...]

Reproducing the Problem — SimplyE

Assuming the audiobook manifest or ebook ACSM file downloads as expected, you've reached the limits of what one can do outside the SimplyE app. The next step is to feed the audiobook manifest into the DRM system.

Open the SimplyE app using an iOS device (make sure you are logged in to library with the patron credentials used to fulfill the audiobook above). Select the My Books tab, and tap the Download button for the title you searched for and fulfilled. You may find there's a longer-than-expected pause if you experienced one above; or you may see that the download proceeds as normal; or you may receive the original error again. If the book is downloaded and you able to open and listen to it, then you have confirmed that the initial problem was indeed a transient error. Transient errors like this may be due to a slowdown on the vendor/provider side, or perhaps in the database service which backs your Circulation Manager. If you see a timeout message mentioning the book vendor's URL, it will be a temporary issue. 

Conclusion

These two tests help confirm either that you encountered a transient communication error or that there is some problem with the Circulation Manager. If the problem recurs, the best strategy is to immediately go through the steps described above in Reproducing the Problem - Circulation Manager. If you receive an error message in that testing, the information in the error message may be useful if you need to escalate this problem to the vendor.