gary perlman, perlman@oclc consulting research scientist oclc online computer library center

38
The FirstSearch User Interface Architecture Universal Access for Any User, in Many Languages, on Any Platform Gary Perlman, [email protected] Consulting Research Scientist OCLC Online Computer Library Center

Upload: tyra

Post on 20-Jan-2016

35 views

Category:

Documents


2 download

DESCRIPTION

The FirstSearch User Interface Architecture Universal Access for Any User, in Many Languages, on Any Platform. Gary Perlman, [email protected] Consulting Research Scientist OCLC Online Computer Library Center. Outline. What is OCLC and FirstSearch? Goals for New FirstSearch - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Gary Perlman,  perlman@oclc Consulting Research Scientist OCLC Online Computer Library Center

The FirstSearch User Interface ArchitectureUniversal Access for Any User,

in Many Languages, on Any Platform

Gary Perlman, [email protected]

Consulting Research Scientist

OCLC Online Computer Library Center

Page 2: Gary Perlman,  perlman@oclc Consulting Research Scientist OCLC Online Computer Library Center

Outline

What is OCLC and FirstSearch? Goals for New FirstSearch The User Interface Architecture How the Architecture Meets the Goals Summary and Conclusions

Page 3: Gary Perlman,  perlman@oclc Consulting Research Scientist OCLC Online Computer Library Center

What is OCLC and FirstSearch?

Non-profit member library association Furthering access to the world's information

and reducing information costs. 37,000 libraries, 74 countries/territories Shared cataloging 43M+ records, 779M+ holdings, 103M+ ILL

Uniform interface to 80+ Databases 100M+ records, 6K+ full text serials

TTY 1991, Web 1996, 16K+ libraries, ~10M searches/month

Page 4: Gary Perlman,  perlman@oclc Consulting Research Scientist OCLC Online Computer Library Center

FirstSearch: The Second SystemMany New Features Limit to library holdings Limit to available full text Cross-database searching Ranking and sorting Integrated thesaurus More wildcards Library customization

Page 5: Gary Perlman,  perlman@oclc Consulting Research Scientist OCLC Online Computer Library Center

Goal: Retire Related SystemsMany Legacy Requirements FirstSearch TTY: 24x80 telnet version EPIC: query language Electronic Collections Online: full text

journals FirstSearch Web (original)

Page 6: Gary Perlman,  perlman@oclc Consulting Research Scientist OCLC Online Computer Library Center

Goal: Avoid All Old ProblemsMany New Variables New functionality New application layer (SiteSearch),

concurrent development New programming language (Java) New version of UNIX New “high performance” file system New server hardware

Page 7: Gary Perlman,  perlman@oclc Consulting Research Scientist OCLC Online Computer Library Center

General RequirementsMany with One-Line of Detail Multi-platform Multilingual Levels of users Text-only version Universally accessible (ADA compliant) Help system

Page 8: Gary Perlman,  perlman@oclc Consulting Research Scientist OCLC Online Computer Library Center

General Requirements:Multi-Platform Browser: Netscape and Explorer Versions: 4.x (and then 3.x) JavaScript: available or not Screen size: large, medium, small Hardware: Windows, Macintosh Colors: down to 256

Page 9: Gary Perlman,  perlman@oclc Consulting Research Scientist OCLC Online Computer Library Center

General Requirements:Multilingual English (en) French (fr) Spanish (es)

Page 10: Gary Perlman,  perlman@oclc Consulting Research Scientist OCLC Online Computer Library Center

General Requirements:Levels of Users Home (welcome) Basic (most naïve users) Advanced (most experienced users) Expert (query language users)

Page 11: Gary Perlman,  perlman@oclc Consulting Research Scientist OCLC Online Computer Library Center

General Requirements:Text-Only / Accessible Version Replacement for FirstSearch TTY Possible ADA-compliant version No real experience in the area

Page 12: Gary Perlman,  perlman@oclc Consulting Research Scientist OCLC Online Computer Library Center

General Requirements:Better Group Coordination Development: functionality Database: loading data Marketing: requirements & terminology Documentation: help & translation Graphic design: icons, fonts, colors,

layout Usability: evaluation & re-design

Page 13: Gary Perlman,  perlman@oclc Consulting Research Scientist OCLC Online Computer Library Center

Goals for the UI Architecture

Adapt to inevitable requests for changes (due to new requirements, usability, performance, etc.)

Allow incremental development (due to so many unknowns)

Defer decisions & allow global changes

Page 14: Gary Perlman,  perlman@oclc Consulting Research Scientist OCLC Online Computer Library Center

Partitioning and Construction

Functional Partition (Pages): database selection, search, results

Platform-dependent Partition (Style): browser, version, options, hardware

Language-dependent Partition (Lang) Cross-products of pages and styles

and languages using Templates

Page 15: Gary Perlman,  perlman@oclc Consulting Research Scientist OCLC Online Computer Library Center

Functional Partition:The FSPage Object pagename: an internal identifier pagetitle: a title displayed to users pagelabel: a short phrase for links in menus tips: on-screen help tips status: on-screen status information controls: page-specific controls action: a form action

panel: a main form panel ...

Page 16: Gary Perlman,  perlman@oclc Consulting Research Scientist OCLC Online Computer Library Center
Page 17: Gary Perlman,  perlman@oclc Consulting Research Scientist OCLC Online Computer Library Center

FSPage for Expert Search[expert] pagename = expert pagetitle = &Lang.pagetitle.expert; pagelabel = &Lang.pagelabel.expert; tips = &Lang.tips.expert; status = &Lang.status.expert; controls = &Style.dbinfo.gadget; &Style.scanindex.gadget; &Style.thesaurus.gadget; &Style.news.gadget; action = QUERY:searchtype=expert term = termexpert index = indexexpert focus = termexpert panel = &Style.dialog.begin; &Pages.basic.submit; &Pages.expert.searchbox; &Pages.expert.index; &Pages.advanced.limits; &Pages.advanced.options; &Pages.basic.submit; &Style.dialog.end;

Page 18: Gary Perlman,  perlman@oclc Consulting Research Scientist OCLC Online Computer Library Center

FSPage for Expert Search:search box[expert]searchbox = &Style.dialog.rowbegin; &Style.font.labelbegin; <label for=termexpert> &Lang.label.find; </label> &Style.font.labelend; &Style.dialog.elementbegin; <textarea name=termexpert id=termexpert> &termexpert; </textarea> &Style.dialog.elementend; &Style.dialog.rowend;

Page 19: Gary Perlman,  perlman@oclc Consulting Research Scientist OCLC Online Computer Library Center

Expert Search (Lynx)

Current database: WorldCat

Type search terms and choose limits. Click on Search.

Use the reference information on the screen.

[Search]

dog_____________________________________

________________________________________

________________________________________

________________________________________

________________________________________

________________________________________

Indexed in: [Keyword (kw:)_________]

Limit to:

Year 1990-______

Document Type [Books________]

Language [English___________]

Library Code ___________

[_] Items in my library (OCL)

Rank by: [No ranking__________]

[Search]

[info] [index] [subjects] [news] [help]

Page 20: Gary Perlman,  perlman@oclc Consulting Research Scientist OCLC Online Computer Library Center

FSPage for Detailed Record [record]

pagename = record

pagetitle = &Lang.pagetitle.record;

pagelabel = &Lang.pagelabel.record;

tips = &Lang.tips.record;

status = &Lang.status.record;

controls =

&Style.thesaurus.gadget;

&Style.ill.gadget; &Style.holdings.gadget;

&Style.email.gadget; &Style.print.gadget;

action = FETCH:fetchtype=record

panel =

&Style.dialog.begin;

&Style.navigate.gadget;

&Style.record.gadget;

&Style.navigate.gadget;

&Style.dialog.end;

Page 21: Gary Perlman,  perlman@oclc Consulting Research Scientist OCLC Online Computer Library Center
Page 22: Gary Perlman,  perlman@oclc Consulting Research Scientist OCLC Online Computer Library Center

Style Abstraction/Presentation

extractformats/styles

styleentity

substitution

Platform-independentHTML file

Stylefile

Page 23: Gary Perlman,  perlman@oclc Consulting Research Scientist OCLC Online Computer Library Center

Platform-Dependent Partition:Replace Styles with Entities Mark up text with entities

(constants, variables, and methods)

&ErrorBegin;

Something bad happened

&ErrorEnd;

ErrorBegin = <font color=red size=4><b>

ErrorEnd = </b></font>

Page 24: Gary Perlman,  perlman@oclc Consulting Research Scientist OCLC Online Computer Library Center

Platform-Dependent Partition:Modify Entities with Entities&ErrorBegin;

Something bad happened

&ErrorEnd;

ErrorBegin = <font color=red size=&ErrorSize;><b>

ErrorEnd = </b></font>

[screensize=default]

ErrorSize = 4

[screensize=small]

ErrorSize = 3

[screensize=large]

ErrorSize = 5

Page 25: Gary Perlman,  perlman@oclc Consulting Research Scientist OCLC Online Computer Library Center

Internationalization/Localization

replacelanguagestrings

languageentity

substitution

Language-independentHTML file

Languagefile

Page 26: Gary Perlman,  perlman@oclc Consulting Research Scientist OCLC Online Computer Library Center

Language-Dependent Partition

Replace all language with entities&ErrorBegin;

&Lang.msg.bad;

&ErrorEnd;

[msg]

bad = Something bad happened

nohits = Your search <b>&query;</b> matched no records

nojs = your browser does not support JavaScript

Page 27: Gary Perlman,  perlman@oclc Consulting Research Scientist OCLC Online Computer Library Center

Multilingual Advanced Search

Page 28: Gary Perlman,  perlman@oclc Consulting Research Scientist OCLC Online Computer Library Center

Result of Partitioning

Pages.ini: functional decisions Style.ini: platform-dependent decisions Language files:

– en.ini (English)– es.ini (Spanish)– fr.ini (French)

Page 29: Gary Perlman,  perlman@oclc Consulting Research Scientist OCLC Online Computer Library Center

Template-Based Page Generation <html pagename="&pagename;"> <head> <title>&pagetitle;</title> </head> <body> &pagestatus; &pagestips; <form name="main" method="POST” action="&pageaction;"> &pagepanel; &pagecontrols; &Style.FSMenu.gadget; </form> </body> </html>

Page 30: Gary Perlman,  perlman@oclc Consulting Research Scientist OCLC Online Computer Library Center

Dynamic Page Generation

Style file

Languagefiles

Pages file

GUI template

Lynx template

Print template

Page 31: Gary Perlman,  perlman@oclc Consulting Research Scientist OCLC Online Computer Library Center

Adapting to Levels of Users

Page names: Basic, Advanced, Expert Search box: 1 small, 3 small, 1 large Indexes: 3, 10-15, 20-30 Limits: full-text/library, all, all Help: simple examples, complex

examples, reference material on screen

Page 32: Gary Perlman,  perlman@oclc Consulting Research Scientist OCLC Online Computer Library Center

Lynx Text-Only Version

Used same style file as graphical, but used vertical page template

Lynx knows that <tr> starts a new line, so tables could be left in HTML

Lynx-only format entities used to tune the display: space, bar, break, line, paragraph, comment

Page 33: Gary Perlman,  perlman@oclc Consulting Research Scientist OCLC Online Computer Library Center

Accessibility Issues: WAI Guide

title attribute: shows popup help on form elements and links

LABEL tag: associates prompts with form elements

accesskey attribute: associates Alt-x key with form element

table attributes: not yet supported

Page 34: Gary Perlman,  perlman@oclc Consulting Research Scientist OCLC Online Computer Library Center

Coordination Issues

INI files were easy to edit by non-programmers, but validation scripts were run for all

Partitioning style and language centralized decisions, providing control to the right authority

Large- and small-scale changes were made independently

Page 35: Gary Perlman,  perlman@oclc Consulting Research Scientist OCLC Online Computer Library Center

Summary of Architecture

Style, Language, and Functional partitions stored in INI files - required the user interface police, armed with validation scripts

Heavy dependence on dynamic entity substitution, including page templates

Both required a change of development paradigm - more rigorous control

Page 36: Gary Perlman,  perlman@oclc Consulting Research Scientist OCLC Online Computer Library Center

Cost-Benefit Analysis:Cross-Product of Partitions Pages

– add/change screens independently Styles

– add/change templates– add/change (conditional) attributes

Languages– change terminology in one place– add a new language

Page 37: Gary Perlman,  perlman@oclc Consulting Research Scientist OCLC Online Computer Library Center

Conclusions

Addressing many access issues helped with individual (unexpected) issues

Not critical to get design right; need to be able to change what is wrong

Expect the unexpected– new/changed requirements– “opportunities” from usability testing

Page 38: Gary Perlman,  perlman@oclc Consulting Research Scientist OCLC Online Computer Library Center

Thank You!

Gary Perlman [email protected] http://www.acm.org/~perlman/