Presentation is loading. Please wait.

Presentation is loading. Please wait.

The FirstSearch User Interface Architecture Universal Access for Any User, in Many Languages, on Any Platform Gary Perlman, Consulting.

Similar presentations

Presentation on theme: "The FirstSearch User Interface Architecture Universal Access for Any User, in Many Languages, on Any Platform Gary Perlman, Consulting."— Presentation transcript:

1 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

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

3 What is OCLC and FirstSearch? n Non-profit member library association n Furthering access to the world's information and reducing information costs. n 37,000 libraries, 74 countries/territories n Shared cataloging 43M+ records, 779M+ holdings, 103M+ ILL n Uniform interface to 80+ Databases n 100M+ records, 6K+ full text serials n TTY 1991, Web 1996, 16K+ libraries, ~10M searches/month

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

5 Goal: Retire Related Systems Many Legacy Requirements n FirstSearch TTY: 24x80 telnet version n EPIC: query language n Electronic Collections Online: full text journals n FirstSearch Web (original)

6 Goal: Avoid All Old Problems Many New Variables n New functionality n New application layer (SiteSearch), concurrent developmentSiteSearch n New programming language (Java) n New version of UNIX n New high performance file system n New server hardware

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

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

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

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

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

12 General Requirements: Better Group Coordination n Development: functionality n Database: loading data n Marketing: requirements & terminology n Documentation: help & translation n Graphic design: icons, fonts, colors, layout n Usability: evaluation & re-design

13 Goals for the UI Architecture n Adapt to inevitable requests for changes (due to new requirements, usability, performance, etc.) n Allow incremental development (due to so many unknowns) n Defer decisions & allow global changes

14 Partitioning and Construction n Functional Partition (Pages): database selection, search, results n Platform-dependent Partition (Style): browser, version, options, hardware n Language-dependent Partition (Lang) n Cross-products of pages and styles and languages using Templates

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


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

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

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

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


22 Style Abstraction/Presentation extract formats/styles style entity substitution Platform- independent HTML file Style file

23 Platform-Dependent Partition: Replace Styles with Entities n Mark up text with entities (constants, variables, and methods) &ErrorBegin; Something bad happened &ErrorEnd; ErrorBegin = ErrorEnd =

24 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

25 Internationalization/Localization replace language strings language entity substitution Language- independent HTML file Language file

26 Language-Dependent Partition n Replace all language with entities &ErrorBegin; &Lang.msg.bad; &ErrorEnd; [msg] bad = Something bad happened nohits = Your search &query; matched no records nojs = your browser does not support JavaScript

27 Multilingual Advanced Search

28 Result of Partitioning n Pages.ini: functional decisions n Style.ini: platform-dependent decisions n Language files: –en.ini (English) –es.ini (Spanish) –fr.ini (French)

29 Template-Based Page Generation &pagetitle; &pagestatus; &pagestips; <form name="main" method="POST action="&pageaction;"> &pagepanel; &pagecontrols; &Style.FSMenu.gadget;

30 Dynamic Page Generation Style file Language files Pages file GUI template Lynx template Print template

31 Adapting to Levels of Users n Page names: Basic, Advanced, Expert n Search box: 1 small, 3 small, 1 large n Indexes: 3, 10-15, 20-30 n Limits: full-text/library, all, all n Help: simple examples, complex examples, reference material on screen

32 Lynx Text-Only Version n Used same style file as graphical, but used vertical page template n Lynx knows that starts a new line, so tables could be left in HTML n Lynx-only format entities used to tune the display: space, bar, break, line, paragraph, comment

33 Accessibility Issues: WAI GuideWAI Guide n title attribute: shows popup help on form elements and links n LABEL tag: associates prompts with form elements n accesskey attribute: associates Alt-x key with form element n table attributes: not yet supported

34 Coordination Issues n INI files were easy to edit by non- programmers, but validation scripts were run for all n Partitioning style and language centralized decisions, providing control to the right authority n Large- and small-scale changes were made independently

35 Summary of Architecture n Style, Language, and Functional partitions stored in INI files - required the user interface police, armed with validation scripts n Heavy dependence on dynamic entity substitution, including page templates n Both required a change of development paradigm - more rigorous control

36 Cost-Benefit Analysis: Cross-Product of Partitions n Pages –add/change screens independently n Styles –add/change templates –add/change (conditional) attributes n Languages –change terminology in one place –add a new language

37 Conclusions n Addressing many access issues helped with individual (unexpected) issues n Not critical to get design right; need to be able to change what is wrong n Expect the unexpected –new/changed requirements –opportunities from usability testing

38 Thank You! n Gary Perlman n n

Download ppt "The FirstSearch User Interface Architecture Universal Access for Any User, in Many Languages, on Any Platform Gary Perlman, Consulting."

Similar presentations

Ads by Google