-
-
Notifications
You must be signed in to change notification settings - Fork 919
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
Proposal: Storing assets for the faker project #3131
Comments
Generally all looks good to me. I think using just subfolders rather than branches would make it easier to manage. A couple of points
|
I heard once that it is possible to hack around repo limit by forking https://github.com/chromium/chromium 👀 |
If I understand the docs correctly, the root of the fork pays all the costs for it. So Google is probably just paying enough to not run into any limits. |
I can't imagine we would have more than a few tens of megabytes. We will not be hosting hi res videos. |
One other thing to consider would be image dimensions. Obviously if these are static assets we can't allow completely dynamic width and height. But for example for avatars, if we generate 1024x1024 or 512x512 images with an AI, it might be useful for some use-cases to have resized smaller versions too to save bandwidth. e.g. you might want to allow for URLs like: And then in future you could pass one of a fixed set of pixel sizes or "big","small" etc to certain image methods. |
Which image sizes do you think we need? |
It's pretty trivial to just make all the powers of 2 sizes using imagmagick or whatever from the largest down even if we don't end up using them. So I'd do everything from 1024 to 16 if possible. Image type I'd just use the most appropriate and popular type for the content. So JPG for photographic content like the people avatars. |
I think the most restrictive limit is going to be disk and maybe transfer. |
It's more as a developer if I want to display a grid of 1000 user avatars which will be shown at like 32x32 it's very wasteful of bandwidth to download 1024x1024 images. Deciding on the exact sizes is not too important right now. I just think the sizes should probably be in the folder structure to allow for easier future expansion. |
IMO 512x512 is enough, no other sizes |
Team Decision
|
Just a couple of clarifications "Source available, not open source" refers to the code used to generate the assets? The assets themselves would typically be PD if they were generated by AI. What do you mean by the repo not having any history? Like if we had 50 portraits and then decided to increase that to 100 portraits I'd expect that to be another commit, not a force-push which removes history. |
We might release the code used to generate the images under the MIT. As for the images, we may add a rule to force the usage of a cdn and similar conditions. The idea is indeed to not keep history and force push commits. For additions this is potentially optional. For requested changes/image replacements it's not. Because otherwise the image is still there. |
Split from #3126 and #465 to keep the discussion clean for future referencing
Clear and concise description of the problem
Glossary:
Currently, we rely on external services to provide/manage the images. These external services sometimes get shutdown down or get bought by third parties. Linking to these services makes us dependent on things outside of our control and might cause TOS isssues for our users. The hosted/linked images may or may not be appropriate for professional contexts.
faker.image
functions #556Suggested solution
Hosting our assets - folder disambiguation
Pros:
Cons:
Hosting our assets - branch disambiguation
Pros:
Cons:
Hosting our assets - repo disambiguation
Pros:
Cons:
Additional suggestions
Providing metadata with our assets
If we add metadata next to the images, it might help users trying to analyze the assets by allowing them to verify their results using the metadata.
To ease usage of the metadata, these should be in an easily parseable format - preferably json as we are a JS library.
If we add these metadata, these should be part of the API contract, otherwise nobody knows that they are there and are stable to use.
Including these metadata in the API contract requires them to be properly typed (per method).
Before, we discuss the pros/cons and make decisions, please first state any additional related issues, requirements, suggestions and ideas related to the faker assets.
The text was updated successfully, but these errors were encountered: