« May 2006 | Main | November 2006 »

June 29, 2006

Java Java Java!

Every five years or so I take up Java again. In this case, I'm making a Java physics simulation that will run on the Unity server. The clients will be Flash. It's a cool rig because nobody has to work about having the right JRE but me. Everybody has Flash. Unity is cheap as free. I'm psyched about the next year's worth of development.

Java has a steep bump at the beginning of the learning curve. You've got to get your path together, find the libraries then figure out the javac and jar command line interfaces. Then you have the little matter of learning to code Java. The SDK has gotten better and Derek from moock.org is super helpful.

I've gotten over the hump. I have a custom room running on Unity and have established communication with the clients. Now I'm deciding what type of simulation I want to use for the demo app. I have a few things I want to demonstrate:

Synchronous multi-user interaction
Rich-media integration
Realistic physics
Persistent, real-time environment
SCORM gradable results

I'll think of something.

June 23, 2006

SCORM, Unity and Java

This week I've done my initial proof of concept prototypes. I have a SCORM module that does a synchronous multi-user interaction and reports to the Moodle grade book. I tried modifying one of the Unity example rooms to do a physics model on the server, but I can't compile without the additional source code that comes with the licensed version. The purchase order is in.

As a workaround I made a Flash movie to run on the server and coded a bouncing ball in actionScript. It's working ok, but the clients are showing some jittery motion, likely caused by the server side movie being almost in sync with the clients. I'm sure the server side Java will run much smoother.

It's been years since I played with Java. The stupid thing about command line interface is that 'Documents and Settings' likes to be called DOCUME~1. Even stupider is that dots in folder names won't resolve - Try CD j2sdk1~1. You can't get there from here. You have to rename the folder. Microsoft can't figure out how to fix their command line parser after all these years. Does annoying Java users help save the world somehow?

June 20, 2006

Spanking the uniMoodle

The uniMoodle URL is active. Unity is serving sockets like a sommelier. A synchronous application is running in the sidebar of my course. It works and I'm pleased as cheese.
One issue I had to clear up was detecting this._url and punching up the path of the xml config file. Same thing as in Vista, but easier because on Moodle files actually exist at a URL rather than in the RelativeResourcesManager (A.K.A. the Interzone).
My next step is to do a SCORM hookup for graded, group interactions. I'll also need to get the licensed uClient Core so the apps won't time out.

WOOHOO!

June 19, 2006

Flash Belt '06

I'll pass on the highlights of the first two days.
At the Adobe Keynote it was demonstrated that AS3 can run 10x faster than AS2 in player 9. I talked to one of the Adobe guys and there is no 3d hardware support in the works for Flash. Bummer.
Fuel Industries showed off some TV branding games.
The guys from Athletics were hilarious and talked about dealing with quick and dirty assets. See http://www.gamekillers.com/
Jeremy Thorp showed some cool graphic/audio applications for Darwinian evolution.
After lunch on the second day, I caught the first AS3 design patterns presentation and was nodding off every 10 seconds. Code in the morning please.
Finally, Burlesque showed how in the design world, busy is the new clean.

June 13, 2006

Rapid prototyping

I've just spent 2 days banging out a prototype of a genetics learning object. I love working fast. I have to get an interface up and running in order to really understand the underlying interaction design.

I generate a lot of kludge before I get my data structures figured out. I find it's easier to re-implement a simple kludge than to modify an elaborately planned architecture that didn't work out exactly.

Maybe it would be better to just sit back and attend meetings and wait for a consensus before writing a line of code. Tick. Tock. Tick. Tock. How many circles can I draw on one page of legal pad?

June 9, 2006

Wimba in Vista?

I’m going to name-drop every learning technology keyword in an attempt to show up in your search results. Google just adores uThink.

Wimba is online voice tools provided by Horizon Wimba. There are synchronous and asynchronous tools. The most interesting to me is the Voice Board. It allows you to display a web page and participants can do a threaded discussion with audio posting. Participants see a Java applet that does the recording and transmission. The audio is stored by Horizon Wimba.

Word on the street is that ADCS may or may not add a Wimba power link to Vista in time for Fall ‘06. How do I know? I went to one of the many informative events available at the U. In the interest of even more search results, here’s a list of events where you can learn about Wikis and PodCasts and Blogs.

The iRoc Club
Educational Technologists Forum
TEL Seminar Series
University Technology Enhanced Learning Leaders
Emerging Digirati

June 6, 2006

The birth of the uniMoodle

Project Description: persistent, synchronous multi-user simulations embedded in a Learning Management System. Another description would be graded rich-media group interactions. Virtual Lab.

A few weeks ago, I ported one of our Vista courses to the UofM Moodle Pilot Project. It works fine and I love the RSS sidebars. The only grief was converting the Respondus output to something Moodle would recognize.

I've reached the limits of Breeze Meeting syncSWF capabilities. The peer-to-peer event model isn't suitable for physics simulations in real time. Linking out to Breeze from a course is a drag and there's no way I know of to get a score back to Vista.

Moock is listed just before Moodle in the Nerd Dictionary. Why not run the Unity Multi-user Server on the same box as a Moodle? Unity offers a lot of the functionality of Flash Communication Server for a lot less money. In fact, the 5-user trial is free. That plus the $0.00 cost of Moodle is well within budget constraints.

M
Moneyball
Moock
Moodle
Moon Unit

The CCE OIS department is being super helpful in providing a box and configuration assistance. Once we have a working prototype, I'll show it off to OIT and see if they want to put Unity on their Moodle Pilot.

You heard it here first.

June 2, 2006

What I've been listening to

When I get into an album, I listen to it every day for months.

A few years ago it was The Soft Bulletin from Flaming Lips. I did a huge Access database project while listening to that.
Then I had a tape of the first two White Stripes albums in my van's tape deck for about a year.
Once I burned out on that I got new copies of Led Zeppelin Presence and Coda. If you haven't heard those, give them a try.
Recently a friend turned me onto the first two Os Mutantes records. It's Brazillian psychedelic rock from the late 60's, early 70's. See also Tecnicolor and Rita Lee (1972). They will be in Chicago at the Pitchform Music Festival on July 30th 2006.
I just got a copy of esquivel! space age bachelor pad music. Pow!

June 1, 2006

Sync SWF Overview

I've been working with a new extension for Breeze Meeting. The Sync SWF Meeting Extension allows remote instances of Flash movies to communicate in real time.

There are several use cases for synchronous rich-media interactions.
1) Shared interface - Multiple users have access to the same interface and see the results of each others' interactions.
2) Turn based game - Players take turns interacting with the interface. The interface would be rotated 180 degrees for one player, chess would be an example if this case.
3) Multi-player avatar game - Each player has a symbolic representation in the game interface. Joust is an example of this design.
4) Multiple workstation simulation - Each user chooses a workstation with it's own interface and interaction design. All users are working on a different part of a synchronous simulation. A lab environment would be an example of this design.

I have several prototypes developed to illustrate possible interaction designs.
Contact me if you would like a demo or more information.

Here's a link to learn about and download the Sync SWF Meeting Extension:
http://www.adobe.com/devnet/breeze/articles/intro_sync_swf.html