Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Etoys: update to SqueakJS 0.8.2 #64

Merged
merged 4 commits into from
May 21, 2016
Merged

Etoys: update to SqueakJS 0.8.2 #64

merged 4 commits into from
May 21, 2016

Conversation

codefrau
Copy link
Contributor

@codefrau codefrau commented May 3, 2016

resolves issue #54

@llaske
Copy link
Owner

llaske commented May 4, 2016

The activity freeze after displaying the main page :-(
May be it's related to a 404 error I have: "Download failed resources/locale/en/LC_MESSAGES/Monticello.mo".
Plus I'm slightly worried about activity size: 70Mb, the previous was only 2Mb. Is there a way to limit size ?

@codefrau
Copy link
Contributor Author

codefrau commented May 6, 2016

Previously, all the Etoys files were served from my webserver, the activity only contained the runtime. This means that running sugarizer would require a constant internet connection to my server (or some server that hosts these files). These files include Etoys itself, example projects, and translation files.

I did forget to include the translation files, that's why you got the 404 error. I just added them. Please try again.

@codefrau
Copy link
Contributor Author

Regarding activity size: Abecedarium is 136 MB and KAView is 70 MB so Etoys with 90 MB isn't entirely out-of-line. We could host some files elsewhere but then Sugarizer would depend on another service which is probably not a good idea, right?

@davelab6
Copy link
Contributor

@bertfreudenberg do these require all the data to be transferred before they can be used, as etoys does?

eToys does, but I think it just needs a modest loading progress indicator UI to make it totally acceptable - and since eToys has - from what I can see - unparalleled educational depth, I would love to see it more prominently promoted in Sugarizer :)

@codefrau
Copy link
Contributor Author

Etoys downloads ~22 MB on the first start and fetches more files on demand. All of these are cached locally in IndexedDB so repeated starts are faster (the "downloading" progress bar should only be visible on first start).

@davelab6
Copy link
Contributor

davelab6 commented May 19, 2016

AWESOME!!! It seems every time I have an idea about what should be done around Sugar Labs, I found it was already done but just not well positioned, hehheh :)

@llaske
Copy link
Owner

llaske commented May 19, 2016

Regarding KAView it will be removed in the next version. It was not a good idea to embed videos. It will be replaced by VideoViewer a single player without any content.
Regarding Abecedarium, if it don't find sounds/images locally, it automatically access it on line (same for FoodChain now). So when I'm generating the mobile version all sounds are removed from the package.
With that I could today generate a full Sugarizer Android APK package from only 40Mb.
In fact, I have no choice: Google Play Store, Amazon Store and Apple Store have limitation on package size (between 100-150mb max).
So unfortunately 90Mb for EToys is an issue.

@davelab6
Copy link
Contributor

davelab6 commented May 19, 2016

unfortunately 90Mb for EToys is an issue

Its an issue for the Client only; the Server is fine, even over the regular internet.

Therefore I recommend writing the Client build script to leave out KAView and Abecedarium and eToys.

@codefrau
Copy link
Contributor Author

codefrau commented May 20, 2016

@llaske we can split Etoys into a client and a server part. Basically the whole resources/ directory (88 MB) could remain on the server. How would we go about that? The index.html needs to know the server URL.

@llaske
Copy link
Owner

llaske commented May 20, 2016

Nice idea to split between server and client. We could consider that the URL will be "http://server.sugarizer.org/activities/EToys.activity/". It's exactly what is done in Abecedarium activity: https://github.com/llaske/sugarizer/blob/master/activities/Abecedarium.activity/config.js#L5

@codefrau
Copy link
Contributor Author

I think all that is needed to make that work is to replace "resources/etoys.image" in https://github.com/bertfreudenberg/sugarizer/blob/master/activities/Etoys.activity/index.html#L30 with "http://server.sugarizer.org/activities/Etoys.activity/resources/etoys.image" in your build script. Then you can bundle everything except the resources folder into your local installation, that's only about 2 MB (and if you want it even smaller, leave out the squeak.min.js.map file, which is only needed for debugging). To start Etoys the first time it will need internet access, however.

@llaske
Copy link
Owner

llaske commented May 21, 2016

Nice ! it perfectly works. I'm going to update my packaging process to handle that.

@bertfreudenberg one more question: do you think it's to possible to use the journal in some way in the activity ?

@llaske llaske closed this May 21, 2016
@llaske llaske reopened this May 21, 2016
@llaske llaske merged commit 1ecc2ca into llaske:master May 21, 2016
@llaske llaske mentioned this pull request May 31, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants