This presentation covers Timeline, our in-house social network that integrates with Moodle, our online learning platform. It offers a Facebook-style "all your updates in once place" service to our staff and students.
2. The Point Of This Talk
• What we did, and why we did it.
• What we learned in the process.
• How we built Timeline - it's easy.
• We can't release our system - it's
tightly integrated with our systems.
3. The Point Of This Talk
• Raise discussion about notifications.
• How does this benefit our learners?
• Could we build this as a Moodle
block?
• Should we?
4. The City of Glasgow College
• 11 campuses in Glasgow city centre.
• 32,000 students and 1,000 staff.
• 10 academic schools, each with
several departments.
5. The City of Glasgow College
• Lots of support staff departments
and projects.
• Communication overload is
becoming an issue at the college.
• No clear communication policy.
17. Communication
• Too many places to get information.
• Lecturers can post announcements
to students using News Forums.
• These get emailed to students.
• Students don't check their email.
18. The Birth of Timeline
• Build a page in Moodle that pulls all
a user's announcements from all
their courses onto one page.
• Like a 'My Moodle' page on steroids.
• Why don't we just use the My
Moodle page?
20. The Birth of Timeline
• We have a lot of 'all student' courses
with information about the college.
• The My Moodle page, by default,
only shows 20 courses.
• Our My Moodle page is full of these
information courses. Real courses
don't show up.
21. The First Pilot
• Showed forum posts from courses.
• Showed user-to-user messages.
• Simple PHP page that lived inside a
block.
• Queried the database live - didn't
scale well.
23. The First Pilot
• The idea proved popular with users.
• 600 users actively checking Timeline
within the first 3 weeks.
• Silent launch, with no promotion or
announcement.
24. Timeline 2.0
• Timeline expanded and relaunched
in summer 2013.
• Now capable of pulling lots of data
from Moodle, Mahara etc.
• Pulls updates into its own database.
• Scales very well - currently 13,747
active users and 207,144 updates.
28. What Timeline Shows
• Forum posts from courses (both
news forums and normal forums).
• Moodle user-to-user messages.
• Mahara friend requests, group
invites/requests, shared content.
• Notifications when a lecturer grades
assignments - with feedback!
• Badges earned.
31. Department Pages
• Several departments and projects
have 'pages' on Timeline.
• Team members can post to a
Timeline page.
• Users can follow a page to receive
updates in their news feed.
34. User Profiles
• Users also have their own profile.
• User profiles are private by default.
• Users can make their profiles public,
then other users can follow them.
37. Why have notifications?
• 'New Notifications' is a feature
that's becoming popular on sites.
• Users know at-a-glance if anything
new has happened.
• Promotes 'stickiness', keeps people
coming back.
45. Notifications
• Be very careful with notification
sounds.
• What happens when you post an
announcement to all students?
• Every computer in every classroom
starts making the same sound, while
lecturers are teaching.
• Cue angry phone calls...
46. How We Built Timeline
• Timeline has its own database.
• This lets us cache events for speed,
and deliver them to the right people
efficiently.
• With MySQL indexes on tables,
Timeline scales very well.
47. Event Harvesters
• Events are added to Timeline by
Harvester scripts.
• These scripts read records from
other systems' databases, and save
events to Timeline.
• Scheduled to run every minute
through Cron.
49. Scopes
• Each Timeline event has a scope
attached to it.
• Users have many scopes, based on
which courses they belong to (etc).
• A event is delivered to everybody on
its scope.
50. How We Built Timeline
123 MF awalker Test Forum Post ... C-1234
awalker C-1234
C-1234
C-1234
C-1234
C-1234
ghowie
auser
ahannah
jteller
This update came
from the Moodle
course with ID 1234.
Its scope is C-1234.
These users are enrolled
on the Moodle course
with ID 1234. So they're
added to the scope C-1234.
51. How We Built Timeline
123 MF awalker Test Forum Post ... C-1234
awalker C-1234
C-1234
C-1234
C-1234
C-1234
ghowie
auser
ahannah
jteller
This post is
for these users
52. What Is An Event?
Field Description Data Type Sample
ID Uniquely identifies events. Number 1037
user
The person, responsible for
the event, if any.
String awalker
type
The type of the event. Helps
us display the event.
String
MM - Moodle msgs
MF - Forum posts
text
Displayed when an event is
shown to the user.
String
This is a test message
posted on course 123.
time
The date and time the event
happened.
Date Time 2014-01-26 11:30:26
scope
The scope this event will be
delivered to.
String C-123
location
The place where the event
took place (e.g. the forum ID)
String 253
53. Outputting Events
These are generated
based on the location ID.
The location data lets
us link to the forum.
56. What We've Learned
• Staff can't post things to all users.
• We'll make them a page to post on,
and users can follow this page.
• It's up to them to promote their
page, but we can help.
60. The Future of Timeline
• Integration with other services, e.g.
library management system.
• Filters - students can choose to only
get alerts for certain types of event.
• Better ways to target specific
groups of students.