DCBB
July 8, 2024, 9:10am
1
I hope that this is not considered spam, but THANK YOU to the streamlit team and contributors for experimental_dialogue! I think this is an absolute game-changer for user experience and usability for streamlit apps.
When soon “getting selections back from altair charts” is released, which was recently previewed afaik, then almost all my streamlit dreams have become true.
Fantastic work, streamlit team! Thank you!
David
6 Likes
Aw thanks so much for sharing this, I’ve passed it along to our product and engineering teams
3 Likes
PM here who worked on both of these features – thank you so much!! Let us know if there’s anything you’re still missing.
3 Likes
DCBB
July 8, 2024, 7:52pm
4
I think at this point the biggest remaining item on my wishlist (after the official release of getting selections from Altair charts) would be the option to have a tighter layout. Compared to R shiny apps, Tableau dashboards or just complex Excel sheets, all of which compete in the “data app” space, Streamlit is rather wasteful with screen space.
I’ve put this in an enhancement proposal a while ago:
opened 02:48PM - 20 Jun 23 UTC
type:enhancement
area:layout
area:widgets
### Problem
Streamlit's overall layout and individual components are quite wa… steful with screen space – there is a lot of white space everywhere.
This is great for simple apps for casual users, but it creates a usability problem in applications where you want to give power users many options to tweak without scrolling away from the main visualization or data table, or just provide a high information density on one screen. Tabs and expanders offer some relief, but they limit what you can have on the screen at one time.
Applications like Tableau, R shiny, and the ubiquitous Excel based tools have a much higher information density than Streamlit apps. If Streamlit aims to be an alternative to those applications in "power user" scenarios (think finance, BI, scientific visualization,...), it needs the capability to present UIs with higher density.
Examples of very generous use of space:
* large font size in widgets like `selectbox`, `multiselect`, `slider`, and others
* large size of the main widget "box" in `selectbox`, `number_input` and others
* `file_uploader` is huge!
* tables aren't particularly compact either
* lots of white space between components
* whitespace on top of screen (see #6336, but the issue here is wider)
Things that go in the right direction:
* wide mode
* horizontal layout for `radio`
* the new options for label placement, including the option to ditch the labels altogether
* sometimes it just helps to zoom out in the browser, but of course that is not a solution
### Solution
**MVP:** What's the smallest possible solution that would get 80% of the problem out of the way?
* provide a "compact layout" and/or "small fonts" option for the chunkiest controls; see examples above
* solve #6336
* provide an alternative style option that reduces whitespace between components
**Possible additions:** What are other things that could be added to the MVP over time to make it better?
* more options for label placement, for example left of control (I realize, though, that this probably generates ugly alignment problem; maybe there could be some sort of "form table", where labels are in one column and controls next to it)
* just more layout options in general – grids, complex multicolumn alignment – would help to make use of screen space
### Additional context
Where I work, I'm heavily advertising replacing insanely complex Excel-tools with proper Python code + Streamlit UI. While there is a lot of buy-in for replacing the actual logic with Python, I frequently meet resistance when it comes to the UI. As much as I dislike Excel – you can get a lot of control on a single screen there. I have seem similar arguments when it comes to pitching Streamlit + Altair as an alternative to Tableau.
This issue was created as suggested in the forum [on this thread](https://discuss.streamlit.io/t/compact-layout-and-components/45639/3).
---
Community voting on feature requests enables the Streamlit team to understand which features are most important to our users.
**If you'd like the Streamlit team to prioritize this feature request, please use the 👍 (thumbs up emoji) reaction in response to the initial post.**
@DCBB Oh no this is not spam, this is well-deserved recognition for the developers!!!
@jrieke (you again!!! ) I do confirm that it allows us to highly simplify some designs and truly improve the UX
system
Closed
January 8, 2025, 6:15am
6
This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.