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

Download Gary Perlman,  perlman@oclc Consulting Research Scientist OCLC Online Computer Library Center

If you can't read please download the document

Post on 12-Jan-2016




4 download

Embed Size (px)


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


  • The FirstSearch User Interface ArchitectureUniversal Access for Any User, in Many Languages, on Any Platform

    Gary Perlman, perlman@oclc.orgConsulting Research ScientistOCLC Online Computer Library Center

  • OutlineWhat is OCLC and FirstSearch?Goals for New FirstSearchThe User Interface ArchitectureHow the Architecture Meets the GoalsSummary and Conclusions

  • 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/territoriesShared cataloging 43M+ records, 779M+ holdings, 103M+ ILLUniform interface to 80+ Databases100M+ records, 6K+ full text serialsTTY 1991, Web 1996, 16K+ libraries, ~10M searches/month

  • FirstSearch: The Second SystemMany New FeaturesLimit to library holdingsLimit to available full textCross-database searchingRanking and sortingIntegrated thesaurusMore wildcardsLibrary customization

  • Goal: Retire Related SystemsMany Legacy RequirementsFirstSearch TTY: 24x80 telnet versionEPIC: query languageElectronic Collections Online: full text journalsFirstSearch Web (original)

  • Goal: Avoid All Old ProblemsMany New VariablesNew functionalityNew application layer (SiteSearch), concurrent developmentNew programming language (Java)New version of UNIXNew high performance file systemNew server hardware

  • General RequirementsMany with One-Line of DetailMulti-platformMultilingualLevels of usersText-only versionUniversally accessible (ADA compliant)Help system

  • General Requirements:Multi-PlatformBrowser: Netscape and ExplorerVersions: 4.x (and then 3.x)JavaScript: available or notScreen size: large, medium, smallHardware: Windows, MacintoshColors: down to 256

  • General Requirements:MultilingualEnglish (en)French (fr)Spanish (es)

  • General Requirements:Levels of UsersHome (welcome)Basic (most nave users)Advanced (most experienced users)Expert (query language users)

  • General Requirements:Text-Only / Accessible VersionReplacement for FirstSearch TTYPossible ADA-compliant versionNo real experience in the area

  • General Requirements:Better Group CoordinationDevelopment: functionalityDatabase: loading dataMarketing: requirements & terminologyDocumentation: help & translationGraphic design: icons, fonts, colors, layoutUsability: evaluation & re-design

  • Goals for the UI ArchitectureAdapt 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

  • Partitioning and ConstructionFunctional Partition (Pages): database selection, search, resultsPlatform-dependent Partition (Style): browser, version, options, hardwareLanguage-dependent Partition (Lang)Cross-products of pages and styles and languages using Templates

  • Functional Partition:The FSPage Objectpagename: 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 ...

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

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

  • 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]

  • FSPage for Detailed Record [record] pagename = record pagetitle = &Lang.pagetitle.record; pagelabel = &Lang.pagelabel.record; tips = &; status = &Lang.status.record; controls = &Style.thesaurus.gadget; &Style.ill.gadget; &; &; &Style.print.gadget; action = FETCH:fetchtype=record panel = &Style.dialog.begin; &Style.navigate.gadget; &Style.record.gadget; &Style.navigate.gadget; &Style.dialog.end;

  • Style Abstraction/Presentationextractformats/stylesstyleentitysubstitutionPlatform-independentHTML fileStylefile

  • Platform-Dependent Partition:Replace Styles with EntitiesMark up text with entities (constants, variables, and methods)

    &ErrorBegin; Something bad happened&ErrorEnd;ErrorBegin = ErrorEnd =

  • Platform-Dependent Partition:Modify Entities with Entities&ErrorBegin; Something bad happened&ErrorEnd;ErrorBegin = ErrorEnd =

    [screensize=default]ErrorSize = 4[screensize=small]ErrorSize = 3[screensize=large]ErrorSize = 5

  • Internationalization/LocalizationreplacelanguagestringslanguageentitysubstitutionLanguage-independentHTML fileLanguagefile

  • Language-Dependent PartitionReplace all language with entities&ErrorBegin; &Lang.msg.bad;&ErrorEnd;

    [msg]bad = Something bad happenednohits = Your search &query; matched no recordsnojs = your browser does not support JavaScript

  • Multilingual Advanced Search

  • Result of PartitioningPages.ini: functional decisionsStyle.ini: platform-dependent decisionsLanguage files:en.ini (English)es.ini (Spanish)fr.ini (French)

  • Template-Based Page Generation &pagetitle; &pagestatus; &pagestips;
  • Dynamic Page GenerationStyle fileLanguagefilesPages fileGUI templateLynx templatePrint template

  • Adapting to Levels of UsersPage names: Basic, Advanced, ExpertSearch box: 1 small, 3 small, 1 largeIndexes: 3, 10-15, 20-30Limits: full-text/library, all, allHelp: simple examples, complex examples, reference material on screen

  • Lynx Text-Only VersionUsed same style file as graphical, but used vertical page templateLynx knows that starts a new line, so tables could be left in HTMLLynx-only format entities used to tune the display: space, bar, break, line, paragraph, comment

  • Accessibility Issues: WAI Guidetitle attribute: shows popup help on form elements and linksLABEL tag: associates prompts with form elementsaccesskey attribute: associates Alt-x key with form elementtable attributes: not yet supported

  • Coordination IssuesINI files were easy to edit by non-programmers, but validation scripts were run for allPartitioning style and language centralized decisions, providing control to the right authorityLarge- and small-scale changes were made independently

  • Summary of ArchitectureStyle, Language, and Functional partitions stored in INI files - required the user interface police, armed with validation scriptsHeavy dependence on dynamic entity substitution, including page templatesBoth required a change of development paradigm - more rigorous control

  • Cost-Benefit Analysis:Cross-Product of PartitionsPagesadd/change screens independentlyStylesadd/change templatesadd/change (conditional) attributesLanguageschange terminology in one placeadd a new language

  • ConclusionsAddressing many access issues helped with individual (unexpected) issuesNot critical to get design right; need to be able to change what is wrongExpect the unexpectednew/changed requirementsopportunities from usability testing

  • Thank You!Gary Perlmanperlman@oclc.org

    Not going to focus on FirstSearch, but on UU goals and methodsAs a multinational member library organization, OCLC has a special commitment to universal accessIN SHORT: many requirements in unfamiliar areas

    A lot of backed-up demand because of old system inflexibility.

    Brooks Mythical Man-Month - Second System EffectMaintenance costs for redundant systemsSiteSearch is Z39.50 IR server

    Major changes to SiteSearch during our development(We did a lot of testing and performance evaluation)

    Discarded high performance file system

    only Unicode note attempted (old dbs were EBCDIC, new are ASCII)Each was one line in the detailed req


View more >