Discuss Scratch
- medians
-
Scratcher
1000+ posts
Suggestion!
Support, It would be coolBe constructive. “It would be cool” is not a reason to support.
anyway, no support because of moderation issues and people playing very loud musicagain, scratch isn't a browserScratch is not a browser.Most browsers can't autoplay sound until the user interacts with the page.
MOST
Most browser, but Scratch could
But a site, I meant
So it could support it!
- dertermenter
-
Scratcher
1000+ posts
Suggestion!
There seems to be a lot of issues that require other features (like songs scratch are allowed, mute button) to the point I don’t think scratch should put in the effort for a small customisation feature.
- ShyGamer16
-
Scratcher
500+ posts
Suggestion!
I think to some people this would be very annoying. Most people aren't even on profiles for that long in most cases you don't just go to people's profiles to listen to music. Also, what about copyright?
ShyGamer16
ShyGamer16
- Flowermanvista
-
Scratcher
1000+ posts
Suggestion!
Note: this post contains numbers that you may use. Read this post in its entirety and understand the caveats before using them - and preferably, link back to it whenever you use them so that others may understand the caveats.
Alright, I realize this is tangentially related at best, and I apologize for that (and for this post being the second wall of text I've posted on this topic) in advance, but I'm posting this as a public service - of course, “storage space” is a potentially valid concern whenever a new suggestion that would require storing things on Scratch servers is made. In that vein, I think it might be useful to estimate how much space that all Scratch projects take up, which would allow for some perspective when deciding if the storage needs of a new feature would be reasonable or not.
My methodology is as follows: Two hundred true random numbers (courtesy of random.org) from 1 through 600,000,000 were generated and used as the project IDs to be downloaded and used for my estimate. (Of course, some of them didn't exist, so some extras were generated as needed to bring the project total up to 200. I should also note that this estimate includes unshared projects, which made up 84% of the projects I downloaded.) No culling was implemented - if a project existed and loaded without throwing an error, it got downloaded.
Most projects were downloaded by clicking TurboWarp's “save” button, which saves the project as an .sb3, and here comes a caveat: the Scratch 2.0 project.json format is different and substantially more space-efficient then the one that Scratch 3.0 uses, so saving them as .sb3 files may skew the size estimate somewhat. I will admit that this was out of sheer laziness, as I was doing all of this manually because I don't know how to program - to take a detour to another website for the many Scratch 2.0 projects would be more effort than I was willing to put in.
A special exception was implemented for the two Scratch 1.x projects that I came across - these were downloaded in their original .sb format directly from projects.scratch.mit.edu, as that is how they are stored on the servers.
All of the .sb3 files were then extracted, and a duplicate cleaner was run on them to deduplicate all of the assets. This is done to simulate how assets are stored on the Scratch servers - that being that each unique asset is only stored once. This comes with a caveat, however: I can only deduplicate the assets within this group of 200 projects, so I can't account for any other duplicate uses of these assets outside of these 200 projects - which means that the final estimate is likely to be larger than the amount of space that is really used on Scratch servers. A larger group of projects would help alleviate this, but to completely account for it would require downloading every project on Scratch.
The uncompressed total of the 198 extracted projects, plus the 2 .sb files was 195,358,069 bytes (186 MiB), and the compressed total (with simple ZIP compression - if the ST does use server-side compression I don't know what kind, so this is just a guess) was 163,271,719 bytes (155 MiB).
Finally, we extrapolate this out to the total number of projects, which, as of writing this, is 580,245,250 (although projects are being created at a rate of several projects a second). We divide 580,245,250 by 200 to get 2,901,226.25, and then we multiply that number by the sizes of our 200 projects to get a final estimate of 566,777,957,932,111 bytes uncompressed (515 TiB), or 473,688,197,045,424 bytes compressed (431 TiB) for all projects currently on the Scratch servers.
Now, how this ties in to the suggestion: By this estimate, this makes it sound like adding music to your profile wouldn't really be a big deal at all, in terms of storage space (I should note that you can get a 2 TB hard drive for like $50):
WARNING: The numbers given here are provided in the hopes that they may be useful, but with no guarantee of accuracy or fitness for any particular purpose. Use them at your own risk - and if you want to use them in a different suggestion that would involve storing things on Scratch servers, try not to clobber each other over the head with them too hard.
As a final note, if you choose to replicate my experiment, please, please don't do it manually (it's a massive waste of time, just these 200 projects constitute 4 hours of my life I'm never getting back) - use/write a program to automatically download all of the projects in their correct formats, which will also make your estimate more accurate (for increased accuracy, you should also use a larger sample size). Also, make sure you don't exceed a total of 10 requests per second when downloading (any more and you risk getting banned from the Scratch API - it's never happened to me, but as I understand it, it's a fate I wouldn't wish on my worst enemy).
Alright, I realize this is tangentially related at best, and I apologize for that (and for this post being the second wall of text I've posted on this topic) in advance, but I'm posting this as a public service - of course, “storage space” is a potentially valid concern whenever a new suggestion that would require storing things on Scratch servers is made. In that vein, I think it might be useful to estimate how much space that all Scratch projects take up, which would allow for some perspective when deciding if the storage needs of a new feature would be reasonable or not.
My methodology is as follows: Two hundred true random numbers (courtesy of random.org) from 1 through 600,000,000 were generated and used as the project IDs to be downloaded and used for my estimate. (Of course, some of them didn't exist, so some extras were generated as needed to bring the project total up to 200. I should also note that this estimate includes unshared projects, which made up 84% of the projects I downloaded.) No culling was implemented - if a project existed and loaded without throwing an error, it got downloaded.
Most projects were downloaded by clicking TurboWarp's “save” button, which saves the project as an .sb3, and here comes a caveat: the Scratch 2.0 project.json format is different and substantially more space-efficient then the one that Scratch 3.0 uses, so saving them as .sb3 files may skew the size estimate somewhat. I will admit that this was out of sheer laziness, as I was doing all of this manually because I don't know how to program - to take a detour to another website for the many Scratch 2.0 projects would be more effort than I was willing to put in.
A special exception was implemented for the two Scratch 1.x projects that I came across - these were downloaded in their original .sb format directly from projects.scratch.mit.edu, as that is how they are stored on the servers.
All of the .sb3 files were then extracted, and a duplicate cleaner was run on them to deduplicate all of the assets. This is done to simulate how assets are stored on the Scratch servers - that being that each unique asset is only stored once. This comes with a caveat, however: I can only deduplicate the assets within this group of 200 projects, so I can't account for any other duplicate uses of these assets outside of these 200 projects - which means that the final estimate is likely to be larger than the amount of space that is really used on Scratch servers. A larger group of projects would help alleviate this, but to completely account for it would require downloading every project on Scratch.
The uncompressed total of the 198 extracted projects, plus the 2 .sb files was 195,358,069 bytes (186 MiB), and the compressed total (with simple ZIP compression - if the ST does use server-side compression I don't know what kind, so this is just a guess) was 163,271,719 bytes (155 MiB).
Finally, we extrapolate this out to the total number of projects, which, as of writing this, is 580,245,250 (although projects are being created at a rate of several projects a second). We divide 580,245,250 by 200 to get 2,901,226.25, and then we multiply that number by the sizes of our 200 projects to get a final estimate of 566,777,957,932,111 bytes uncompressed (515 TiB), or 473,688,197,045,424 bytes compressed (431 TiB) for all projects currently on the Scratch servers.
Now, how this ties in to the suggestion: By this estimate, this makes it sound like adding music to your profile wouldn't really be a big deal at all, in terms of storage space (I should note that you can get a 2 TB hard drive for like $50):
You'd need just above 108 times 16 GB to store all those songs, which is 1728 GB in total, or about 1.73 TB. All that just for songsHowever, depending on what assumptions you make about how many people would use the feature, and how big the ST would allow songs to be, your estimate could vary from this by a very large amount.
WARNING: The numbers given here are provided in the hopes that they may be useful, but with no guarantee of accuracy or fitness for any particular purpose. Use them at your own risk - and if you want to use them in a different suggestion that would involve storing things on Scratch servers, try not to clobber each other over the head with them too hard.

As a final note, if you choose to replicate my experiment, please, please don't do it manually (it's a massive waste of time, just these 200 projects constitute 4 hours of my life I'm never getting back) - use/write a program to automatically download all of the projects in their correct formats, which will also make your estimate more accurate (for increased accuracy, you should also use a larger sample size). Also, make sure you don't exceed a total of 10 requests per second when downloading (any more and you risk getting banned from the Scratch API - it's never happened to me, but as I understand it, it's a fate I wouldn't wish on my worst enemy).
Last edited by Flowermanvista (Oct. 7, 2021 01:01:22)
- samq64
-
Scratcher
1000+ posts
Suggestion!
How are you supposed to access someone's Scratch profile without a browser?again, scratch isn't a browserScratch is not a browser.Most browsers can't autoplay sound until the user interacts with the page.
MOST
Most browser, but Scratch could
But a site, I meant
So it could support it!
- hiPeeps124816
-
Scratcher
500+ posts
Suggestion!
??? im not entirly sure what your point is. No matter what timezone, i dont think you should be on scratch in the midlle of the night.because you cant sleep, your bored, you want to do smth on ur phone





