Unlocking Your ILS Data : Mobile access via

advertisement

Unlocking Your ILS Data

Mobile access via handheld devices

Michael Doran, Systems Librarian doran@uta.edu

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...

Woo-hoo!

Got SQL*Plus!

• Acquisitions

• Cataloging

• Circulation

• OPAC

• Reports

• etc.

This will fix things!

SQL> DROP DATABASE xxxdb; doran@uta.edu

Michael Doran, Systems Librarian

ILS data – the gate keepers cataloging client circulation client

“data” acquisitions client mobile client

OPAC

Michael Doran, Systems Librarian

1 doran@uta.edu

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.

doran@uta.edu

Michael Doran, Systems Librarian

Working in the trenches stacks

Michael Doran, Systems Librarian doran@uta.edu

You could carry your PC with you

Michael Doran, Systems Librarian doran@uta.edu

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

WiFi or cellular data networks

Michael Doran, Systems Librarian any smart phone doran@uta.edu

1

…not only for OPAC access…

Innovative Interface’s “AirPAC” catalog doran@uta.edu

Michael Doran, Systems Librarian

…but also for staff

Stacks maintenance would be so much easier if I could look up stuff on a handset.

Michael Doran, Systems Librarian doran@uta.edu

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 doran@uta.edu

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 doran@uta.edu

Michael Doran, Systems Librarian

1

Back to the future…

2003

2004

2005

2006

2007

2008

2009

AirPAC

Circa &

PocketCirc

Where’s my @#$% handheld app!

Michael Doran, Systems Librarian

7 doran@uta.edu

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 doran@uta.edu

Waiting for Godot the vendor

Vendors are smart and competent

Aware of the growing demand for mobile data access

Have an intimate knowledge of the ILS systems

Have crackerjack programmers

So what’s the hold up?

 ILS product life cycle

– saturation stage

No good pricing model for mobile clients

Vendor/ILS programming paradigm:

One client/app that does everything

Mobile device programming paradigm:

Many clients/apps that do one thing well doran@uta.edu

Michael Doran, Systems Librarian

Back to the future…

Inventory, SQL, Perl, wireless network,

PDA, …bingo!

2009

2005

2006

2007

2008

2003

2004

“…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 doran@uta.edu

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

Oooohh

Additionally, includes any or all of...

 Item status

 Historical charges

 Historical browses

 Enhanced call number information

And allows user to save item information for batch updating ILS

1 doran@uta.edu

Michael Doran, Systems Librarian

Michael Doran, Systems Librarian

2 doran@uta.edu

ShelfLister 1.0

Start barcode

End barcode

Minimize data entry

Michael Doran, Systems Librarian

4 doran@uta.edu

Michael Doran, Systems Librarian

3 doran@uta.edu

Michael Doran, Systems Librarian

2 doran@uta.edu

Use as input file for bulk updating ILS

Michael Doran, Systems Librarian

2 doran@uta.edu

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 doran@uta.edu

Rocket scientists

This is not the

Library Systems staff at the

University of Texas at Arlington.

Michael Doran, Systems Librarian doran@uta.edu

UT Arlington Library Systems staff

…before our first cup of coffee in the morning

Michael Doran, Systems Librarian doran@uta.edu

So, if we can do it, you can do it

If I just knew what button to push!

Michael Doran, Systems Librarian doran@uta.edu

All it requires is an “open” ILS system

They told me I didn’t need to know what was inside.

Michael Doran, Systems Librarian doran@uta.edu

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 doran@uta.edu

…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 doran@uta.edu

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 doran@uta.edu

Michael Doran, Systems Librarian

ShelfLister – 1 st knowing

“Know your ILS data”

Voyager ILS

It’s all up here, baby!

Oracle Database data

Michael Doran, Systems Librarian

2 doran@uta.edu

2) Know the available APIs

Application Programming Interface

Web services (XML, SOAP, RESTful, y.y.)

Aleph : “X-Services”

Voyager : Web Services

Your ILS : ???

Protocols… boor-ing!

Library protocols

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 doran@uta.edu

Michael Doran, Systems Librarian

1

APIs – getting around the gate keepers cataloging client circulation client

“data” acquisitions client

OPAC

Michael Doran, Systems Librarian

4 doran@uta.edu

Which API should you use?

All I see are zeros and ones!

What data can it read

 database connection – everything!

web services, library protocols – eh, not so much

What data can it write

 database connection – (effectively) nothing web services, library protocols – it depends

Mix and match

Response times/latency doran@uta.edu

Michael Doran, Systems Librarian

ShelfLister – 2 nd knowing

“Know the available APIs”

Voyager ILS

2003

2006

2007

2005

2004

Oracle listener

2008 listener

2009

Voyager ILS

Web services

Oracle Database data

3 doran@uta.edu

Michael Doran, Systems Librarian

3) Know what you want to do

Public access

Mobile OPAC?

????????

Staff access

Inventory tool?

???????

Be ambitious

But not too ambitious (at least the first time) doran@uta.edu

Michael Doran, Systems Librarian

ShelfLister – 3 rd knowing

“Know what you want to do”

Free the data!

Michael Doran, Systems Librarian

2 doran@uta.edu

4) Know how to (web) program

I.e. server-side, not client-side

Java

C/C++

Ruby

PHP

Perl

You must code in Perl.

It’s the Law.

Just kidding!

Use whatever you want!

Lisp

 bourne shell whatever…

Michael Doran, Systems Librarian

1 doran@uta.edu

ShelfLister – 4 th knowing

“Know how to (web) program” shelflister.cgi

Perl DBI/DBD::Oracle

SQL queries form generation, data munging, and formatting output

Voyager ILS listener

Oracle Database data

Michael Doran, Systems Librarian

3 doran@uta.edu

ShelfLister – 4 th 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 doran@uta.edu

Michael Doran, Systems Librarian

1

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 doran@uta.edu

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 doran@uta.edu

Michael Doran, Systems Librarian

Mobile design browser compatibility

Chrome

Internet Explorer

Firefox

Michael Doran, Systems Librarian

2 doran@uta.edu

XHTML/HTML/CSS validation

XHTML/HTML

CSS

Accessibility

Get right with these before you get to the platform compatibility.

Michael Doran, Systems Librarian

3 doran@uta.edu

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 doran@uta.edu

Michael Doran, Systems Librarian

2

Mobile design – platform compatibility viewport

Michael Doran, Systems Librarian

4 doran@uta.edu

Mobile design – platform compatibility

Michael Doran, Systems Librarian

3 doran@uta.edu

Mobile design – platform compatibility

Larger buttons for finger tapping

Michael Doran, Systems Librarian

1 doran@uta.edu

Handheld emulators/simulators

Operating System

Generally come with handheld OS SDKs

 webOS (Palm)

 http://developer.palm.com/ iPhone (Apple)

 http://developer.apple.com/iphone/

Software Development Kit

Android (Google & Open Handset Alliance)

 http://developer.android.com/

Web-based simulators (be leery)

Opera Mini Simulator – good

 http://www.opera.com/mini/demo/

TestiPhone.com – absolutely worthless doran@uta.edu

Michael Doran, Systems Librarian

Handheld emulators/simulators

Palm iPhone Android

Michael Doran, Systems Librarian

3

Opera Mini doran@uta.edu

Mobile design – platform compatibility

Michael Doran, Systems Librarian

2 doran@uta.edu

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 doran@uta.edu

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 doran@uta.edu

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… doran@uta.edu

Michael Doran, Systems Librarian

ShelfLister version 2.0 (for handhelds)

Start barcode

End barcode

Michael Doran, Systems Librarian

3 doran@uta.edu

ShelfLister version 2.0 (for handhelds)

Michael Doran, Systems Librarian

2 doran@uta.edu

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 doran@uta.edu

Source code http://rocky.uta.edu/doran/

Michael Doran, Systems Librarian

2 doran@uta.edu

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 doran@uta.edu

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 doran@uta.edu

Asking permission http://rocky.uta.edu/doran/ip/

Michael Doran, Systems Librarian

1 doran@uta.edu

Questions?

Doran

His lips are moving… but I can’t hear a thing he’s saying

.

Michael Doran, Systems Librarian doran@uta.edu

Download