You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Option to export projects to Android and/or iOS #22
It would be really cool if students could generate links to install their projects as Android or iOS apps on a phone or tablet. The app would be a web view, wrapped as an application with a set of generated files.
Concerns:
The set of available events would be much smaller. It may be that we should simplify the event model anyway to include just mouse moves, clicks, and drags.
iOS might not be possible without the student either jailbreaking or getting a $100 developer license. Android would require enabling third-party apps.
I had always envisioned the feature using Cordova (https://cordova.apache.org/) to build applications out of specific student programs. So rather than having a CodeWorld application on the phone, one could create an application out of one program, and share it with friends.
That said, though, I can still see the benefit in also having a single CodeWorld home app that lets students choose and run any of their saved projects. This would avoid the problem with needing an iOS developer license, or needing to enable third-party apps in Android.
My vote would go for both. But if I had to pick one, I'd go for building stand-alone mobile apps, rather than having one centralized app. The reason is that I want the project to feel more real to students. I want them to say "this is the app that I made" rather than "this is the CodeWorld app, that I use to do my school projects."
There's also been a consensus reached on the event model, which is not documented here. Here's what we want there:
The Event type stays the same.
On touch interfaces, treat the touch pad as the mouse. Obviously, MouseMovement events will only be delivered while dragging, since there is no such thing as hover. Other conventions like two-finger tap for a press and release of the right button are fine, as well.
For keys, we offer a choice of several common keypad types, in the UI for exporting to mobile. For example, "no keys" should be a choice, as should "arrow keys and space", "numbers", etc. The keypad will be rendered on-screen.
To diverge into some philosophy, I think one thing that's missing with a lot of learning-to-code platforms for elementary school is a tangible result. This is fundamental: if coding is introduced as something you just do on a web site like an educational activity, the whole motivation for it is missing! But that's what platforms like Hour of Code, Tynker, etc. do. And, unfortunately, it's what CodeWorld does, too, today.
We want to change this. We'll go all in, for example by rebranding the in-browser window as "Preview" rather than "Run", and redoing any educational materials, to make it clear that CodeWorld isn't just an activity that you do and forget; it's a tool for making things -- tangible things, that you can keep and show off.
I will be filing more issues to capture other kinds of artifacts, such as: more easily exporting drawings as images; exporting animations as animated gifs, or as videos; exporting projects of all kinds to Facebook, Instagram, etc.
I couldn't agree more! I was actually thinking about this myself. Images are OK, but one of my students wanted to create an animation
that he had to submit to the College Board in video format. I wish I had been able to recommend Codeworld for it, but I had to
settle recommending Processing, because it allows you to export (and import!) images and animations :-(
To diverge into some philosophy, I think one thing that's missing with a lot of learning-to-code platforms for elementary school is a tangible *result*. This is fundamental: if coding is introduced as something you just do on a web site like an educational activity, the whole motivation for it is missing! But that's what platforms like Hour of Code, Tynker, etc. do. And, unfortunately, it's what CodeWorld does, too, today.
We want to change this. We'll go all in, for example by rebranding the in-browser window as "Preview" rather than "Run", and redoing any educational materials, to make it clear that CodeWorld isn't just an activity that you do and forget; it's a tool for *making* things -- tangible things, that you can keep and show off.
I will be filing more issues to capture other kinds of artifacts, such as: more easily exporting drawings as images; exporting animations as animated gifs, or as videos; exporting projects of all kinds to Facebook, Instagram, etc.
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
#22 (comment)
I don't know much about iOS, really. I've recently been told that there is a way for students to run apps on their own phones without paying the developer license. (It's unclear if we'd be able to build it for them like this on a server, or if they'd need to download project files and compile locally with XCode.) It's a shame they wouldn't be able to share their app with friends. But I've also been told that Apple's rules about interpreters in the app store make it unlikely that they would approve an official CodeWorld app that runs student projects, anyway; so neither option is ideal.
All of this is a pain, but it's Apple's walled garden, and we can't win if they choose to make it costly (or impossible). Given that, and the fact that Android has something like 88% market share, I am not worrying too much about it.
@CodeFunction I set up that bounty a while ago and I'd forgotten about it, but yes it's still good. In fact, I just doubled it. Please let me know if you're interested in working on this. I'm happy to discuss designs, set up chats, review work, etc.
I should clarify that the bounty will be awarded for something I can merge and release. There is a history of half-working attempts on this issue, including an abandoned pull request at #545, which might still contain some bits you can salvage.
@cdsmith I can use mit app inventor to create gui mobile apps and install them on android. Glide Apps is also good for creating android apps and desktop apps using spreadsheets or self created data. Please specify which type of app you want and I would make it for you using any of these two.
Activity
cdsmith commentedon Jan 20, 2017
I had always envisioned the feature using Cordova (https://cordova.apache.org/) to build applications out of specific student programs. So rather than having a CodeWorld application on the phone, one could create an application out of one program, and share it with friends.
That said, though, I can still see the benefit in also having a single CodeWorld home app that lets students choose and run any of their saved projects. This would avoid the problem with needing an iOS developer license, or needing to enable third-party apps in Android.
My vote would go for both. But if I had to pick one, I'd go for building stand-alone mobile apps, rather than having one centralized app. The reason is that I want the project to feel more real to students. I want them to say "this is the app that I made" rather than "this is the CodeWorld app, that I use to do my school projects."
cdsmith commentedon Jan 20, 2017
There's also been a consensus reached on the event model, which is not documented here. Here's what we want there:
Eventtype stays the same.MouseMovementevents will only be delivered while dragging, since there is no such thing as hover. Other conventions like two-finger tap for a press and release of the right button are fine, as well.cdsmith commentedon Mar 7, 2017
I'm getting more and more interested in this.
To diverge into some philosophy, I think one thing that's missing with a lot of learning-to-code platforms for elementary school is a tangible result. This is fundamental: if coding is introduced as something you just do on a web site like an educational activity, the whole motivation for it is missing! But that's what platforms like Hour of Code, Tynker, etc. do. And, unfortunately, it's what CodeWorld does, too, today.
We want to change this. We'll go all in, for example by rebranding the in-browser window as "Preview" rather than "Run", and redoing any educational materials, to make it clear that CodeWorld isn't just an activity that you do and forget; it's a tool for making things -- tangible things, that you can keep and show off.
I will be filing more issues to capture other kinds of artifacts, such as: more easily exporting drawings as images; exporting animations as animated gifs, or as videos; exporting projects of all kinds to Facebook, Instagram, etc.
alphalambda commentedon Mar 7, 2017
cdsmith commentedon Apr 30, 2017
I don't know much about iOS, really. I've recently been told that there is a way for students to run apps on their own phones without paying the developer license. (It's unclear if we'd be able to build it for them like this on a server, or if they'd need to download project files and compile locally with XCode.) It's a shame they wouldn't be able to share their app with friends. But I've also been told that Apple's rules about interpreters in the app store make it unlikely that they would approve an official CodeWorld app that runs student projects, anyway; so neither option is ideal.
All of this is a pain, but it's Apple's walled garden, and we can't win if they choose to make it costly (or impossible). Given that, and the fact that Android has something like 88% market share, I am not worrying too much about it.
cdsmith commentedon Aug 18, 2021
@CodeFunction I set up that bounty a while ago and I'd forgotten about it, but yes it's still good. In fact, I just doubled it. Please let me know if you're interested in working on this. I'm happy to discuss designs, set up chats, review work, etc.
I should clarify that the bounty will be awarded for something I can merge and release. There is a history of half-working attempts on this issue, including an abandoned pull request at #545, which might still contain some bits you can salvage.
ayushkumar63123 commentedon Nov 30, 2021
@cdsmith I can use mit app inventor to create gui mobile apps and install them on android. Glide Apps is also good for creating android apps and desktop apps using spreadsheets or self created data. Please specify which type of app you want and I would make it for you using any of these two.
Better error message when type from `codeworld-base` is hidden (googl…