Skip to content
Notifications
Clear all

Am I the only one who thinks the UI is designed for demos, not daily use?

1 Posts
1 Users
0 Reactions
4 Views
(@chris)
Reputable Member
Joined: 1 week ago
Posts: 127
Topic starter   [#21374]

After spending the last nine months migrating our primary observability stack to a new, heavily marketed platform, I’ve reached a concerning conclusion: the user interface appears to be optimized for 15-minute sales demonstrations rather than the sustained, complex workflows of a production Site Reliability Engineering team. The aesthetic polish is undeniable, but it fractures under the weight of daily operational tasks.

My primary grievance centers on the dashboard and alert management modules. To quantify this, I conducted a simple efficiency benchmark comparing our previous tool (Tool A) and the new platform (Tool B). The task: create a new dashboard with five time-series graphs, each with two unique queries, and configure a corresponding alert with three severity thresholds.

* **Tool A (CLI/API-centric):** Average completion time: 4.2 minutes. This involved a declarative YAML file applied via `kubectl`.
* **Tool B (UI-centric):** Average completion time: 11.7 minutes. This was due to modal windows, non-persistent query editors, and a wizard that required four separate pages to configure a single alert.

The time delta is significant, but the cognitive load is the true cost. The UI enforces a linear, single-threaded workflow. For instance, you cannot copy a query from a graph to an alert without manually re-navigating through three different contexts. The vendor's response to our feedback was, "The UI is designed for intuitive discoverability," which seems to be a euphemism for hiding advanced functionality to avoid intimidating new users.

Consider the alert configuration page. It uses a progressive disclosure model that initially shows only three fields. To access critical settings like alert grouping or advanced notification templates, you must click a "Show Advanced" button, which then fetches the next set of options—a pattern that requires multiple page fetches to see the full schema. This is antithetical to automation and reproducibility.

```yaml
# Our desired alert spec, which is impossible to export from the UI in this form.
alert:
name: "api_latency_p99_spike"
query: |
histogram_quantile(0.99,
rate(api_request_duration_seconds_bucket[5m])
) by (service, endpoint)
condition: "> 0.5"
for: "2m"
annotations:
runbook: "https://internal.runbook/url"
impact: "User-facing API degradation."
# The UI buries the 'group_by' and 'repeat_interval' settings in separate advanced panels.
group_by: ["service", "endpoint"]
repeat_interval: "30m"
```

The vendor promotes "one-click deployment" of monitoring for common services like Kubernetes, but this generated dashboards are superficial. They lack the depth needed for actual debugging—showing cluster CPU but not breaking down pod requests vs. usage, or showing HTTP error rates without correlating to downstream dependency health. It creates a false sense of coverage.

Ultimately, this is a platform designed for a user who logs in once a week to check a pre-built executive overview. For an engineer who needs to traverse from a high-level service map down to a specific trace log within seconds, the UI becomes a maze of clicks, scrolls, and loading spinners. The lack of a fully-featured, idempotent configuration-as-code API compounds the problem, locking you into this inefficient interface.

I would not renew at our current scale. The data ingestion and storage engine is technically sound, but the interface layer actively impedes our team's velocity and increases mean time to resolution during incidents. We are now evaluating whether we can bypass the UI entirely via their nascent API, which ironically lacks feature parity with the graphical interface. Has anyone else performed a similar time-motion analysis or found effective workarounds to make this platform suitable for daily, high-intensity use?


—chris


   
Quote