Mobile Patrons: Better Services on the Go (For Techie)
Upcoming SlideShare
Loading in...5
×
 

Mobile Patrons: Better Services on the Go (For Techie)

on

  • 1,350 views

Several mobile friendly initiatives which improve mobile user’s experience with library resources will be discussed. These initiatives include creation of a mobile library website, development of ...

Several mobile friendly initiatives which improve mobile user’s experience with library resources will be discussed. These initiatives include creation of a mobile library website, development of mobile friendly authentication user interface, implementation of a computer availability mobile page and offering of texting reference service.

Statistics

Views

Total Views
1,350
Views on SlideShare
1,350
Embed Views
0

Actions

Likes
0
Downloads
3
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • http://www.pewinternet.org/~/media//Files/Reports/2010/PIP_Mobile_Access_2010.pdf
  • % of overall website usage?
  • http://www.iusb.edu/~libg/mobile/index.html (2008)
  • http://uits.iu.edu/page/ayzz The backend is a J2EE (Java 2 Platform, Enterprise Edition) application. It runs in a clustered Tomcat environment with an Oracle database. It was modeling after the work that MIT had done.
  • 2499 overall hits
  • Ezproxy has a ‘static’ html login page that can be configured to appear how you like. Since Ezproxy uses Apache – First idea is to incorporate a mobile detection library possibly using PHP. Once we found a library that looked promising, we tried to incorporate it. Unfortunately it failed. We contacted OCLC and found we cannot incorporate PHP into the html login page.
  • This was suggest by OCLC. Bypasses the built-in Authentication page. OCLC has sample code in the support section of their website.
  • Ezproxy must be configured to use the same “secret” (shhh) for a ticket to be generated. The ezproxyticket.php library is available for download from the OCLC website This gets us the ability to use Ezproxy; however, we still need to incorporate an authentication mechanism.
  • Public Libraries … it is my understanding that most libraries have access to some ‘flavor’ of the SIP protocol by 3M. For example, one public library uses TLC. They would need to create a mobile login page and communicate to the TLC system using SIP.
  • IU CAS response is easier to code for; however, applications that have built-in support for CAS will not typically work with IU CAS.
  • Explain, again, that these steps are specific to CAS
  • Mention Accuracy – The “Sticky” Problem.
  • Planning for a mobile site article

Mobile Patrons: Better Services on the Go (For Techie) Mobile Patrons: Better Services on the Go (For Techie) Presentation Transcript

  • Mobile Patrons: Better Services on the Go October 3, 2010 Vincci Kwong and Gary Browning Indiana University South Bend 13 th Annual LITA National Forum
  • Mobile Internet Usage
  • Mobile Data Applications Usage
  • Statistics for Library Website
  • First Version of Library Mobile Site
  • Mobile Library Site Homepage
    • Ask a Librarian
    • WorldCat
    • RefWorks
    • Hours
    • Contact
    • Address
    • IU Mobile
    • Schurz Library Homepage
  • IU Mobile Initiative https://m.iu.edu/miu-prd/about/index.shtml
  • Graphic Icon for Mobile
  • Schurz Library Mobile Interface http://m.library.iusb.edu
  • Statistics for Library Mobile Website
  • Mobile Friendly Authentication
    • Remote access to subscription databases is done through OCLC’s EZproxy Authentication and Access software.
    • EZproxy does not have built-in support for mobile devices.
  • 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(&quot;ezproxyticket.php&quot;); $ezproxy = new EZproxyTicket(&quot;http://ezproxy.yourlib.org:2048&quot;, &quot;shhhh&quot;, &quot;someuser&quot;);
    • ?>
    • <a href=&quot;<?php echo($ezproxy->url(&quot;http://www.somedb.com&quot;)) ?>&quot;>Some Database</a><br />
    • EZproxy user.txt
    • ::Ticket
    • TimeValid 90
    • MD5 shhhh
    • Expired; Deny expired.htm
    • /Ticket
  • 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
    • If mobile, set CASSVC 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(&quot;Location: https://cas.iu.edu/cas/login?cassvc=MOBIU&casurl=https://www.domain.edu/~site/cas/casauth.php&quot;);
    • }else{
    • header(&quot;Location: https://cas.iu.edu/cas/login?cassvc=IU&casurl=https://www.domain.edu/~site/cas/casauth.php&quot;);
    • }
    • ?>
  • 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 = &quot;&quot;;
    • }
  • Sample Code – casauth.php cont.
    • /*
    • * check CAS ticket authenticity and get the user's uid back
    • * the variable $contents will have the string
    • * &quot;ticket '<ticket value>' not recognized&quot; if a bad ticket
    • * has been provided.
    • */
    • $casXML = fopen(&quot;https://cas.iu.edu/cas/validate?cassvc=IU&casticket=$ticket&service=https://www.domain.edu/~site/cas/casauth.php&quot;,&quot;r&quot;);
    • $contents = fread($casXML, 1024);
    • fclose($casXML);
  • Sample Code – casauth.php cont.
    • list($yesno, $netid) = split(&quot; &quot;, $contents, 2);
    • $authok = trim($yesno);
    • $iuid = trim($netid);
    • if ($authok == &quot;no&quot;) {
    • header(&quot;Location: https://www.domain.edu/~site/cas/login.php&quot;);
    • }
    • else {
    • $_SESSION['auth'] = $iuid;
    • header(&quot;Location: https://www.domain.edu/~site/cas/success.php&quot;);
    • }
    • ?>
  • 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=&quot;xml&quot; xml=&quot;http://it.iusb.edu/demo2.php&quot; title=&quot;Subscription Databases&quot; />
    • </list-item>
    • </authenticated>
    • <not-authenticated>
    • <list-item>
    • <link type=&quot;xml&quot; xml=&quot;http://library.iusb.edu/miuxml/oopsSubscribed.xml&quot; title=&quot;Subscription Databases&quot; />
    • </list-item>
    • </not-authenticated>
  • Authenticated vs. Not-Authenticated
  • Sample restriction to South Bend
    • <list-item>
    • <authenticated>
    • <if permission=&quot;southbend&quot;>
    • <link type=&quot;external&quot; url=&quot;<?php echo($ezproxy->url(&quot;http://vnweb.hwwilsonweb.com/mobile/jumpstart.jhtml&quot;)) ?>&quot; title=&quot;HW Wilson&quot; />
    • </if>
    • </authenticated>
    • </list-item>
  • 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
  • How it works
    • Script run at login updates database
    • Script run at logout updates database
    • Standard html version available at www.iusb.edu/~labseats
  • 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 &quot;<seat lab=&quot;$region_building $region_location&quot; building=&quot;$region_display_name&quot; availability=&quot;$total_idle_computers/$total_online_computers&quot; campus=&quot;
    • SB&quot; /> ”; }
    • ?> </seats>
  • Texting Reference Service
  • Planning for Mobile Website
    • Needs assessments
    • Integrate with existing library services
    • Project planning
    • Build the site
    • Testing, marketing, launching
    • Keeping up
  • 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
  • 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
  • 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
  • Questions?
    • Feel free to contact us at
      • Vincci Kwong
        • Email: [email_address]
        • Phone: 574-520-4444
      • Gary Browning
        • Email: [email_address]
        • Phone: 574-520-5516