Dr Chuck,
Thanks for the reply. I think what you are suggesting has a lot of
value, but doesn't solve my immediate problem nor a class of similar
problems where the instructor needs to supply "context" information to
the learning tool. Looking specifically at my situation with
podcasting, it's important to understand that different groups of
folks administer the iTunesU site and various Moodle instances on my
campus. While this arrangement may be specific to my campus, I don't
think it's unusual. An instructor wanting to use podcasting in their
Moodle course needs to first request a space for their podcasts from
the iTunesU team (an iTunesU course), then make those podcasts
available to students in their Moodle course. Somebody has to
associate the correct iTunesU course with the proper Moodle course,
and it needs to be done on an instance by instance basis. It's not
reasonable to expect iTunesU to set up this instance configuration
since Apple did not build in that functionality and we have no access
to do it ourselves. This information needs to be supplied at the
Moodle end. Furthermore, it's the instructor, not the site
administrator who has the information. It would make sense that the
instructor supply the name of the iTunesU course when adding the
iTunesU (BLTI) activity to their course as part of the configuration
of that BLTI instance.
Your question about the "glue" code between Moodle (or BLTI) and
iTunesU is apt. We do indeed run a web service (the Auth Server)
which has that function. Currently we have a locally written Moodle
block which talks to the Auth Server, and the Auth Server has all the
credentials needed to make requests of iTunesU. So, iTunesU trusts the
Auth Server, and the Auth Server trusts certain Moodle instances which
it knows through a configuration file. In turn, those Moodle
instances trust persons with the Instructor Role to configure a Moodle
block with Instructor and Student level access to iTunesU courses.
Once an iTunesU block is added to a Moodle course and configured,
Instructors can manage content on their iTunesU courses from Moodle,
and Students can download podcasts or subscribe to the RSS feed. There
is a home-grown secure protocol between the Auth Server and the Moodle
block. My proposal would not eliminate the Auth Server, but it would
eliminate the locally written Moodle block and replace it with the
more general and powerful BLTI module. This would eliminate my need
to port my block to Moodle 2.0 and also get me out of the business of
implementing a secure protocol between the block and the Auth Server.
Instead I would upgrade the Auth Server to work with OAuth and BLTI.
In the process, BLTI would become available for connecting Moodle to
other learning tools on our campus.
Lest you think that my particular situation with iTunesU is too
specific to influence the design of the BLTI user interface, I want to
describe another project I'm working on where BLTI could also play a
key role.
http://engage.wisc.edu/sims_games/index.html describes a
project which has developed a series of educational games that teach
content in a wide variety of disciplines. In one of the games,
students role-play cryogenic engineers who are assigned to work on a
variety of design problems ranging from MRIs and Mine Detectors to
Space Cryogen Depots. The instructor would like to assign several
instances of game play, one for each of the scenarios, at the
appropriate week or topic in their Moodle course. BLTI would be the
perfect way to make the connection between Moodle and the game, but
again, the instructor needs to supply "context" information specific
to each game scenario the students should play. I also happen to be
working on a game simulating use of the commodities futures market as
a mechanism for risk management for farmers, ranchers, and agri-
businesses. The instructor wants students to take on the roles of
"small grain farmer", "feedlot manager", "ethanol plant", etc. on a
weekly basis throughout the associated course. Again, BLTI seems like
the perfect connection point between Moodle and the game, but the
instructor needs to supply the context information of which scenario
the students should play each week. I'm sure if you think about it,
you will be able to imagine many other similar scenarios where a small
bit of instance configuration needs to be supplied by the instructor.
Now we come to the question of how should the BLTI user interface
accommodate these scenarios and how to make sure the interface is not
overwhelming to the instructor. My suggestion is that on the site-
wide BLTI administration page for a particular activity type, e.g.
iTunesU or CryoGame, the site administrator should enter a list of
context variables to be subsequently filled out by the instructor.
This could look similar to the "Custom parameters" box that's part of
that interface now, but instead of specifying site-wide parameters it
would specify place holders for instance configuration. In the
iTunesU example, the only place holder specified would be "iTunesU
Course" and in the cryogenics game the only place holder would be
"Game Scenario". Then when the instructor adds an instance of an
iTunesU or CryoGame BLTI activity to their course, they would have a
blank on the form with an appropriate label so they should understand
what information needs to go there. If they have done their homework
and have already requested an iTunesU course or already familiar with
scenarios of the game they're assigning, they'll know how to fill in
that blank. It won't be overwhelming.
I have some experience with Moodle coding, and it is possible I could
help out with both upgrading BLTI to Moodle 2.0 and extending the user
interface to accommodate this kind of instance configuration. That
would, of course, depend on our agreement that what I'm suggesting
would likely be of value not only to me and instructors at my
university, but also to other BLTI users in the future. Please let me
know if what I'm suggesting makes sense to you, and if you would like
to try to find a way to work together toward this end.
best regards,
-- mike