How do I use legacy mode

I try and connect to http://ai2.appinventor.mit.edu but it redirects me to https://ai2.appinventor.mit.edu

I am trying to get android 2.1 to work (just to see if it connects) but it says I need to update (last compatible version is 2.46) and it says I have to be on http but I can't. Do I use a different browser? how do I force http://?

Hmmm, sysreq page says 2.1 is supported?

https://appinventor.mit.edu/explore/content/system-requirements

Don't think you can load AppInventor with http:// now

Yes, it does say that it supports 2.1 but 2.77 wont install, only 2.46 (last version I found to actually do something)

We need to correct that page. We dropped support for Android < 4.0 last summer. The latest companion version to support Android 2.1-3.3 was 2.75, I believe.

1 Like

How come that I can only install 2.46 and lower

I don't know. You can use adb logcat to get a specific error message.

Here is a link to the 2.75u companion.

Can you tell us more about your device?

Ok, yes I know this device is weird, but it is a rooted 2011 nook simple touch, running android 2.1
EDIT: I will try that apk.

It didn't install, I'll try it with adb

It never installed. Is there a mit app inventor classic site that I could possibly use?

No.
This is an older version of the App Inventor companion (not Classic)
App Inventor Classic has been shut down in July 2015 more than 10 years ago

Taifun

Were you able to get an error message using adb logcat? That could help us pinpoint the exact reason why it is failing.

All of our servers now expect to use HTTPS. The legacy connection mode in newer App Inventor companion versions have logic to deal with this, but older companions do not. We have to figure out why the companion is failing to install. I do have one theory, and will try to build you a custom companion that could test it.

Edit:

Here is a copy of companion version 2.63. It was the earliest one to support the popup based workaround to legacy mode when we switched to HTTPS.

Here is a special version of 2.63 that removes some pieces of the companion that could be problematic on your older device.

Let me know if either of these work.

I don't think this is really an issue of App Inventor Classic. It's more about the fact that older companion apps only ever expect App Inventor to connect via HTTP, which browsers only support when the website is served over HTTP. We now use HTTPS on all App Inventor production servers, which breaks older companions that don't know that.

I'm stuck on:
20 Establishing Secure Connection

with the special version and it also says no such method java.lang.stringisempty even before fully connecting

EDIT: the non-special version wont install

I meant like a old mit site that i could connect to with my device since those versions were more supportive of android 2.1

The server that contained the site was taken down from service about the time App Inventor Classis was mothballed. You would a compatible Companion for App Inventor Classic. Sorry you are probably discovered in searching that server is no longer maintained. You would have to make your own server,
load your own code on the server etc. :disappointed:

You might read a similar thread started recently where someone is interested in resurrecting App Inventor Classis and the original alpha version of AI that was created by Google. See Old MIT App Inventor - #10 by Gino_Enzini

Regardless of which version you use, make sure you check the Use Legacy Connection box before scanning the code.

I thought the http site didn't work?

In the older companions, legacy mode worked by having the browser talk directly to the web server running in the companion app. This doesn't work when App Inventor is served over HTTPS because the browser wants the target server to also be served over HTTPS. This isn't possible on the phone since it doesn't have a publicly reachable DNS name.

When we switched over to HTTPS, we updated the logic in the companion app to use a proxy window that can be over HTTP, and there is a JSON-based message passing protocol between the HTTPS and HTTP windows. This is why you needed a newer companion than the one you were you using.

However, it seems like your Nook may be an x86-based Android device (very rare), and we never bothered to put the x86 library in for WebRTC because these devices were basically non-existent. By removing the extra WebRTC libraries, it stop Android from trying to validate the presence of the missing library and allows the install to continue.

So try the Use legacy connection with the version I sent with the WebRTC libraries stripped out and see if that works.

I did a google search by the way, everything seem to be pointing to a arm processor:

CPU 800 MHz TI OMAP 3621
The Nook Simple Touch (released in 2011) is based on the ARM architecture

I will be testing it later.