We are working toward the next release of App Inventor. ai2-test has been updated. This is a components release and will come with a new companion, which you can download from the test server (under Help > Companion Information). Some highlights in this release include:
Apps now target Android 10.0 (SDK 29), required for submitting apps to Google Play starting August 1
Copy and paste support in the design view
App size increased to 30 MB
Drag and drop projects into App Inventor (includes dragging links to AIAs posted in this community)
Exported block PNGs are created at 144 dpi for higher quality images
Components can be used as keys in dictionaries
For full release notes that you can comment on, please see this Google Doc:
A special thanks to all of our open source participants who have contributed features and patches in this release.
Regards,
Evan W. Patton, Ph.D.
On behalf of the MIT App Inventor team
Note to folks with Chromebooks who want to test. There is a link in the release notes that lets you sign up for the Beta version of the MIT AI2 Companion. Once you sign up your devices will automatically update to the Beta release. The Beta companion should work just fine with ai2 (our production service) as well as ai2 test.
@ewpatton I am new to beta testing so please correct me if I am wrong. I don't see the different API levels in the build menu anymore. I know you guys are trying to switch to API level 10, but are the others still going to be there?
On further thought, the extra logic to force the user to have at least 2 sockets to an OR block is not only a burden, but also avoidable.
The text JOIN block and the MAKE A LIST blocks gracefully allow all their sockets to be removed, and respond logically at run time.
JOIN devolves into an empty string at 0 sockets.
MAKE A List devolves into a CREATE EMPTY LIST block at 0 sockets.
OR(x) should be legal, and evaluate as x.
OR() should also be legal, and evaluate as FALSE. (The identity value for OR(FALSE,x)=x)
AND(x) should also be legal, and evaluate as x.
AND() should be legal and evaluate as TRUE. (The identity value for AND(TRUE,x) = x)
Indeed, 0 is the identity value for the + operator, and 1 is the identity value for the multiplication operator.
(There is probably a math term other than "Identity value', but I can't remember it.)
P.S. Change those > to ==> so they don't look like GREATER THAN operators.
While I agree with the technicalities here, I don't think it's really all that helpful in a language that's aiming to be approachable to non-programmers. For example, can you tell me which blocks these are?
My reasoning for preventing being able to reduce the number of inputs below two is to prevent these types of ambiguities. I've added this to our agenda for our staff meeting today (we can always relax the restriction at a later time).
I personally found the discovery that I could remove inputs to math operations a pleasant surprise, like the discovery of zero across domains.
It tickled my math funny bone.
Why deprive students of that fun?
(Further thoughts, probably too late for your staff meeting ...)