Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Unlocking Your ILS Data Mobile access via handheld devices Michael Doran, Systems Librarian [email protected] LITA 2009 National Forum Salt Lake City, Utah October 3, 2009 Where do we get our ILS data? Integrated Library System Our ILS data sits on a server, but to get at it we need an ILS client... • Acquisitions • Cataloging • Circulation • OPAC • Reports • etc. This will fix things! Woo-hoo! Got SQL*Plus! SQL> DROP DATABASE xxxdb; Michael Doran, Systems Librarian [email protected] ILS data – the gate keepers cataloging client circulation client “data” mobile client Michael Doran, Systems Librarian acquisitions client OPAC 1 [email protected] Where do we go to get the ILS data? To a computer... ...on a desk ... and for non-OPAC data, (generally) in an office or behind a counter. Michael Doran, Systems Librarian [email protected] Working in the trenches stacks Michael Doran, Systems Librarian [email protected] You could carry your PC with you Michael Doran, Systems Librarian [email protected] But wouldn’t it be nice... If we could access ILS data with a wireless-enabled hand-held device? Palm Windows Mobile iPhone and iPod Touch any smart phone WiFi or cellular data networks Michael Doran, Systems Librarian 1 [email protected] …not only for OPAC access… Innovative Interface’s “AirPAC” catalog Michael Doran, Systems Librarian [email protected] …but also for staff Stacks maintenance would be so much easier if I could look up stuff on a handset. Michael Doran, Systems Librarian [email protected] A vendor perspective John McCullough, “Redesigning Library Applications for PDAs: ILS Vendor Perspective.” Library Hi Tech, 21:4 (2003), p. 396. “At this time Innovative is releasing a wireless OPAC interface and developing wireless solutions for staff applications” “Offline circulation suggests itself […and…] Inventory of the physical collection is a second area of great interest in PDAs.” “Innovative Interfaces is currently developing a wireless Inventory product which will use a PDA to read barcodes using Bluetooth and populate an HTML form on a Web browser on the device. This form will then submit the barcodes over a wireless connection to the library database server and will return a response to the device indicating item status, whether the item is out of shelf order, and giving the option to dynamically, and from within the stacks, update the item record itself.” Michael Doran, Systems Librarian 1 [email protected] Vendor products for staff use Innovative Interface’s “wireless solution for inventory and circulation functions” 2004 – originally released as Wireless Workstation 2008 – rebranded as Circa SirsiDynix’s PocketCirc client “for circulation and inventory functions” 2004 – Unicorn ILS version 2009 – Horizon ILS version Note: dates are approximate Michael Doran, Systems Librarian 1 [email protected] Back to the future… 2009 2008 2007 2006 2005 2004 2003 AirPAC Circa & PocketCirc Where’s my @#$% handheld app! Michael Doran, Systems Librarian 7 [email protected] Waiting for Godot the vendor How long must we wait for a handheld client for our ILS? …or one that doesn’t cost us extra dough? …or one that does what we want? Michael Doran, Systems Librarian 4 [email protected] Waiting for Godot the vendor Vendors are smart and competent So what’s the hold up? ILS product life cycle – saturation stage No good pricing model for mobile clients Vendor/ILS programming paradigm: Aware of the growing demand for mobile data access Have an intimate knowledge of the ILS systems Have crackerjack programmers One client/app that does everything Mobile device programming paradigm: Many clients/apps that do one thing well Michael Doran, Systems Librarian [email protected] Back to the future… Inventory, SQL, Perl, wireless network, PDA, …bingo! 2009 2008 2007 2006 2005 2004 2003 “…developing a wireless Inventory product which will use a PDA to read barcodes … and populate an HTML form on a Web browser … then submit the barcodes over a wireless connection to the library database server and will return a response to the device indicating item status…” Michael Doran, Systems Librarian 1 [email protected] ShelfLister 1.0 – released in 2003 Generates a shelf list shelf list - a file of bibliographic records arranged in the same order as the corresponding materials on the shelves Additionally, includes any or all of... Oooohh Item status Historical charges Historical browses Enhanced call number information And allows user to save item information for batch updating ILS Michael Doran, Systems Librarian 1 [email protected] Michael Doran, Systems Librarian 2 [email protected] ShelfLister 1.0 Start barcode End barcode Minimize data entry Michael Doran, Systems Librarian 4 [email protected] Michael Doran, Systems Librarian 2 [email protected] Michael Doran, Systems Librarian 2 [email protected] Use as input file for bulk updating ILS Michael Doran, Systems Librarian 2 [email protected] Paging Mr. Godot… All this time, we’ve been waiting for the vendor to provide us with (and charge us extra for) handheld apps. We could have been developing them ourselves. But wait… we still can! Michael Doran, Systems Librarian 3 [email protected] Rocket scientists This is not the Library Systems staff at the University of Texas at Arlington. Michael Doran, Systems Librarian [email protected] UT Arlington Library Systems staff …before our first cup of coffee in the morning Michael Doran, Systems Librarian [email protected] So, if we can do it, you can do it If I just knew what button to push! Michael Doran, Systems Librarian [email protected] All it requires is an “open” ILS system They told me I didn’t need to know what was inside. Michael Doran, Systems Librarian [email protected] All it requires is an “open” ILS system This presenter really knows how to flog a metaphor. All I see is an empty box… where are the donuts? Did I say “donuts”? I meant data. Michael Doran, Systems Librarian [email protected] …and the “Four Knowings” It’s really quite simple! Know your ILS data Know the available APIs Know what you want to do Know how to (web) program Michael Doran, Systems Librarian [email protected] 1) Know your ILS data The leg bone’s connected to the knee bone… Relational database system data dictionary – “a list of all the tables in the database and all the fields in the tables” entity-relationship diagrams – “a graphical representation of database entities and their relationships to each other” mental model of data BLOBs and other problems Michael Doran, Systems Librarian [email protected] ShelfLister – 1st knowing “Know your ILS data” It’s all up here, baby! Voyager ILS Oracle Database data Michael Doran, Systems Librarian 2 [email protected] 2) Know the available APIs Application Programming Interface Web services (XML, SOAP, RESTful, y.y.) Library protocols Aleph : “X-Services” Voyager : Web Services Your ILS : ??? Protocols… boor-ing! Z39.50 ISO/ANSI/NISO Information Retrieval Protocol 3M SIP (Standard Interchange Protocol) 2.0 NCIP (NISO Circulation Interchange Protocol) DLF’s ILS Discovery Interfaces recommendation Database connection e.g. Oracle/MySQL/etc. listener Michael Doran, Systems Librarian 1 [email protected] APIs – getting around the gate keepers cataloging client circulation client “data” Oracle NCIP web Z39.50 listener server services Michael Doran, Systems Librarian acquisitions client OPAC 4 [email protected] Which API should you use? All I see are zeros and ones! What data can it read What data can it write database connection – everything! web services, library protocols – eh, not so much database connection – (effectively) nothing web services, library protocols – it depends Mix and match Response times/latency Michael Doran, Systems Librarian [email protected] ShelfLister – 2nd knowing “Know the available APIs” 2009 Voyager ILS 2008 2007 Web services 2006 2005 Voyager ILS 2004 2003 Oracle listener listener Oracle Database data Michael Doran, Systems Librarian 3 [email protected] 3) Know what you want to do Public access Staff access Mobile OPAC? ???????? Inventory tool? ??????? Be ambitious But not too ambitious (at least the first time) Michael Doran, Systems Librarian [email protected] ShelfLister – 3rd knowing “Know what you want to do” Free the data! Michael Doran, Systems Librarian 2 [email protected] 4) Know how to (web) program I.e. server-side, not client-side Java C/C++ Ruby PHP Perl Lisp bourne shell whatever… You must code in Perl. It’s the Law. Just kidding! Use whatever you want! Michael Doran, Systems Librarian 1 [email protected] ShelfLister – 4th knowing “Know how to (web) program” shelflister.cgi Voyager ILS Perl DBI/DBD::Oracle SQL queries listener Oracle Database form generation, data munging, and formatting output data Michael Doran, Systems Librarian 3 [email protected] ShelfLister – 4th knowing “Know how to (web) program” Web programming… heh, that’s not a real iPhone app! “Most of the folks I know in app development are moving to standardization on web versus device specific development.” Linda Woods, AT&T Education Advocate Industry & Mobility Application Solutions comment at 2009 Handheld Librarian Online Conference Michael Doran, Systems Librarian 1 [email protected] You can (and should) do this If that imbecile Doran could do one… How hard could it be? Getting something to beta would only take me a couple weeks. ...and maybe a case of Red Bull. Michael Doran, Systems Librarian 1 [email protected] The Tao of mobile web design A mobile web app should do one thing and do it well. A mobile web app must be as simple as possible, but no simpler. standards compliance web usability design minimal user (data) input design and testing cross-browser cross-platform Michael Doran, Systems Librarian [email protected] Mobile design - browser compatibility Chrome Internet Explorer Firefox Michael Doran, Systems Librarian 2 [email protected] XHTML/HTML/CSS validation XHTML/HTML CSS Accessibility Get right with these before you get to the platform compatibility. Michael Doran, Systems Librarian 3 [email protected] iPhone web apps (according to Apple) Three types content: compatible with Safari on iPhone optimized for Safari on iPhone iPhone web application W3C standards compliant - no framesets or - unsupported technologies “Most of the folks I know in app development are moving to standardization on web versus device specific development.” Linda Woods, AT&T Education Advocate Industry & Mobility Application Solutions comment at 2009 Handheld Librarian Online Conference Michael Doran, Systems Librarian 2 [email protected] Mobile design – platform compatibility viewport Michael Doran, Systems Librarian 4 [email protected] Mobile design – platform compatibility Michael Doran, Systems Librarian 3 [email protected] Mobile design – platform compatibility Larger buttons for finger tapping Michael Doran, Systems Librarian 1 [email protected] Handheld emulators/simulators Operating System Generally come with handheld OS SDKs webOS (Palm) http://developer.apple.com/iphone/ Android (Google & Open Handset Alliance) http://developer.palm.com/ iPhone (Apple) Software Development Kit http://developer.android.com/ Web-based simulators (be leery) Opera Mini Simulator – good http://www.opera.com/mini/demo/ TestiPhone.com – absolutely worthless Michael Doran, Systems Librarian [email protected] Handheld emulators/simulators Palm iPhone Opera Mini Android Michael Doran, Systems Librarian 3 [email protected] Mobile design – platform compatibility Michael Doran, Systems Librarian 2 [email protected] Test it on the real thing (handset), too! Just need to… test… my app… one... more time. Or, as a last resort… Borrow from colleagues Michael Doran, Systems Librarian [email protected] Don’t forget the documentation! Mobile/handheld developer sites have useful information on how to “design for small” Read it Seriously. Read it. A viewport? Who knew? It’s a small world after all. Michael Doran, Systems Librarian [email protected] Example docs and websites Reading? I just want to code! iPhone Principles and Guidelines for Creating Great iPhone Content iPhone Human Interface Guidelines for Web Applications Safari Web Content Guide for iPhone OS Others Opera Mini Developer resources many, many, more… Michael Doran, Systems Librarian [email protected] ShelfLister version 2.0 (for handhelds) Start barcode End barcode Michael Doran, Systems Librarian 3 [email protected] ShelfLister version 2.0 (for handhelds) Michael Doran, Systems Librarian 2 [email protected] ShelfLister version 2.0 (for handhelds) UTA hereby grants USER permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee […] Michael Doran, Systems Librarian 3 [email protected] Source code http://rocky.uta.edu/doran/ Michael Doran, Systems Librarian 2 [email protected] Open systems – ILSs Hello ILS vendor? I’d like to order an open system. What does that mean? It means I want database access. And web services. Yeah, and an NCIP server. Michael Doran, Systems Librarian [email protected] Open systems – your mobile client Consider releasing your mobile app as free open source. It’s better than free beer! Ask permission first, though! Michael Doran, Systems Librarian 1 [email protected] Asking permission http://rocky.uta.edu/doran/ip/ Michael Doran, Systems Librarian 1 [email protected] Questions? Doran His lips are moving… but I can’t hear a thing he’s saying. Michael Doran, Systems Librarian [email protected]