We're proud to provide Continuous Delivery services.

Expand
Redesign and upgrade for Dr.G.

Processes
  • Continuous Delivery
Team Leadership
  • Senior Producer
    Kelly Albrecht
  • Senior Development
    Tom Fleming

An upgrade to increased conversions, better sales, and more flexibility.

Competitive Advantage was experiencing a decline in their online sales. Their existing website was outdated and originally built as hundreds of static HTML pages, some inconsistent with the others. Additionally, the main site was originally laid over top of an aging proprietary eCommerce solution that wasn’t serving their needs or their customers well.

We worked with Competitive Advantage to update the design of their website, port it to the most current version of Drupal, and migrate away from their former eCommerce system to Commerce. Improvements to the checkout workflow were implemented, product images were updated, and full content control was given to Competitive Advantage to maintain product copy.

Three iphones show the Competitive Advantage homepage on mobile.

Since the transition, Competitive Advantage has seen their eCommerce sales far exceed their expectations and more than double in volume from their previous site.

We truly appreciate everything you have done for us.

Dr. Alan Goldberg, Sports Performance Consultant
Expand
An updated subscription system for multimedia learning resources.

Processes
  • Continuous Delivery
Team Leadership

Yale University Press (YUP) sought to leverage Organic Groups in Drupal 7 to create a new site that would be easy to use and easy to maintain.

YUP, with the help of the University ITS Department, was able to manage the migration of the content and most of the functionality. They were looking for expert help with aspects of registration for two different types of users (students and instructors), authentication, and a permissions structure that would allow limited-time subscriptions to constrained sets of content. In addition, custom reports and administrative tools were needed to allow the site administrator to understand and have basic controls over user activities on the site.

How we did it

We worked with a very detailed set of specifications on this project. The team at YUP were very clear about the data structures and attributes that were needed. Drupal’s Organic Groups were the perfect solution for the needs of this project. Some parts of the site needed to be accessible to accounts with codes from a specific book. Other parts of the site needed to be available to students with access to any book.

We built two separate registration forms with different fields on each form. On the site, users self-select the form that they need to fill out. Successful registration requires a valid access code for student accounts, which are then automatically activated. Instructors are able to register without entering an access code, but those accounts need to be reviewed and activated by the site administrator. Automated emails are sent during and after registration, and notifications are sent to users when their account is about to expire.

After registration, all of the information entered during registration is visible and editable by both the user and the administrator on the user’s account page. Some custom work was needed to make this page display the correct fields in a user-friendly format. We used the Yale authentication system as the basis of the site authentication functionality; it was important, though, that the login screen not look like a Yale login screen, since most of the site users would have no direct connection with the Yale community. 

Access codes needed to be generated within the system by the site administrator for the two existing volumes of the text. All codes needed to be associated with a specific volume of the text (Book 1 or Book 2), and not be able to be transferred to a different account or otherwise be re-used. Since Books 3 and 4 were in production at the time of this project, the system needed to allow the administrators to generate the codes for content that did not yet exist so that those codes could be printed in the books. A user account needed to be able to have multiple access codes to different content with different expiration dates.

Current users would need to be migrated to the new site and matched with codes that would provide access to the correct volume and for the correct amount of time. Yale was able to perform the user migration on their own, using documentation and training provided by LCM.

The team at YUP was able to generate the needed access codes for the new books in time to meet the publisher’s deadline for including them in the printing, thus avoiding a much larger account migration if codes from the old system had been used. The new system frees up the site administrator from significant involvement in user account management, and will be fully supported by the University ITS Department for years to come.

Expand
Catalog integration for Queens Library.

Processes
  • Continuous Delivery
Team Leadership
  • Senior Producer
    Kelly Albrecht
  • Senior Architect
    Kelly Albrecht
  • Senior Development
    Kelly Albrecht

Team augmentation for increased capabilities.

Queens Library needed to integrate its developing content management system into its Book and Media Catalog systems to display realtime information and allow interaction between site visitors and its collection.

We were approached for assistance in developing the custom module foundations for these integrations.

We joined the Queens Library IT team and provided coaching as well as custom code.

Our engagement included working with in-house developers and other development teams to build custom modules, displays, and workflows to complete the integrations. Handoff of our work included training and enablement of internal Queens Library developers.

Queens Library launched its new and fully integrated website on Drupal as an interface to display realtime catalog information and facilitate customer interaction.

Expand
Continuous delivery to the LEEDuser community.

Processes
  • Continuous Delivery
Team Leadership
  • Senior Producer
    Kelly Albrecht

LEEDuser helps you get your building project LEED certified with tips, checklists, sample documentation, forums, and more. All of these features, and the community that uses them, run on the Drupal platform. LEEDuser needed ongoing assistance, planning, and implementation of new features for its community.

To enhance the value to the community, we developed and implemented several enhancements. Our focus centered around adjustments to the logic behind the forum posts and replies. Our work included a more intuitive nesting and notification system, as well as new voting and ranking logic to better surface posts of value to community members. Effort was also dedicated to improving the pathways and user experience, guiding them to the desired conversations.

The people at LCM are professional, personable, and available whenever we needed them.

Nadav Malin, President, BuildingGreen, Inc.
Expand
Continuous delivery, embedded.

Processes
  • Agile/Kanban
  • Continuous Delivery
Team Leadership
  • Senior Producer
    Kelly Albrecht

Last Call is a delight to work with – not only are they top-notch developers, they are great communicators, even with the least tech-savvy amongst us. My favorite part about working with them is their unfailing can-do attitudes and ability to follow through on even the tightest deadlines. We’ve thrown all sorts of crazy complicated requests at them and they surpass our expectations every time. Last Call makes us look like web rock stars… they are so good I almost don’t want to let the word out!

Danielle Cranmer, Web Manager

When we met, Rainforest Alliance needed to upgrade their existing Drupal 6 website to the latest major version, Drupal 7.

We developed and implemented an upgrade and migration path for the site with 85 modules, including 35 custom modules, to bring the site to a fully functioning Drupal 7 build. The upgrade was fully developed and its deployment was seamless. The Rainforest Alliance site went from Drupal 6 to 7 with zero downtime.

We enjoy a strong relationship with the Rainforest Alliance team, working together to continuously deliver strategic value in their digital properties, and were proud to be chosen for a full site redesign and upgrade.

Our work continues as the Rainforest Alliance’s development team, embedded within their internal Web Service Department, scaling our resources up and down as needed.

Expand
Continuous delivery to the council.

Processes
  • Continuous Delivery
Team Leadership
  • Senior Producer
    Kelly Albrecht

We’ve been proud of our long standing support to the CIO Executive Council, a subsidiary of the International Data Group (IDG).

Their flexibility has allowed me to interact with them as an ad-hoc branch of my own IT department, responding to projects and help-desk issues with equal competency.

Steve Wills, Sr. Manager, Applications Development at the CIO Executive Council at IDG

How we did it

We enjoy working as a team to deliver on our full service commitments.

We deliver a range of expertise to provide solutions for things like integrating with SalesForce to pull in membership data, integrating for set automated set up of group based content access on their subscriptions driven web service. Another example, moving them to a highly available, scalable cloud based infrastructure with Apache Solr and high performance caching technologies.

Expand
A Hub for Emergency Preparedness.

Processes
  • Agile/Scrum
Team Leadership

San Francisco takes emergency preparedness seriously.

As the fourth largest city in California, the city also serves as a center for business, commerce and culture for the West Coast. To support the City of San Francisco’s commitment to emergency preparedness, the Department of Emergency Management designed and developed a campaign to drive citizens to better understand how to be prepared in the event of an emergency. And in the unfortunate event that disaster does strike, the platform transitions to a communication platform where citizens can find the most up to date information directly from the City.

DEM had invested significant effort into creating a very engaging website to communicate to the public about emergency preparedness. However, the site was developed in a way that did not facilitate quick and easy content changes - a critical need when up-to-the-minute accurate information is needed. The site also fell short on a number of accessibility metrics.

How we did it.

When it’s business as usual, the site serves as a platform to generate awareness for how someone can better prepare themselves and their family in the event of an emergency. Visitors can download checklists, and complete forms, in addition to reading about how to prepare for different kinds of disasters, like an earthquake or tsunami. However, in the event of an emergency, the City can quickly enable a separate emergency home page which presents visitors with vastly different dynamic content updated in real time specific to the emergency, including an embedded interactive Google Crisis Map that displays information aggregated from a variety of external sources managed by the City.

Last Call Media provided a direct replacement of the existing site in Drupal 8, leveraging the out-of-the box D8 accessibility features and the user-friendly D8 in-place content editing interface. We also reduced the maintenance burden by bringing the blog, which had been a separate site, into the main site.

Our accessibility audit revealed that the original color palette used for the site designed relied heavily on colors that did not meet WCAG 2.0 contrast requirements. We were able to identify a compliant color scheme that remained within the existing brand guidelines for the new site. The site also relied heavily on icon fonts which were not taking advantage of Unicode’s private use area, and the HTML elements displaying the icons did not use appropriate ARIA attributes. Rebuilding the icon font and HTML markup to take advantage of those tools helped to greatly improve the screen reader experience for the site.

Another area that needed improvement was general accessibility related to interactive elements. Sections like flyout menus and tabs were difficult to navigate via keyboard, and were missing ARIA attributes that make them easier to understand and use. During the rebuild we switched away from using mostly-homegrown CSS and JS, and leveraged the Foundation CSS/JS framework instead. This change provided a couple of benefits - many of the missing accessibility features are included in the components provided by Foundation out of the box, it helped keep the nuanced details of the styling more consistent across different areas of the site, and it expedited the development process as well.

The City of San Francisco now has a means of communicating its emergency preparedness message with a site that is engaging, nimble, and robust.

Expand
A national treasure migrated to AWS with no downtime.

Processes
  • Agile/Kanban
  • Continuous Delivery
Team Leadership

StoryCorps is an independently funded organization that collects, shares, and preserves people’s stories to remind people of our shared humanity, to strengthen and build the connections between us, to teach the value of listening, and to weave into the fabric of our culture the understanding that everyone’s story matters. All collected stories are stored in their online archive, accessible to the public upon submitting a request or listening to recordings at various public library listening rooms. StoryCorps reached out to LCM for ongoing support and assistance with migrating their site’s archive of roughly 27TB worth of interviews and information to a new AWS platform.   

The main StoryCorps Archive access point was built on a robust Drupal platform consisting of over 60,000 interview records and approximately 27TB of associated metadata, WAVs, MP3s, JPGs and PDFs. The StoryCorps Archive platform connected with several critical business systems and performed around-­the-­clock ingests from their on­site storage arrays to the Drupal system, via rsync. StoryCorps was looking for a trusted and capable firm to migrate their entire Archive— including the website, connected services, and media— from their single-­server host to a combination of Amazon Web Services (AWS), EC2, S3 and Glacier.

Last Call Media performed a thorough analysis and audit of all StoryCorps’ source data prior to and following the massive migration. We worked closely with StoryCorps’ internal Digital Team and engineering consultants to design, test, implement, and ultimately maintain the new AWS server infrastructure.

The archive is now running smoothly on a robust AWS setup, configured to allow the platform to efficiently scale and grow as the archive does; to the next 27TB and beyond.   

Expand
Best-in-class content delivery and caching.

Processes
  • Continuous Delivery
Team Leadership

As part of our ongoing engagement with the Commonwealth, we identified an opportunity to improve customer and constituent experience by leveraging the Cloudflare CDN (Content Delivery Network). Following the initial discovery phase, we architected, implemented, and deployed Cloudflare’s Global CDN product to give the site best-in-class content delivery and caching, while maintaining all the functionality of the previous CDN while improving development capabilities.

Creating Undetected Changes.

In the discovery phase, we reviewed the marketplace to find the most appropriate CDN for the State’s use case, balancing security, performance, and cost considerations. Ultimately, Cloudflare was selected as the best fit because of its extensive firewall and DDOS protections, and granular cache control using “Cache Tags,” which have the potential to boost performance for the constituents and reduce the risk of site instability.  

The first, and perhaps most critical concern we addressed in the course of this project was that the CDN needed to be resilient, serving pages even if the site itself was not functioning properly. For example, the development team does code releases periodically that take the backend of the site completely offline, but constituents still need to be able to access content during this time. To meet this requirement, we adjusted the site’s caching headers to include directives to serve cached responses in the event of an error response received from the origin.  As a result, constituents are able to access the majority of Mass.gov, even if a catastrophic event takes the web servers completely offline.

As a government website, Mass.gov is always at risk of attack from malicious actors. To mitigate this risk, Last Call Media undertook extensive configuration and testing of Cloudflare’s various security features, including the Web Application Firewall (WAF), DDOS protections, and custom firewall rules. We had a few hiccups along the way with configuring the security features (at one point, content authors were receiving CAPTCHA verifications when submitting their changes), but were ultimately able to work through these issues to dial in the right balance of security and ease-of-use.

Next, we implemented Cloudflare’s brand new “Workers” feature, which gives granular control over CDN functionality using a javascript “service worker.” The Worker we wrote for this project handles more than 6 million requests a day, and gives the Commonwealth the ability to test and deploy CDN level changes to development, staging, and production environments independently, making it much faster and safer to verify and release changes. The worker implementation benefits the Commonwealth giving them flexibility for the future, while also reducing cost over the previous CDN.

These workers were also integral to the success of this migration beyond what we had initially imagined. During the testing and release phases of the project, they gave us a mechanism for fixing changes that was reviewable and testable. Having a well-defined review and deployment process improved the team’s visibility into what changes were being made, and let us avoid silly mistakes. Overall, we felt the development team’s velocity was greatly improved by using this workflow.

The migration went as smoothly as possible, there were no negative results.

Mass.gov raved:

I hope you are puffed up with pride. We simply couldn’t have done any — much less ALL — of this mountain of work without you. You’ve been a rock. Well, a very hard-working and creative rock. We are so lucky to have your help.

Lisa Mirabile, Project Manager

For the future we envision phase 2 to be granular cache invalidation. This would mean when a piece of content changes, the CDN would only invalidate only that piece of content so it’s fresh in the cache. What that allows us to do is set really long cache lifetimes on the edge content. We would be able to cache pages for even a year and rely on the invalidation to make them fresh when we need to be, reducing the load on the backend servers significantly. In its current state, pages now only get cached for 30 minutes. With a longer available cache time, we’d see immediate results for less load time, it would be less costly for infrastructure, and lessen the chances for a backend disruption.

Expand
Building a Course Book and User Management Platform in 6 weeks.

Introducing a post-purchase experience.

In order to provide access to additional course book material, LCM worked together with the Press, to introduce a consolidated course book and user management platform. This new platform allows instructors, teaching assistants and students to seamlessly create user accounts with different privilege levels and quickly gain access to gated resource materials to supplement their course book purchase. It also provides the Press with meaningful data about their users to support more customized user experiences and targeted marketing efforts.

With ambitious goals, a finite budget and tight timeline, we worked collaboratively with the Press to get alignment on a prioritized backlog of business requirements for this new business tool. This approach allowed the development team to deliver the features of highest impact and value first.

Before this upgrade, the Press managed over 50 disparate sites with no central reporting system.

As multidisciplinary business partners, we worked with the Press to first understand their business requirements through a review of their internal pain points, future goals and the needs of their users. This information, combined with our existing knowledge of the project, informed our approach to building the new platform.

The primary goal of this project was to provide students, instructors, and teaching assistants with access to the ancillary materials for a course book. At the outset, the resources were spread out among dozens of different sites, which made updating the resources and tracking their usage impossible. The types of resources the Press had available for each book varied from book to book, but included PDFs, videos, quizzes and other interactive content. Further, some resources for a book are only appropriate for instructors or teaching assistants, and it would be detrimental to the Press if these items were made available to students or anonymous users.  

We approached this problem by first determining what each group needed to be able to access. We fleshed out the concept of a resource, and built an admin interface to create resources attached to a specific book, group them, and manage the access level.  

Next, we determined how they would access it (the signup workflow for each type of user).  For example, students could be granted immediate access to a book’s resources as soon as they requested it as long as they were able to answer a verification question, while instructors needed additional manual verification and administrator approval, and teaching assistants would be granted access immediately by an existing instructor. We built out three distinct registration and access request workflows, and tested them rigorously to make sure they made sense to nontechnical users.  

Before this upgrade, the Press managed over 50 disparate sites with no central reporting system. This fragmented infrastructure prevented them from gathering any meaningful information about their users, was leading to missed opportunities at the Press.

Browser window displaying Yale University Press Course Resources webpage

Advanced reporting and analytics were introduced to support the goal of better defining and understanding the Press’ audience. Common questions they faced included: Who is utilizing our material? What do they find useful? What items don’t get used as frequently? To answer these questions, we worked with the Press to codify the most important data they were interested in knowing about their customers, and built a system to capture that data at key moments during the user registration workflow. On the admin side, we created a unified reporting experience that allows Press employees to manage users and obtain report data about their users through a single, powerful interface. For content usage reporting, we leveraged Google Analytics to capture segmented traffic data. The level of reporting that is now possible on the platform has helped inform critical business decisions at the Press.

Lastly, we digitalized an existing labor intensive and inefficient paper process at the Press to allow instructors to be able to request desk and exam copies of course books through their existing account. The platform replaces lengthy paper forms that had to be faxed to the Press with a digital version that prefills information based on the book and user and can be submitted easily.

The Press’ course book web presence was a scattershot of materials on several domains and on varying platforms. In order for the Press to expand, these items needed to be centralized with better organization and improved accessibility. Customers of the Press now have easier and faster access to more resource material than before, and the Press has the data it needs to support marketing efforts and future business decisions. Significant cost reductions were realized by taking advantage of consolidation and automation.