Performance of code.appinventor.mit.edu

Is there any difference between the performance of code.appinventor.mit.edu and ai2.appinventor.mit.edu or is it just that the former can handle more heavier projects?

A really good question because on ai2.appinventor.mit.edu the size limit has been raised to 30mb, which should be more than enough for most Projects if well defined.

1 Like

Well i know about the size limit specifications, but there isnt any other difference right?
In the speed, compilation or an other technicalities ?

Recently code.appinventor.mit.edu has been a way for Users to test forthcoming updates, nb185a being a good example.

So basically, the code.appinventor.mit.edu might have some bugs as the new versions of app inventor are tested on it? or are the updates seen to only a set of people

The other way round - if a few come across the same bug on ai2.appinventor.mit.edu, which has the latest release, then when a solution has been coded, it's made available on code.appinventor.mit.edu for those people to try (along with the Power Users). If the Users approve the fix, it gets included in the next release.

I do not know if that is a permanent role for code.appinventor.mit.edu nor if it is now the only role it has.

Oh ok.
But why don't the projects of ai2.appinventor reflect on code.appinventor and vice-versa on the same accounts?

Let's back up a minute because there are some inaccuracies in this thread.

ai2-test.appinventor.mit.edu is the test server with advanced access to new features and is used for testing functionality and bug fixes before they are released to the main servers. It runs on the same infrastructure as ai2.appinventor.mit.edu (Google App Engine). When we prepare a release, we first update ai2-test and then after we do internal testing and a period of time with no bug reports from other users, we push it to ai2. Functionally, the main difference between the two is that ai2 has the gallery functionality enabled and ai2-test does not.

code.appinventor.mit.edu runs on an entirely separate infrastructure (Amazon Web Services). We consider it a production service at the same level as ai2. It mainly differs by 1. offering an anonymous usage mode for Hour of Code (from which it derives its name); 2. no gallery; 3. larger build sizes; 4. accessible in China (due to not being in the Google cloud). We update code usually within a week of a release to ai2.

Each service is its own system with its own backend. Projects are not shared between them. You have to manually migrate projects from one to another if, e.g., you plan to test a feature on ai2-test.

2 Likes

Thanks for your time @chrisward and @ewpatton.
All my doubts about the two sites got cleared!
:smiley:

Do both

  • ai2.appinventor.mit.edu and
  • code.appinventor.mit.edu

generate the same keystore if you use the same account (gmail)?

I have never checked that because I always sign my apps with an external tool.

But some might be interested in whether one could switch between the two platforms with the same packageName and create / publish the APK (→ Play Store).

Technically, the keystore is generated by the buildserver. When you build an app, the project along with the user keystore, if any, is sent to the build server. If the project doesn't include a keystore, the buildserver generates it and returns it to the main server with the compiled APK. Future builds will send the same keystore that came back from the initial build.

The key generated for the keystore is pseudo-random, so if you build the same app on both ai2 and code, you will have different keystores. To ensure upgradability, you will need to export your keystore from ai2 and import it into code so that the keystores on the two systems are identical.

1 Like

Thanks, I thought so.

Actually Alaqmar_Bohori, my contribution only served to confuse matters more! Sorry about that, I was over-multi-tasking at the time.

No problem @ChrisWard!