440 likes | 911 Views
Mobile Patrons: Better Services on the Go. Vincci Kwong and Gary Browning Indiana University South Bend 10 th Brick & Click Libraries. Mobile Internet Usage. Mobile Data Applications Usage. Statistics for Library Website. Mobile Website or Mobile App?. Target audience User experience
E N D
Mobile Patrons: Better Services on the Go Vincci Kwong and Gary Browning Indiana University South Bend 10th Brick & Click Libraries
Mobile Website or Mobile App? • Target audience • User experience • Technical skills • Costs
Popular Items on Mobile Website • Library catalog • Floor map • Events • Hours • Social media info
IU Mobile Initiative https://m.iu.edu/miu-prd/about/index.shtml
Schurz Library Mobile Interface http://m.library.iusb.edu
Mobile Site Generator • Hidden Peanuts • Molly • iPhone Application - DCPL
Internet Built-in Authentication Mobile Friendly Authentication Remote access to subscription databases is done through OCLC’s EZproxy Authentication and Access software.
Internet Built-in Authentication Mobile Friendly Authentication EZproxy does not have built-in support for mobile devices. X
How to make EZproxy Mobile Friendly Incorporate a mobile device detection library? http://detectmobilebrowsers.mobi/
EZproxy Ticket Authentication http://ezproxy.yourlib.org:2048/login?user=rdoe&ticket=a6911a5d0219f428b33e190a80818625%24c20041222220203&url=http://www.somedb.com/ “Ticket authentication allows remote systems to short-lived URLs that EZproxy will automatically recognize as being authorized to login and permit access to a resource with no need for EZproxy to check back with the program that creates the URL.”– OCLC website
Sample PHP code <?php require("ezproxyticket.php"); $ezproxy = new EZproxyTicket("http://ezproxy.yourlib.org:2048", "shhhh", "someuser"); ?> <a href="<?php echo($ezproxy->url("http://www.somedb.com")) ?>">Some Database</a><br /> EZproxy user.txt ::Ticket TimeValid 90 MD5 shhhh Expired; Deny expired.htm /Ticket
Internet Valid ticket? Generate Ticket EZproxy Ticket Authentication Server with ezProxy Web Server with PHP
Internet Valid ticket? authenticated? Generate ticket authentication validation service External Authentication Server with ezProxy Web Server with PHP
Central Authentication System (CAS) Central Authentication Service (CAS) is a login service that allows you to access multiple password-protected web systems after logging in once on a central authentication server; this is often referred to as single sign-on. http://www.jasig.org/cas
CAS vs IU CAS Standard CAS response – XML <cas:serviceResponse xmlns:cas='http://www.yale.edu/tp/cas'> <cas:authenticationSuccess> <cas:user>username</cas:user> <cas:proxyGrantingTicket>PGTIOU-84678-8a9d... </cas:proxyGrantingTicket> </cas:authenticationSuccess> </cas:serviceResponse> IU CAS response – If validation is successful, CAS sends back a two-line response with 'yes' on the first and 'username' on the second.
Connecting Ezproxy with IU CAS • Detect mobile or desktop • http://detectmobilebrowsers.mobi/ • Set CASSVC (service) • If detect mobile, set service to mobile • Check with CAS to see if already authenticated • If authenticated, display database; otherwise present a login screen
Sample Code – login.php <?php include('mobile_device_detect.php'); if(mobile_device_detect(true,true,true,true,true,true,false,false)){ header("Location: https://cas.iu.edu/cas/login?cassvc=MOBIU&casurl=https://www.domain.edu/~site/cas/casauth.php"); }else{ header("Location: https://cas.iu.edu/cas/login?cassvc=IU&casurl=https://www.domain.edu/~site/cas/casauth.php"); } ?>
Sample Code – casauth.php <?php session_start(); //start session if( isset($_GET['casticket']) ){ //check to see if a ticket has been passed $ticket = $_GET['casticket']; } else { $ticket = ""; }
Sample Code – casauth.php cont. /* * check CAS ticket authenticity and get the user's uid back * the variable $contents will have the string * "ticket '<ticket value>' not recognized" if a bad ticket * has been provided. */ $casXML = fopen("https://cas.iu.edu/cas/validate?cassvc=IU&casticket=$ticket&service=https://www.domain.edu/~site/cas/casauth.php","r"); $contents = fread($casXML, 1024); fclose($casXML);
Sample Code – casauth.php cont. list($yesno, $netid) = split("\n", $contents, 2); $authok = trim($yesno); $iuid = trim($netid); if ($authok == "no") { header("Location: https://www.domain.edu/~site/cas/login.php"); } else { $_SESSION['auth'] = $iuid; header("Location: https://www.domain.edu/~site/cas/success.php"); } ?>
A Better Idea – Can IU Mobile do it? IU Mobile is already connected to IU CAS Need ability to • Check if authenticated • Display alternative information if not • Restrict to campus level
Yes, IU Mobile Can do it! <authenticated> <list-item> <link type="xml" xml="http://it.iusb.edu/demo2.php" title="Subscription Databases" /> </list-item> </authenticated> <not-authenticated> <list-item> <link type="xml" xml="http://library.iusb.edu/miuxml/oopsSubscribed.xml" title="Subscription Databases" /> </list-item> </not-authenticated>
Sample Restriction to South Bend <list-item> <authenticated> <if permission="southbend"> <link type="external" url="<?php echo($ezproxy->url("http://vnweb.hwwilsonweb.com/mobile/jumpstart.jhtml")) ?>" title="HW Wilson" /> </if> </authenticated> </list-item>
Library Resources with Mobile Platforms • Ebscohost • H.W. Wilson • PubMed • WorldCat • Lexis/Nexis Get Cases and Shepardize • Fastcase • RefWorks • Hoovers • Encyclopedia Britannica • arXiv Browse • Factiva • IEEE Xplore • Westlaw
Computer Availability Mobile Webpage http://m.iusb.edu
System Requirements Computer Availability • Web Server such as Apache or IIS • PHP • Database such as MySQL • Ability to run login and logout scripts
Internet Workstations How It Works Active Directory Server www.iusb.edu/~labseats Web Server with PHP MySQL Server
For Mobile, Output Data as XML <seats> <?php foreach ($regions as $region) { $region_id = $region['region_id']; $region_display_name = $region['display_name']; $region_location = $region['location']; $region_mac_status_counts = get_status_counts_for_region($region_id, 'Mac'); $region_pc_status_counts = get_status_counts_for_region($region_id, 'PC'); $total_idle_mac_computers = $region_mac_status_counts['idle']; $total_busy_mac_computers = $region_mac_status_counts['busy']; $total_idle_pc_computers = $region_pc_status_counts['idle']; $total_busy_pc_computers = $region_pc_status_counts['busy']; $total_idle_computers = $total_idle_mac_computers + $total_idle_pc_computers; $total_online_computers = $total_idle_computers + $total_busy_computers; print "<seat lab=\"$region_building $region_location\" building=\"$region_display_name\" availability=\"$total_idle_computers/$total_online_computers\" campus=\" SB\" /> \n”; } ?> </seats>
Internet Mobile Output IU Mobile Server Web Server with PHP MySQL Server
Planning for Mobile Website • Needs assessments • Integrate with existing library services • Project planning • Build the site • Testing, marketing, launching • Keeping up
Mobile Services Offered by Other Libraries SMS notification services • Kansas State University Libraries Mobile collections • Duke University Mobile instruction • Open University Library • LibGuides Library tour • Temple Universities Libraries • University of Illinois at Urbana-Champaign
QR Code • Two-dimensional barcode readable by QR scanners, mobile phones with camera, and smartphones. • Stores text, URL or other data.
QR Code Generator • Kaywa • ZXing Project • Mobile-Barcode • Bit.ly • goo.gl • …. and more! Chrome extension
QR Code Reader • i-nigma • ScanLife • BeeTagg • Lynkee http://www.mobile-barcodes.com/qr-code-software/
Resources • Mobile Access 2010 - http://www.pewinternet.org/~/media//Files/Reports/2010/PIP_Mobile_Access_2010.pdf • Detect Mobile Browsers - http://detectmobilebrowsers.mobi/ • OCLC Ezproxy - http://www.oclc.org/support/documentation/ezproxy/usr/default.htm • CAS - http://www.jasig.org/cas • XML Tutorial - http://www.w3schools.com/xml/default.asp • AOL Mobile - http://mobile.aol.com/product/sms-text/aim-txt/ • M-Libraries Success Wiki - http://www.libsuccess.org/index.php?title=M-Libraries • QR Code: Library Success Wiki - http://www.libsuccess.org/index.php?title=QR_Codes
Questions? Feel free to contact us at • Vincci Kwong • Email: vkwong@iusb.edu • Phone: 574-520-4444 • Gary Browning • Email: gary@iusb.edu • Phone: 574-520-5516