EuiIllustration #5546
Replies: 5 comments 5 replies
-
I talked with @JessSmithSup and we might work with PNGs. Here are a few screenshots of issues I run with SVGs. First one, I tried to optimize the following svgs and I never could go below 4MB. Another issue I run to is when we open an SVG created in Adobe Illustrator in Figma the masks don't work as expected: To fix this, we would need extra work. But even with the extra work to make it look better in Figma, once exported as SVG the size would continue to be around 4MB due to a large number of elements. The Design team could simplify the illustrations but we would lose our identity. With that said, I don't see any benefit in using SVGs besides the high quality they can provide. I might do some tests with PNGs and see how can we support retina and non-retina displays. |
Beta Was this translation helpful? Give feedback.
-
At some point, I had a description for each illustration but I removed it because it was making the website cards take too much space. But only showing the title might lead to different interpretations for an illustration. To avoid situations, where the same illustration is used in different contexts and means different things we need to bring the description back. |
Beta Was this translation helpful? Give feedback.
-
@miukimiu the design team can share pngs of both light and dark modes. What is an optimal size ration we should export images at? We would also like to update some of the images currently in the library. How would you like us to share images? |
Beta Was this translation helpful? Give feedback.
-
Complementary to the questions above in #5546 (comment), we also need to explore format and scaling options. For the format, webp is now supported by recent versions of all major browsers (except Safari requires Big Sur, so ish). Scaling should probably cover 1x and 2x at minimum - a brief googling shows some phones have 3x or even 4x, but this is probably not important enough for us to cover at this time. However, I don't think the illustrations project should dictate either of those things for downstream projects and instead be aware that further processing is likely to be done when images are used by an application. Many apps import images from the source code, and the bundler (e.g. webpack) is configured where to put the image so it can be loaded by the browser later - somethings that configuration also defines optimizations and other passes at the images. IMO this means any prevalent, lossless image format (png, webp lossless) would be fine. Likely an upscaled (3x or 4x) version. Or maybe the source SVGs are fine if downstream apps have to process things anyway. |
Beta Was this translation helpful? Give feedback.
-
While this seems useful - and there is some need/demand for it - EUI is not the best home. As noted above, one of the open considerations is...
These are specific to Elastic, created by the Creative Services team, and are only intended for Elastic properties whereas EUI has a broader and more agnostic point of view. Given this here discussion is in the EUI repo, I am going to close it out and follow up with AppEx/Kibana eng teams on a product-level home (plus guidelines) for using both illustrations and custom SVGs... many of which already exist in the Kibana repo. |
Beta Was this translation helpful? Give feedback.
-
EuiIllustration is a react library of illustrations that attempt to bring consistency to our elastic products and solve the following issues:
<img>
element (png, SVG, or jpg).The library EuiIllustraion can bring to our products a lot of advantages and solve the above issues.
Consistency
We ensure consumers are only using approved illustrations that share our aesthetics.
Ease of use
Consumers only need to import the component and pass some props. The illustrations are optimized and follow our EUI standards. These props will ensure that light and dark themes are handled correctly and no need for much effort just to show an image.
Updates
When the design team needs to update our brand, the EuiIllustration turns this task easier. By updating the package, elastic products are easily up to date.
One place for all the illustrations
Right now is difficult to locate an illustration. This project can ensure that we have a common place where the illustrations live for our products. The illustrations will live in a Figma library and also in a GitHub repo/website.
POC
You can find the POC of the project here: https://github.com/miukimiu/eui-illustration (private). This project is a monorepo containing 3 packages:
It's also worth mentioning that in this project we can see how the EuiEmptyPrompt can work in conjunction with the EuiIllustration.
Decisions we need to take
Beta Was this translation helpful? Give feedback.
All reactions