Feature Request - Download All Blocks Individually in One Click as PNG

Hi everyone,

I would like to request a feature to download all blocks individually in just one click in addition to existing features, instead of selecting individual blocks like procedures, global variable, etc. to download as PNG image that would be time consuming selecting so many blocks.

Naming of each block for download is automatic, like using the procedure name, global variable name, click event name, drag event name, etc with date time appended at the end.

It would prompt the user for duplicate files to overwrite or make a second copy by appending like copy, copy(1), copy(2) in the file name. Or with an option from prompt to just auto increment the duplicate filename. It may conflict with the date time appended at the end or can choose which is better.

This is useful for,

  • easier management of individual blocks and faster downloading of blocks locally.
  • having individual copies of all blocks
  • easier to edit individual in different session of MIT App Inventor then replace to actual project since the blocks editor is very slow when project has so many blocks already
  • also faster than using back pack when working due to slow web response as the case mentioned above (this feature won't replace the benefits of using back pack)
  • can save more time for more productive app development
  • maybe there are other uses not mentioned that the community may have




That is an interesting idea Ferdz, thanks for taking the time to propose it.


I'll have to think about this. One potential issue might be if browsers block creating so many downloads at once. We may need to create a ZIP containing the individual PNGs instead.


Great! I agree with the ZIP for the said potential issue. Adding to the request, I propose to use the project name as filename for the ZIP and can determine duplicate file and the ability to increment filename or date time appended at the end of filename if ever ZIP is used. Thanks.


In addition, it would be very helpful if it will download the block/s automatically in expanded block form even it is in collapsed block in the block editor. This way if I just want to view it only locally, I do not need to open it in another instance of app inventor just to expand the block to view and maybe this could help free some server usage on the app inventor.

I'll have to think about that. The way that the mechanism is implemented is that it renders the subfigure onto an HTML canvas to convert it into a PNG. We'd likely have to create a new Blockly workspace as an intermediate to contain the expanded blocks before following the existing rendering path.


It is best to do this so that it does not burden the browser even more. Now chrome works very badly with lots of blocks. Blocks won't open, chrome reports "page not responding" error. I think google broke something in chrome or chromium, because all chromium-based browsers not work. Firefox works fine.