350 likes | 470 Views
Adventures in Mobile Development. Corinna Baksik , Systems Librarian Bobbi Fox , Digital Library Software Engineer Library Technology Services Harvard University Information Technology (HUIT). Agenda. Corinna Project Background and Overview Phase I: Harvard Libraries Mobile Bobbi
E N D
Adventures in Mobile Development Corinna Baksik, Systems Librarian Bobbi Fox, Digital Library Software Engineer Library Technology Services Harvard University Information Technology (HUIT)
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
A Tale of Two Mobile Projects Spring / Summer ‘10 Fall 2010 Winter 2010/2011 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)
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
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
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
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
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
The hard part: adding catalog searching HOLLIS is based on Aquabrowser, 3rd party software, with no native mobile-friendly interface
Solution: retrieve XML output from HOLLIS and use XSLT to create HTML for mobile site A parameter can be added to Aquabrowser URLs to retrieve XML output for search results, records, and item availability
How do you present availability information in a mobile-friendly way?
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
All of the preceding was new development… Enter Bobbi, Secret Master of Repurposing Image created by Chris Traganos
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 “SwitchyMcLayout”
In a normal browser On a mobile device
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.
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.
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
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
“Availability” means different things to a librarian than to a mobile device developer…
“Availability” means different things to a librarian than to a mobile device developer… 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 Corinna modified the Aquabrowser “skin” to get a “Yes/No” for whether something was available. http://webservices.lib.harvard.edu/rest/hollis/avail/008035521
Architecture We reused 95% (ok:90%) of the code written for Harvard Library Mobile -- far from a wasted effort!)
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
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
Thanks! • Corinna Baksik corinna_baksik@harvard.edu • Bobbi Fox bobbi_fox@harvard.edu • Janet Taylor – UI • CorinnaBaksik – 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 Harvard Libraries mobile team: