UI feedback - better but still rough

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.
    image

  • 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

Hi @eellsworth Thanks a lot for your amazing feedback, I have sent it to the right folks who will review your feedback and get back to you on any questions

Thanks
Bali

Great, thank you for this!

Hi.

Effectively it’s a pain to build request from some dataset/view which r made by someone else for example, so autocomplete could be nice if it could work. Strangely i see a bubble below the line when typing sometimes but it still give me “No suggestions”.

Is there a setup we have missing to make this function working?

I’m in v20 community version actually. Is it only available for commercial version perhaps?

Best regards.

If i could suggest something about the UI, it could be nice to be able to copy column name of a result when u need to make a request with a large percentage of these column (specially when there’s a lots of them) instead of typing them manually one by one.

Like Sqldev from Oracle for example.

Best regards

@The_Yab974 Autocomplete is a feature that we’re adding in the next few months. Hopefully that will help with quickly constructing SQL.

1 Like

I noticed that someone apparently did something to make the column list not disappear as easily when you drag something into the SQL pane - it now requires a separate click. That helps.

Thanks,

Eric

“not disappear”? U mean that some people can have it displayed? Since 1st version we have used (v4) until last upgrade we have done (v20) i don’t see anything else than “No suggestion”.

Could be nice if this person could share experience about that. ^^

@isha @balaji.ramaswamy Is there a option to increase/drag the size of the column so that we can view the complete PDS/VDS name in a space? As we got 300+ tables with larger names it is getting harder to search each of the table from the search bar. We are on v20.2

@Sukku are you referring to the panel in the SQL editor that lists the catalog objects? we have added the ability to resize that in the upcoming release.

@isha, No. I was referring to the list of datasets we get when we click/open a space. For instance, I got a space named Test123 with 100+ datasets named as test_new_dataset_with_long_names_in_this_space1
test_new_dataset_with_long_names_in_this_space2
test_new_dataset_with_long_names_in_this_space3
test_new_dataset_with_long_names_in_this_space4.

So, when I click on space Test123, all i could see are like below
test_new_dataset_with_long_names_
test_new_dataset_with_long_names_
test_new_dataset_with_long_names_
test_new_dataset_with_long_names_

howering on the datasets pops up the complete name though but it takes atleast 1-2 seconds for each of those.

I would be good to have a bar which we can drag to see the complete dataset names.