Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

UI improvements proposal (UI 2.0) #426

Closed
sapegin opened this issue May 3, 2017 · 33 comments
Closed

UI improvements proposal (UI 2.0) #426

sapegin opened this issue May 3, 2017 · 33 comments

Comments

@sapegin
Copy link
Member

sapegin commented May 3, 2017

We keep adding new function and new “buttons” to the UI and right now it’s inconsistent and far from perfect. Adding more features (and there are plans and wishes to do that) will most likely destroy user experience completely. I was thinking about that for a long time and here are my thoughts.

Goals I want to solve in this issue:

  • Improve developer experience (component development process);
  • Simplify and streamline the UI;
  • Add UI extension points for plugins.

Styleguidist UI consists of these three “levels” (and actions you can do on each level, with some future plans):

  • Global (toggle sidebar, toggle props/description, switch background, close isolation = go home);
  • Component / section (get anchor link, open in isolation);
  • Example (open in isolation, toggle code visibility, show snapshots).

As a possible solution I see something like this:

ui2

Sorry for my drawing skills but basically we’ll have toolbars for each “level” that could be possible to extend from plugins plus (also extendable) tab bar for each example (this was already discussed in a relation to the plugin API).

Related issues: #354, #333, #327, #424, #421, #235.

Any feedback? Some design help would be very useful here ;-)

@n1313
Copy link
Collaborator

n1313 commented May 3, 2017

Call me biased but I think that current UI is alright and with exception of #350 I don't see any obvious places that need improvement. Ease of access to information, speed and responsiveness of the application and code parsing features like JSDoc support play a much bigger role on the developer experience than UI bells and whistles, in my opinion. As for extensions and plugins, those are probably cool to have but are not related to UI, apart from the question of "where do we put all this new stuff" which I would say should be asked only after we do have that new stuff.

@sapegin
Copy link
Member Author

sapegin commented May 3, 2017

These are not bells and whistles, these things are required for the plugin API, not something that we can do after that. There are needed as well for almost any new feature that requires a new UI (some of them are listed in the issue). And we already have issues like #235 that cannot be solved by just moving links around.

Plugin API has a very high priority because the more users we have the more features they want and less likely I’d want to have all these features in the core.

@sapegin
Copy link
Member Author

sapegin commented May 3, 2017

@Knorcedger
Copy link
Contributor

From a usability perspective, having an always visible but unobstructive toolbar is in my opinion superior to links that appear on hover. I like and support the idea.

P.S. The specific icons are not the best :)

@sapegin
Copy link
Member Author

sapegin commented May 4, 2017

@Knorcedger I hate these links ;-)

Icons are just to show the idea, from Font Awesome. Any better candidates? There’s the whole list of actions in the issue description (some of them are new like toggling props (I really want this) :–)

@MicheleBertoli
Copy link

I love the current UI, and I agree icons would make it more scalable.

@SaraVieira
Copy link
Collaborator

@sapegin Icons sound like a great idea.

By toggling the props you mean that the user would be able to collapse the props ?

@sapegin
Copy link
Member Author

sapegin commented May 5, 2017

@SaraVieira Yes, because you don’t need them when you’re developing a component. And for some components they occupy a lot of space.

@sapegin
Copy link
Member Author

sapegin commented May 5, 2017

@MicheleBertoli I mostly like it too except these ugly isolation mode links ;-)

@SaraVieira
Copy link
Collaborator

You mean like this:
screenshot 2017-05-05 09 45 18

I can start with this small fix 👍

I will start working on this tomorrow

@sapegin
Copy link
Member Author

sapegin commented May 5, 2017

@SaraVieira Yeah, exactly 😬

It will be a small fix as soon as we implement a global toolbar where we could put that switch — do you want to help with that too? 😊

@SaraVieira
Copy link
Collaborator

@sapegin Sure, tell me where to start 👍

@sapegin
Copy link
Member Author

sapegin commented May 5, 2017

I think we can start from simple things like components for toolbar, toolbar button and global toolbar itself (I think it should be fixed in the bottom left corner inside the sidebar if we have a sidebar or just floating).

@SaraVieira
Copy link
Collaborator

What will be the links there ?

@sapegin
Copy link
Member Author

sapegin commented May 5, 2017

These are all I can imagine:

  • Global (toggle sidebar, toggle props/description, switch background, close isolation = go home);

So we can start from home and then add props toggle.

@SaraVieira
Copy link
Collaborator

SaraVieira commented May 5, 2017 via email

@sapegin
Copy link
Member Author

sapegin commented May 5, 2017

What do you mean by “dropdown of the props”? ;-)

I’m not sure about the logo because the text can be changed but would be nice to have it somewhere.

@sapegin
Copy link
Member Author

sapegin commented May 19, 2017

screen recording 2017-05-19 at 10 31 pm

@sapegin
Copy link
Member Author

sapegin commented May 21, 2017

@cef62 @SaraVieira The new toolbar is in the ui branch ;-) I’m going to work example toolbar + tabs and then on the plugins API proof of concept.

@sapegin
Copy link
Member Author

sapegin commented May 22, 2017

One more sneak peek:

screen recording 2017-05-21 at 09 11 pm

I’m also thinking about using the same tabs UI for showing props/methods, hidden by default (possible to change by config option) and possible to extend by plugins.

@okonet
Copy link
Member

okonet commented May 22, 2017

I think the "link" icon should be connected with the heading. I really like how GitHub shows them. Do you think we still could show them together?

@sapegin
Copy link
Member Author

sapegin commented May 22, 2017

@okonet We can make header a simple link but I don’t want to show anything on the left side, it didn’t really work for Styleguidist (can be hidden on small screens, having something on both sides of the header was strange).

@sapegin
Copy link
Member Author

sapegin commented May 31, 2017

I’m going to release these changes next with (with slight modification):

screen recording 2017-05-30 at 10 25 pm

Do you have any feedback? You can try it in the ui branch.

@sapegin
Copy link
Member Author

sapegin commented May 31, 2017

Thing I know I’m going to change:

  1. Add links to component headers.
  2. Probably remove the link button from component toolbar.
  3. Think more about buttons outlines (appreciate any ideas here).
  4. Maybe change title of Props & Methods tab if I could find a better one.
  5. Try to move example tab (Code) and toolbar outside the example border.

@iamstarkov
Copy link

@sapegin how does it look on small screens? we used to hide sidebar and props for small screens

@iamstarkov
Copy link

and make preview container as wide as possible

@sapegin
Copy link
Member Author

sapegin commented May 31, 2017

No changes for small screens so far bug I should test it again ;-)

and make preview container as wide as possible

What do you mean? Remove max-width?

@iamstarkov
Copy link

i checked it now, nvm preview component seems good

sapegin added a commit that referenced this issue Jun 8, 2017
## New features

### UI refresh

Welcome our refined UI! More consistent and clean:

![](https://d3vv6lp55qjaqc.cloudfront.net/items/3j1P0K1a1Q451t2Z2p3G/Screen%20Recording%202017-06-08%20at%2008.54%20PM.gif)

🦊 This is the first part of the planned improvements and a base for upcoming plugin API, see #426 and #354 for more details — we need your feedback there 🚀

🍕 Thanks to @SaraVieira and @n1313 for help! ❤️

### Props & methods are hidden by default

Use the new config option [showUsage](https://react-styleguidist.js.org/docs/configuration.html#showusage) to restore the old behavior.

## Bug fixes

### Crash when using a defaultProp that is not listed in props (#437 by @ankri)

### Isolated examples inside sections

### Issues with `position: relative` (#441)

### Ugly isolated example link (#235)
sapegin added a commit that referenced this issue Jun 8, 2017
## New features

### UI refresh

Welcome our refined UI! More consistent and clean:

![](https://d3vv6lp55qjaqc.cloudfront.net/items/3j1P0K1a1Q451t2Z2p3G/Screen%20Recording%202017-06-08%20at%2008.54%20PM.gif)

🦊 This is the first part of the planned improvements and a base for upcoming plugin API, see #426 and #354 for more details — we need your feedback there 🚀

🍕 Thanks to @SaraVieira and @n1313 for help! ❤️

### Props & methods are hidden by default

Use the new config option [showUsage](https://react-styleguidist.js.org/docs/configuration.html#showusage) to restore the old behavior.

## Bug fixes

### Crash when using a defaultProp that is not listed in props (#437 by @ankri)

### Isolated examples inside sections

### Issues with `position: relative` (#441)

### Ugly isolated example link (#235)
@sapegin
Copy link
Member Author

sapegin commented Jun 8, 2017

The first part is done in 5.4.0! 🦆

@iamstarkov
Copy link

@sapegin its very nice

@apennell
Copy link
Contributor

I think it would be great to add a carat icon or something like that on the Props & Methods link, and possible also the Code button, to indicate more clearly that clicking it will expand more information. I like keeping them hidden (as noted earlier, this list can get long), but it's very important information and I think the link may be too easy to overlook as it appears right now. Adding something like an icon would at least indicate that the link will do something more without having to hover to notice that it's link.

@sapegin
Copy link
Member Author

sapegin commented Jun 21, 2017

@okonet @SaraVieira What do you think? (See the previous comment ;-)

@stale
Copy link

stale bot commented Dec 28, 2018

😴 This issue has been automatically marked as stale because it has not had recent activity. It will be closed in a week without any further activity. Thank you for your contributions.

@stale stale bot added the wontfix label Dec 28, 2018
@stale stale bot closed this as completed Jan 4, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

8 participants