Design of InstructSpace

Focusing just on the technical functions of an LMS, while narrowing down the problem space, is still hard. Here I’m mapping out the problem space by discussing the key aspects that I have explored so far. Hopefully this could generate more valuable feedback regarding the potential features of InstructSpace.

Shaomeng Zhang
Learning Technologies
7 min readMar 9, 2015

--

InstructSpace

Classroom implies a physical space, an LMS is a virtual space designed for instruction. Course is overused. Group implies similarity and discourages diversity. Network is too big. Space could be infinitely more… There are plenty of online spaces that’s designed just for socializing. InstructSpace is designed for learning and socializing, but also for instruction.

Plus, the domain is available, InstructSpace it is. I might change it later if the word “instruct” bugs too much.

Design Elements

Discussions

This is the most common social and educational activity that could happen in an LMS. We want to encourage learner discussions. To do that, we first need to notify them that a “post” has been created that needs their participation (See notifications). We then want to present the instructional material that might encourage the discussion in a rich and attractive way. (See editing). We do not want to intimidate them when there is no “discussion” yet. We want them to read other learners’ discussion in the same post. To do that, we don’t want other discussions to appear too long and breaks the overall flow of the discussion, so we hide the long discussion responses, and show the full discussions when hover the bottom area of the discussion. We also want learners reply to each other’s discussion without breaking up the main thread. But we do not want the infinite nested threads that stray further and further away from the main topic and push down the next discussion response, so we will only support 2-level nested discussions. The second level, we call “comments”, will also be hidden by default, it is a semi-private discourse space between the discussion poster and the commenters. Of course, if you comment on a discussion, a notification will be sent to the discussion poster. If you @mentioned another learner in your comment, the other learner will also be notified.

Editing

You don’t want to use another rich text editor: the format is rarely portable, the interaction is really hard to get right, the implementation is so much more complex. I’d give markdown editor a try: portable content (merely text files), wysiwg without fancy toolbar, plenty of native editors, extensible (you can still embed html directly into it, I plan to support img, iframe tags, excluding script tags because of security). Take a look at Epic Editor, what do you think?

Publishing

We rarely write something and publish it right away. Instructors normally prepare the instructional material and then publish it at some time in the future. Posts in InstructSpace could be scheduled to go public. Only after publication will the learners be notified. By default you want to publish your content to the whole space, but you could also publish it to a sub-set of the members.

Social Space

Small groups have a different dynamics than bigger networks. Internet is a network. Classrooms are normally a group. (Yes, they are still both technically networks with different kinds of connections or ties.) The majority of Internet are strangers, the majority of your classroom will become your acquaintances. Acquaintances won’t point out you clearly did not read the assigned material. The 0.3% of the strangers on the Internet who contribute might really have something to say. Teachers do not want only 0.3% of their students to participate, so they regularly require them to respond to n times with specific guidelines about what and how they should respond in case the students had nothing meaningful to say. This practice could encourage everyone to contribute and preventing only few voices dominating the class. However, the emphasis is often on quantity, not quality.

Anonymity might encourage more participation within an acquaintance network. But anonymity could be scary when abused. There are mechanisms that could guard against that. For example, allow non-anonymous members to flag any anonymous comment and disable or fade it from public view. The right balance of power might reduce abuse.

Friending or following is a common pattern among social networks. Facebook, Twitter and Ning all has such functions. It’s understandable to have these functions in Facebook or Twitter, but it is debatable in the case of Ning — since everyone is already inside a relatively intimate space, why do you still want to ask them to friend each other, aren’t they supposed to be friends already? Plus, there isn’t much or any added benefits when you “friend” someone on Ning. You don’t get updates from your friends like you would in Facebook or Twitter. It is just a design relic with no added benefit, especially in an instructional space.

With InstructSpace, every member inside a space would be able to view each other’s profile, which is specific to the space. Members are also asked to pick a unique username so others could refer to them inside the space, e.g.: for @mentions. However, it is still undecided whether this username should be unique to each space or to all spaces.

Activity Feed

To enhance the social presence, a communal activity feed of the space will display all activities (unless private, e.g. private message, instructor private feedback) within the space in reverse-chronological order. Common activities include: new posts inside the space, discussions to the posts, new comments to discussions, new members etc. The user’s profile will display the user’s feed within that space.

A recent active member section would also add to the awareness of each others along with the activity feed.

Notification

Activities are things that happened in the space, while notifications are things that needs your direct attention. For example, if someone posted a comment on your discussion, it will not only generate an activity and be displayed on the communal feed, but also a notification to you, reminding you that you had a direct interaction from someone, inviting follow-up actions. Apart from that, private messages, private feedback from the instructors etc are also displayed in the notification.

We shouldn’t stop at in-site notification. Once the user have enough new notifications accumulated or after specific time, we might send out an email, inviting timely follow-up interaction.

Instruction Features

In contrast to other spaces, InstructSpace will be designed with features that aids instruction. One of the most common instruction function is grading. It is a chore to count students’ contributions in a post. It’s even harder to keep track of students’ overall progress. An LMS should have functions built-in that reduces this overhead and allow the instructors to focus on more important stuff. This is one of the less explored design problems in InstructSpace. The design of grading system will be directly attached to posts and discussions obviously. But it also needs to be specific to the learner. Currently, there is only one type of gradable object inside InstructSpace: posts. But we might add other gradable objects like quizzes or surveys in the future.

How would you approach this problem? What other instruction features should we consider?

Learning Analytics

Few nice things to track:

  • Who viewed what pages for how long at what time?
  • The network graph of the space or a specific post (who interacted with whom).
  • Weekly page views and participation activity frequency, within the space or with regard to each learner or assignment
  • Grade distribution

Missing Parts

Technical Details: This is a high level overview. Implementation details like framework and infrastructures needed are not discussed.

Implementation Timeline: The priority of all the above features are also undecided. We obviously can’t cover all the features at first iteration. That is both unscientific and unrealistic. But what should be considered the key features?

Peer-grading: Very important function when used for massive scale courses. It is also very useful for small scale classes—significantly reduces instructor work while encouraging learner-to-learner interaction.

Aesthetics: Obviously very important, should be considered with the function and underlying philosophy of the whole system. Unsatisfied with all current LMS typography and readability, typography will be a key part of the design. Not happy with over-bloated feature sets of most current LMS and social networks, simplicity will also be the key in the design and implementation of InstructSpace. Always ask, how could we do more with less?

Customization + Layout: What kind of layout and customization features do we want to support? Ning is obviously very customizable, maybe too much so. Canvas or Moodle less so, but both feels like a classroom. This is also dictated by the aesthetics, and the initial information architecture of InstructSpace. We want it to be more modern and less formal, but what will that looks like?

Mobile strategies: Do we plan to support mobile web views or do we want to support an API that could be used to create mobile apps?

Collaborative plan: Do we want to open source the code and invite collaborators? How do we get more people involved with: implementation, feature suggestions, user stories/scenarios, test drive and feedback, promotion…

Invitation

This is firstly an invitation to you. As an instructor or learner, what key features do you want to have for an LMS? Your user stories to support that feature? (e.g.: Bob wants to give a honest feedback to someone without been identified, thus anonymous commenting.) What key considerations would you have when designing such an LMS?

--

--