Today we are bringing you exciting news–in conjunction with the App Inventor Foundation, we are starting a collaboration with Kodular to integrate their modern UI, new components, and various other features into future versions of App Inventor!
Kodular was started back in July 2017 as a “fork” of the MIT App Inventor 2 project. Since then, their team has added many features to what is now known as Kodular Creator. Their team has ported features back into AI2 and some of them even worked with MIT App Inventor as a part of programs like Google Summer of Code.
The Kodular team will start by donating the Kodular Creator software and integrating portions of it into the App Inventor platform over the next year. What does this mean?
App Inventor will be rolling out technical changes that will support different interfaces for the web editor. This will enable a huge revamp in the App Inventor User Interface, moving it to a more modern look and feel. It may not look exactly like Kodular Creator if you are familiar with their platform, but the idea is to improve the user experience and tune features according to user feedback.
App Inventor will receive a bunch of new components and features that were available in Kodular Creator but not in App Inventor. A lot of new functionality will appear for App Inventor developers!
Kodular will also develop a couple of new features for App Inventor, and continue to contribute on a regular basis to the development of the App Inventor platform. This will benefit the entire App Inventor development community.
You may be wondering how this process will look. Well, the Kodular team will be actively contributing to the open source repositories of the mit-cml organization. You will be able to see how the progress is going, and even provide feedback for this migration!
And the big question is: When is this going to happen? We are targeting this coming year for the beta release of this next version of the App Inventor platform. Don’t worry, the old AI2 UI will remain an option, and existing AI2 projects will be forward-compatible with the new version.
This is an initial announcement, and we will be updating the App Inventor Community with details throughout this year. We are really excited about this collaboration, as we will be building a much more modern and powerful platform for you to build all of your apps!
Cheers,
Evan W. Patton, Ph.D., Lead Software Engineer
On behalf of the MIT App Inventor team
Dear @Evan,
in this world in which seems that everybody is fighting against each other, this announcement of cooperation let us hope for a future **better **, than that we could expect.
Thanks to AI2 and Kodular Teams.
All Kodular-related questions like what will happen with Kodular Creator are listed on Kodular Community respective announcement:
To keep it short, we'll deprecate Kodular Creator and eventually shut it down once Kodular projects can be migrated to App Inventor. We want to avoid maintaining two separate platforms, and we will contribute to the development of the App Inventor platform.
To add my thoughts as well: By establishing a formal collaboration with the Kodular team it frees up some of our resources on the MIT side to focus more on iOS related functionality, particularly the build infrastructure, to better serve the users of both tools.
How about also allowing users to choose for different block color schemes? Users complain that AppInventor colors are "too dark", but I would want to use the current color scheme.
Sorry to say this, but I would like to be a bit critical here. These are just my thoughts.
Are monetization components also available? AppInventor was intended for educational purposes, and with the addition of monetization components, AppInventor would turn commercial.
There are also some bugs with components in Kodular, for example, the additional features in Camera, File, and other components related to recent Android updates, reported by @Taifun and @Anke. Will these bugs be reviewed before their implementation?
Lastly, are the new components open source in the AppInventor repo? AppInventor is intended "free, open source and for all".
The main issue is that Kodular UI is not just a "color scheme". We have implemented some additional functionality which makes it not directly backwards compatible with App Inventor, like nested subcategories, a new color picker or the project settings modal. And this functionality cannot be implemented just with a stylesheet or color schemes.
There is a GWT refactor that @Susan_Lane and @vishwas have been working on (https://github.com/mit-cml/appinventor-sources/pull/2832). These changes allow defining the UI using UiBinder XML files (rather than pure Java GWT), so we may end up providing two different skins with different functionality: the "legacy" App Inventor with all the features you are used to, and the "Kodular" one with the new look and feel (including new widgets like the project settings modal and others).
About using additional block color schemes, it should be possible to use them, but for an initial approach we will be providing both AI2 and K UIs, and eventually, we can think about allowing users to import custom stylesheets.
No. App Inventor will have no hard-branded components, and this implies that any monetization component will not be natively available at App Inventor.
For Kodular users, as some of them are using these advertising components, we will provide a way to keep using them, but we still have to think about that (maybe as extensions, but we'll provide more updates on this at a later time).
Yes. All components and migrated code will be reviewed before becoming available. The main reason for this announcement is that, as Kodular staff will be contributing and pushing changes to the public sources, existing contributors can also check the progress and provide feedback on the Pull Requests.
Also, from Kodular, we would also like to review some of our components' APIs, meaning that some blocks migrated to App Inventor will not be exactly a 1:1 mapping to our sources.
Yep. All code that will be ported to App Inventor will be open-sourced in the same terms and license as the existing source code.
They are not yet available, but they will eventually be migrated.
It's fine to be critical. We understand this is a huge change, so all questions are welcome.
We know our UI has some usability issues, and we'll be constantly asking for feedback on possible improvements during the process. The UI migration is not going to be an exact copy of Kodular one but will address these minor issues to make it as comfortable for AI2 users as possible.
And it won't. As I said in a previous post, all code migrated to App Inventor will be manually reviewed, and we'll be addressing some known bugs during the process as well:
Using the AI2 colours for Blocks is pretty much essential. The AI2 IDE interface colours should be the default IMHO. However, perhaps the User could choose the IDE colours, given that the Kodular Users will likely migrate as well?
This could be a potential solution. At Kodular, we already have a "theme selector" where the user can choose which stylesheet they want to use (light, black or "bliss" IDE), but I think it only affects the IDE colors as such. We can explore extending it to the blocks editor, setting default ones to the more "natural" and comfortable ones.
But as said, when changes start going through, you will be able to provide comments and possible improvements on each specific change (this announcement is just the initial one so everybody is aware of the upcoming plan ). For example, we are aware of what @Kevinkun mentioned that there are too many "drawers" and "popups" in our UI, and it is something that will be addressed for AI2 but when we start migrating that specific change (otherwise collecting feedback is going to be a tough task).
I would say no to that Gordon because when we receive snapshots on the forum, the consistent colour of the blocks helps us to understand what they actually are.
The GUI (IDE) though - default = AI2 colour scheme with functionality for the Users to apply other GUI theme colours - that's a pretty common thing in other programming IDEs.
I don't want to spread a bad mood here, but I have my (quite justified) doubts - and for good reasons or to put it another way, because of bad experiences.
Kodular is currently not compatible with AI2. Importing projects from Kodular into AI2 is practically impossible. That may change, however, if cooperation is desired to integrate new components and features into AI2, I would have preferred it to be done with Niotron. Niotron has significantly fewer bugs and when I find and report some, they are fixed quickly. That was definitely not the case with Kodular. Let's hope that changes / improves.
However, if there were actually more time available for the implementation of iOS in AI2 with (after) a cooperation, that would be gratifying, because we have been waiting for an iOS build server for a very long time.