
Snowflake Data Catalog
Snowflake Data Catalog
Redesign of Snowflake UI’s Database Catalog Page which currently lacks the rich, useful information that helps analyze, monitor and debug the object and their usage which would be invaluable to the user and help bringing more traffic to the web UI.
My Role & Responsibilities
A self initiated project after working on the user research for External Table, noted the shortcomings of the UI which can be greatly improved with the proposed design solution. Worked closely with UX Manager, VP of product and the UI Product Manager for shaping out the details, exchange ideas, get regular feedback on the iterations and validating concepts. Reached out to Backend Engineers to understand the technical details, complexity and gather data from the internal databases to surface the visualisation in the UI
Timeline: Dec 2018-June 2019 , Platform: Web
Challenges with the Current App
Users have reported their need to search the data catalog or isolate a group of objects based on certain filter criteria. They are now able to navigate meaningfully through the objects they are looking for
The current Databases UI is incomplete; we provide a list or master view for each objects with only the output of the SQL show command which often excludes useful meta data or qualitative data that helps characterize the object such as its size, frequency of access etc
There is no visibility of the analytics information such as aggregated Metrics data, monitor an object’s performance and notification if some anomaly happens. Many times our users needs to buy external software or build their own script to develop the monitoring and alerting experience. A lot of times they refuses to simply use our UI for these reasons
Design Goals
Design a system to present data warehouse infrastructure objects using a master-detail pattern where the master can be a list view or a composite (visualization & list) and the detail is a view that presents additional, rich information and actions for a single item in the master list
Design rich detail views for individual database objects that present a general overview (metadata), state/health, history and monitoring information (wherever applicable) and that allow users to manage, modify (and maybe create) these objects in the UI
Create a system of reusable data visualization components and Database object Detail screen templates
Touch other areas of the interface such as the chrome, primary/secondary navigation scheme; refine and iterate on the information architecture at a micro level
Discovery and Definition
Qualitative Research: Interviewed 5 different customers and SEs with a set of questions to understand the app usage to figure out the mental model of the users
Summary of User Interviews:
Our customers are looking for simple solutions in the following:
Navigation through the database namespace as you select an item in the master list to drill down to the next level in the hierarchy
Searching the catalog for a single object or isolating a group of objects based on a filter criteria (from a list)
Object Management: Taking actions (including batch) on these objects. Examples:
Edit Object metadata such as name, comment
Edit Privileges
Drop, Alter Object
Viewing metadata, historical analysis metrics, monitoring metrics and perhaps even usage and other interesting analytics for one or more objects
App Map and UX Flow
Moving forward I have chose three most frequently accessed and used Database Objects in the Database Catalog. Those are Data Tables, External Tables (Pointers to physical data stored elsewhere) and Snowpipe (a tool to inject data continuously to the Snowflake Database) . Below is the map that I put together a list of information grouped which would help to start building the design framework.

External Table UI (Previous work here)
I did a previous feature design on the External Table object and successfully added some framework for analytics and monitoring visualization. Which was a significant first step for the entire section redesign process

Snowpipe Monitoring UI
Snowpipe was another object that I tackled separately working with PM and engineering to model some of the inline visualization and instead of a master detail concept we designed a side panel with details only
Design Iterations
Navigation Style & Design Framework
As the app flow is considered to be changed, so I considered different styles for navigation and came up with a framework that covers missing use cases and offers consistent and scalable design patterns that make it easy for the user to get oriented to these views and also make it easy for us to build.


Generic Layout and Grid System

Generic Horizontal Grid

Detailed View Design Framework with Vertical Nav