Learn something new: LearningSpace - Virtual Classroom
Interview by
Tara Hall
Level:
All
Works with:
LearningSpace - Virtual Classroom
Updated:
02-Dec-2002
This month we talk with John Martin, development team manager, and Amy Travis, product designer, about one of Lotus's latest products: LearningSpace - Virtual Classroom (LVC). Coordinating your product development team with other products is always a challenge—so imagine trying to do this while designing and developing a brand new product in only nine months. If that sounds more like an obstacle than a challenge, hear how John, Amy, and the LVC team overcame that obstacle.
What is LearningSpace - Virtual Classroom?
Amy Travis
LearningSpace - Virtual Classroom (LVC) is an application designed specifically for lightweight, real-time learning over the Internet. It's built on Lotus technology, specifically on QuickPlace and on a customized version of Sametime. It has a Domino front-end that handles user management, the course catalog, and other related tasks.
We believe there's a strong market for people who want Virtual Classroom capability to teach materials in real-time to an audience that is not local. The Sametime technology is a perfect delivery vehicle, and QuickPlace is great for our data storage. In LVC, the instructor uses QuickPlace to store the course materials, and then LVC sends those materials to the Sametime session. You will also be able to embed LVC inside of the upcoming Learning Management System product. When that product becomes available, Virtual Classroom will be a component that can be purchased separately. Then someone offering courses for Learning Management System can create—as part of their larger course that includes self-paced materials and other activities—a Virtual Classroom activity, which will be one of our Virtual Classroom sessions.
Are Domino, QuickPlace, and Sametime all required?
John Martin
Yes, we require Sametime 3.0, QuickPlace 3.0, and Domino 5.0.10.
Is Learning Management System required?
Amy Travis
No, LVC can be embedded in the Learning Management System, but it's meant to be sold standalone as well. The product that we just released is the standalone version. It will be an optional component of the upcoming Learning Management System release.
Was Virtual Classroom once a component of LearningSpace?
Amy Travis
To some extent. There was a Virtual Classroom component in LearningSpace 5, but LVC is a complete rewrite of that component. That component could not stand on its own, so it was always an activity within the larger LearningSpace product. When Learning Management System was being planned, there was a desire to rewrite the existing LearningSpace product from the ground up. And as part of that, a piece that we could deliver up front was the Virtual Classroom technology, which some people wanted independent of the larger LearningSpace product. For example, a single department could purchase LearningSpace - Virtual Classroom. It's not a really heavyweight learning environment. It's not going to be good for, say, tracking somebody's college course activity. But on the other hand, if you wanted to deliver information about a new software application to your sales force, or you wanted to deliver training on a requisition system or new HR capabilities, it's perfect for ad hoc training done not necessarily by training professionals, but by people who have information that they need to teach and disseminate.
You're not really targeting an academic audience then, is that correct?
John Martin
The academic audience would require a lot more functionality. Like Amy mentioned, LVC is aimed at corporate, in-house training areas or people who want to disseminate information to a select group of people at a particular time in the future.
Amy Travis and John Martin
Can you tell me a little bit about the different components of LVC? I know that there's a management server and a classroom server, is that correct?
John Martin
We have the management module on the catalog server. It manages the courses, the students, and the sessions that are going to be created for a particular course. For instance, I can create a session at 8:00 am tomorrow morning for a particular course, and I can have multiple sessions for the same course. We also have an administrative
functionality in our management module that allows an administrator to register students
and perform many
administrative tasks on the courses and servers themselves, if necessary. For instance, if a course's instructor suddenly gets sick and needs to be replaced with another instructor or a course needs to be canceled, the administrator can do that.
Students use the same interface to attend a class. Therefore, you could say that the management module on the catalog server is for the students, instructors, and administrators. Depending on their role, they see different tabs on the screen. The students can see a list of all the courses that they are attending. They also see a catalog of sessions that they can enroll in. The instructor sees those tabs because he obviously can be a student as well, but he also has the ability to create courses and to create sessions for those courses. The administrator can do it all, but the administrator has to be assigned as an instructor—he's not automatically made one. Everybody's automatically a student, but an administrator has the ability, as I mentioned, to look at the servers to see the status and to look at which students are already in the system. He can add users to the system.
But we also have this concept of self-registration. If the administrator allows it, then students can register themselves for courses. Students need only the URL to the system. Then they can put in their details, and they're registered into the system automatically. That's the management module on the catalog server.
Then you have the course server, which is basically QuickPlace
overlaid on Domino. The course server stores the content. An instructor in the catalog server can create a new course and then add content to the course. Internally a new QuickPlace is created and a link is then available in the course document on the catalog server to launch into the QuickPlace to add the content.
Under the covers that's what's happening, but from the front-end, instructors don't know that they're going to different servers.
After this is completed, the instructors return to the catalog server and create a session in the management module. They can schedule the session for a certain time in the future. The session is automatically put into the catalog, so that students who come into the system can enroll in the course.
About an hour before the course starts, LVC has to pull all of the information—the content—out of QuickPlace, get a list of all the students attending the class, and send all of this information across to the session server, which is basically a Sametime server, and the session is scheduled. This process generates a URL to the meeting, which students access via an enrolled session document in the management module on the catalog server. When the meeting starts, students can click a button to launch the session URL in a new window, and the students go straight to the meeting.
It's a real-time class, but can you program LVC to record a course to replay it later?
Amy Travis
You can use our interface to set that parameter. Sametime has the ability to record a chat or meeting. The Sametime servers are available as standard Sametime servers—we don't disable anything in Sametime. We just use a different code path to start the Sametime session.
One thing that we didn't mention is that the content and the catalog servers reside on the same physical server, so we use just two servers—the QuickPlace server and the Sametime server. But you can add as many Sametime servers as you want. If you have more than one Sametime server, we round-robin to find the next available Sametime server when we schedule the session. So users don't have to know which server the session is going to be on. They get a link to the session, and then they just go right in.
Do you recommend any specific server configuration?
John Martin
The server configuration is pretty much defined. You have one machine that contains the catalog and course server and then one or more session servers depending on the size of your user base.
Sametime servers can handle a fairly large load, so if your organization is small, one Sametime server is most likely enough. Session servers can also be added at a later stage and can be used immediately for scheduling sessions, whereby
we round-robin between each server to create new sessions.
To round-robin, are you using another server, like Cisco Local Director?
John Martin
No, we use our own custom code. We use the same technology from our Lotus Hosting Management System product, which has been around for the past four years, so this code has been tested well in the marketplace with proven scalability. We're happy with it for the moment, but obviously, we want to move forward and use something more standard, eventually.
Amy Travis
I think the plan is ultimately to plug in with the Sametime Enterprise Meeting Server (EMS), but that's not available yet, so we're relying on our own code to keep track of which servers are available and to keep track of where sessions are scheduled. But we're not doing sophisticated load-balancing, such as trying to figure out how many people are in a session to determine which server to use.
LVC uses Java and C and re-uses code from another Lotus product. Let's talk more about the technologies that you're using and which technologies you plan to use.
Amy Travis
As the underlying products that we're built on evolve, we're going to move with them. We don't have any plans to move before they do, but obviously we need to keep pace with whatever the data storage mechanism ends up being and whatever the live meeting technology ends up being. We're going to keep up with those. But we're not independently developing a path to those. It wouldn't really make sense for us.
QuickPlace is using Java, C, and XML. EMS uses DB2 and works with WebSphere. How difficult is it working with so many technologies and planning to work with new technologies, especially when you know that EMS may be released shortly, but you still have QuickPlace dependent on Domino?
Amy Travis
Our pieces are very separate, so there is some flexibility.
John Martin
Right, and also because they really are for the most part self-contained—QuickPlace has an XML API that we use now in LVC, so LVC makes local calls to QuickPlace using that API.
When EMS becomes available, we may enhance our API layer to accommodate this. It's going to be a step process. Eventually we may remove layers from LVC. Sometimes we have to add layers to accommodate what they're doing, but then remove them later if they're no longer required.
Amy Travis
We need to balance that with keeping a lightweight product. So the timing of it will depend on really bringing useful features to the customers, especially as we ask them to plug in different types of servers and upgrade their underlying technologies. So, I think our plan will evolve as those issues become clearer. We wouldn't want to force someone to have an extra server just for some call that we're doing adequately now until there's a clear benefit to them. Or we may build in some flexibility—an either/or kind of a situation. We haven't really decided that yet because we don't know yet what the benefits will be versus the cost to our customers.
How customizable is your product right now? Do you offer an API?
John Martin
It's not customizable and currently has no API. We designed and developed this product in nine months, but we put a lot of functionality in there. Because of the time scale and the problems associated with working with two products that were also under development, we want to enhance some areas that we didn't have time to focus on.
Amy Travis
The Learning Management System calls us through an API; we'll have that API available when the Learning Management System is released. So another product could use the same API once it's available.
Does LVC offer its own directory or does it work with external directories?
Amy Travis
We can work either way. We can work with an independent, LVC-specific directory. For example, this might be used in a small department looking for low cost of ownership or where people are going to register themselves. An LVC-specific directory would be a very good solution to getting up and running quickly. However, we work with an external LDAP directory as well. So, it's a choice—either/or. You can't do both, but if an organization has an LDAP directory and wants to configure LVC to use it, then that's an option for them as well.
Do you offer field mapping or attribute mapping of some sort so that if you wanted to map an external directory to LVC you can do that?
Amy Travis
We have certain expectations based on QuickPlace's requirements because we're layered on top of that.
John Martin
QuickPlace already has configuration XML files to perform LDAP field mapping.
Amy Travis
We piggyback off of their definitions, it's not a straightforward "Oh, here you go. Just type these in, you're all set" kind of arrangement.
Do you have any recommendations in terms of capacity planning for people? Have you done any sort of load testing?
Amy Travis
That work was done by Sametime. So the load that we recommend and the load balancing is the same one supported by Sametime because the bulk of the processing time is inside the Sametime meeting server.
Do you recommend that people cluster the Sametime servers?
John Martin
Probably not for this first release. From what we've been able to test with in the time that we've had, we didn't test LVC in a clustered environment. So, we don't know the implications of that. We wouldn't want to suggest people do that.
Amy Travis
Our round-robin approach provides a lot of the reliability that customers need. The way a typical Sametime meeting would work is that you would schedule a meeting for a particular server, and if something happens to that server, you better have a backup because at that moment, you're kind of stuck. It's already been arranged. With LVC, if you schedule a class for a month from next Tuesday, LVC doesn't schedule the Sametime meeting until an hour before the class. So, what we do is we say, "OK, who's up? You are, OK. You get the meeting, you get the materials."
So there's much, much less chance for failure for customers with multiple Sametime servers. In fact, we're checking whether or not the server is available pretty close to the time when you're actually going to attend the class. We have a one hour period where potentially there could be a problem between the time when we actually send the data to Sametime and when the meeting starts. But there's much less chance of a problem.
And if the meeting or the server should fail during a course, does your round-robin pick up the meeting and move it to another server?
Amy Travis
That's something we'd like to have for a future release, but it's not in this release.
Can users take advantage of everything that Sametime offers in terms of screen sharing, whiteboard, and so on?
Amy Travis
You can use all the tools that Sametime has. The environment that we have is an enhancement to regular Sametime. We offer a course outline during the session that you can choose materials from. The materials are all sent ahead of time, so you automatically have them available during the session. For example, you can enter your questions ahead of time so that during your session you don't have to say, "OK, now hang on everybody. I want to send you a question." You've got it there already—it's in your outline—you can just send it out to people.
Having the materials ready ahead of time is much lower overhead for the person running the session because he's got everything in front of him. So whether it's application sharing, using the whiteboard, sending a URL, or asking a question, the session is all set before it starts. In addition, the instructor can add materials during the session if he needs to—for example, if the instructor forgot to include a presentation that he wants to show.
We also provide some tools that do not come with standard Sametime, such as assessments. Assessments are sent during the session, but the results are tallied, scored, and saved. We keep track of the data so that people can conduct a course evaluations and other surveys.
John Martin
Information is also graded. When you create your assessments or questionnaires, you can determine whether or not a question has an answer, and if it does, you can specify the answers. LVC checks to see if the answers are the same, but they must be multiple choice or true/false questions. The user is sent the assessment during the session, goes through it, selects answers, then submits the assessment. The data is then sent back to the catalog server immediately, so the instructor and the student can see the results immediately.
Amy Travis
And the students can see their results, and how they did, and what they did right. So that's where it gets more like training and less like a regular Sametime meeting.
John Martin
But within Sametime, as I already mentioned, you can have questions. The assessment functionality is outside of Sametime. The typical Sametime functionality lets you send a question out and see the students' answers. When the meeting is completed, this information is not saved. Assessments have their results saved in the catalog server.
Amy Travis
Another feature that we have that is not in standard Sametime meetings is breakout sessions. These are sessions that happen within the main session. As a student, you are assigned to a breakout session. As an instructor, if you've got a class of 25, you can break it into some groups for some smaller discussion or to work on a problem and then come back to the class—the larger class—and discuss it. Students are presented with these other meetings—their assigned breakout session—and they show up right in the same interface. Whichever breakout session you have access to—the instructor can get to all of them—that becomes your interface, and you interact with the other students who have been assigned to that session.
John Martin
During a main meeting and breakout session, if participants save whiteboards, these files are brought back to the catalog server when the meeting is finished. But every time the save whiteboard functionality is enabled, the previously saved whiteboards are overwritten.
Amy Travis
In addition, we've done some work to simplify the user's experience as far as setting up a session and finding the recorded version, for example, or finding the data that was saved, such as who attended. We wrapped that into an easier experience for the user. They don't have to be experienced Sametime users to find their sessions again.
Earlier you mentioned ease of use. How do you manage that with multiple interfaces? You have the QuickPlace interface for loading content, the Sametime interface where class is actually taking place, and then you have the LVC interface. How do you make the classroom experience seamless for the end user?
Amy Travis
From the user testing that we've done, the QuickPlace is really invisible to the user. Users don't know that they're in a QuickPlace; they don't know that we've created it. The interface looks as similar as we could make it given the different structure of the products. As we've found from user testing, that piece is really not an issue. The disconnect comes when users click the button to join their sessions, which use the Sametime interface.
The instructors have an advantage over the students because they've put their materials together in the course outline, and then that outline comes right into their Sametime session. That provides some grounding, even if the Sametime interface is not familiar. What we found in our user testing is that experienced Sametime users said, "Oh yes, sure, this must be Sametime. Let me chat, let me do this, let me..." They were very comfortable in that interface. But people who hadn't seen Sametime before said, "Hang on a second. What are all these features?" So, I think that's something for us to continue to try to address in the future.
Our ease-of-use goals have really been two-fold. One, that the student interface would be extremely streamlined. And that the instructor interface would be usable by people who were not professional trainers. For students, they see the course catalog, and they see the tab that has the sessions that they're enrolled in, and that's it. Then, from there, they can get to their session, but there are very few things that they can do other than that. And that was intentional, so they wouldn't get overwhelmed by the different features. Students never even have to deal with QuickPlace, except to view the course materials. We wanted to make sure that the materials didn't get lost for the student so that they could preview the materials ahead of time, or they could get back to them later.
And for the instructor, we really tried to do two things. One is to make the information that they're presented in the QuickPlace as similar as it could possibly be when they were in Sametime so that the materials would be familiar. And also to make the QuickPlace look as similar as possible to our Domino management piece. We found during user testing that most users just had no idea that they were in QuickPlace, so
I think we did succeed with that part of it. The administrator is really much less of an issue because they're primarily working in the Domino piece. We tried to make it convenient for them to do the things they need to do.
John Martin
We also thought that the first thing you want to do is look at the course—look at the outline for the course—to see if it interests you at all. So, we allow them to do that.
When you were first planning for this product, how did you make the decision to use QuickPlace? Why not use Domino.Doc, an established content management system, to manage course content?
Amy Travis
Decisions are always funny because, of course, these products evolved over time. Some of our decisions were based on QuickPlace features, some of which ended up being just what we needed, and others not. Some of our decisions had to do with some thoughts about strategically where we wanted to move—where we felt that the company should be moving and was moving. Some of it had to do with the hope that our efforts in integrating with these particular products would help those products understand what they needed to do moving forward. So, I think all of those issues and choices featured into our technology decisions. Obviously, the Sametime piece came as a given. We don't have other technology like it, and the technology there was used in the Virtual Classroom component in the LearningSpace 5 release.
John Martin
Also, we designed and developed this product in nine months, and we decided to go with a technology that we know. We have already had a lot of experience integrating with QuickPlace and know how to create QuickPlaces programmatically. Domino.Doc is more of a heavyweight product than the simple requirements that could be handled by QuickPlace, so this probably wouldn't have been a viable solution anyway.
Amy Travis
Some of the conversations that we had with the QuickPlace team were, "Can we use your API to push data in and out?" There are things that we wanted to do, but we also knew that QuickPlace, moving forward, wanted to be better integrated. That's part of their trajectory as well, which swayed our
decisions.
We sort of helped move them along that path.
We got some nice features out of QuickPlace. For example, we get email notifications upon enrollment. That's a feature that they had already, and so we were able to take advantage of their notification on new documents to inform people when a session was scheduled.
John Martin
And that wasn't trivial because of the different types of email formats. We just didn't have the resources or the time to write for the different email formats. All we had to do was get the QuickPlace team to spend maybe a couple of weeks on just adding some API so that we could access their system.
This saved us a lot of time
because obviously in this type of system, the students need to be sent emails. For example, if a class is canceled, they need to be sent emails. And creating our own workflow and emailing system, which would have of course extended the schedule, would not have been desirable.
Speaking of a schedule, why only nine months and why wasn't LVC part of the upcoming Learning Management System product?
Amy Travis
LVC was always planned to be a part of Learning Management System, but there was a desire to decouple the two because we really wanted to deliver this product as standalone technology. We really feel that there's a need for a standalone Virtual Classroom in IBM's portfolio—that we have good technology for this market. So, from the very start, there was the sense that, although LVC will be a component of Learning Management System, it also needed to be its own piece. So we've never been operating on their schedule. There was a deliberate attempt to deliver LVC early because Learning Management System is a very big product, and we've gone this whole time without a product in the Virtual Classroom space. So that was the motivation for the quick turnaround as well. We really feel that we've got some nice capabilities that we'd like to introduce into the market.
John Martin
This is probably more of a marketing question, but if LVC didn't exist separate from Learning Management System, then customers would only have the choice of Learning Management System or nothing. There was nothing in the middle. Not that LVC is an entry-level product, but it's a product that a certain area of your business could easily use and then upgrade to the bigger product at a later stage.
You've just shipped LVC 1.0. What are you looking forward to in the next release?
Amy Travis
There's some work that we still need to do to make LVC work with Learning Management System, so that's our immediate focus. But we're also planning another feature release. There are things that we didn't get into this first release that we wanted to. We're starting to get some really great feedback from people about things that they wish LVC did—ways that we could make it easier to use, plus features they'd like to see. We're hoping to start to tackle a little bit of the disconnect between the Sametime interface and the other interfaces that we have. We'd like to be able to make it more robust—for example, to pull in the EMS capabilities when those are available. So, there are a lot of improvements on the horizon. I'm very excited about the opportunities we have moving forward.
ABOUT JOHN MARTIN
John Martin is the Development Manager of the IBM Lotus LearningSpace - Virtual Classroom product. John's team originally developed the Lotus Hosting Management System, but changed focus to LVC in January 2002. John has been with Lotus since 1994 and has spent time in Product Management, the Business Partner Technical Consulting Group specializing in Application Development/Design, and in Lotus Education as an instructor and subject matter expert. Prior to Lotus, John was an application developer for seven years.
ABOUT AMY TRAVIS
Amy Travis is the product designer for IBM Lotus LearningSpace - Virtual Classroom. Prior to designing LearningSpace - Virtual Classroom, Amy worked on designs for Lotus Hosting Management System, InterCommunity, and Domino Instant! Host. Since joining Lotus in 1994, Amy has contributed to numerous products, including 1-2-3, eSuite, Instant!TEAMROOM, and the SmartSuite common components initiative.