Hi everyone,
After playing with Penpot during a few months, I’m finally using it for a real client web design project for the first time! Here is some firsts feedbacks and suggestions I would like to share.
SVG
-
SVG export code is excessively complicated and not production-ready. For example, if I design a simple
+
icon with two 2px wide black rectangles centered in a 32 x 32px artboard, here is what I got:
<svg xmlns:xlink="http://www.w3.org/1999/xlink" width="32" xmlns="http://www.w3.org/2000/svg" height="32" id="screenshot-85984686-2f90-8058-8002-2e07d51c2821" viewBox="0 0 32 32" style="-webkit-print-color-adjust: exact;" fill="none" version="1.1">
<g id="shape-85984686-2f90-8058-8002-2e07d51c2821">
<defs>
<clipPath class="frame-clip-def frame-clip" id="frame-clip-85984686-2f90-8058-8002-2e07d51c2821-rumext-id-1">
<rect rx="0" ry="0" x="0" y="0" width="32" height="32" transform="matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)"/>
</clipPath>
</defs>
<g clip-path="url(#frame-clip-85984686-2f90-8058-8002-2e07d51c2821-rumext-id-1)">
<clipPath class="frame-clip-def frame-clip" id="frame-clip-85984686-2f90-8058-8002-2e07d51c2821-rumext-id-1">
<rect rx="0" ry="0" x="0" y="0" width="32" height="32" transform="matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)"/>
</clipPath>
<g class="fills" id="fills-85984686-2f90-8058-8002-2e07d51c2821">
<rect rx="0" ry="0" x="0" y="0" transform="matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)" width="32" height="32" class="frame-background"/>
</g>
<g class="frame-children">
<g id="shape-85984686-2f90-8058-8002-2e07dfed229c">
<g class="fills" id="fills-85984686-2f90-8058-8002-2e07dfed229c">
<rect rx="0" ry="0" x="15" y="4" transform="matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)" width="2" height="24" style="fill: rgb(0, 0, 0); fill-opacity: 1;"/>
</g>
</g>
<g id="shape-85984686-2f90-8058-8002-2e0a188cc31c">
<g class="fills" id="fills-85984686-2f90-8058-8002-2e0a188cc31c">
<rect rx="0" ry="0" x="4" y="15" transform="matrix(1.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000)" width="24" height="2" style="fill: rgb(0, 0, 0); fill-opacity: 1;"/>
</g>
</g>
</g>
</g>
</g>
</svg>
Here is what I would expect (a lot simpler):
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32">
<rect width="2" height="24" x="15" y="4" fill="#000"/>
<rect width="24" height="2" x="4" y="15" fill="#000"/>
</svg>
- I would also love to have an SVG export settings panel to control the code output, a bit like SVGOMG.
Flex Layout
- when you add Flex Layout on an already existing Group, it should keep the same layer name, not automatically renaming it “Board”.
- it also should try to guess to correct gap value (column or row) if items or properly aligned and evenly spaced.
Assets & Palettes
- the Colors and Fonts Palettes (in the bottom) should group and sort colors and text styles the same way it does in the Assets. For exemple, if I have a
blue/500
,blue/600
andblue/700
colors orlg/400
,lg/700
fonts, I expect to have it grouped byblue
andlg
and then sorted alphabetically by their name. - I would like to be able to reorder Assets groups manually by drag and drop
That’s it for the moment
Congratulations to the whole team, keep the good work!