Digging In: A Sneak Peek at Recent ITHAKA Engineering Projects

ITHAKA Tech Staff
ITHAKA Tech
Published in
3 min readJan 31, 2023

--

Pictured: Dane Hillard, Technical Architect of UI Engineering at ITHAKA. Image c. ITHAKA.

Where The ITHAKA Tech Blog Is Heading

The ITHAKA Tech Blog explores engineering, technology innovation, and culture at edtech nonprofit ITHAKA. Dane Hillard, Technical Architect of UI Engineering at ITHAKA, shares some highlights that you’ll see in the upcoming months of projects and accomplishments of the ITHAKA engineering teams. This is just a preview. Stay tuned for more stories of engineering culture. Want to learn more? Inspired to join us? Talk to recruiting for more information about how you can get involved with ITHAKA engineering.

Dane Hillard:

In late 2019 we launched the South Asia Open Archives (SAOA) collection, a rich collection of materials from and about South Asia contributed by a consortium of 26 research libraries. We were able to leverage many of our existing competencies to bring the publishing pipeline for SAOA to fruition, but we also needed to go back to the drawing board in some areas.

The time we invested in this space has bloomed; the SAOA project has now grown into our Open Community Collections initiative, which is home to over 1200 collections and growing every day. We’ve also consolidated JSTOR’s primary source collections into the collections framework and are working on doing the same for Artstor, creating a more consistent experience for users while streamlining our publishing and access efforts to support our mission.

In addition to the publishing pipeline for collections content, two important pieces have helped us bring consistency and productivity to the UI Engineering team building the user experience of JSTOR: the Pharos design system, and micro frontend architecture.

We wrote about our journey building a design system to support JSTOR’s brand and product when we made it open source last year. Web standards and tooling have continued to evolve alongside our product needs, and we continue to treat the design system as a living, breathing product of its own. We’ve solved problems like scoping components to avoid collisions between teams and refined our design token structures and component APIs for increased developer productivity.

Pharos laid the groundwork for much-needed visual and functional consistency across our product teams, but a different challenge filled the vacuum quickly enough. Our continuous integration and delivery platform help us deploy changes as fast as we can produce them, but our teams started experiencing bottlenecks when core features present across the platform needed to be deployed and tested in the context of many consuming applications. We’ve leveraged a micro frontend architecture to relieve this pressure.

Many components on JSTOR are ubiquitous across pages. The header and footer as well as actions like downloading, saving, and citing content show up nearly everywhere. Changes to these components could incur expensive cycles of coordination, deployment, and testing that would eat up teams’ time. With micro frontends, we can deliver and test these features independently, with much lighter integration testing and granular monitoring in place of the much heavier deployment and testing process. We now measure the cycle time for changes to these features in minutes instead of hours or days, and we’ve swapped many such features on JSTOR over to micro frontend architecture with minimal fanfare.

As our uptake of micro frontends and reactive frameworks increases, we’re exploring the benefits and challenges of single-page application architectures and how we can continue providing rich interactivity without compromising on accessibility and performance. Join us as we go behind the scenes with our engineering teams to explore how ITHAKA is evolving, and visit our ITHAKA careers page to find a position on our team that is the perfect match for you.

--

--

ITHAKA Tech Staff
ITHAKA Tech

Insights from the ITHAKA engineering team and beyond.