All Lit Up
On All Lit Up, readers of emerging, quirky, and unabashedly Canadian literature can find and purchase the best books this country’s independent publishers have to offer. Curious readers can also browse through our exclusive behind-the-scenes content about the books, authors, and publishers whose work is available on our site.
Additionally, All Lit Up serves as a community bookstore for readers with no local option, ensuring every Canadian has access to the literature produced by Canadian independent publishers.
All Lit Up came about as a response from the members of the Literary Press Group to the changing ways readers discover, purchase, and read Canadian books. The site currently features some 5900 editions from close to 3800 contributors.
The Literary Press Group, which manages All Lit Up, is a non-profit membership association of 58 independently-owned and -operated Canadian literary publishers. Since 1975, the LPG has helped its member publishers sell, distribute, and market their books to booksellers, libraries, institutions, and now, through All Lit Up, directly to readers.
All Lit Up was our first opportunity to deploy some of the proprietary technology that had originally been developed by Mugo for 49thShelf.com, and then to take it further still.
The Mugo team took the chance to rebuild the extensive data import components we use on 49th Shelf to handle large volumes of ONIX data, an XML-based data standard used extensively to exchange product information within the book industry supply chain. And we deployed an entirely new user interface for All Lit Up, one that used a responsive design approach to help ensure that the site could be effectively delivered across a complete range of desktop and mobile devices.
The other notable thing about this deployment is our extensive integration with e-commerce and e-book fulfillment components provided by UK-based Stison. Mugo accomplished this integration in collaboration with Stison via the development of a system of highly effective web services that pass users and user info seamlessly between the eZ Publish and Stison components that have been combined for the All Lit Up site.
This was another ambitious project undertaken with great humour, imagination, and dedication by the Mugo team, and the result is nothing short of spectacular. All Lit Up now lists nearly 8,000 Canadian literary titles from more than 40 publishers. The site is an invaluable platform for those publishers to build direct relationships with readers, and as such is a major contribution to marketing and selling literary work in Canada.
- Craig Riggs, Project Lead, All Lit Up
Before All Lit Up, Canada did not have an online book retailer that specialized in literary works from Canadian-owned publishers. This was a major gap in the marketplace, and provided an opportunity for a nonprofit like the Literary Press Group (LPG) to create a storefront that would benefit the Canadian-owned sector directly by addressing a group of readers (primarily core literary readers) who are unserved or underserved in Canada’s current book retail market.
Mugo Web has been the development team for All Lit Up since conception and has supported LPG to make the most of this opportunity.
The site leverages major infrastructure components in Canadian publishing, including BookNet Canada's BiblioShare database and 49thShelf.com, and as such represents an important new collaboration between Canada's literary publishers and other key industry groups, including BookNet Canada, the Association of Canadian Publishers, and the Literary Press Group.
All Lit Up features rich title listings for nearly 8,000 literary titles, all from small and mid-sized presses in Canada. It also incorporates an active editorial program featuring original content and an active community on social media.
Data import component update/rebuild
One of the key features of the All Lit Up site is that it pulls all of its book metadata via an ONIX feed from BookNet Canada's Biblioshare services. In All Lit Up, this is a rewrite of the code that we have developed for The 49th Shelf.
In doing the rewrite, we have consolidated several years of experience into a new codebase that is faster and more maintainable. The problems associated with importing and making use of an ONIX feed are numerous and complex, including:
- diverse editions
- massively de-normalized data
- corrupted markup
- stripped-down HTML
As well, All Lit Up added some new requirements to the import process such as requiring that only one edition of any given title be shown on the site -- this being different from The 49th Shelf where we show every single title in all its ONIXy glory. All Lit Up also required the option to manually invoke the update process for specific titles, again different than what happens on The 49th Shelf where the 80,000 titles are continuously being polled for updates.
All Lit Up uses a third party platform for handling fulfillment and DRM delivery of eBooks: This meant that the import process had to provide support for interacting with the remote system so as to provide updates and raw ONIX.
The ONIX import component is a powerful and battle-tested piece of code that would be of use to any publisher considering using ONIX to drive a website and we are leveraging it to build a platform specifically for book publishers.
The All Lit Up site was developed with a focus on responsive design from the beginning. This approach allowed All Lit Up to target a much greater range of devices in a cost effective manner as well as making the site more accessible overall. The layout adjusts in a number of ways, re-flowing and re-sizing content to provide a better user experience for users on smaller devices, such as mobile phones or tablets. Some of these modifications include increased font and image sizes, larger UI controls, re-stacking vertically rather than horizontally as well as grouping and consolidating UI elements to afford additional space for content and images.
While the mobile/portable layouts differ drastically from that of the desktop, they do offer all of the rich features of the desktop experience, including carousels and various modals.
The responsive design approach seems to be well received as over 20% of visitors are currently browsing the site from a mobile device such as smart-phones or tablets.
A website that displays well on such devices is also more likely to be used 'on-the-go', for example to get suggestions while at a bookstore, or to check out an interesting book that has been reviewed in a magazine or paper, on the radio or during a podcast.
Shop integration and interaction
For the e-commerce integration Mugo provided an interface that allowed site visitors to add items to their shopping cart transparently without interrupting the shopping/browsing process. A data exchange service handles the communication between the All Lit Up site and the third party e-commerce solution behind the scenes, handling books being added to the cart and providing an updated cart count back to the site to display.
In addition to this service, the e-commerce platform also uses a range of other services to retrieve book and merchandise content updates on a regular basis as well as user validation, registration and authentication for the shop via All Lit Up.
These services allow users not yet registered on the site, to start shopping without having to go through a sign-up process first. User registration and login are both available as part of the checkout process after the user transitions to the shop to review their cart.
This separation of services allows for content management to handled via eZ Publish entirely, while cart and transaction handling are done by the e-commerce platform.
All Lit Up runs on the Enterprise Content Management System eZ Publish. eZ Publish's robust content model enables all book and supporting data to be stored and displayed. It also provides a flexible framework for working with the data in various ways, as well as connecting to external services for data exchange.
As eZ Publish experts, Mugo Web's web development for All Lit Up has included:
- Scripts to manage pricing & availability data
- Web-services to provide user validation & authentication for single sign-on and registration
- Web-services to provide up to date book and merchandise data to the third party e-commerce platform
- Responsive layout to enable better access to the site across a range of devices
- onix2 extension(s); a re-write of Mugo's ONIX data handling and import extensions consolidating several years of experience working with ONIX data into a leaner, faster and more maintainable code base.
- Customized data import and update scripts to consolidate large sets external book data feeds of different quality
- Scripts to manage record updates in bulk, by section, or individually; and to update entire sets of information, or specific pieces of information such as purchase links
- Content maintenance scripts that dynamically adjust behaviour depending on server load
- Content modelling for categorization, site structure, and content attributes
- Enhanced object relations to store not only the internal links but also information about the relationships themselves (such as contributor type)
- Non-book content integration (e.g. Merchandise) featured on the site and sold through the same online shop (3rd party)
- Templating for dynamic landing pages, extended search functionality (using the Solr-based eZ Find extension), open graph meta data, book pages, and more
- Social media integration
- Server setup