mobile patrons: better services on the go (for novice)

44
Mobile Patrons: Better Services on the Go Vincci Kwong and Gary Browning Indiana University South Bend 10 th Brick & Click Libraries November 5, 2010

Upload: vincci-kwong

Post on 16-May-2015

1.650 views

Category:

Technology


5 download

DESCRIPTION

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, offering of texting reference service and QR code.

TRANSCRIPT

Page 1: Mobile Patrons: Better Services on the Go (For Novice)

Mobile Patrons: Better Services on the Go

Vincci Kwong and Gary BrowningIndiana University South Bend

10th Brick & Click Libraries

November 5, 2010

Page 2: Mobile Patrons: Better Services on the Go (For Novice)

Mobile Internet Usage

Page 3: Mobile Patrons: Better Services on the Go (For Novice)

Mobile Data Applications Usage

Page 4: Mobile Patrons: Better Services on the Go (For Novice)

Statistics for Library Website

Page 5: Mobile Patrons: Better Services on the Go (For Novice)

Mobile Website or Mobile App?

• Target audience• User experience• Technical skills• Costs

Page 6: Mobile Patrons: Better Services on the Go (For Novice)

First Version of Library Mobile Site

Page 7: Mobile Patrons: Better Services on the Go (For Novice)

Popular Items on Mobile Website

• Library catalog• Floor map• Events• Hours• Social media info

Page 8: Mobile Patrons: Better Services on the Go (For Novice)

IU Mobile Initiative

https://m.iu.edu/miu-prd/about/index.shtml

Page 9: Mobile Patrons: Better Services on the Go (For Novice)

Graphic Icon for Mobile

Page 10: Mobile Patrons: Better Services on the Go (For Novice)

Schurz Library Mobile Interface

http://m.library.iusb.edu

Page 11: Mobile Patrons: Better Services on the Go (For Novice)

Statistics for Library Mobile Website

Page 12: Mobile Patrons: Better Services on the Go (For Novice)

Mobile Site Generator

• Hidden Peanuts• Molly• iPhone Application - DCPL

Page 13: Mobile Patrons: Better Services on the Go (For Novice)

Mobile Friendly Authentication

Internet

Built-in Authentication

Remote access to subscription databases is done through OCLC’s EZproxy Authentication and Access software.

Page 14: Mobile Patrons: Better Services on the Go (For Novice)

Mobile Friendly Authentication

Internet

Built-in Authentication

EZproxy does not have built-in support for mobile devices.

X

Page 15: Mobile Patrons: Better Services on the Go (For Novice)

How to make EZproxy Mobile Friendly

Incorporate a mobile device detection library?

http://detectmobilebrowsers.mobi/

Page 16: Mobile Patrons: Better Services on the Go (For Novice)

EZproxy Ticket Authenticationhttp://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

Page 17: Mobile Patrons: Better Services on the Go (For Novice)

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

Page 18: Mobile Patrons: Better Services on the Go (For Novice)

EZproxy Ticket Authentication

Internet

Valid ticket?

Generate Ticket

Web Server with PHP

Server with ezProxy

Page 19: Mobile Patrons: Better Services on the Go (For Novice)

External Authentication

Internet Valid ticket?

authenticated?

Generate ticket

authenticationvalidationservice

Server with ezProxyWeb Server with PHP

Page 20: Mobile Patrons: Better Services on the Go (For Novice)

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

Page 21: Mobile Patrons: Better Services on the Go (For Novice)

CAS vs IU CASStandard 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.

Page 22: Mobile Patrons: Better Services on the Go (For Novice)

Connecting Ezproxy with IU CAS

1. Detect mobile or desktop• http://detectmobilebrowsers.mobi/

2. Set CASSVC (service)• If detect mobile, set service to mobile

3. Check with CAS to see if already authenticated

4. If authenticated, display database; otherwise present a login screen

Page 23: Mobile Patrons: Better Services on the Go (For Novice)

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");

}

?>

Page 24: Mobile Patrons: Better Services on the Go (For Novice)

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 = "";

}

Page 25: Mobile Patrons: Better Services on the Go (For Novice)

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);

Page 26: Mobile Patrons: Better Services on the Go (For Novice)

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");

}

?>

Page 27: Mobile Patrons: Better Services on the Go (For Novice)

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

Page 28: Mobile Patrons: Better Services on the Go (For Novice)

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>

Page 29: Mobile Patrons: Better Services on the Go (For Novice)

Authenticated vs. Not-Authenticated

Page 30: Mobile Patrons: Better Services on the Go (For Novice)

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>

Page 31: Mobile Patrons: Better Services on the Go (For Novice)

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

Page 32: Mobile Patrons: Better Services on the Go (For Novice)

Computer Availability Mobile Webpage

http://m.iusb.edu

Page 33: Mobile Patrons: Better Services on the Go (For Novice)

System Requirements

Computer Availability

• Web Server such as Apache or IIS• PHP• Database such as MySQL• Ability to run login and logout scripts

Page 34: Mobile Patrons: Better Services on the Go (For Novice)

How It Works

Internet

Workstations

Web Server with PHP MySQL Server

Active Directory Server

www.iusb.edu/~labseats

Page 35: Mobile Patrons: Better Services on the Go (For Novice)

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>

Page 36: Mobile Patrons: Better Services on the Go (For Novice)

Mobile Output

Internet

Web Server with PHP MySQL Server

IU Mobile Server

Page 37: Mobile Patrons: Better Services on the Go (For Novice)

Texting Reference Service

Page 38: Mobile Patrons: Better Services on the Go (For Novice)

Planning for Mobile Website

1. Needs assessments

2. Integrate with existing library services

3. Project planning

4. Build the site

5. Testing, marketing, launching

6. Keeping up

Page 39: Mobile Patrons: Better Services on the Go (For Novice)

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

Page 40: Mobile Patrons: Better Services on the Go (For Novice)

QR Code

• Two-dimensional barcode readable by QR scanners, mobile phones with camera, and smartphones.

• Stores text, URL or other data.

Page 41: Mobile Patrons: Better Services on the Go (For Novice)

QR Code Generator

• Kaywa• ZXing Project• Mobile-Barcode• Bit.ly• goo.gl• …. and more!

Chrome extension

Page 42: Mobile Patrons: Better Services on the Go (For Novice)

QR Code Reader

• i-nigma• ScanLife• BeeTagg• Lynkee

http://www.mobile-barcodes.com/qr-code-software/

Page 43: Mobile Patrons: Better Services on the Go (For Novice)

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

Page 44: Mobile Patrons: Better Services on the Go (For Novice)

Questions?

Feel free to contact us at• Vincci Kwong

• Email: [email protected]• Phone: 574-520-4444

• Gary Browning• Email: [email protected]• Phone: 574-520-5516