In this week’s installment of Hacking Higher Ed, I had a fun and informative experience playing around with different video streaming systems. I played with Wirecast/Wowza, and then tested the Google Hangout and OpenTok APIs. I saw the Pros and Cons of each system, and came away with an exciting plan to combine live video with a discussion-based platform.
But first, on to my live-steaming experiments.
Wirecast/Wowza with an embedded chat (http://www.learnitlive.com/view.php?esession_id=282&provider_table=wow2_live)
I’ve been a big fan of Wirecast and Wowza for a few years now. It’s a very reliable system for easily streaming live video (and generating recordings in the process).
In fact, my company has been using Wirecast/Wowza to hold live classes for a couple years. People need to register for the class, and then they’re able to access a page like http://www.learnitlive.com/view.php?esession_id=282&provider_table=wow2_live. Building this page within our broader platform is nice, because it allows for an authentication system where only registered users can access the class page.
Using Wirecast/Wowza, we essentially have created our own virtual classroom by embedding different html and JS-based tools on a page:
- The live streaming video with Wirecast and Wowza Media Server
- An embedded chat where people can exchange dialogue, link to Youtube videos, take polls, send files, etc. (bottom right)
- An embedded Twitter feed for the class (bottom left)
And what’s nice is that after the live stream is over, a recording of the class can be placed on the page (so the class lives on as people watch the recordings).
An issue with this system is often you want more robust chat, screensharing, and a stronger classroom identity, and you want it all integrated together.
That type of system is exactly what Google Hangouts and Skype do really well, so I decided to play around with the Google Hangout API.
Google Hangouts (http://itp.nyu.edu/~sjs663/hack-ed/google-test.html)
You can easily use the Google Hangout API to create your own Hangout app that can act as your live classroom (and the API let’s you customize many aspects of the classroom itself). For example, I set up the start of a really basic class page at http://itp.nyu.edu/~sjs663/hack-ed/google-test.html. You can imagine this page filled out with all sorts of needed classroom components:
- A big button to enter the live classroom (which is just a Google Hangout app that I have written using their API). People simply click the button to join the live class at the correct time. I’m still not entirely sure how to limit who can enter (so it isn’t a free-for-all). Need to dig around the API more.
- Class information and syllabus
- Discussion Board / Forum
- Links to download or view class content (supplementary videos, docs, presentations, etc.)
The Google Hangout API is really good (and I truly believe Google Hangouts could be the future backbone of live/online education). However, there’s still a couple of issues:
- Class recordings. While you can record the Hangout class to Youtube, there could be times where you’d prefer to restrict the class video (rather than place it on Youtube where anyone can watch). Wowza/Wirecast gives you complete control in that regard.
- Single Sign-on. Ideally, you’d want users of your system to be integrated into the Google hangout with the same identity (i.e. I’m Sam in ITP, and when I join the class, my user details should be passed along so I have a seamless identity). The Google Hangout is more about entering with your Google+ ID.
But the above could actually work quite well for an online learning system. Simply require everyone that signs up to your service to have a Google+ account (and make them sign up to the site with that account), and you’re in business. Students coming into the classroom will have a consistent identity throughout your application: from class registration, to discussion postings, to the live classroom — they have the same Google+ identity.
However, there are legitimate reasons not to want to limit users to a Google-based system, so I also tested a more open video streaming platform.
OpenTok (http://itp.nyu.edu/~sjs663/hack-ed/tokbox-test.html)
I love OpenTok.
It’s a dead simple Javascript-based video streaming system that allows you to embed live streams on your page (but they are running on the OpenTok server, which is convenient). The API has everything I’m looking for in an embeddable live video tool:
- User authentication, so you can pass user details into the page
- Role authentication, so you can give some users broadcast privileges and others not
- It has code for both Web and Mobile compatibility. And if the browser supports WebRTC, it uses that.
- It has the ability to record and archive, and then playback via the same infrastructure
I’m quite intrigued by the possibility of OpenTok powering the video component of an online education platform. It seamlessly embeds on both Webpages and in Mobile apps, and can be combined with chat/discussion tools and user-authenticated systems. There’s a lot there.
Next Steps:
I’ve become really interested in combining a robust chat/discussion system with live-streamed video on the same page. I am envisioning a system where each course is essentially a forum, and each forum thread is a single class with a live stream video at the top (and then the class discussion takes place underneath). OpenTok looks ideal for the live video component. But I need a more robust discussion/chat platform.
And I’m in luck. An open-source real time discussion platform was just launched by the guy who created Stack Overflow. It’s completely open and can be customized to one’s needs (they want it to be the WordPress of discussion platforms). It’s called http://www.discourse.org/ and I’m planning to start playing around with customizing it to see if it could power a full-fledged school. My thesis is that live/recorded video (Open Tok) combined with a robust discussion platform (Discourse) is really all you need to power a a very effective online school. We’ll see.