Welcome to the second issue of the Talis Library Platform News. Through this monthly newsletter we hope to encourage you to join us in building a community that will be a touch point for innovation, provoking discussion in the world of libraries and the technology we use.

Our first issue provoked quite a lot of debate around some of the language used, with particular attention given to a paragraph in Ian Davis' description of The Talis Platform. This month's newsletter includes an article that explores and explains the 'jargon' used.

We also have interesting articles from Bernd T Wunsch from the Nordic Institute of Asian Studies who relates his experiences using the Platform to build a Facebook App, Paul Miller looks at the implications of a Platform model on Union Catalogues and regular features such as 'worth watching' and 'meet the team'.

If you are new to the newsletter sign up, pass it on and tell your colleagues about it and join us in creating a community that shares, innovates and learns from each other. If you would like to contribute an article or offer comments please email richard.wallis@talis.com.

Richard Wallis, Editor

So What Does This Mean for Union Catalogues?

Paul Miller, Technology Evangelist, Talis

paul_miller.jpg

Fundamentally, the Talis Platform means that we no longer need to think of a single union catalogue, nor of the expensive and time-consuming construction of yet another destination web site that compromises in order to meet a range of quite different needs. Instead, we can enrich numerous existing applications with calls to the Platform, and we can cheaply and effectively build a range of new applications that meet particular needs. Project Cenote, for example, was assembled on top of the Platform in only a matter of days.

Any library can register itself in the Directory without charge, making it visible to the outside world in a growing number of ways.

Any library can, without charge, join the 400 UK libraries that already share information about their 55 million bibliographic holdings with the Platform. Any library can reduce the number of places to which it repetitively needs to send data by sharing data via the Platform instead and asking those to whom they traditionally sent it to explore working with the Platform instead.

Any library, agency, vendor, or interested third party can join the Developer Network without charge, and experiment with enhancing their new applications or building whole new ones, drawing upon the data shared there, the data manipulation capabilities provided there, and the assembled expertise of their peers.

Any group wishing to offer a regional, subject, or other view onto the whole can deploy the same grouping mechanisms used to offer end users their personal set of libraries, and place a user interface in front of something that appears to all intents and purposes to be their own union catalogue. To pick just one as an example, COPAC could easily build on top of a ‘group’ within the Platform that only included those libraries contributing to the current COPAC database. Why should the libraries contribute twice, and why should the COPAC staff spend time collecting basic data instead of devoting that time to further enhancing COPAC’s unique and differentiating value on top of data shared with the Platform?

Anyone can talk to us about operationalising their experiments, and about the licence costs associated with production use of Platform web services in their own commercial applications. We would not anticipate charging non-commercial developments for access to basic Platform services.


This article is an extract from Paul's submission to a conference organized by the Research Information Network, in London earlier this year. The full paper he submitted is available for download [pdf].

joan_lippincott.jpg

Podcasts of the Month

There are two podcasts in the Talking with Talis series we would like draw your attention to this month.

pb-asilomar.jpg

The first is with Joan Lippincott, Associate Executive Director - Coalition for Networked Information. Joan talks through how the Net Generation of students now using our universities are creating challenges for libraries and librarians. The trick is to understand and satisfy the needs of these users whilst continuing to deliver the traditional value to the whole institution.

The second conversation is with Peter Brantley Executive Director of the Digital Library Federation (DLF) who talks about his background and the activities and role of the Federation before moving to the challenges of libraries in the digital world. It is clear that libraries are definitely a global business.

Featured Developer

Bernd Wunsch, Library Assistant / Software Developer at Nordic Institute of Asian Studies

bernd_wunsch.jpg

My first introduction to Talis was less than half a year ago, at a conference in Aarhus Denmark. In his presentation, Richard Wallis showed off their new "Talis Platform". Along with Project Cenote and Whisper, he also showed how things worked beneath the hood, and spoke about how the Talis Platform delivered everything using standard XML. All in all a quite impressive presentation of what seemed to be some good, solid technology. After having raised my interest I of course visited the Talis Website and found their "20 minute Union OPAC" video. This really had me convinced that the Talis Platform indeed was very powerful, and that we should look into using it for our own upcoming Nordic Asian Studies Union Catalog Project.

We're still in the phase of gathering the bibliographic data, and figuring out how exactly to go about converting it (we're dealing with both danMarc, finMarc, sweMarc, norMac and a few other fun kinds of data).

In the meantime I thought I would get myself acquainted with the Talis Platform. For me the best way to learn new software, is to make use of it. So I set myself the challenge of creating a simple but functional OPAC, with as little serverside code as possible. To my amazement, I actually ended up with no serverside code at all! Using the Bigfoot Storage, and the Talis Transformation Service, the only thing I needed to have on my own server was filestorage for an XSLT stylesheet.

AJAX seems to be all the rage these days, and with the previous challenges being way too easy, I figured I should try and AJAXify my OPAC. Since the Talis Platform is already a native speaker of XML, all I had to add to the equation was the JavaScript. Using jQuery - my newly discovered favourite JavaScript toolkit of choice - I had this working in no time. I have to admit that I'm one of those people who used to hate JavaScript, but jQuery removes all the browser incompatibilities and brings back the fun into JavaScripting. I can only recommend using it.

Usually when I work, I create all the backbone code, and create a few sample files that show of how the code is used and integrated. But with these pet-projects I went all the way and did the front end as well (which explains the spartan looks). Had it not been for my pathetic attempts at trying to style my creations, then I wouldn't have used half the time I actually did.

Eventually the Facebook craze hit Denmark as well, and just like Second Life before it, I of course had to join and see what all the fuss was about. I joined right around the time when Facebook launched its "Facebook App" program that allowed third parties to create Facebook plugins. Being a developer at heart, I figured why not see if I could apply my previous gained knowledge and create an OPAC Facebook App using the Talis Platform. The result is called Book Share (http://apps.facebook.com/booksharer/), and is a simple app that allows you to find and share books using the built in share mechanism of Facebook.

My overall experience with the Talis Platform has been that it's really easy to work with. The Platform provides just the right kind of LEGO blocks for a developer like myself, to play around with. It's been fun building new things with the Talis Platform, and I've got a few new ideas in my head already, just waiting to be put to life.

Links:

Cutting Through the Jargon

Richard Wallis, Technology Evangelist, Talis

After publishing last month's issue we were contacted by a few readers with criticism that some of the language used had a little too much jargon involved. One paragraph that attracted particular attention was this one from Ian Davis' description of The Talis Platform:

The Talis Platform is a new technology environment for building human-centric, information-rich applications. It is provided as Software as a Service (SaaS) and is designed to hide the complexity of storing, analysing and managing large amounts of semi-structured data. Applications can use the Platform API, a series of RESTful web services, to create, update and search all kinds of data managed by the Platform.

Let's explore the terms I have highlighted in the paragraph and cut through the Jargon

The Talis Platform - technology we have been developing to provide solutions to library applications across the web.

Human-centric applications - applications that deliver value to, and draw data from interactions with, people. Users of these applications should benefit from systems designed to fit in with what they want to do better, as against traditional applications which force the user to learn and understand how to use the application. Also by using input from users, such as reviews, tagging, creating lists, loaning patterns, etc. the application can evolve to provide even better results over time. The benefit of this practical application of the Network Effect is that the effectiveness of applications built on the Platform will increase as the use and number of those applications grow.

Information-rich applications - applications that can draw upon and relate together rich data, catalogue records, data from specialised databases, images, reviews, publisher information, web resources such as Amazon & Wikipedia, etc., etc, to build an aggregate to provide the user rich results. Information rich results add value to the users of applications and open up many options for those that build those applications.

Software as a Service (SaaS) - applications and functionality delivered across the Web by hosted systems, examples of this being Salesforce.com and the new Talis Engage product. The major benefit of SaaS is that the service consumer - the library - is able to use these powerful services without having to purchase, install, manage, or maintain computer hardware.

Designed to hide the complexity of storing, analysing and managing - by building applications on the Platform you do not need to understand the complexities of taking structured data, such as MARC records, and producing a system to efficiently index, store, search, secure and manage them. Because the Platform takes care of this the application builder is then free to concentrate on where they can create the most value, such as the user interface.

Large amounts of data - The Platform has been designed to scale to levels where it can handle global sized data sets with thousands of users accessing them. From experimenting with a free data store, to establishing a National Catalogue, you can be confident that the Talis Platform will scale to cope with your requirements.

Semi-structured data - The Platform is capable of storing data in many formats, some highly structured like MARC, others less so such as Dublin Core, and non-standard formats for reviews, tags, extracts from Wikipedia, Amazon, etc. Unlike databases where you have to design in the data format from the start, or network storage systems where no record structure is recognised, the Talis Platform can be configured to draw the value out of almost any data structure.

Platform API - Application Programmer Interface - the set of simple calls an application builder will use to access the Platform functionality. Often the design of functionality is limited by prior assumptions about user interface design. Because the Platform is designed to be directly accessible from most programming language environments those restrictions are avoided.

RESTful web services - the type of calls an application builder will use. Because these calls are exactly the same that a web browser uses when it calls a web server, it means that no specialist knowledge is required to access the Platform Web Services. They can even be accessed directly with a web browser.

If having read all that you would like an even simpler description of what The Talis Platform means to us all, I can do little better than quote Justin Leavesley, Chief Strategy Officer, Talis:

"Talis and others can now build new library applications faster and ensure that they integrate better with each other. Even better, the library does not need to install or maintain any hardware at all to use these applications."

Hopefully this helps!

IanDavis.jpg

Worth Watching - Ian Davis on the Platform

In this videocast Richard Wallis interviews Ian Davis, Talis CTO who is responsible for the design, development and delivery of the Talis Platform. Ian gives an overview of what the Platform is, who can use it, and how to get involved.

Meet the API

In this month's Meet the API we take a look at The Talis Platform Store and its Item Query API. Although all Platform Stores are agnostic about the data they hold, they nevertheless all share a basic set of APIs. As with most things, the best way to understand something is to use it.

The Platform APIs are no different. For this article I shall use the Platform Store containing bibliographic records from UK libraries ukbib. You will find its item query API here: http://api.talis.com/stores/ukbib/items (you may want to open this link in a separate window so that you can still follow this article and use the API at the same time).

ukBibliographic-Store.jpg

Those of you expecting technical gobbledygook at this point, may be wondering why you are looking at a simple html web page. This is a standard feature of all Platform APIs - if you call the API without parameters it provides you with a web form to fill them in with. This means that you can explore the functionality provided by the API without having to write a single line of code.

So off you go, enter a query such as Harry Potter and click the Search button. You should now be looking at ten results for your Harry Potter query nicely formatted down the page - exactly how nicely they are formatted will depend on the browser you are using. If you use the view source option in your browser, you will see that it is XML. For those that know about XML you will spot that it is actually XML in RSS 1.0 format, and that is why your browser has formatted it nicely - it recognizes it as an RSS feed, formats it as a set of items, and offers you the option to subscribe to the feed as you would any other RSS feed.

You can subscribe to the feed, using your favourite RSS reader if you want, and you will then be alerted whenever a new item appears in the results. Not much use in the ukbib store at the moment, but it is easy to see the benefit of outputting results from a store the contents of which are changing over time.

Back to the query form and the query syntax it supports. There is a powerful query syntax supported. For a detailed understanding of this syntax, consult the Search Query Syntax Reference document. Some of the basic concepts of the syntax are as follows:

Terms:

  • A query is broken up into terms and operators. There are two types of terms: Single Terms and Phrases.
  • A Single Term is a single word such as test or hello.
  • A Phrase is a group of words surrounded by double quotes such as "hello dolly".
  • Multiple terms can be combined together with Boolean operators to form a more complex query (see below).

Fields:

  • Fielded data is supported. When performing a search you can either specify a field, or use the default field. The field names and default field is specific to individual Bigfoot Stores.
  • You can search any field by typing the field name followed by a colon : and then the term you are looking for. title:potter
  • As an example, let's assume the index contains three fields, title, author and all which is the default field. If you want to find the records entitled "Harry Potter" which contains the text "Rowling" in any indexed field, you can enter: title:"Harry Potter" AND Rowling

Boolean Operators:

  • Boolean operators allow terms to be combined through logic operators. AND, OR, and NOT as Boolean operators (Note: Boolean operators must be ALL CAPS), are supported. Individual terms are by default AND'd together if no operator is supplied. ie. Harry Potter is equivalent to Harry AND Potter.

Let's take a look at some of the other parameters presented on the query form:

  • Sort criteria - This allows you to specify a comma separated list of fields to sort by e.g. title,author. The store used in these examples has its configuration set for sorting generic data, a simple string sort, giving an ordering of results not 'tuned' for bibliographic data. Later stores will be available tuned for bibliographic sorting, taking account of leading articles and non-alphanumeric characters.
  • Maximum results to return - fairly self explanatory, this controls the number of results returned by a query.
  • Offset - this tells the API where in the total set of results to start. This used in conjunction with Maximum results enables you to page through a set of results. If your Max is set to 10, offset set to 0 returns the first page, set to 10 the second page, etc.
  • Output Transformation - with use of the 'xsl' and 'content-type' parameters it is possible to transform the, default RSS 1.0 based, XML results output in to a form suitable for display or import in an application of your choice. XSLT transformation is a bit complex for this first article, we shall cover it in a later issue.

As you can see it is easy to explore the functionality of the API. Whilst you are doing so, the address bar of your browser shows you the syntax of the API calls you need to make from any application you build. Try it, play with it, let us know what you think of it, join the discussion on the Platform Forum in the Talis Developer Network. If you want to dig deeper check out the User Guide and Reference documentation.

Meet the Team

matt_moran.jpg

Matthew Moran, Senior Tester, Talis

In this month's ‘Meet the Team’ we talk to Matthew Moran, Senior Tester for The Talis Platform. Matthew has worked at Talis since December 2006 and his main role is performance testing the Talis Platform and working to automate the manual testing processes currently in use.

Matthew explains “It's ok to write quality code but this has to perform correctly in a stable environment. This is the crux of my role. As developers release new Platform builds we test them to ensure that the Platform performance is not affected in any way. Once our developers complete their functional tests the build is moved to a staging environment that replicates the 'real world' in usage patterns, loading and equipment. This is where we carry out our tests to see how well the Platform performs against previous builds – by injecting virtual users we capture user transaction times, hardware resources, how many users it can handle and how well it scales. How, and how well, the Platform scales is always key when designing new features within the Platform. We are always investigating the architecture of the Platform where new technologies can make the Talis Platform more stable, scalable, and more responsive. This environment also allows new applications built on the Platform, for example Talis Engage, our new community information solution, to be tested against the new Platform release so that any issues can be highlighted before going live. This process means that when we release to the live environment we release with complete confidence. Ultimately we aim to fully automate this process to streamline and increase efficiency of the release management cycle."

Although describing his time since December as a huge learning curve, Matthew is thoroughly enjoying working in what he describes as a refreshingly new, constantly changing environment, where you are given the freedom to grow.

Talis Platform News

Talis-Platform-news.jpg

Talis Library Platform News exists to provide you, its readers, with information on the work that you and we are doing to meet the ongoing requirements of libraries and their beneficiaries. As you'll increasingly see as the months go by, items here are focused upon ways in which libraries can put the Talis Platform to work, both in undertaking existing library activities more cost-effectively or efficiently, and in tackling a range of new problems that were previously beyond the reach of most.

Those of you with an interest in broader issues surrounding the Platform, or in some of the nuts and bolts, might be interested in our sister newsletter, Talis Platform News. Here, Talis staff and partners talk about the underlying Platform and we will also begin to illustrate a number of the other domains in which the Talis Platform can offer as much as it does to libraries. Why not subscribe to it, too, and receive two - complementary - doses of Talis Platform goodness in your inbox each month?

To receive notification of new issues of the Talis Library Platform News please remember to SUBSCRIBE.