Adventures in Mobile Development, Harvard Library Corinna Baksik, Systems Librarian Bobbi Fox,...
-
Upload
raymundo-godard -
Category
Documents
-
view
222 -
download
0
Transcript of Adventures in Mobile Development, Harvard Library Corinna Baksik, Systems Librarian Bobbi Fox,...
Adventures in Mobile Development, Harvard Library
Corinna Baksik, Systems LibrarianBobbi Fox, Digital Library Software EngineerLibrary Technology ServicesHarvard University Information Technology (HUIT)
Adventures in Mobile Development
Adventures in Mobile Development, Harvard Library
Agenda
Corinna• Project Background and Overview• Phase I: Harvard Libraries Mobile
Bobbi• Phase II: Services for new Mobile Site/App
hosted by 3rd party vendor (Modo)• Web Services API overview
Adventures in Mobile Development, Harvard Library
A Tale of Two Mobile Projects
Fall 2010 Winter 2010/2011Spring / Summer ‘10
Harvard University builds a mobile site/app, developed by Modo Labs
Harvard Libraries build a mobile site, developed by the library systems office
Harvard U. mobile site/app is released with a new library component, driven off of web services developed by the library systems office(The Harvard Libraries stand-alone
site is discontinued)
Adventures in Mobile Development, Harvard Library
It started with a class project*…
* Janet Taylor’s presentation to the Digital Humanities Fair in partial fulfillment of her work for CSCI E-12 Introduction to Website Development, Harvard Ext. School
Adventures in Mobile Development, Harvard Library
Initial Releases
• In July, we received a charge to implement a mobile site by September for Fall Term
• We leveraged work from Janet’s project
1st Release, Sept. 2010(on schedule!)
Scope:• Library/Archives hours
and directions (~85 libs)• Mobile research links• Link for Questions
2nd Release, Nov. 2010
Added:• HOLLIS searching• HOLLIS record presentation• HOLLIS availability display
Adventures in Mobile Development, Harvard Library
Library Info/Hours
For the standard library portal, a MySQL database stores library info and hours, and a perl script runs nightly to generate static HTML pages
Adventures in Mobile Development, Harvard Library
Library Info/Hours
Fall 2010 Winter 2010/2011
Perl script does a parallel output of Mobile-friendly XHTML
Script generates a static XML file, read by library web services, queried by Modo Labs for the Harvard U. mobile site/app
Adventures in Mobile Development, Harvard Library
Mobile Research (Articles / Databases)• Most services are not mobile-friendly (e.g. federated
search tools such as Metalib)• We created a picklist of those e-resources that have
mobile interfaces, and linked to those only
Adventures in Mobile Development, Harvard Library
The hard part: adding catalog searchingHOLLIS is based on Aquabrowser, 3rd party software, with no native mobile-friendly interface
Adventures in Mobile Development, Harvard Library
Solution: retrieve XML output from HOLLIS and use XSLT to create HTML for mobile siteA parameter can be added to Aquabrowser URLs to retrieve XML output for search results, records, and item availability
Adventures in Mobile Development, Harvard Library
How do you present availability information in a mobile-friendly way?
Adventures in Mobile Development, Harvard Library
Answer: simplify and remove info• A new XSL file was added to Aquabrowser to provide
availability information exclusively for mobile use• This allows the System Librarian to develop and update the
logic, rather than defining for the developer MARC holding/item status complexities
Adventures in Mobile Development, Harvard Library
All of the preceding was new development…
Enter Bobbi,Secret Master of Repurposing
Image created by Chris Traganos
Adventures in Mobile Development, Harvard Library
Adding “Questions and Feedback”
We already had a configurable Feedback page:
http://nrs.harvard.edu/urn-3:hul.ois:harvlibmobilehelp
Using a combination of CSS classing, and Javascript, that page can take on the “Mobile” appearance, depending on the width of the “screen”.
Ref: van den Dobbelsteen, Marc. (2006,December 19). An Adaptive Layout Technique. A List Apart. Retrieved March 30, 2011, from http://www.alistapart.com/articles/switchymclayout/
Using “Switchy McLayout”
Adventures in Mobile Development, Harvard Library
In a normal browser On a mobile device
Adventures in Mobile Development, Harvard Library
Meanwhile, unbeknownst to our heroes…
… Harvard Public Affairs & Communications had been working with an outside vendor, MODO Labs, to create a mobile web and mobile app for Harvard University.
Adventures in Mobile Development, Harvard Library
PHASE II – feed to MODO
PRESTO Library Tools
Data Lookup Web Service
We already were providing RESTful bibliographic data lookup in both XML and JSON formats …
http://hul.harvard.edu/ois/systems/webservices/datalookup-userguide.html
.. so we just extended our services.
Adventures in Mobile Development, Harvard Library
Phase II – HOLLIS feed to MODO
We had been taking shortcuts by using an Aquabrowser “skin” to produce XHTML
Rather than Yet Another Skin for AB, we decided to refactor our code, providing an intermediate XML:• Modified the XSL for result, record, availability• Created new methods to render straight to XML
Adventures in Mobile Development, Harvard Library
Search
Leveraging the XML produced by the original code, we performed one more XSL transform:
• to eliminate the extraneous data; and • to add links to availability
http://webservices.lib.harvard.edu/rest/hollis/search/dc/?q=organizational+dysfunction
Adventures in Mobile Development, Harvard Library
We also provide information for visual items
Adventures in Mobile Development, Harvard Library
“Availability” means different things to a librarian than to a mobile device developer…
Adventures in Mobile Development, Harvard Library
They wanted simple answers to:• “Can I take out the book?”• “Is the book checked out?”• “If the book is checked out, can I
request it?”• “Can I request an electronic copy of
chapters of a book?”
“Availability” means different things to a librarian than to a mobile device developer…
Adventures in Mobile Development, Harvard Library
Availability
Corinna modified the Aquabrowser “skin” to get a “Yes/No” for whether something was available.
http://webservices.lib.harvard.edu/rest/hollis/avail/008035521
Adventures in Mobile Development, Harvard Library
Availability: Initial Screen
Adventures in Mobile Development, Harvard Library
Availability: With Library Info
Adventures in Mobile Development, Harvard Library
Availability: Scan & Deliver
Adventures in Mobile Development, Harvard Library
Availability: A More Complex Example
Adventures in Mobile Development, Harvard Library
Availability: More Complex: Requestability
Adventures in Mobile Development, Harvard Library
Availability: More Complex: Requesting
Adventures in Mobile Development, Harvard Library
Complex Example: Possible Availability
Adventures in Mobile Development, Harvard Library
Architecture
We reused 95% (ok:90%) of the code written for Harvard Library Mobile -- far from a wasted effort!)
Adventures in Mobile Development, Harvard Library
Lessons learned:
• We don’t always know the destination when we start
• “The perfect is the enemy of the good” -- iterative releases save time in the long run
• Getting feedback from people who aren’t as close to the project is crucial
• Coding with an eye to reuse possibilities leads to less re-factoring
Adventures in Mobile Development, Harvard Library
Lessons learned (part deux)
Working with an outside vendor:
• Many things are no longer in our control• There have been no enhancements in the past
year:• Our new “Borrow Direct” service is not reflected• We can’t add new mobile e-resources
• Make sure librarians who know the data are part of the development team
Adventures in Mobile Development, Harvard Library
Adventures in Mobile Development, Harvard Library
Thanks!
• Janet Taylor – UI• Corinna Baksik – HOLLIS/Aquabrowser• Victoria Lin – Library Info/Hours DB• Michael Vandermillen – HOLLIS Mobile Developer• Bobbi Fox – PRESTO Web Services Developer• Wendy Gogel, Randy Stern – Project Managers
Corinna [email protected]
Harvard Libraries mobile team:
Bobbi [email protected]