Download Unlocking Your ILS Data : Mobile access via

Document related concepts
no text concepts found
Transcript
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]