Seeking Guidance on "Assets Library" Project Implementation for MIT App Inventor

Hii everyone,

I’m working on two proposals for GSoC, I’ve chosen the "Assets Library" project as my second option. I’m currently writing the implementation section and would really appreciate your feedback to confirm if I’m on the right track. Please take a look at my implementation mindset and let me know your thoughts!

Project Overview:
As mentioned in the project description, this project aims to enhance the app development experience in MIT App Inventor by allowing users to upload and organize sets of assets (like images and sounds) into a central library. These assets can then be easily imported into different projects, saving time and effort, especially for users working on multiple apps.

My Implementation Mindset:
Here’s how I’m thinking of implementing this:

  1. Central Asset Library:
  • Create a new section in the interface called "My Assets" for managing a personal asset library, placed inside the Palette section of the Designer.
  • Allow users to upload files at once, organize them into folders, and manage them.
  1. Importing Assets to Projects:
  • Add checkboxes so users can select individual assets, folders, or whatever they want to import.
  • Include a "Import" button (via a 3-dot menu) that, when clicked, opens a new interface listing things like delete,rename,import etc.
  • After clicking on "Import" we will show a pop in which list of projects where user want to import the Assets and provide checkboxes in this interface too, so users can select one or more projects to import the assets into.
  • After clicking "OK," the selected assets are pasted to the respective projects.

Questions for the Community:

  • Am I on the right path?
  • Does placing "My Assets" in the Palette section make sense, or should I consider a standalone section elsewhere in the interface?
  • How should I handle cases where an asset being imported has the same name as one already in a project (e.g., rename it automatically or prompt the user)?
  • Are there any performance concerns I should think about, like handling users with lots of assets or projects?

I’d greatly appreciate any guidance, suggestions, or feedback to help me refine this plan. Thank you so much for your time and support!
@ewpatton @Jeffrey_Schiller