-
Notifications
You must be signed in to change notification settings - Fork 402
Description
This issue is meant to capture my thinking around PL's workshop UI, as well as touch on the other opportunities for other versions of the UI.
Before I get into it, just want to give a massive shout-out to @sghoweri for all the work on overhauling the UI and bringing it to where it's at today. It's so great to be working with a solid, modern foundation, and I hope that we can continuing tweaking and improving.
I'll start by framing the goals and purpose of the workshop UI, and then move into some of the suggested adjustments with those considerations in mind.
Workshop UI audience and purpose
Primary audience: frontend web developers
Secondary audiences: design team, clients and stakeholders who would be reviewing/commenting on UI work
Purpose: Allow working teams (namely frontend developers and designers) to navigate to, develop, and test patterns and pages. Secondarily, teams can view code, documentation, lineage, and annotations to assist in ongoing development of patterns and pages. Also, this view of the UI is where design review sessions happen with designer colleagues, as well as with clients and stakeholders. (All of our internal and client/stakeholder design reviews happen by reviewing Pattern Lab links).
Given the above, the goal of the workshop UI is to get out of the way of users so they can focus on creating and reviewing the UI inside PL's iframe. The UI needs to be present enough for users to navigate to patterns/pages and access PL's features, but the workshop UI should be extremely understated.
Proposed changes
I'll detail the changes I'd like to see the default PL workshop UI, but the basic gist of my proposal is generally to return PL's UI to its former aesthetic state. These changes are largely minor cosmetic tweaks, and I'm certainly not proposing throwing out all the great improvements that have been introduced with the latest version.
Here are the changes I'd like to see:
- No logo by default - a logo is a great addition for a storefront view, and of course should be configurable to show up in the workshop view should the user want it, but by default the logo should be hidden in order to keep the focus on the UI inside the iframe.
- A neutral background color rather than a color that may collide with the UI design inside the iframe. The light theme might be a good default, but a default dark theme should be a neutral dark color (like a dark gray) in order to stay out of the way
- Horizontal layout by default - this may be a bit unconventional compared to other tools (with the notable exception of Codepen), but I think the horizontal layout is a smarter default for the workshop UI. The reason once again is for developers to focus on creating UIs, and developers should be able to access the full viewport width and also not be distracted by a relatively imposing sidebar
- Viewport resizing handle should be hidden by default - The viewport should be full width with the resize handler hidden by default. I've had workshop attendees wondering if something was wrong because they couldn't get rid of the gray left/right borders. I really like the treatment and behavior of the resize handler, but think that should it be tucked away until the user specifically asks to resize the window by adjusting the values in the PL UI.
- Introduce a show/hide toggle and/or keyboard shortcut - Especially for the vertical layout, it can be helpful to tuck away the PL UI to show off a design sans any PL chrome. The "Open in new tab" feature does this, but it would be quicker to just be able to toggle the UI off and on
- I'm not seeing this locally, but I was seeing drop shadows in the UI that impose on the other frame.
- Resize icons - Historically I've not been a fan of equating viewport size with device type, but now I just shrug my shoulders. I'm generally ok with the icon treatment, but they can be a bit noisy. Would be good to explore toning them down in some way so as not to distract from the UI that teams will be focusing on. (Also, I'm not seeing the resize icons locally but am seeing them on the online demo)
- I'm on the fence about the dual-purpose accordion handle - This conundrum goes back to the responsive navigation days: do you have a single-purpose hit target that expands the panel, or do you have a link that clicks through and a second button that expands the sub options? In the latter case, is it clear to the users that two different behaviors occur? I don't know the answer to that, but I think a point of distinction here is that this is a tool that teams would be working in frequently, so either behavior would be learned. Which is a bit different than a website where you have to accommodate users of different skill levels. Again, I don't have a super strong opinion about it, but it's worth flagging as a point of conversation.
- Reintroduce
contenteditablepixel/em inputs - this was a really great feature for zeroing in on an exact breakpoint. Using the up/down arrow keys or entering in a specific value is really effective for debugging breakpoint-related issues ("Ah, at exactly 712px this headline wraps to multiple lines which ruins the composition!") - Sidebar layout tools - right now the tools (viewport resizing, expand panel, etc) occupy a lot of space and add a lot of noise to the UI. I'm wondering if there's a way to either tuck the tools away behind a tool icon (similar to the horizontal layout) or make them more understated (for instance, presently the font size of the tool options have a bigger font size than the pattern navigation, which seems backwards). This may even be a configurable thing (Expose tools by default or not)
- Sidebar layout resize it would be a nice feature addition to be able to drag the sidebar and resize the viewport, similar to Codepen.
- Horizontal layout dropdown one-at-a-time - Presently clicking on multiple top-level pattern categories (i.e. Atoms and Molecules) opens both menus, causing an overlap, which feels a bit broken. Probably best to open each panel one at a time (Edit: Ah just now seeing this is addressed in UIKit Nav Cleanup #1102 ! Nice!)
- Consider relabeling "Expand/Collapse Panel" as "Show/Hide Info" or "Show/Hide Pattern Info", which feels a little more explicit.
- Pattern Info panel switch layout - Next to the close button there's a switch layout button, which I think is a bit redundant with the switch layout button in the main menu
- Super minor UI tweaks such as light mode active state color, matching dropdown treatments (settings has a bubble/caret while pattern dropdowns do not), view all pattern info panel border animation jitter, super super super minor stuff.
WHEW. So that's my feedback. Let me just say I poked the UI a lot, and it's pretty freaking amazing. It feels super snappy and a lot of the old issues (like not being able to scroll to the bottom of a page with the pattern info panel open) are totally gone. Seriously stellar work, @sghoweri! Thanks so much for making this so amazing.
As far as next steps go, I was thinking about taking a stab at some of the aesthetic bullets, but I think there may be tasks that I'm not very well suited for.
One last thing worth mentioning is that these suggestions are just that. @sghoweri @bmuenzenmeyer , I'm happy to chat through any of this stuff with you if you think that would be helpful.