Question regarding the "Shortcuts for project actions" proposal

Hi all
I have a query regarding the "Shortcuts for project actions" GSoC project proposal listed here.

I understand from previous discussions here and here that many of the pieces required to implement this have already been worked on, and that most of the pending work is to cohesively bring them together. What is expected of someone willing to take this up as a project?

The wiki says expected results are "A new layout for the My Projects page from which a new set of options for downloading different packages are shown. There's some initial work done on this so it could be expanded during the summer."

Could you please elaborate on what work has already been done?

Also, there was talk last year about modularising App Inventor's front-end and overhauling the interface/ux. Could some objectives from these goals be clubbed into this project, given one of the expected results here is a new layout for the projects view? If so, could you please share what work has been done and what is yet to be implemented?

Many thanks and regards
Vishwas

4 Likes

Hi @vishwas,

As I mentioned in last year's thread, the APK files are already stored in the datastore, and so long as the timestamps align there's not much point in recompiling the app. Otherwise, we'd need to recompile and trigger the download once the app compilation completes. AIA export via drag and drop is supported in Chrome, but a more accessible means by providing a clickable button to export a single AIA would be useful.

The current project list is implemented as ProjectList.java and handles the logic both for active projects and those in the trash. @Susan_Lane also has been cleaning up a PR that adds support for folders to organize projects, so we'd want to take that into account.

Because there are many published curricula and books on App Inventor, I think we would want to offer this view as an alternative that the user could control via the Settings menu. This would be one small part of the modularization of the UI. Time permitting, we may want to expand the project to include more of the modularization.

Cheers,
Evan

2 Likes

Thanks for the brief @ewpatton!

From what I've understood so far, some major objectives of this project would be to 1. modularise the projects view (and possibly other areas of the interface) and improve separation of concerns and 2. memoise APK compilations and make them easier to access while also taking into account how these visual changes will work alongside existing curricula & resources.

What would you say some of the concerns w.r.t. the existing interface that would drive these modernisations? To what extent do

  • accessibility
  • affordance (e.g., enabling students from non-English locales to associate actions with functionality without textual aids)
  • presentability (say, being able to tweak the functionality visible to the user based on how far they're on the learning curve)

and other factors influence the design decisions that would have to be made in a project like this? Are there any specific design pillars that you would like to see specifically emphasised?

Best
Vishwas

Hello again!

I was looking into interoperability of the proposed projects view with the existing interface, and one thing that came to mind is the increase in the bundle size of the generated module.

I stumbled across this issue here that proposes module splitting https://github.com/mit-cml/appinventor-sources/issues/2030

For now, it should be possible to separate the new projects view into its own module and load it only if requested. (http://www.gwtproject.org/doc/latest/DevGuideCodeSplitting.html)
We can further integrate this with LazyPanel to prevent loading the individual UI elements unless required.

What are the dev team's thoughts on this?

Best
Vishwas

If most of the resources are strongly cachable and placed in the appropriate static directory (e.g., icons), then I don't think there should be a significant increase in the bundle size. My guess is that it should only be on the order of 10 kB or so, if that.

1 Like

There is a larger issue of breaking up the UI into more modular parts, which is something we want to explore as part of the larger UI refresh, and so time permitting that could be part of the GSOC project.

1 Like

Sounds good, thanks for the feedback!

Hello
I've submitted a draft proposal in the GSoC dashboard that outlines an abstract of what I'd want to accomplish during the course of the contest. Would one of the mentors kindly be willing to take a look?

Thanks and cheers!

2 Likes

Thanks @vishwas. We will likely review drafts on Monday and leave feedback before Tuesday's deadline.

1 Like