Hi Dremio Team,
A little over a year ago, I posted feedback about some UX frustrations that occur when trying to use Dremio’s web interface to build queries. I had a nice conversation with a product manager, but most of the issues I reported didn’t seem to get much attention. I recently upgraded Dremio to the most recent version and I noticed some UI improvements, so I thought I might revisit the feedback. Building a query is a little better, but there still some really annoying aspects. In particular, the “Datasets” pane that opens up remains the source of a lot of frustration and should really be totally reworked. Here are the problems with it:
-
When the SQL editor is open to any reasonable size it is impossible to see more than a couple datasets (typically 5 in browse mode or 2.2 in search mode). If there are more than 4 datasets in a folder once you scroll down you can no longer see the folder you’re in. This makes no sense, since a “drawer” that occupied the left side of the screen all the way down (like almost every other SQL client out there) would easily solve this problem.
You can see more datasets by dragging open the SQL pane to a large size, but then when you go to look at the results you have to resize that pane over and over. -
A plus appears next datasets when you search, but in browse mode the icon to the left of folders is a rightward triangle typically used to indicate showing sub-items. The plus next to the search results breaks that pattern by inserting the name of the dataset wherever the cursor happens to be rather than opening the dataset up; from browse mode adding the dataset to your query as a relation name requires dragging rather than clicking.
-
To find columns it is necessary first to hover over the dataset icon (which is a very small target for a mouse, notably smaller than the icons above the SQL editor, which correspond to far less frequently used actions), then click on the i (not an obvious why one should look for columns there).
-
When the column list opens up only ~15 column names show at a time- to see more you have to scroll down, making sure not to click outside the modal and hide it.
-
Columns with names of >=15 characters always get cut off. Hovering over the truncated column name brings up a very small label with the full column name - also a very small mouse target and you have to hold the mouse quite still so the tiny label doesn’t disappear. If you start dragging the column and are unsure if you actually grabbed the right one you have to pull it all the way into the SQL window to find out whether you had the right column.
-
Dragging or clicking in the SQL window hides the column list modal, so if you want another column or you got the wrong column you have repeat the process of hovering over the dataset icon until the little i appears again, then scrolling and hovering to finding the right column (including lots of carefully positioning the mouse over truncated column names and waiting to see if they’re the correct column), then dragging in, then repeating the process to get a column that’s adjacent to the last one within the dataset.
-
There is no autocomplete of column names (as in SQL Server Management Studio and many other SQL clients), so the only way to assemble column names is the tedious hover/scroll/stop/hover process listed above.
-
There is also no way to drag multiple columns in, so querying some but not all columns from a table means repeating the hovering frustration lots of times.
-
When there are wrapped lines in the SQL editor, the dragged column does not move smoothly over the text, but lands in unexpected places. There is an auto-selection of the dragged text that runs after dragging that seems to maybe aim to fix this but often produces very confusing results if you drag and then move on to position the cursor to drag in a new column without waiting for the auto-selection to complete (also frustrating).
For comparison, here is the same table in DBeaver:
DBeaver is fine for running queries against existing datasets/views. However, since the definition of existing views isn’t exposed through DBeaver, it is often necessary to go back in to Dremio and edit an underlying view before running a query. Plus, the other parts of dealing with datasets/views actually work fairly well - saving a query as a view and adding Reflections is pretty straightforward, so if creating and editing queries was less frustrating it would be easy to do everything inside Dremio. DBeaver and other Java-based SQL clients also tend to get unstable when querying large datasets.
I am using the Community edition, so perhaps these snags are specific to that edition. Nonetheless, I really don’t understand why the UI design has to be this awkward. Finding columns and adding them to a query is the most common and essential task of building a query and yet it is the most difficult task in this UI layout, and far more difficult than any other SQL client I’ve ever used.
The whole experience could be made vastly less frustrating by just creating a left-hand drawer that extends from the top of the SQL Editor window to the bottom of the results pane and using a tree widget that allows both folders and datasets to be expanded with the right-facing arrow, so that column names can be seen in their entirety and that remain visible until you collapse the tree or scroll away (like DBeaver) would make .
Multi-select for columns would be nice, but in the current layout that would useless (and I suspect impossible due to the way the modal works). Autocomplete would also be nice, but as a foundation it’s more important to be able to browse columns sans tedium.
For such a great product, the inattention to the UX of building real-life queries is a real bummer - colleagues of mine who are otherwise excited about adopting and using Dremio simply refuse to use the UI.
Feel free to reach out if you want to talk more.
Thanks again,
Eric