Pitfalls of Global Settings Caching

 Caching and UX Design Challenges

I’m currently grappling with a frustrating issue where long-standing functionality suddenly collapses. Navigating the Ovid app is no small feat—it’s a massive, 20-year-old legacy system with a convoluted history and a labyrinth of operational "flows."

Recently, the system's reliability has been hit-or-miss. For example, upon logging into OvidUI, the system now defaults to Advanced Search instead of Basic Search. Even more baffling: clicking the "Basic Search" link does absolutely nothing. From a UX perspective, rendering a functional-looking link that provides zero feedback is inexcusable; even an error message would be preferable to total silence.

The Root Cause

My investigation revealed that "basic" was inadvertently stripped from modeTabOrder in ovidsp.ini during a consolidation of the .ini files and the subsequent Docker containerization. While this change was pushed back in February, it didn't surface until mid-May. This delay highlights a significant gap in our testing protocols.

The Pitfalls of Caching

While caching is a fundamental computer science tool for optimization, it can be a nightmare for debugging. In this instance, cached settings preserved the "correct" behavior for two months before finally expiring and revealing the bug.

I would argue that INI settings and defaults should never be cached. These files are small enough that the performance gains are negligible, yet they are critical to the software’s fundamental operation. We should focus on caching results, not configurations.

Comments

Popular posts from this blog

Wolters Kluwer

Contingent worker - Code Games

The 5 AM Contract