Would it be possible...?

Hi all,

I am a complete noobie to commercial programming - as a matt of fact I am a… Fortran 90 programmer.

I am currently a Physics professor in a University in Brasil, which has just created a professional MSc in Physics teaching. I am currently interested in programming for creating educational apps for use in active learning classrooms, and I suspect that Corona could be a good choice for my project, but I am not sure of that. So, I’d like to ask a few questions about Corona’s capabilities. I’m truly sorry if these questions have been asked (and answered) before.

My idea is to implement a version of clickers (such as iClick) but using smartphones, such as android phones and iPhones, and tablets (android and ipads). My idea is that the teacher would have a tablet, which would work as an application server for the phones and the other tablets. The teacher’s tablet would run a program that would display multiple-choice questions on a screeni, and would also run a simple app on the client phones and tablets that would be a set of five buttons labeled A-E, corresponding to the possible answers of the question displayed.

Since this would be used in schools in which access to internet is rather bad, it would be interesting to have the connections made through bluetooth.

Therefore, my questions are:

  1. would it be possible to run an application provided by the teacher’s tablet on the students’ devices without have them download and install the app?

  2. would it be possible to make this (running the app remotely on the students’ devices, and receiving their answers) through a bluetooth connection?

  3. if the answers to (1) and (2) would be “yes”, any tips on resources which I could consult?

Thanks,

Marcos.

  1. No… sort of.  Google and Apple have pretty strict controls over how things get on apps.  They will not allow one app to install apps on another device like that.  Apple for projects like this have a pretty ridged concept of an AdHoc application.  You can have up to 100 devices (and you have to get the device ID’s in advance of building) total use an AdHoc build.  You can only change the device ID’s once per year and you have to build your app against this device list.  Then for those devices they can install your app outside of Apple’s iTunes store using a couple of different well-regulated Apple methods.

The Android world is a bit less restrictive with this regards.  You still can’t have one app install apps on other devices, but most ever Android device supports the concept of “Side loading”, where you can set a setting in your Android device where you can download apps from untrusted sources (trusted sources being Google Play, Amazon, etc).   Once an android device allows these untusted apps, then apps can be emailed to phones, downloaded from any website, or plugged in via USB to a computer and transferred and installed that way. 

  1. For what you are wanting to do, there is no Bluetooth support in Corona SDK.  It would have to be done over WiFi.  You wouldn’t need good internet, but you would need good WiFi (and you could set up your own WiFi router in a class room that wouldn’t even need to be connected to the internet).  It won’t be easy.  You would have to setup your teacher’s ipad to listen on a TCP/IP socket and fetch data from your student’s apps.  But this can be done.  There are several apps out there for the OUYA console (Android) that use iPhones and Android devices to act like game controllers to this Android console.    In fact one of our community members here, M.Y.developers has created a product called “Autolan” which makes it super easy to connect devices over WiFi to each other.  I don’t have a lot of experience with it, but people can do some cool stuff with it.

I would think your best bet would be to build your remote/client and distribute it for free through Apple’s iTunes and Google Play, that way people can pick it up for free and get it installed on your app.  Then you could build your server piece on your device using the AdHoc method for Apple (since its only going to impact a few instructors devices)  or sideload the server on to Android tablets. 

You of course will still need to work out whatever protocols you need to login the students in and collect their answers, but I would think this is doable.

As far as resources, I would start with checking out M.Y.developers and their AutoLan product.

  1. No… sort of.  Google and Apple have pretty strict controls over how things get on apps.  They will not allow one app to install apps on another device like that.  Apple for projects like this have a pretty ridged concept of an AdHoc application.  You can have up to 100 devices (and you have to get the device ID’s in advance of building) total use an AdHoc build.  You can only change the device ID’s once per year and you have to build your app against this device list.  Then for those devices they can install your app outside of Apple’s iTunes store using a couple of different well-regulated Apple methods.

The Android world is a bit less restrictive with this regards.  You still can’t have one app install apps on other devices, but most ever Android device supports the concept of “Side loading”, where you can set a setting in your Android device where you can download apps from untrusted sources (trusted sources being Google Play, Amazon, etc).   Once an android device allows these untusted apps, then apps can be emailed to phones, downloaded from any website, or plugged in via USB to a computer and transferred and installed that way. 

  1. For what you are wanting to do, there is no Bluetooth support in Corona SDK.  It would have to be done over WiFi.  You wouldn’t need good internet, but you would need good WiFi (and you could set up your own WiFi router in a class room that wouldn’t even need to be connected to the internet).  It won’t be easy.  You would have to setup your teacher’s ipad to listen on a TCP/IP socket and fetch data from your student’s apps.  But this can be done.  There are several apps out there for the OUYA console (Android) that use iPhones and Android devices to act like game controllers to this Android console.    In fact one of our community members here, M.Y.developers has created a product called “Autolan” which makes it super easy to connect devices over WiFi to each other.  I don’t have a lot of experience with it, but people can do some cool stuff with it.

I would think your best bet would be to build your remote/client and distribute it for free through Apple’s iTunes and Google Play, that way people can pick it up for free and get it installed on your app.  Then you could build your server piece on your device using the AdHoc method for Apple (since its only going to impact a few instructors devices)  or sideload the server on to Android tablets. 

You of course will still need to work out whatever protocols you need to login the students in and collect their answers, but I would think this is doable.

As far as resources, I would start with checking out M.Y.developers and their AutoLan product.